logo资料库

Modbus协议用于温度控制器.pdf

第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
资料共14页,剩余部分请下载后查看
江苏省精创电气股份有限公司 温控器 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 页
分享到:
收藏