Cla-Val PC-22D Electronic Pump Control Panel
Installation, Operation & Maintenance Manual
Page | 23
6 Modbus Communication
The PC-22D Electronic Pump Control Panel comes standard with Modbus protocol. This protocol defines
a message structure that PLC’s will recognize and use, regardless of the type of networks over which
they communicate. The pump controller can be configured to communicate on standard Modbus
networks using either of two transmission modes: TCP/IP or RTU. Users shall have the ability to select
the desired mode, along with communication parameters (IP address, subnet mask, baud rate, etc). The
electronic valve controller shall have a built in VNC server. A viewer/client uses TCP port 5900 to
connect to a server (or 5800 for browser access), but can also be set to use any other port.
Supports Modbus TCP/IP and Modbus RTU simultaneously, as a server (slave) only.
Modbus RTU: requires UID (Modbus address, 1-255) and baud rate.
Modbus TCP/IP: requires allowed client IP address range (for access control) and IP port number
(default 502)
All data accessible with Modbus requests is mapped into the Holding Register address space (40000 to
65535). The commands supported are
• 03 – read multiple holding registers
• 16 – write multiple holding registers
Initially, only the physical inputs and outputs are available to a client. All share a common format, in
which an input or output is accessible as three consecutive 16-bit words. Remember that Modbus word
data is transmitted in Motorola format i.e. high-order byte: low-order byte.
Each input/output is represented as follows:
• Status/control word
• Input/output value (IEEE 32-bit float, high-order word:low-order word)
The status of the status/control word is common to all, but certain bits may never be set if they are not
applicable. Unused bits are read as zeros.
b0 signal lost/out of range (AIx and DIx_F only) read-only
b1 local override applied read-only
b2 alarm active (AOx, DOx only) read-only
b3 recopy active (AOx, DOx only) read-only
b14 clear Modbus override write-only, always reads as 0
b15 Modbus override active/set Modbus override read/write
Input/output values are expressed as natural units, so that if a 4-20 mA analog input is configured as
flow, where 4 mA = 10 l/s and 20 mA = 200 l/s, for an input value of 12 mA the client will read 95.
Space is reserved for 32 each of the analog inputs, digital inputs, analog outputs and digital outputs.
Reading an input/output which does not, physically, exist will return all zeros: writing has no effect. Note
that input values are supplied after any filtering, scaling and special handling. So reading the value of a
4-20 mA input which has no signal (defined as input < 3.6 mA) may return
• an out-of-range value
• the last-known good value
• a default value
depending on the configuration of the input. An input/output with a local override applied will return the
override value,
not
the current physical value.