RS500 Program convert to RS5000?

Simple answer YES. There's a PLC5/SLC500 translate tool built into RSLogix 5000.

Now - how well do you want it to work? It does a straight conversion. It does NOT take advantage of the ControlLogix memory structure, and there are specific items that don't convert nicely. However, it does ~kinda~ work...

IMO -- If you're doing the conversion, you're often best served by actually rewriting the program.
 
I'm working with a translation from PLC5 to RSlogix5000 and so far it's working well BUT:

The messages, let's say BTW or BTR make some trouble with the version 17, so i had to translated to v16 and the to 17.(it's supouse that in v18, that problem will be gone. It's seems that they made some adjustments that affect the translation tool)
and you need to fix some status register that they are not the same on RSlogix5000. There is a document that could help you thru that, try looking for "PLC5 RSLogix translation tool".

I'm not an expert but that's my experience.

edit---
here is the document
http://literature.rockwellautomation.com/idc/groups/literature/documents/rm/1756-rm085_-en-p.pdfhttp://rockwellautomation.custhelp....msg-configuration-incomplete-because-no-local
and here is the problem about de the msg
http://rockwellautomation.custhelp....msg-configuration-incomplete-because-no-local
 
Last edited:
Hi,

I have converted RS500 program to RS5000 (CompactLogic). But I am getting error at following address.

N[N192_7][0]

How to use this type of indirect addressing in RS5000?
Please guide me.

Thanks,
Shailesh
 
Last edited:
Hi,

I have converted RS500 program to RS5000 (CompactLogic). But I am getting error at following address.

N[N192_7][0]

How to use this type of indirect addressing in RS5000?
Please guide me.

Thanks,
Shailesh

You should start your own thread with this issue, it will be seen by more people.

But here's my opinion...

Your original RS500 program is making use of indirection to the data file number and the element number. The addressed file number is calculated at run-time....

There is no way that this can be converted to implicit tag names that are created as part of the conversion.

There could be work-arounds, one of which is to rewrite the original code to perform a copy of the indirectly addressed data file to a new, temporary file, and the "double indirection" will be removed.

We would need to see the existing code to advise further.
 
Hi Daba,

Please find the attached backup of RS500 logic.
I am unable to attach RS5000 backup as it's size is 690kb.

"LAD 30 - SAVE&RECALL" and Rung number "0007".
and
"LAD 30 - SAVE&RECALL" and Rung number "0010".


Thanks,
Shailesh
 
Last edited:
Yes, those rungs are indirectly addressing one of 50 data-files N200 to N249.

To handle this is Logix5000, I would create a 2-dimensional array to save the data., e.g. StoredProgs[50,100]

The first dimension is the "Program Number", the second the length of each "program".

Conversion to Logix5000 is then straightforward.

Rung 5 retrieves the Logix500 file number from lookup data-file N199. This will no longer be needed, as the "Current Program Number" in N192:4 contains the correct value index into the Logix5000 array. Just change the MOV to MOV N192[4] ProgNum (ProgNum = a new DINT tag).

Rung 7 contains the troublesome indirect COP, which we convert to COP N190[0] StoredProgs[ProgNum,0] 100

Similar for the "Load" function....

Rung 9 change the MOV to MOV N192[3] ProgNum

Rung 10 the COP becomes COP StoredProgs[ProgNum,0] N194[0] 100

It would be worth LIM checking that ProgNum is 0 - 49 infront of each COP that uses it, to prevent the processor from faulting if this value gets changed inadvertantly.

HTH
 
p-l-c-c-o-v-e-r-s-i-o-n-s.c-o-m does good work and I think that $2 a rung is VERY reasonable, plus they are quick. They did a GE 90-30 to Controllogix conversion in about 1 week for me.
 
p-l-c-c-o-v-e-r-s-i-o-n-s.c-o-m does good work and I think that $2 a rung is VERY reasonable, plus they are quick. They did a GE 90-30 to Controllogix conversion in about 1 week for me.

$2 per rung, for code that "converts" relatively easily, is, IMHO, not a fair pricing policy.

I would be tempted to reduce my rung count with nested branches "to the limit", so that I get a lot of rungs converted for only $2 each !

And, to be honest, an application that is only 1000 rungs could take 20 times as much effort as a 10,000 rung application, depending on how they are written and what instructions they have used.
 

Similar Topics

Hello I use to work with AB program occasionnaly so i know the basics... On a special case, i have to do a program with everything open to...
Replies
5
Views
2,362
Program is using a DIV block with source A as F8:[N10:16] and destination N9:[N10:17] How does this addressing work?
Replies
5
Views
1,714
Hi There I know only search/find the tag and see the status. And later find the other operand which are connected to it. Second is to watch...
Replies
0
Views
1,401
Hi All, I have a RS500 program for a wine pump. In manual the pump is running too fast and I need to slow it down, sounds pretty easy. PLC talks...
Replies
2
Views
3,245
#2 ladder is Main, how are ladders 3 on up created with in the program?
Replies
8
Views
2,824
Back
Top Bottom