Are Rslogix 5000 produced/consumed tags bidirectional?

ryangriggs

Lifetime Supporting Member
Join Date
Jun 2016
Location
USA
Posts
198
This is a stupid question but I'm not finding a clear answer in the Rockwell docs and I don't have 2 plcs to test on...


In other words, if I change the value of a consumed tag on the **consumer** plc, will the value also be changed on the producer plc and all thus all other consumers?

Or, **and this is the way I think it works**, the data is unidirectional: the tag is continuously broadcast by the producer plc (based on RPI) and overwrites all consumed tags on all consumer plcs with no regard to the contents of the consumer plc tag value.

If the second scenario is the correct one, is there a way to create a synced tag that updates all plcs no matter which plc changes the data? Or is this why MQTT was invented? :)

Thanks for any clarification!
 
Last edited:
The data is one direction. If you need data going each way, you need to set up a producer and consumer in each PLC. And if you modify the data on one PLC, you must modify it in the exact same way in the other PLC. When working with UDTs, its best to export from one PLC and import into the other, that way, there aren't any typos
 
The mechanism you "think is the way it works" is the way it works. The value of a "Produced" tag in the Producing controller will be transmitted every RPI milliseconds onto the network, and updated in the "Consumed" tag in the Consuming controller(s).

To my knowledge there is no global "most recent change" brokered tag mechanism available in ControlLogix.
 
If the second scenario is the correct one, is there a way to create a synced tag that updates all plcs no matter which plc changes the data?


For this scenario each PLC will have to write their new value to a produced tag that all the other PLC's get as a consumed tag, then somehow each would have to figure which takes priority.


For that I would have one PLC as the Master that gets the tags from all the others and it decides what to do and put the final result in a produced tag for all the others to be in sync.
 
Produce/Consume is analogous to the IO connection you establish with a drive, for example.

The PLC consumes Data.I, produced by the drive.
The drive consumes Data.O, produced by the PLC.

If the PLC were to modify its consumed Data.I in program code, the drive has no knowledge of this and just continues emitting data that the PLC’s associated connection uses to update Data.I with. In other words, the locally consumed data is modified only within the scope of that controller - no other consumer, nor the producer, are aware.
 
Last edited:

Similar Topics

Hi all, could someone tell me how to create produced taqs in rslogix 5000. I want to create a produced tag which then will have (bits, dints and...
Replies
1
Views
4,023
I am completely stuck on building a ladder program that requires a start button to be pressed 3 times to turn on motor 1. Then motor 2 starts...
Replies
20
Views
521
First off, I'm a hobbyist-level programmer, and this program isn't controlling anything anything that could even remotely be considered "life...
Replies
18
Views
502
Hello all, I have a question in regards to RSlogix 5000. I am having issues with the program force closing when I try to make online edits. We...
Replies
0
Views
116
Back
Top Bottom