Issue
Does the Niagara R2 Modbus driver support a 6-digit address format?
Product Line
TAC IA SeriesEnvironment
Niagara R2 Modbus driver
Cause
Modbus 6 digit addressing is not supported when using modbus format in the driver.
Resolution
The six-digit address format and the five-digit format are just two different notations for the same thing - there is no difference in the protocol. For example, the first one thousand holding registers are normally represented as:
(modbus) 40001 to 49999 -or- (decimal) 0 to 9998 -or- (hex) 0 to 270E
When using modbus format in the driver, the left most digit, '4' in this example, is part of a convention that indicates the 'type' of point and, when using that convention, the point type does not have to be specified. For example, for modbus point 40001 the '4' indicates that it is a holding register.
But there are actually 64000 holding registers available and, using the common 5-digit modbus notation, it is not possible to specify more than 9999 of them. The six digit convention just moves this 'type' digit one space to the left.
In this six-digit notation, the first one thousand holding registers would be 400001 to 409999. This 6-digit convention for 'modbus' formatted addressing is not supported but it is still possible to use decimal or hex notation to specify these addresses with Niagara R2.
When 'modbus' formatted addresses are used, the driver subtracts 1 from the entered address, since modbus uses base 1 formatting and decimal uses base 0. When using decimal or hex, the leading digit is dropped and subtract one from the register value and optionally convert to hex and use that as the point address.
For example, to read data from register address = 422202
Drop the leading character = 22202
Subtract 1 = Decimal address 22201 or hex address 56B9