Help With Indirect Addressing In Studio 5000 Conversion From Rs500

kentuckytech

Member
Join Date
Aug 2008
Location
Kentucky
Posts
62
šŸ™ƒ I have been scratching my head for a couple of days on this issue. I am in the process of converting a program from rs500 to Studio 5000 and everything was going great until I came across several rungs that had some indirect addressing used. I have been researching on this and other sites but have not been able to find a solution I could implement and I was hoping someone with more experience could help me. I downloaded the Converting PLC-5 or SLC 500 Logic to Logix-Based Logic reference manual from Rockwell and tried to the best of my knowledge to follow the instructions but the results were all bad. I keep getting "invalid tag element" errors. I have attached the original program and was going to attach my converted version but it is over the size limit. The rung I'm stumped on is 10 in ladder 60 but the following rungs 15,42,47 and 48 in ladder 60 also has some addressing I'm unsure on how to convert. Any help getting me on the right track would be appreciated.
 
Last edited:
Post two screen caprure pictures, one with the rung from the RSLogix500 program and one from your RSLogix5000 program. Make sure they are of sufficient resolution to make out all the characters involved. If necessary for size just capture the instructions themselves.

Edit - I see you just added the RSLogix500 program.

To replicate you would have to have a two dimensional array. I created one, Two_Dim_Int with 2 dimensions and the value of each set to 10. I also created a DINT called Int_Index.

I then made a command MOV 123 Two_Dim_Int[Int_Index,0]

It accepted that. (I had tried to use an extra set of brackets around the 'Int_Index' but it rejected that. I just removed them and it was fine with that.)
 
Last edited:
The recipes tag is something I created based on the publication I mentioned. I would have rather kept the dint tags I created N51 - N70 like the original if I could.
 
it looks like you are trying to do a double index - it would have to use the value '49' to look into the array 'N7' then use the value there for the left hand index in 'Recipes'. You will have to do this in two steps.

for example

MOV N7[49] Index

then use 'Index' in all your other commands

for example

Recipes[Index,2]

Note: the conversion has quotes around the Recipes arguments because it really had no idea on how to covert them.
 
Last edited:
The others look pretty much the same, with an initial intention to use the 'double index' I mentioned. Resolve them in the same way. Copy the left hand index value to a single tag then use that. You can use the same tag as the rung 10 issue since they won't execute at the same time.
 

Similar Topics

Iā€™m working with indirect addressing and trying to make an HMI where each Rectangle Object has a tag of ā€œA[0-127]ā€ with a correlating Push Button...
Replies
15
Views
4,143
Hi guys, New to indirect addressing is anyone able to help me with the attached file. I have tried the pen and paper method and first I put the...
Replies
11
Views
2,468
Hello PLC gurus, i would like to ask you for your help. I have a little problem with indirect addressing, also with ST language. My problem. I...
Replies
7
Views
2,753
Some of you guys may remember I was getting some help on a roller door project a few months.. Lets say learning the ropes of what can be done...
Replies
2
Views
4,262
I have an oven that can contain a rack. I have two racks, "1" and "2", each of which can hold up to 6 parts. I load one rack via a robot that...
Replies
0
Views
1,246
Back
Top Bottom