Modbus client proxy points are similar to other driver’s proxy points. See “About proxy points” in the Drivers Guide for general details. Note that the same collection of client proxy points is used in devices under a ModbusAsync, ModbusTcp, and ModbusTcpGateway network—you can find them in the “Client Points” folder in either palette type (modbusAsync or modbusTcp), as shown in Figure 32.
Although sometimes you may need to copy components from the palette, note that the same selection of client point types is available in the New dialog, when adding points in the Modbus Client Point Manager view of a device (of its Points extension), as shown in Figure 33.
The last four types listed, Enum Bits Writable through Numeric Bits Point, require Modbus 3.5.26 or higher, or AX-3.6 or later.
Typically, this is the quickest way to add Modbus client proxy points, because you can specify a number of points if consecutively addressed. See Consecutive address usage (NiagaraAX).
The following sections provide additional details on client Modbus proxy points:
You can select from the following Modbus client proxy point types:
To read/write a Modbus coil.
To read either a Modbus coil or an input.
To read/write a Modbus holding register value.
Note you must specify the Data Type, as either integer, long, float, or signed integer.
To read either a Modbus holding register value or an input register value.
Note you must specify the Data Type, as either integer, long, float, or signed integer.
To read/write a specific bit in a Modbus holding register (select Bit Number in setup).
To read a specific bit in either a Modbus holding register or an input register (select Bit Number in setup).
To read some number of consecutive Modbus holding registers and interpret them as an ASCII string, using a “high-to-low” byte order. In general, use of this type is expected to be infrequent.
Remaining client point types listed below are available only in Modbus 3.5.26 or higher, or AX-3.6 or later. See the subsequent
Example for a possible application.
To read or write some number of consecutive bits within a holding register, with the resulting integer as the out (ordinal) value of the Enum Writable.
To read some number of consecutive bits within a holding or input registering the resulting integer as the out (ordinal) value of the Enum Point.
To read or write some number of consecutive bits within a holding registering the resulting integer as the out value of the Numeric Writable.
To read some number of consecutive bits within a holding or input registering the resulting integer as the out value of the Numeric Point.
A Modbus energy meter device has a number of TOU (Time of Use) parameters, including several for “TOU Tariff Change Time” configuration. For the eight possible tariff periods (1 - 8), there is a start hour (0 - 23) and start quarter of an hour (0 - 3). In the meter device, a single 16-bit holding register holds the setup of all eight tariff periods, mapped from highest bit (15) to lowest bit (0) as follows:
Bits 8:15 = 0 - 7 (corresponding to tariff #1 - #8)
Bits 2:7 = 0 - 23 (tariff start hour)
Bits 0:1 = 0 - 3 (tariff start quarter of an hour)
Three separate proxy points can be created, using either NumericBitsWritables or EnumBitsWritables (depending on user interface requirements), to provide read/write access to these bit-mapped values. All three points will specify the same (register) Data Address, but have different “Beginning Bit” values and “Number Of Bits” values.
Apart from the standard “core” proxy extension properties (see “ProxyExt properties” in the Drivers Guide), these ProxyExt properties have special importance in Modbus client proxy points:
Fault Cause
(Read only) If the point is in fault from an exception response received from the slave device, that exception string appears
here. For example: “Read fault: illegal data address”. See Exception codes for more details.
Read Value
(Read only) Shows last polled value as well as the state, for example “71 {ok}” or “false {ok}”.
Write Value
(Read Only) Shows the last written value, as well as the state and priority level, for example “70 {overridden} @8”.
Data Address
Specifies the address of the polled data item (prior to any offset address change as a result of using device-level “Base Address”), as a combination of:
Address Format — either Modbus (default), Hex, or Decimal
Address — numerical address, expressed in the selected format.
See Modbus data addresses for general information.
For example, the following are all equivalent addresses:
Modbus, 40012
Hex, 0B
Decimal, 11
If using Hex or Decimal format, for most read-only points you need to specify the “Reg Type” property, to clarify whether
holding register or input register. For related details, see Data address format in NiagaraAX.
Absolute Address
(Read only) Differs from “Data Address” only if using device “Base Addresses.” It is the sum of the “Data Address” value and the associated “Base Address” value (as configured in the parent Modbus device). This is the actual address that will be used when polling for this discrete data point from the actual Modbus device. The address of the polled data item is a combination of:
Address Format — as selected, either Modbus (default), Hex, or Decimal
Address — numerical address, expressed in the selected Data Address format.
Data Source
(Read only) Displays the type of polling used to collect the value. If it shows “Point Poll” then the Absolute Address is not contained within the range of addresses specified in a Device Poll Config Entry—thus a separate, individual, point-level poll message is required to collect the value for this Modbus proxy point (at a poll rate specified by the 'Poll Frequency' property).
If it displays “Device Poll” then the Absolute Address is contained within the range of addresses specified in a Device Poll Config Entry, and thus the value for this Modbus proxy point is “picked” from the device-level polling.
Depending on the type of Modbus proxy point, one or more additional properties are used in its ProxyExt to clarify or confirm the data item needed, as follows:
Or “Boolean Point”, has the following in addition to other Modbus client point ProxyExt properties:
Status Type
Coil or Input. Specifies whether the point is an Input status type or a Coil status type. Selections only apply if the “Data Address” format used is Hex or Decimal. (The Modbus address format, if used, automatically sets this property value).
Or “Boolean Writable”, has the has the following in addition to other Modbus client point ProxyExt properties:
Status Type
(Read only) Always Coil status type for a writable status item.
Or “Numeric Point”, has the following in addition to other Modbus client point ProxyExt properties:
Reg Type
Holding or Input. Specifies whether the value is read from an input register or holding register. Selections only apply if the “Data Address” format used is Hex or Decimal. (The Modbus address format, if used, automatically sets this property value).
Data Type
Specifies the data type used by the associated data point. Integer and signed integer are 16-bit (single register) data types; long and float are 32-bit types (with the starting address specified in “Data Address”). Values for long and float selections are based upon the network's byte-order config setup (or may be overridden at the device-level).
Or “Numeric Writable”, has the following in addition to other Modbus client point ProxyExt properties:
Reg Type
(Read only) Always Holding register for a writable numeric value.
Data Type
Specifies the data type used by the associated data point. Integer and signed integer are 16-bit (single register) data types; long and float are 32-bit types (with the starting address specified in “Data Address”). Values for long and float selections are based upon the network's byte-order config setup (or may be overridden at the device-level).
Or “Register Bit Point”, has the following in addition to other Modbus client point ProxyExt properties:
Reg Type
Holding or Input. Specifies whether the bit is read from an input register or holding register. Selections only apply if the “Data Address” format used is Hex or Decimal. (The Modbus address format, if used, automatically sets this property value).
Bit Number
Specifies the bit (numbered 0 - 15, least significant bit first) to read from the specified (16-bit) Modbus register. For
example, if the specified register value was “0000000000001000", setting the “Bit Number” to 3 would read a “1” (True).
Or “Register Bit Writable”, has the following in addition to other Modbus client point ProxyExt properties:
Reg Type
(Read only) Always Holding register for a writable bit.
Bit Number
Specifies the bit (numbered 0 - 15, least significant bit first) to write to the specified (16-bit) Modbus register. For example,
if the specified register value was “0000000000000000”, setting the “Bit Number” to 3 and writing a True (“1”) would cause the specified register value to become “0000000000001000”.
Or “StringPoint”, has the following in addition to other Modbus client point ProxyExt properties:
Number Registers
Specifies the number of consecutive holding registers to read, starting with the specified Absolute Address (The number of
registers should not exceed message limits of the target slave device). Each register produces two ASCII characters, using
high-to-low byte order and standard ASCII encoding. For example, a register with a value of 4A41 hex (19009 decimal) returns String characters “JA,” where: 4A h = J and 41 h = A.
Or “Enum Bits Point” (build 3.5.26 or higher, or AX-3.6 or later) has the following in addition to other Modbus client point ProxyExt properties:
Reg Type
Holding or Input. Specifies whether bits are read from an input register or holding register. Selections only apply if the “Data Address” format used is Hex or Decimal. (The Modbus address format, if used, automatically sets this property value).
Beginning Bit
Specifies the first bit, 0 to 15, used in reading consecutive bits in the specified holding or input register, until “Number of Bits” have been read. The integer read is the out value (ordinal portion of the point’s facets).
Number of Bits
Specifies the number of bits read in the register, starting with the “Beginning Bit”.
Or “Enum Bits Writable” (build 3.5.26 or higher, or AX-3.6 or later) has the following in addition to other Modbus client point ProxyExt properties:
Reg Type
(Read only) Always Holding register for writable bits.
Beginning Bit
Specifies the first bit, 0 to 15, used in reading or writing consecutive bits in the specified register, until “Number of Bits” have been read or written. The integer read (or written) is the out value (ordinal portion of the point’s facets).
Number of Bits
Specifies the number of bits read or written in the register, starting with the “Beginning Bit”.
Or “Numeric Bits Point” (build 3.5.26 or higher, or AX-3.6 or later) has the following in addition to other Modbus client point ProxyExt properties:
Reg Type
Holding or Input. Specifies whether bits are read from an input register or holding register. Selections only apply if the “Data Address” format used is Hex or Decimal. (The Modbus address format, if used, automatically sets this property value).
Beginning Bit
Specifies the first bit, 0 to 15, used in reading consecutive bits in the specified holding or input register, until “Number of Bits” have been read. The combined integer value is the point’s out value.
Number of Bits
Specifies the number of bits read in the specified register, starting with the “Beginning Bit”.
Or “Numeric Bits Writable” (build 3.5.26 or higher, or AX-3.6 or later) has the following in addition to other Modbus client point ProxyExt properties:
Reg Type
(Read only) Always Holding register for writable bits.
Beginning Bit
Specifies the first bit, 0 to 15, used in reading or writing consecutive bits in the specified register, until “Number of Bits” have been read or written. The combined integer value is the point’s out value.
Number of Bits
Specifies the number of bits read or written in the register, starting with the “Beginning Bit”.
Copyright © 2000-2014 Tridium Inc. All rights reserved.