RSLogix-5000
EQU
SOURCE A: N50[R6_000_POS]
0
SOURCE B: N[149_21][R6_000_POS]
0
________________________________
I'm not sure where you got 149_21 (N149:21 in PLC5-speak), it should be N[49_21], but since it isn't going to work anyway, it doesn't matter.
Your N49:21 points to the file that contains your current recipe, and it is 200 INTs long ( !!!see note at the end of this post for details!!! ). There is apparently more than one recipe, and based on the 110 added to N49:7, it would make any valid recipe file number greater than 110.
Looking at your data tables in the PLC5, I see that you have "N" files of 470 integers ranging from file N111 to N130 (inclusive).
It's a pretty safe bet that these are your recipe files, and therefore what you will need to re-create them Logix5K style (a two dimensional array, 20 x 200 would work).
Using Notepad++ I opened your .PC5 file and did some snooping about. I already knew that files N50, N51, and N52 were associated with the recipe routines, so looking in file N50 (line 638 in your .PC5 file), I copied the data associated with words N50:20 to N50:29. This is what I got:
I pasted that in the search box and asked Notepad++ to find all occurances of this string of data in the program. This is what I got:
Code:
C:\Users\zzp93j\Desktop\Test Area\17222102 GLATT ROOM 75 VALVE SEQUENCE 11192013.PC5 (3 hits)
Line 638: % N50:20 % 60 2000 5 30 0 0 0 0 0 0
Line 756: % N52:20 % 60 2000 5 30 0 0 0 0 0 0
Line 1824: % N127:20 % 60 2000 5 30 0 0 0 0 0 0
So we can see that N50, N52, and N127 are linked together. The same applies to N51 and N113.
That's not to say that the other N files in the N111 to N130 range aren't being used, there is definitely some cross-pollination going on between N115, N117, N118, N129, and N130. Probably even more, but all I have to go on is what your PC5 file had for a data snapshot.
The bottom line is that you will probably need to create an array of arrays (20 x 200) so that you can index through these indirectly in a way that will work for the Logix5k.
More, and different data would be nice. See if you can get your client to load a recipe, allow you to save the program, and then load a different one. Also, see if they will let you put some trap logic in to track what is stored in N49:21 (and any other register of interest).
But it really shouldn't matter since we can be pretty certain where the recipe files are (and how many of them that there is). If you create an array of 20 x 200 (ranging from 0 to 19, and 0 to 199), then you will have to modify your program to index these numbers and not the 111 - 130 that the program is expecting.
Also, N50, N51, and N52 are 570 INTs long. The destination files are 470 INTs long, and the program *seems* to only access 200 INTs (which is why I suggested the 20 x 200 array). But to be safe, I would make my arrays 20 x 470.
P.S. You may want to have your client change their passwords.