Modbus-RTU相关常识和通信示例

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

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

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功