Modicon Conversion to SLC 5/05

desty

Member
Join Date
Feb 2011
Location
Montreal
Posts
36
Hi all, i am currently doing a conversion from Modicon to SLC 5/05 and im stuck at an instruction which i cannot find the equivalence.

the instruction is the T->R Table to register with Pointer. How am i suppose to do this instruction in the SLC 5/05

Basicly the table starts at 40500 and ends at 40518 (Table lenght 19 Int). When the Control Inputs recieve power , the pointer change position from 0 to 18. and if the Reset Input recieve power, the pointer goes back to Position 0...

Im lost how to do this in SLC 5/05
Thank you all.

f1xrp4.jpg
 
Last edited:
Wrong question. The correct question is "What does this network with the table to register move instructions do?" The follow-up question to that is "How can accomplish the same thing with the tools available to me in the SLC 5/05 instruction set?"

Translating a ladder locic program by trying to find exact equivalent instructions is like translating text by looking up individual words in the dictionary.
 
Yes thank you for the clarification, i understand that, but i looked at almost every instructions in the slc 5/05. Still can't find it.

I am still a youngster and Modicon is probably older than me haha.
 
Greeting desty.

Now you're getting into the nitty gritty of program translation, where simply copying word to word doesn't work so well anymore - you are needing to replicate function in a different way.

T->R selectes one register from a group of registers and copies it to a single register. In your program network 22 the t->r instruction column 6 is going to copy the values beginning at 40500, and its going to copy up to 19 values, one at a time. In essence, there is an array containing 19 pieces of data starting at 40500. The value in word 40535 is a pointer to which piece of data you want from the array. This value is added to the starting address to get the address of the that is copied. That is, if the value in 40535 is a 10 then 40500+10 = 40510, so address 40510 is copied. The word 40536 is where the data copied from the array is placed.

(Here is where your modicon help file gets confusing. It will tell you that you moved the word at the pointer value in 40535 + 1. It does, just remember that you are starting at zero, thus when 40535=10 you are moving the eleventh element from word 40500 inclusive.)


What we don't know is what that array is. If could be a FIFO or LIFO queue, a shift register, a recipe, or a sequencer. This is what Steve is referring to when he says its the wrong question. You will need to identify the function of the data in that array to choose the best instruction for Logix 500.

So you need to identify where the 19 pieces of data come. You also need to identify what is done with the value that is stored in 40536.

Once we know that then we can help you. Be assured that RSLogix500 has what you need. I suspect that once we know the purpose of the data we can figure out something that makes a lot more sense and is easier to follow using either indirect addressing, LIFO, FIFO, COP, CPT, or any of several other possibilities.
 
Last edited:
The Array is a Step Sequencer (from step 0 to step 18), from 40500 19int lenght and from 40540 19 Int lenght. Each Integer has a Different Decimal Value.

I already Created the array in rslogix 500 for the Input and Outputs, Copied the Decimal Values for each Int.

Then later in the program, the Int 40576 is Split into Bool and each bool is used as bit for a 8 digit display.

Only thing i miss now is the Instruction which goes through the array and does +1 , and a way of resetting the pointer to the default value.

Thank you for your help guys
 
It seems that SQO it is.

You can use a simple RES instruction to reset the sequencer. SQO will use an R element to control the sequencer and R6:X.POS is the pointer value (which you can let it increment automatically, roll over automatically, or manipulate it manually using a MOV, CLR, or any math instruction.

Take a look at the programming example that starts near the bottom of page 2 and on page 3 of the attached PDF.

The modicon resets the T->R pointers using coil 00283 when the pointer reaches t he array size. The SQO may or may not need to be reset as SQO has the ability to roll around to position 1 automatically - you'll need to determine that based on exactly what you need to have happen.
 
Last edited:
Ok, i looked into the SQO Instruction..

What i understand so far..

-File : Would be my Array, but as i understand it after the rollover it never goes back to step 0, so if i put the first word of my array as the file, the "step 0" would be true only the first time , then it will always skip the the step, but in my case maybe it doesnt matter because when the pointer = table lenght it resets the sequencer, so it gets back to Step 0

-Mask : The mask is mostly my problem right now, i dont think i need a mask, well i dont fully understand what the mask is, ( it compares the original values to his value does the sum and reverse the value ? ) so if i dont need a mask, what hexa value am i suppose to put.

-Dest : Would be my Dest Int, which in my case is N7:6 , ( In modicon the dest Int needs to be the Pointer + 1, but as i understand it, in rslogix 500 it doesnt matter.)

-Control : Here i would create an Int, in my case R6:0 and only use R6:0/13 to reset my Sequencer

EDIT : In the screenshot of the modicon program i posted earlier, The XIC 00216 and XIC 00224, are they in parralel and both supply the Compare and the T->R, I am really lost in this network, in the first rung they do a manual +1 on the pointer and third rung they do a sequencer using the same pointer? is this a bit redundant? and any of the 00216 and 00224 does the same thing. Maybe im just blind and dont understand how the hell is the ladder logic represented, but to me they look in parralel.
 
Last edited:
desty said:
Ok, i looked into the SQO Instruction..

What i understand so far..

-File : Would be my Array, but as i understand it after the rollover it never goes back to step 0, so if i put the first word of my array as the file, the "step 0" would be true only the first time , then it will always skip the the step, but in my case maybe it doesnt matter because when the pointer = table lenght it resets the sequencer, so it gets back to Step 0

Step 0 can be used as a reset step, but you are correct that when the sequencer is done, it will go back to step 1 and skip step 0 by default.

desty said:
-Mask : The mask is mostly my problem right now, i dont think i need a mask, well i dont fully understand what the mask is, ( it compares the original values to his value does the sum and reverse the value ? ) so if i dont need a mask, what hexa value am i suppose to put.

FFFFh (all 1's so nothing is masked out)

desty said:
-Dest : Would be my Dest Int, which in my case is N7:6 , ( In modicon the dest Int needs to be the Pointer + 1, but as i understand it, in rslogix 500 it doesnt matter.)

The destination is where the bit pattern gets written each time the SQO instruction is true.

desty said:
-Control : Here i would create an Int, in my case R6:0 and only use R6:0/13 to reset my Sequencer

The control register is where the sequencer instruction keeps track of where it's at, the length (total number of steps), and the bits for ENable, ERror, and DoNe.
 
Thanks OkiePC, i did a small edit of the post concerning the screenshot ive put earlier.

Now i understand better the arrays and everything, in rslogix 5000 it seemed alot easier when i did those, now i look at the modicon program and i'm like "wow" i can't even understand how bad the ladder is represented.

Bump for the edit.

Thanks again
 

Similar Topics

I have a .pwx file for a Modicon PLC. Need to upgrade to Allen Bradley PLC using Studio 5000 Anyone know of a way to open the .pwx file to view...
Replies
7
Views
805
I need to convert some Siemens PLC logic using Siemens TIA V16 to Modicon M580 logic. Is there a tool out there that will get me started? How...
Replies
3
Views
2,685
Hi, I'm converting a modicon program to allen bradley. I'm hoping someone that knows modicon can help me to understand what is happening on this...
Replies
2
Views
1,547
I have plans for some new equipment. The plans call for a Modicon M340 with a BMX CPS 2000 and BMX P34 2030. My plant contains only...
Replies
4
Views
3,131
I have to convert a 984 program to Unity. In the 984 are 11 PID2 loops. In Unity I want to use PIDFF. In which cases I have to choose between...
Replies
0
Views
3,380
Back
Top Bottom