Modbus RTU工业控制的标准通信协议

210 阅读2分钟

1 Modbus RTU工业控制协议

  • Modbus是一种用于工业控制的标准通信协议,它定义了装置之间在应用层的消息封装模式、沟通方法、沟通顺序。
  • Modbus协议是开源免费的
  • Modbus支援多种常见工控接口(RS232, RS485, TCP/IP etc.),且可以各种物理层装置上传输(双绞线、光纤、无线等)
  • Modbus能够将众多设备连接到DCS, PLC系统上,再利用服务器(云、中央计算机)进行监控与下达指令,以便于集中式控制。 image.png image.png image.png

1.1 功能码详解

image.png image.png

1.2 功能码01:读1路或多路开关量线圈输出状态

image.png image.png

1.3 功能码02:读1路或多路开关量状态输入

image.png image.png

1.4 功能码03:读多路寄存器

image.png image.png

1.5 功能码05:写1路开关量输出

image.png image.png

1.6 功能码06:写单路寄存器

image.png

1.7 功能码10:写多路寄存器

image.png image.png

2 发送与返回的数据解析(读取0048H到004FH共8寄存器)

  • image.png

2.1 发送数据(发送接收都是16进制)

  • Modbus的模式是主从模式,主机发送命令给从机,从机不能主动发送数据给主机。\
  • 每个从机设备都是自己的设备地址号,这个设备地址号是用于传输时来寻找设备用的,默认地址是1,可以进行修改地址号以区分不同的设备 image.png image.png

2.2 返回结果解析(发送接收都是16进制,20是32个字节)

  • image.png image.png

3 继续分析

image.png image.png

3.2 主机对从机读写操作

image.png

3.3 MODBUS报文模型

image.png

4 freemodbus

- FreeMODBUS是一个奥地利人写的Modbus协议。它是一个针对嵌入式应用的一个免费(自由)的通用MODBUS协议的移植。Modbus是一个工业制造环境中应用的一个通用协议。Modbus通信协议栈包括两层:Modbus应用层协议,该层定义了数据模式和功能;另外一层是网络层。