RS Logix 5000 - last rung rules?

Control Freak

Member
Join Date
Jul 2004
Posts
44
Maybe a dumb question, but this is my first project using the RS5000, so bear with me - I probably missing the obvious.

In my program I'm using the Move instruction in a 'touchscreen' subroutine at the end of my ladder to 'call' up different screens. (by a moving a value to the touchscreens 'call' address)

simply put,
if Fault word 10 is not equal to "0" then call up screen #10
if Fault word 20 is not equal to "0" then call up screen #20
if Fault word 30 is not equal to "0" then call up screen #30
is safety faults is not equal to "0" then call up screen #5


I've done it a hundred times, and it's worked on every PLC I've ever used. In keeping with the 'last rung wins' concept, I arrange the rungs in reverse priority. (Obviously, safety faults take priority over other faults, so they would be the last rung in the subroutine)
When the scan is completed, the last value written to that word would be the value in that word, right?

Here's the dilemma - for some reason, the 'last rung rules' concept isn't working.

If I have faults in multiple words, the 'call up' word changes erratically, and the faults screens flicker like crazy!
If I monitor (trend) the call up word, the value changes all over the place.

I'm sure the reason is simple, but I'm at a loss.
:confused:
thoughts?
 
Some of the rules you have learned very well don't apply because the ControlLogix family, unlike previous, use multiple processors to handle different aspects of the PLC. One solves logic, another handles I/O. It may be that yet another is handling communications. In that case the communication could take place within your rung.

If the screen request is a single location then perform your logic but to another location. Then, as a final rung (or whatever) move the last value into the screen select location.
 
Bernie, you nailed it!

I'm not sure I understand all of the details of how and why, but your solution worked like a charm

All I did to solve the problem was:
1 - create a new TOUCHSCREEN_CALL_STORAGE address
2 - replace all instances of my original 'call' address with the new storage address
3 - add a new rung to the end of the program which simply moves the 'storage' address to the actual 'call' address used my the touchscreen

and BOOM, problem solved!

You just saved me another half inch of receding hair,
thank you
 

Similar Topics

2 new mechanics have the ability to get online and troubleshoot PLC programs now. Is there a way besides "time folder was modified" to see the...
Replies
1
Views
1,816
Hi, I have program where naturally comes I/O data. Now if I plug out I/O, stays last I/O data on controller. How can I clear I/O data if...
Replies
6
Views
2,141
Does anyone have some guidance on setting the Last Scan of Active Steps setting in the SFC Execution tab of Logix5000 controllers? I'm reading...
Replies
0
Views
2,783
Hi folks, in the alarm manager of Rslogix 5000, the tag-based alarm has been created. But when I tried to change the condition, it was found the...
Replies
2
Views
157
Back
Top Bottom