Modbus RTU相关常识和通信示例.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Modbus RTU相关常识和通信示例

Modbus RTU – 基本功能 1 关于ModBus ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。 1.1 报文结构 以串行数据传输为基础,通过一位接着一位进行传送。 1.2协议数据单元(PDU) 1.2.1 Modbus PDU(协议数据单元)由功能码和实际数据两部分组成。 1.2.2 Modbus 串行通讯的消息帧 站号(站地址) 站号字段为1字节长,可能选择0~247站点。 选择0 地址表示选择所有的子机站,代表广播消息的意思。 FC(RTU功能代码) FC字段为1字节长,用以下所示的0~255的值进行定义。带有网格部分表示使用的FC。请不要使用未使用的FC。否则会成为异常应答。常用ModBus的功能码FC定义如下: 01 READ COIL STATUS 01 读取线圈状态 02 READ INPUT STATUS 02 读取离散量输入。 03 READ HOLDING REGISTER 03 读取保持寄存器。 04 READ INPUT REGISTER 04 读取输入寄存器。 05 WRITE SINGLE COIL 05 强置单线圈。 06 WRITE SINGLE REGISTER 06 预置单寄存器 15 WRITE MULTIPLE COIL 07 15 强置多线圈。 16 WRITE MULTIPLE REGISTER 16 预置多寄存器 数据区 数据字段包含所有的信息(功能代码(地址)、字节计数、数据数、数据等)。有关各消息类型 广播、查询、正常应答、异常应答 的信息字段的详细情况; CRC校验 CRC-16 检查方式的2字节长数据。由于信息字段的长度为可变,由FC和字节计数数据计算出在CRC-16代码的计算中所必要的帧长。 CRC-16计算的详情和算法请参照「CRC-16」? 1.2.3 PDU消息类型 – 通讯过程 一般工业设备中,消息类型有查询、正常应答、异常应答、广播4种。 查询(Query) 主机对于单一的现场设备进行消息的发送。 正常应答(Normal Response) 接收到来自主机的查询后,进行针对请求的处理,并返回所相应的正常应答。 异常应答(Error Response) 现场设备接收到查询,但由于是指定了无效的功能代码等不能执行所请求的功能,则返回异常应答。 在异常应答中,附有说明不能执行请求的理由的消息。 另外,在CRC出错和物理性传送出错(奇偶校验出错、成帧出错、超程出错)时,不能返回应答。 广播(Broadcast) 主机使用地址0对所有子机进行消息发送。接收到广播消息的所有子机按请求的功能执行。这个处理在主机超时时结束。 在RTU的消息种类中,有功能读出、单一功能写入、连续功能写入、维护代码、线圈读出、线圈写入、连续线圈写入、异常应答共8种。 下面为常用的三种消息及应答。 2.1 功能读出 查询(Query) 1 字节 1 字节 2 字节 2 字节 2 字节 站号 03H 功能代码 Hi Lo 读出数据数 Hi Lo 出错检查 正常应答(Normal response) 1 字节 1 字节 1 字节 2~100 字节 2 字节 站号 03H 字节计数 读出数据数 Hi Lo 数据 0 Hi Lo 数据 1 …… 出错检查 2.2单一功能写入 查询(Query) 1 字节 1 字节 2 字节 2 字节 2 字节 站号 06H 功能代码 写入数据 出错检查 Hi Lo Hi Lo 正常应答(Normal response) 1?字节 1?字节 2?字节 2?字节 2?字节 站号 06H 功能代码 写入数据 出错检查 2.3 连续功能写入 查询(Query) 1 字节 1 字节 2 字节 2 字节 1 字节 2~100 字节 2 字节 站号 10H 功能代码 写入数据数 字节计数 写入数据 出错检查 正常应答(Normal response) 1 字节 1 字节 2 字节 2 字节 2 字节 站号 10H 功能代码 写入数据数 出错检查 3 常用指令及应答示例: 此处第一行为主机发出查询现场从站变频器的查询信息,即我们所说的发送请求;其中05是要查询的从站地址;03是读取保持寄存器;0806是要求查询的数据地址(或者某一设备的功能代码);0001是查询的数据长度;67EF是CRC16校验结果; 第二行为从站返回的正常应答:其中0503同上,01为数据长度;2710为返回的实际数据,即0806寄存器中存储的数据位16进制2710

文档评论(0)

sd44055 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档