Modbus RTU通讯说明

[复制链接]
查看79438 | 回复0 | 2024-3-22 21:09:55 | 显示全部楼层 |阅读模式




73.1、引言




      Modbus RTU协议是基于EIA RS485的串行通讯总线,是一种紧凑的,采用二进制表示数据的方式。通讯为半双工通讯,在一个通讯周期内,主站向指定从站发出查询,指定从站接收查询后执行指定功能,返回响应信息。即通讯从站设备只可被动受主站设备查询状态或者控制动作,不可主动发送数据。

73.2、电气配线

      由于EPSON机器人控制器端串口为RS-232C的公头接口,故需要准备一个如下图的RS-232转RS485的转换模块。



73.3、数据格式

      Modbus RTU通讯数据格式由以下组成:



①启动

3.5个字符以上的安静间隔(无通信时间)。

(1个字符 = 10 bit)

例:9600bps时 (10×3.5)bit×1/9600bps=3.65ms

②地址

指定已连接的从站设备的地址,有些设备地址存在偏移现象,需要+1或者-1。

③功能码

可具体查询从站设备说明书。

④数据

添加功能码所指示的数据时使用。功能码没有添加数据的指示时,也允许无数据。

⑤CRC校验

在Modbus RTU模式下,信息中自动添加可通过CRC方式对信息整体的内容进行检查的错误校验。CRC校验由16位二进制值构成。CRC值由在信息中添加CRC的发送侧计算。接收侧在接收信息的过程中重新计算CRC,将计算结果与发送来的值进行比较。如果两个值不一致,则结果为错误。

⑥结束

3.5个字符以上的安静间隔(无通信时间)。



73.4、示例程序

      编写SPEL+语言程序时,需要Modbus RTU通讯的数据转为二进制的格式。故发送数据时,使用WriteBin指令。接收数据时,使用ReadBin指令。具体参考程序如下:





73.5、运行结果









video: https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_2340132842929979393

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则