积成电子modbus通讯规约.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
积成电子modbus通讯规约

积成电子modbus通讯规约(定稿) 1、数据帧格式 本协议采用主-从结构的半双工通讯方式。 具体帧格式定义如下: 地址码 功能代码 数据信息码 CRC-16 校验码 1 个BYTE 1 个BYTE N 个BYTE 2 个BYTE 1.1 地址码 地址码是数据帧的第一字节(8 位二进制码),从0 到255。地址0为广播地址,所有子节点必需识别广播地址。这个字节表明由用户指定地址的从机将接收由主机发送来的信息。每个从机都必须有唯一的地址码,并且只有符合地址码的从机才能发回响应。当从机回送信息时,响应中的地址码表明该信息来自于何处。 1.2 功能代码 主机发送的功能码告诉从机执行什么任务。下表列出本规约中应实现的功能码。 功能码 意义 行为 03H/04H 读数据寄存器 获得一个或多个寄存器的当前二进制值(03/04 共用一个物理块)。 10H 写预置寄存器 设定二进制值到相关的寄存器中。 1.3 数据码 数据码包含了终端执行特定功能所需要的数据或者终端响应查询时采集到的数据。这些数据的内容可能是数值、参考地址或者设定值。例如:功能码告诉终端读取一个寄存器,数据域则需要指明从哪个寄存器开始及读取多少个数据,而从机数据码回送内容则包括了数据长度和相应的数据。 备注:每个寄存器的内容为2个字节。 1.4 CRC-16 校验码 CRC-16 校验码包含2 个字节,即16 位二进制。CRC 码由发送设备计算,放置于发送信息的尾部。接收信息的设备再重新计算接收到信息的CRC 码,比较计算得到的CRC码是否与接收到的相符,如果两者不相符,则表明出错。 计算CRC 码的步骤为: 1、 预置16 位寄存器为十六进制FFFF(即全为1)。称此寄存器为CRC 寄存器; 2 、把数据帧中第一个8 位数据与16 位CRC 寄存器的低位相异或,把结果放于CRC 寄存器; 3、 把寄存器的内容右移一位(朝低位),用0 填补最高位,检查最低位; 4 、如果最低位为0:重复第3 步(再次移位); 如果最低位为1:CRC 寄存器与多项式A001H(1010 0000 0000 0001)进行异或; 5 、重复步骤3 和4,直到右移8 次,这样整个8 位数据全部进行了处理; 6 、重复步骤2 到步骤5,进行下一个8 位数据的处理,直到所有字节处理结束; 7、 最后得到的CRC 寄存器即为CRC 码。 2、具体帧定义 2.1 读累计水量值(浮点数) 控制码:03/04 寄存器起始地址:00 04 寄存器个数:00 02 请求帧: A0 03/04 00 04 00 02 CRC低 CRC高 表地址 控制码 寄存器地址 寄存器个数 检验位 应答帧: A0 03/04 04 4个字节的浮点数 CRC低 CRC高 解释:4个字节的浮点数,高字节在前,低字节在后。比如读数为123456,则对应的帧中的浮点数为47 F1 20 00。 2.2 读累计水量值(BCD码) 控制码:03/04 寄存器起始地址:00 02 寄存器个数:00 02 请求帧: A0 03/04 00 02 00 02 CRC低 CRC高 表地址 控制码 寄存器地址 寄存器个数 检验位 应答帧: A0 03/04 04 4个字节的BCD码(D3 D2 D1 D0) CRC低 CRC高 解释:4个字节的BCD码,高字节在前,低字节在后, D3为十万位万位, D2为千位百位, D1为十位个位,D0为小数位。比如读数为123456,则对应的帧中的浮点数为12 34 56 00 2.3 读地址和通讯参数 控制码:03/04 寄存器起始地址:00 01 寄存器个数:00 01 请求帧: 00/A0 03/04 00 01 00 01 CRC低 CRC高 广播地址 控制码 寄存器地址 寄存器个数 检验位 应答帧: A0 03/04 02 STA A0 CRC低 CRC高 解释:02为数据域长度,2个字节(即一个寄存器)。 STA为通讯参数,高4位表示波特率,低4位表示校验位,具体定义如下: 高4位 波特率 低4位 校验位 0001 2400bps 0001 无校验 0010 4800bps 0010 偶校验 0100 9600bps 1000 1200BPS 说明:高4位和低4位可任意组合,形成不同的通讯参数。 2.4 写累计水量值 控制码:10H 寄存器起始地址:00 04 寄存器个数:00 02 请求帧: A0 10 00 04 00 02 04 D3 D2 D1 D0 CRC低 CRC高 地址 控制码 寄存器地址 寄存器个数 数据长度

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档