江苏省精创电气股份有限公司
温控器 EK3030E
通讯协议
编制:
审核:
批准:
EK3030E-modbus 协议
一、总则
1.1、MODBUS 协议
本控制器通讯协议采用 MODBUS-RTU 通讯从机模式。支持 MODBUS 单独通信方式,不
支持广播方式(主设备可单独和从设备通信,也能以广播方式和所有从设备通信;如果单独
通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应)。
1.2、串口配置
串行接口
波特率
数据长度
奇偶校验位
停止位
1.3、信息帧结构
RS485
9600
8 位
无
1 位
帧开始
≥4ms
时间间隔
地址码
1 字节
功能码
1 字节
帧开始/帧结束:
数据区
N 字节 低字节
CRC16
高字节
帧结束
≥4ms
时间间隔
控制器连续监测通讯端口的数据,如果通讯线上的静止(没有数据)时间超过 3.5 个
字符静止时间,接收到的数据则认为是一个新的数据帧。本协议中定义静止时间为 4ms
(在波特率为 9600 的情况下,4ms > 3.5 个字符时间)。
地址码:
地址码为通讯传送的第一个字节。这个字节表明由用户设定地址码的从机将接收由主
机发送来的信息。每个从机都必须有唯一的地址码,并且只有符合地址码的从机才能
响应回送。当从机回送信息时,相当的地址码表明该信息来自于何处。主机发送的地
址码表明将发送到的从机地址,而从机发送的地址码表明回送的从机地址。
功能码:
通讯传送的第二个字节。主机发送的功能码告诉从机执行什么任务。Modbus 通讯规
第 1 页 共 13 页
约定义功能号为 1 到 127,如果从机发送的功能码的最高位为1(功能码大与 127),
则表明从机没有响应操作或发送出错。
本控制器只利用其中的一部分功能码:0x03 读保持寄存器(在一个或多个保持寄存器
中取得当前的二进制值)、0x06 写单个保持寄存器(把具体二进值装入一个保持寄存
器)、0x2B 读设备识别码(读取设备的物理描述和功能描述相关的识别码)。
数据区:
数据区包含需要从机执行什么动作或由从机采集的返送信息。这些信息可以是数值、
参考地址等等。例如,功能码告诉从机读取寄存器的值,则数据区必需包含要读取寄
存器的起始地址及读取长度。对于不同的从机,地址和数据信息都不相同。
错误校验码:
主机或从机可用校验码进行判别接收信息是否出错。有时,由于电子噪声或其它一些
干扰,信息在传输过程中会发生细微的变化,错误校验码保证了主机或从机对在传送
过程中出错的信息不起作用。这样增加了系统的安全和效率。错误校验采用 CRC-16
校验方法。
1.4、错误信息
地址码
1 字节
功能码
1 字节
异常码
1 字节
CRC16
低字节
高字节
地址码:
从机发送的地址码表明回送的从机地址。
功能码:
在异常响应中,服务器设置功能码的 MSB 为 1。例:0x03 返回错误信息的功能码为
0x83。
异常码:
异常码 名称
0x01
非法功能
0x02
非法地址
含义
对于服务器(或从站)来说,询问中接收到的功能码是不可允许的
操作。本控制器中即不同于 0x03、0x06、0x2B 的功能码。
对于服务器(或从站)来说,询问中接收到的地址码是不可允许的
地址。
0x03
非法数据值 对于服务器(或从站)来说,询问中包括的值是不可允许的值。
第 2 页 共 13 页
二、功能码描述
2.1、0x03 读保持寄存器
主机发送命令:
地址码
功能码
起始地址
1 个字节
1 个字节
2 个字节
寄存器数量
2 个字节
从机地址
0x03
0x0100 ~ 0x0102,0x0400 ~ 0x042C,
0x0800 ~ 0x0802,0x0A00
1 到 10
从机响应
地址码
功能码
字节数
寄存器值
错误
地址码
功能码
异常码
1 个字节
1 个字节
1 个字节
N*2 个字节
从机地址
0x03
2*N(N 为寄存器的数量)
1 个字节
1 个字节
1 个字节
从机地址
0x83
01 或 02 或 03
例:主机发送地址为 1,请求从机读寄存器 108-110 的命令,发送:01 03 00 6B 00 03 XX
YY,其中 01 为从机地址,03 为功能码,00 6B 为起始地址,00 03 为寄存器数量,XX YY
为 CRC 校验得到的结果。
从机响应:01 03 06 02 2B 00 00 00 64 XX YY ,其中,01 是从机地址,03 为功能码,06
为发送的数据字节数,02 2B 00 00 00 64 分别对应寄存器 108-110 中的数值,XX YY 是
校验码。
如果从机接收到数据有误,则返回数据 01 83 01 XX YY,其中 01 为从机地址,83 为差错
码,01 为异常码,XX YY 为校验和。
第 3 页 共 13 页
2.2、0x06 写单个保持寄存器
主机发送命令:
地址码
功能码
寄存器地址
寄存器值
从机响应
地址码
功能码
寄存器地址
寄存器值
错误
地址码
功能码
异常码
1 个字节
1 个字节
2 个字节
2 个字节
1 个字节
1 个字节
2 个字节
2 个字节
1 个字节
1 个字节
1 个字节
从机地址
0x06
0x0400 ~ 0x042C,0x0A00
0x0000 至 0xFFFF
从机地址
0x06
0x0400 ~ 0x042C,0x0A00
0x0000 至 0xFFFF
从机地址
0x86
01 或 02 或 03
例:主机发送地址为 0x01,请求将数据 00 03 写入寄存器 2 的命令,主机发送:01 06 00
02 00 03 XX YY,其中 01 为从机地址,06 为功能码,00 02 为寄存器地址,00 03 为要
写入的数据,XX YY 为 CRC 校验码。
从机响应:01 06 00 02 00 03 XX YY,其中 01 为从机地址,06 为功能码,00 02 为寄存
器地址,00 03 为要写入的数据,XX YY 为 CRC 校验码。
如果数据错误或通讯异常,发送 01 86 02 XX YY。
第 4 页 共 13 页
2.3、0x2B 读设备识别码
主机发送命令:
地址码
1 个字节
1 个字节
1 个字节
1 个字节
1 个字节
从机地址
0x2B
0x0E
0x01(基本设备 Id)
0x00
功能码
MEI 类型
设备 Id
对象 Id
基本设备 Id:厂商名称、产品代码和修订本号。
对象 Id:
对象 Id
0x00
0x01
0x02
类型
ASCII 字符串
ASCII 字符串
ASCII 字符串
对象名称/描述
厂商名称
产品代码
主要修订本
对象 Id 值
‘elitech’
‘EK3030E’
‘V1.0’
从机响应
地址码
功能码
MEI 类型
设备 Id
一致性等级
随后更多
下一个对象 Id
对象数量
对象 Id
对象长度
对象值
对象 Id
对象长度
对象值
对象 Id
对象长度
对象值
错误
地址码
功能码
异常码
1 个字节
1 个字节
1 个字节
1 个字节
1 个字节
1 个字节
1 个字节
1 个字节
1 个字节
1 个字节
7 个字节
1 个字节
1 个字节
7 个字节
1 个字节
1 个字节
4 个字节
从机地址
0x2B
0x0E
0x01(基本设备 Id)
0x01(基本设备 Id 仅流访问)
0x00
0x00
0x03
0x00
0x07
‘elitech’
0x01
0x07
‘EK3030E’
0x02
0x04
‘V1.0’
1 个字节
1 个字节
1 个字节
从机地址
0xAB(0x2B + 0x80)
01 或 02 或 03
第 5 页 共 13 页
2.4、0x42 读基本信息
主机发送命令:
地址码
功能码
预留
参数个数
1 个字节
1 个字节
1 个字节
1 个字节
1 个字节
从机地址
0x42
0x09
0x00
0x00
预留
例:发送指令 01 42 09 00 00 BA DD
从机响应
地址码
功能码
参数个数
第 1 个参数
第 2 个参数
第 3 个参数
第 4 个参数
第 5 个参数
第 6 个参数
第 7 个参数
第 8 个参数
第 9 个参数
1 个字节
1 个字节
1 个字节
2 个字节
2 个字节
2 个字节
2 个字节
2 个字节
2 个字节
2 个字节
2 个字节
2 个字节
从机地址
0x42
0x09
产品型号
库温探头传感器温度
化霜探头传感器温度
制冷开机温度
制冷停机温度
制热开机温度
制热停机温度
报警状态
设备状态
参数详细信息如下表所示:
描述
产品型号
库温探头传感器
温度
化霜探头传感器
温度
制冷开机温度
制冷停机温度
制热开机温度
制热停机温度
默认
1
范围
1 ~ 2
(1 表示 EK3030E,
2 表示 ECB-1000S)
-40℃ ~ 99℃
-40℃ ~ 99℃
制冷停机温度 ~ 85℃
-40℃ ~ 制冷开机温度
-40℃ ~ 制热停机温度
制热开机温度 ~ 85℃
10.0 ℃
-10.0 ℃
-10.0 ℃
10.0 ℃
单
位
℃
℃
℃
℃
℃
℃
℃
数据
分辨率
1/bit
0.1/bit
0.1/bit
0.1/bit
0.1/bit
0.1/bit
0.1/bit
有/无
符号
无
有
有
有
有
有
有
第 6 页 共 13 页
描述
位定义
报警状态
MSByte
LSByte
MSByte
设备状态
LSByte
保留
保留
保留
保留
保留
Bit7(MSb) 保留
Bit6
保留
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0(LSb)
Bit7(MSb) 压力开关报警
Bit6
紧急外部报警
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0(LSb)
Bit7(MSb) 保留
Bit6
保留
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0(LSb)
保留
Bit7(MSb) 保留
Bit6
保留
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0(LSb)
制热开机状态
制冷开机状态
风机状态
保留
保留
化霜状态
保留
保留
门打开报警
0:无报警 1:报警
0:无报警 1:报警
0:无报警 1:报警
0:无报警 1:报警
普通外部报警
超出试用时间报警 0:无报警 1:报警
0:无报警 1:报警
库温超下限报警
0:无报警 1:报警
库温超上限报警
化霜探头故障报警 0:无报警 1:报警
库温探头故障报警 0:无报警 1:报警
保留
保留
制冷或制热状态
0:制冷 1:制热
0:关闭 1:开启
0:关闭 1:开启
0:关闭 1:开启
0:关闭 1:开启
错误
地址码
功能码
异常码
1 个字节
1 个字节
1 个字节
从机地址
0xC2(0x42 + 0x80)
01 或 02 或 03
第 7 页 共 13 页