TCP Cimplicity
TCP Cimplicity
Modbus Addressing
For this driver, the terms Slave and Unsolicited are used interchangeably.
mk:@MSITStore:C:\Program%20Files%20(x86)\Proficy\Proficy%20View%20Integr... 02/08/2018
Modbus Addressing Page 2 of 2
Packed Coils
The Packed Coil address type allows access to multiple consecutive coils as an analog value. This feature is available for both
Input Coils and Output Coils when in Polled Mode only. It is not available to devices that are configured to access the
unsolicited memory map or that are in Mailbox Mode. The decimal syntax is 0xxxxx#nn, where:
nn is the number of coils that will be packed into an analog value (with a range of 01-16).
nn is the number of coils that will be packed into an analog value (with a range of 01-16).
Note 1: The only valid data type is Word. Output Coils have Read/Write access, whereas Input Coils have Read Only access.
In decimal addressing, Output Coils support Function Codes 01 and 15, whereas Input Coils support Function Code 02.
Note 2: The bit order will be such that the start address will be the Least Significant Bit (LSB) of analog value.
Caution: Setting the Write Only tags client access privileges to Read Only will cause writes to these tags to fail and the
client to always receive 0/NULL for numeric/string values.
Mailbox Mode
Only Holding Registers are supported in Mailbox Mode. When read from a client, the data is read locally from a cache, not
from a physical device. When written to from a client, the data is written to both the local cache and the physical device as
determined by the Device ID routing path. For more information, refer to Mailbox Mode.
String Support
The Modbus model supports reading and writing holding register memory as an ASCII string. When using holding registers
for string data, each register will contain two bytes of ASCII data. The order of the ASCII data within a given register can be
selected when the string is defined. The length of the string can be from 2 to 240 bytes and is entered in place of a bit
number. The length must be entered as an even number. Appending either an "H" or "L" to the address specifies the byte
order.
Note: For more information on performing block reads on string tags for the Modbus model, refer to Block Sizes.
Examples
1. To address a string starting at 40200 with a length of 100 bytes and HiLo byte order, enter "40200.100H".
2. To address a string starting at 40500 with a length of 78 bytes and LoHi byte order, enter "40500.78L".
Note: String length may be limited by the maximum size of the write request allowed by the device. If the error message
"Unable to write to address <address> on device<device>: Device responded with exception code 3" is received in the
server event window, the device did not like the length of the string. If possible, try shortening the string.
Array Support
Arrays are supported both for internal and holding register locations (including all data types except Boolean and String) and
for input and output coils (Boolean data types). There are two ways to address an array. The following examples apply to
holding registers:
For Word, Short and BCD arrays, the base address + (rows * cols) cannot exceed 65536. For Float, DWord, Long, and Long
BCD arrays, the base address + (rows * cols * 2) cannot exceed 65535. For all arrays, the total number of registers being
requested cannot exceed the holding register block size that was specified for this device.
mk:@MSITStore:C:\Program%20Files%20(x86)\Proficy\Proficy%20View%20Integr... 02/08/2018