When using multiple controller systems I used to using either produced/consumed tags or messaging functions to transfer data between controllers. However, in the later revisions of RSLogix5000 it seems that all controller tags can now be specified as having external 'Read/Write' access.
So as an experiment for a ControlLogix project I am working on with two controllers I was hoping to be able to setup one big user defined data type that I can set up with external 'Read/Write' access so that it can be 'shared' between the two controllers. It will only exist in one controller, but either can read/write to it. The setup between the two controllers is not a simple master/slave style where one controller is always producing data and the other is always consuming (it goes both ways which is why using produce/consumed tags and messaging is tedious).
The problem is that I cannot figure out how to get the user defined data type tag from one controller into the other controller's scope so I can read/write to it. Let's just say controller A has the large user defined data type (REALs, DINTs, BOOLs, other User Defined Types, etc) and controller B is trying to read/write to that data file. The project is setup with the two controllers communicating over ethernet/IP. So within controller B's project, I can see controller A's ethernet communication module and controller A's CPU, but only the ethernet module's automatically generated tags have been pulled into controller B's scope (2 arrays of 17 DINTs, one for input and one for output). There is nothing from the actual CPU of controller A in controller B's tag scope. It seems like there would need to be some sort of import I would need to perform so controller B can generate a tag list for the CPU of controller A (since I defined all these tags and data types manually as I designed the project, they would not be generic to every CPU like the automatically generated module tags).
The project is offline at this point and it is not practical to get both ControlLogix setups side by side. They will not be side by side until the equipment is commissioned months from now. I am wondering if I were able to work with the project while both controllers were networked I may be able to pull controller A's tag list into controller B quite easily. But since that is not an option, I am hoping there is some way to work with the two projects offline so I can import controller A's tag configuration into controller B and then use controller A's internal tags within controller's B scope. Any advice would be appreciated, most of the literature I have found does not refer to the external read/write property that is now assignable to all tags as I think this is relatively recent (rev 20 or maybe 19).
So as an experiment for a ControlLogix project I am working on with two controllers I was hoping to be able to setup one big user defined data type that I can set up with external 'Read/Write' access so that it can be 'shared' between the two controllers. It will only exist in one controller, but either can read/write to it. The setup between the two controllers is not a simple master/slave style where one controller is always producing data and the other is always consuming (it goes both ways which is why using produce/consumed tags and messaging is tedious).
The problem is that I cannot figure out how to get the user defined data type tag from one controller into the other controller's scope so I can read/write to it. Let's just say controller A has the large user defined data type (REALs, DINTs, BOOLs, other User Defined Types, etc) and controller B is trying to read/write to that data file. The project is setup with the two controllers communicating over ethernet/IP. So within controller B's project, I can see controller A's ethernet communication module and controller A's CPU, but only the ethernet module's automatically generated tags have been pulled into controller B's scope (2 arrays of 17 DINTs, one for input and one for output). There is nothing from the actual CPU of controller A in controller B's tag scope. It seems like there would need to be some sort of import I would need to perform so controller B can generate a tag list for the CPU of controller A (since I defined all these tags and data types manually as I designed the project, they would not be generic to every CPU like the automatically generated module tags).
The project is offline at this point and it is not practical to get both ControlLogix setups side by side. They will not be side by side until the equipment is commissioned months from now. I am wondering if I were able to work with the project while both controllers were networked I may be able to pull controller A's tag list into controller B quite easily. But since that is not an option, I am hoping there is some way to work with the two projects offline so I can import controller A's tag configuration into controller B and then use controller A's internal tags within controller's B scope. Any advice would be appreciated, most of the literature I have found does not refer to the external read/write property that is now assignable to all tags as I think this is relatively recent (rev 20 or maybe 19).
Last edited: