Micrologix to CompactLogix Conversion

coopee1979

Member
Join Date
Mar 2022
Location
Jacksonville
Posts
1
Hey guy's. I'm doing a Micrologix to Compact Logix conversion and ran into an issue with a COP command. My source in 500 is #N[N7:40]:0
Dest #N100:0
Length 100

My Studio program for the same COP instruction: Source N[COP_FROM_NUM]0
DEST: COPY_TO_FILE_1
<??>
LENGTH 100
I skipped this section of the conversion and went thru and edited a whole mess of tag errors, many dealing with the N7 file. Should I have created a giant array based on the entire N7 file and declared each element a different tag? Am I looking at this wrong? Or is the PLC conversion tool basically worthless?
 
Hey guy's. I'm doing a Micrologix to Compact Logix conversion and ran into an issue with a COP command. My source in 500 is #N[N7:40]:0
Dest #N100:0
Length 100

My Studio program for the same COP instruction: Source N[COP_FROM_NUM]0
DEST: COPY_TO_FILE_1
<??>
LENGTH 100

I think that bit in red is probably Source N[COP_FROM_NUM,0]

Data files in RSLogix500 are more or less analogous to arrays in Logix (RSLogix/Studio 5000). So for that RSL500 code to work:

  • say the value of N7:40 ranged from 101 to 110
  • That means that there were 10 corresponding and consecutive INT data files (N101; N102; N103; ...; N110), each with at least 100 elements.
  • So when N7:40 was e.g. 107, that COP #N[N7:40]:0 #N100:0 100 instruction would COPy elements N107:0 through N107:99 to elements N100:0 through N100:99.
The code translated to Logix assumes there is an e.g. 10x100 two-dimensional array N[0..9,0..99](*), and another 100-element one-dimensional array COPY_TO_FILE_1[0..99], declared in the Logix program, and the Logix instruction COP N[COP_FROM_NUM,0] COPY_TO_FILE_1 will COPy a consecutive 100 INT elements of data, from N[COP_FROM_NUM,0] through N[COP_FROM_NUM,99], to elements COPY_TO_FILE_1[0] through COPY_TO_FILE_1[99].


There will need to be some tomfoolery to get from RSL500's N7:40 (e.g. a value between 101 and 110) to Logix's COP_FROM_NUM (e.g. a value between 0 and 9, so COP_FROM_NUM = N7:40-101), but that should be straightforward*.

* it may be possible in Logix to declare N[101..110,0..100], and then N7:40 translates directly to COP_FROM_NUM, but I don't know for sure, so consider that an implementation detail.
 

Similar Topics

Hi all I'm trying to setup a MSG connection (which I'm not familiar to) between a CompactLogix CPU (L310ER) and a Micrologix 1400 CPU. At the...
Replies
1
Views
807
Hi all. I know it is late in the day on Friday but I am stumped on something. I am doing a string transfer via messages from a CompactLogix L24ER...
Replies
16
Views
4,775
Hi everyone, Brief overview of the issue: I have a CompactLogix (pt No:1769-L36ERM) that is connected to a MicroLogix 1400 (Pt no: 1766-L32BXB)...
Replies
9
Views
4,292
Hello Everyone, I am trying to pull a few data table points from a MicroLogix 1400 L32AWA Controller into a CompactLogix L30ER over ethernet. I...
Replies
2
Views
1,595
Hi,* New to the site. I am trying to meassge between a Compactlogix 1769-L18ER-B1BB and a Micrologix 1400. I am using Studio 5000 V24. I can...
Replies
2
Views
1,790
Back
Top Bottom