Elitech EK-3030E modbus Protocol-Elitech UK
Elitech EK-3030E modbus Protocol-Elitech UK
Co., Ltd.
Temperature Controller
EK3030E
MODBUS PROTOCOL
The controller adopts the communication protocol of MODBUS-RTU slave mode. It supports
individual communication mode rather that broadcast mode. (The master can address
individual slaves or can initiate a broadcast message to all slaves. Slaves return a message called
a “response” to queries that are addressed to them individually. Responses are not returned to
broadcast queries from the master.)
Note: TTL serial interface is adopted. Communication adapter card is optional and can be
converted into RS485 communication interface.
Start/End: The controller monitors the data from communication port continuously. If the silent
interval (no data) exceeds that of 3.5 character times, the received data is considered as a new
data frame. In this protocol, the silent interval is defined to be 4ms (With Baud rate 9600,
4ms>3.5 character times).
Device address: the first byte transmitted, indicating the slave device will receive the message
from the master. A master addresses a slave by placing the slave address in the address field of
the message. Every slave has only one address. The slave that only has correct address can
respond. When the slave sends its response, it places its own address in this address field of the
response to let the master know which slave is responding.
Function Code: the second byte transmitted. When a message is sent from a master to a slave
device the function code field tells the slave what kind of action to perform. Modbus defines
the function codes in the range of 1-127. If the slave sends a function code with top digit 1
(function code>127), it does not respond or an error occurs.
The controller only uses part of function codes. 0x03 reads holding register (to read current
binary value in one or multiple holding registers). 0x06 writes single holding register (to write a
specific binary value into a holding register). 0x2B reads device ID (to read the device ID related
to device’s physical and functional description).
Error checking field: The master and slave devices can use check code to discriminate whether
received information is wrong. Sometimes, information will change slightly in transmission due
to electronic noise or other interference. Error checking code can ensure the master and slave
devices do not handle the error information in transmission, improving system safety and
efficiency. Error checking method CRC16 is adopted.
The C Programming Language function generated by CRC16 is as follows: unsignedchar
*puchMsg; // points to the pointer used to generate CRC binary data message buffer. unsigned
shortusDataLen; // the number of bytes in message buffer.
Low-
order High-order
1 byte 1 byte 1 byte byte byte
Address code:
The address code sent by the slave indicates the slave address.
Function code:
In exception response, function code sent by the server MSB = 1. E.g. 0x03 returns an error
message with function code 0x83.
Exception code:
Exception
code Name Meaning
For the server (or slave station), a function code unavailable was
0x01 Invalid functionrequested, different from 0x03, 0x06, 0x2B in this controller.
For the server (or slave station), an address unavailable was
0x02 Invalid address requested.
Invalid data
0x03 value For the server (or slave station), a value unavailable was requested.
2. FUNCTION CODE
2.1 0x03 Read Holding Register
The master sends a command:
Device address 1 byte Slave address
Function code 1 byte 0x03
Start address 2 bytes 0x0100 ~ 0x0102,0x0400 ~ 0x042C,
0x0800 ~ 0x0802,0x0A00
Number of
registers 2 bytes 1-10
The slave
responds:
Device address 1 byte Slave address
Function code 1 byte 0x03
Number of
bytes 1 byte 2*N (N represents the number of registers)
Register value N*2 bytes
Error
Device address 1 byte Slave address
Function code 1 byte 0x83
Exception code 1 byte 01 or 02 or 03
E.g. the master address is 1 and requests the slave to read the command of register 108-110, so it
sends 01 03 00 6B 00 03 XX YY, wherein, 01: slave address; 03: function code; 00 6B: start address;
00 03: the number of registers; XX YY: CRC check code.
The slave responds: 01 03 06 02 2B 00 00 00 64 XX YY; wherein, 01: slave address; 03: function
code; 06: the number of data bytes sent; 02 2B 00 00 00 64: the value in register 108-110; XX YY:
check code.
If error data is received, the slave will return data 01 83 01 XX YY; wherein, 01: slave address; 83:
exception code; 01: exception code; XX YY: checksum.
2.2 0x06 Write Single Holding Register
The master sends a command:
Device address 1 byte Slave address
Function code 1 byte 0x06
Register
address 2 bytes 0x0400 ~ 0x042C,0x0A00
Register value 2 bytes 0x0000-0xFFFF
The slave
responds:
Device address 1 byte Slave address
Function code 1 byte 0x06
Register
address 2 bytes 0x0400 ~ 0x042C,0x0A00
Register value 2 bytes 0x0000-0xFFFF
Error
Device address 1 byte Slave address
Function code 1 byte 0x86
Exception code 1 byte 01 or 02 or 03
E.g. the master address is 0x01 and requests the slave to write the data 00 03 in the command
of register 2, so it sends 01 06 00 02 00 03 XX YY, wherein, 01: slave address; 06: function code;
00 02: register address; 00 03: the data to write in; XX YY: CRC check code.
The slave responds: 01 06 00 02 00 03 XX YY; wherein, 01: slave address; 06: function code; 00
02: register address; 00 03: the data to write in; XX YY: CRC check code.
Object ID:
Object
name/Descript
Object ID ion Type Object ID value
0x00 Company name ASCII character string ‘elitech’
0x01 Product model ASCII character string ‘EK3030E’
Main revision
0x02 No. ASCII character string ‘V1.0’
The slave
responds:
Address code 1 byte Slave address
Function code 1 byte 0x2B
MEI type 1 byte 0x0E
Device ID 1 byte 0x01 (Basic device ID)
Consistency level 1 byte 0x01 (Basic device ID, only stream access)
More 1 byte 0x00
Id
Next object ID 1 byte 0x00
Number of
objects 1 byte 0x03
Object ID 1 byte 0x00
Object length 1 byte 0x07
Object value 7 bytes ‘elitech’
Object ID 1 byte 0x01
Object length 1 byte 0x07
Object value 7 bytes ‘EK3030E’
Object ID 1 byte 0x02
Object length 1 byte 0x04
Object value 4 bytes ‘V1.0’
Error
Device address 1 byte Slave address
Function code 1 byte 0xAB (0x2B + 0x80)
Exception code 1 byte 01 or 02 or 03
2.4 0x42 Read Basic Information
The master sends a command:
Address code 1 byte Slave address
Function code 1 byte 0x42
Number
parameters 1 byte 0x09
Reserved 1 byte 0x00
Reserved 1 byte 0x00
E.g. command
01 42 09 00 00
BA DD is sent,
the slave
responds:
Address code 1 byte Slave address
Function code 1 byte 0x42
Number of
parameters 1 byte 0x09
The 1st
parameter 2 bytes Product model
The 2nd
parameter 2 bytes Cabinet sensor temperature
The 3rd
parameter 2 bytes Defrost sensor temperature
The 4th
parameter 2 bytes On temp in cooling mode
The 5th
parameter 2 bytes Off temp in cooling mode
The 6th
parameter 2 bytes On temp in heating mode
The 7th
parameter 2 bytes Off temp in heating mode
The 8th
parameter 2 bytes Alarm status
The 9th
parameter 2 bytes Device status
Data Yes/No
Description Range Default Unit Resolution sign
1~2
Product model (1: EK3030E, 1 ℃ 0.1/bit No
2: ECB-1000S)
Error
Device address 1 byte Slave address
Function code 1 byte 0xC2(0x42 + 0x80)
Exception code 1 byte 01 or 02 or 03
3. REGISTER ADDRESS
3.1 Parameters (Read-only)
Read-only
Defaul
t
Description Range
Register Data Yes/No
address Unit Resolution sign
Read/Write
Default
Data
Parame Resolutio Yes/No
Register ter Description Range Unit n sign
address code
0x0400 On temp in Off temp in cooling mode ~ 85℃ 10.0 ℃ ℃ 0.1/bit Yes
cooling mode
0x0403 Off temp in On temp in heating mode ~ 85℃ 10.0 ℃ ℃ 0.1/bit Yes
heating mode
Over
temperature
alarm delay
0x040D F10 after power on 0~24h 2h h 1/bit
Over
temperature
0x040E F11 alarm 0~50.0℃ 5.0℃ ℃ 0.1/bit
0x040F F12 0~120min 10min min 1/bit
Over
temperature
alarm delay
0x0415 H5 1 1/bit
0x0417 H7 0 1/bit
Display mode in
defrost and
dripping 0: Normal cabinet temperature
(including the 1: dEF
15min after 2: Cabinet temperature when
dripping) defrosting starts
0x0418 H8 1 1/bit
Whether to
enable
evaporator 0: No
sensor 1: Yes
0x041F H15
Digital input 1
definition 0 1/bit Yes
0x0420 H16
Digital input 2 0 1/bit Yes
definition
±6: Start defrost
±5: Heating mode
±4: Normal external alarm
±3: Emergency external alarm
±2: Pressure switch alarm
±1: Door switch alarm
0: Disabled
Positive number represents it
defaults normally open, close valid;
Negative number represents it
defaults normally closed, open
valid.
Controller ID
0x0421 H17 address 0 1/bit
0x0424 A2 0
Whether to 0: No influence
stop 1: Only compressor stops
compressor, 2: Compressor defrost and fan
defrost and fan stop.
in normal alarm
0: No influence
1: Only compressor stops
2: Compressor defrost and fan
0x0426 A4 stop. 0
Whether to
stop
compressor,
defrost and fan
emergency
external alarm
0x0428 A6 3
Compressor
and fan status 0: No influence
when door 1: Close fan
open 2: Close compressor
3: Close fan and compressor
0x0429 A7 40s
Fan stop time 0: ON (Not stop)
when door 1: OFF (Not start before door
open closed)
2~241: 1~240s (stop time)
Read-Only
Read/Write
Register Definition
address Description of bits
Bit7(MSb) Reserved
Bit6 Reserved
Bit5 Reserved
Bit4 Reserved
MSByte
Bit3 Reserved
Bit2 Reserved
Bit1 Reserved
Bit0(LSb) Reserved
0x0A00 Device status
Bit7(MSb) Reserved
Bit6 Reserved
Bit5 Reserved
Bit4 Reserved
LSByte
Bit3 Reserved
Fan 0: Off
Bit2 status 1: On
Cooling 0: Off
Bit1 status 1: On
Defrost 0: Off
Bit0(LSb) status 1: On