View Full Version : Modbus Process Gateway

12th November 2015, 13:14
Hello Everyone, Good Day!
We are using redundant Servers(Server-1 and Server-2) as Data Acquisition Servers in one of our projects. We have to send the acquired data on these servers to DCS over Modbus.
In this regard, we additionally included Modbus Slaves in both of the Zenon Run-time server license.

Could someone explain how do I configure the required signals into the Process gateway to make these signals available at DCS. We are using a Separate Industrial PC as Engineering Station where our Editor license is installed and running.

Thanks in advance:)

12th November 2015, 14:08
You can start the zenon Process Gateway on any computer with running zenon Runtime, so on Server 1 and/or Sever 2 and/or any network client.

Any variable you have in zenon project can be available via zenon Process Gateway. In MODBUS protocol the class 0 (the main addressing area in a Slave) is called 'holding register' (or is called simply 'register'). This class is supported by zenPG MODBUS Slave. In MODBUS protocol it is "MB function" 3 - the DCS must use to read data; and "MB function" 16 (10h) the DCS must use to write data. One offset in holding register is a WORD (INT, UINT). So, if the required signals are INT/UINT variables in zenon each have to be configured in zenPG MODBUS Slave as separated offset.

For example, assuming that you have 2 variables in zenon: signal1, signal2 : INT. The DCS is configured to be a MODBUS Master and to communicate via TCP with your MB Slave with 'Slave Address' (SlaveID) = 1. The DCS must expect these signals as 'register'. Let us assume DCS will expect signal1 in offset=1, signal2 in offset=2 etc.
0. start zenon Runtime on the PC where you want that zenon Process Gateway runs too. Start Process Gateway (you may do this using startup tool or add zenon function 'start application' and start via button in your project or even 'AUTOSTART' script). On this Forum was already explained how to start and it is documented in zenon Help.
1. in started zenPG click button [Settings].
2. configure 'MODBUS connection' --> 'Slave Address' = 1, connection via "TCP/IP"
3. export into list for MODBUS your zenon variables:
- in list on right: click on variable signal1 - then button [>] - then give it offset=1
then export signal2 (offset=2) etc.
4. click [OK].
--> Slave is running, DCS may connect and read data.