v. 3.0
Reference guide
Compressor Control Module CM-RC-01
3.0
30 / 44
10.2.2
Data values, scaling and data types
Following is a description of used scaling and data types.
Scale 1, 10 and 100 refers to where the decimal point is implied, as a decimal value cannot be
transmitted via Modbus.
Scale 1:
The value is the exact value
Scale 10:
To transmit a value it must be multiplied by 10; i.e. 12.3 -> 123
A received value must be divided by 10; i.e. 123 -> 12.3
Scale 100:
To transmit a value it must be multiplied by 100; i.e. 1.23 -> 123
A received value must be divided by 100; i.e. 123 -> 1.23
W/R column: Read/write field. R = read (input) register; W = write (holding) register
U8:
unsigned 8-bit integer
S8:
signed 8-bit integer
U16: unsigned 16-bit integer
S16: signed 16-bit integer
U32: unsigned 32-bit integer
S32: signed 32-bit integer
Ch16: 8 bit ASCII character text string. Null terminated if not max length.
10.2.3
Reading and writing 32 bit values via Modbus
32 bit values must be read as two consecutive Modbus registers.
For example, if the fault word in the input registers 11000-11001 should be read.
B3
B2
B1
B0
MSB
LSB
Register A
Register A+1
Transmitted First
Last
Default
B1
B0 (LSB)
B3 (MSB)
B2
Function code 10hex write multiple registers should be used.
10.2.4
Modbus function codes
The following function codes have been implemented from the standard Modbus protocol:
Function
Code
(hexadecimal)
Code
(decimal)
Remarks
Read Holding Registers
03
03
Read Input Register
04
04
Write Single Register
06
06
Diagnostics
08
08
Sub-functions
(1)
0, 10-18 & 20
(decimal)
0, 0A-12, 14 (hexadecimal)
Get Comm Event counter
0B
11
Write Multiple Registers
10
16
Read/Write Multiple Registers
17
23
Note1: Not all sub-functions return a value.
All input registers can also be read as holding registers.