#author("2023-04-03T16:19:05+08:00","default:Admin","Admin") #author("2023-04-03T16:21:15+08:00","default:Admin","Admin") [[IoT]] #contents * modbus RTU [#h0395bc3] Modbus RTU(Remote Terminal Unit 远程终端单元): - 这种方式常采用RS-485做为物理层,一般利用芯片的串口实现数据报文的收发,报文数据采用二进制数据进行通信。 - Modbus RTU通信以主从的方式进行数据传输,在传输的过程中Modbus RTU主站是主动方,即主站发送数据请求报文到从站,Modbus RTU从站返回响应报文。 Modbus RTU数据帧由四部分组成,设备地址,功能码,数据和校验。 |设备地址|功能码|数据|校验| |1个字节|1个字节|0~252字节|2个字节| 设备地址占1个字节(8bit),范围是0~255之间。0是广播地址,1~247是从站设备地址,248~255保留不用。 #codeprettify{{ XXX }} * 通信 [#w1c3e410] ** 单播(unicast) [#b0bf9e68] 报文中的地址字段指定所需要访问的设备,该设备收到请求后作出对应的应答。 &ref(modbusRTU_tongxin1.jpg); ** 广播(Broadcast) [#n0a3df29] 主站向总线所有设备发出广播报文,所有从设备都不做应答,报文中&color(red){地址为0};则为广播请求: &ref(modbusRTU_tongxin2.jpg); * 寻址 [#y30e9dad] modbus-RTU从设备都具有一个单字节地址,其地址分配定义为: &ref(modbusRTU_tongxin3.jpg); Modbus RTU数据帧由四部分组成,设备地址,功能码,数据和校验。 |设备地址|功能码|数据|校验| |1个字节|1个字节|0~252字节|2个字节| 设备地址占1个字节(8bit),范围是0~255之间。0是广播地址,1~247是从站设备地址,248~255保留不用。 - 地址0:广播地址,所有的从设备必须处理广播报文。 - 1-247:从设备地址,主设备是没有地址的,这一点需要注意。 - 248-255:保留地址 #codeprettify{{ XXX }} #hr(); コメント: #comment_kcaptcha