NOVUS Web Server – WS10 User Manual
Page 25

Web Server – WS10
NOVUS AUTOMATION
25/33
MODBUS TCP NETWORK CONFIGURATION – WS10 AS SERVER OR GATEWAY
Configuration of this function requires knowledge on ModbusRTU and ModbusTCP protocols. Full protocol
documentation can be obtained at www.modbus.org.
Before including WS10 in a SCADA system, check if SCADA supports ModbusTCP.
OVERVIEW
WS10 can be configured to operate on a ModbusTCP network as a Server or gateway. A Server accepts connection requests issued by a client,
and answers to its messages. A gateway accepts connection requests issued by a client, and forwards all messages between the client and a
ModbusRTU sub-network. SCADA software are examples of ModbusTCP clients. The following figure shows a typical ModbusTCP network,
including a ModbusRTU sub-network.
In a ModbusRTU network, all slaves have unique addresses from 1 to 247. In a ModbusTCP network, both servers and gateways are identified by
their IP addresses. A Unit Identifier is also assigned to these devices, with value 255.
If a ModbusTCP client connects to the WS10 IP address and issues a message to unit 255, this message will be interpreted, executed and
answered by the WS10.In this case, WS10 is acting as a server.
If the message received from the client is for a unit other than 255, WS10 will forward that message to the ModbusRTU sub-network. If in this sub-
network exists a ModbusRTU slave whose address matches the specified unit, the message will be interpreted, executed and answered by this
slave. The WS10 will receive and promptly forward this message to the client. In this case, WS10 is acting as a gateway between the ModbusTCP
and ModbusRTU networks.
WS10 can act simultaneously as a server and gateway. To access WS10 as a server, the client should issue messages to unit 255. To use WS10
as a gateway, the client should issue messages to valid addresses on the ModbusRTU sub-network.
MODBUS TCP SERVER
When a new supervisory system is implemented, it is preferable to use WS10 as a ModbusTCP Server. This will assure better communication
performance, since Server answers are always faster than gateway answers. If the system includes ModbusRTU devices, configure WS10 as a
master of this network and set a polling interval to all variables of interest. By doing that, a ModbusTCP client may access all these variables
directly from the WS10 registers, that will act as a server and concentrator. This solution brings other benefits, since registers read from the
ModbusRTU networks may be used with other functionalities of WS10 (e-mail, HTML, …).
When configuring the SCADA client, set the WS10 IP address as the server address, and define the Modbus address (or unit identifier) as 255.
SCADA messages sent to the WS10 allow read or write operation on its registers. If a write operation is received and the written register is
assigned to a ModbusRTU device, WS10 will automatically issue the appropriate write command to this device.
MODBUS TCP GATEWAY
Using WS10 as a ModbusTCP gateway is only recommended when WS10 is included in an existing system using ModbusRTU devices and
SCADA software. When WS10 is included as a gateway, there is no need to change addresses of the ModbusRTU devices in the SCADA
configuration. To adapt the SCADA for using WS10 as a gateway, it is only necessary to configure the IP address of WS10 in the SCADA
ModbusTCP communication driver.
Performance of ModbusTCP network will be limited by the performance of the ModbusRTU sub-network. WS10 will master the ModbusRTU sub-
network according to MODBUS.CFG configuration file, section [Config].
When configuring the SCADA client, set the WS10 IP address as the server address, and keep sending messages to the original ModbusRTU
slave addresses (1 to 247). WS10 will not verify contents of forwarded messages.
SERVER AND GATEWAY SIMULTANEOUSLY
WS10 can be used as a server and gateway simultaneously. In fact, the only difference is the unit identifier within the messages sent by the client.
In resume, there are two distinct manners of accessing information in a ModbusRTU sub-network using the ModbusTCP network: accessing a
WS10 register that contains the value of the last poll of the ModbusRTU network or accessing the ModbusRTU device directly.