Expose tags via ModbusTCP?

Using v7.7 at the moment. Is it possible to expose Ignition’s tag base via ModbusTCP?

I have a ModbusTCP client A that needs information from a Rockwell Logix PLC B.

Is there a way to connect ModbusTCP client A to Ignition, Logix PLC B to Ignition, and be able to expose information between the two?

Perhaps by creating OPC tags in Igntion to PLC B and somehow mapping them to registers read by client A?

It’s come up as an idea once or twice, but there’s currently no driver or other functionality that would let Ignition expose data by acting as a Modbus slave/server.

I think you can make this work, but it would require using Ignition’s other capabilities to enable this. Let’s assume you have PLC_A_TAG and PLC_B_TAG representing the data you want in each PLC, and you want to get PLC A data to PLC B.

First possibility is using an Expression tag. These allow writing back data to another OPC tag. To make this work, create another tag such as PLC_AB_TAG whose expression is just the tag that you want to read from (i.e. {[~]PLC_A_TAG}). Below the expression, check the box to Write value back to OPC item? and set this up to reference the other tag path (i.e. [~]PLC_B_TAG). Now each time the value updates in PLC A, the expression tag will reflect this and get written to PLC B.

Second possibility would be to setup a Value Change tag event on the tag you want to read from. In the example above, you would edit PLC_A_TAG and add a script to write PLC_B_TAG with the currentValue of PLC_A_TAG. So in the Value Changed event script you would add to the end something like:

system.tag.write("[~]PLC_B_TAG",currentValue)

Each time the value changes in tag PLC_A_TAG, PLC_B_TAG will get written with the updated value.

Hope this helps.