恭喜,你发布的帖子
发布于 2021-09-08 03:01:02
20楼
PLC采用UDP,与做为UDP Server的串口服务器通信,是为了和串口设备读写信息。
我是把ModbusRTU报文放进UDP数据包,经过串口服务器和485设备进行Modbus通信。这样的UDP通信,UDP Server会自动做出应答,因而可以确认成败,而Modbus的轮询机制等同于重传,所以这也是一种可靠机制。
1、下图中串口服务器的UDP server的端口是 192.168.1.252: 2000。它的485串口连接了2个modbus设备。PLC有5条指令对这两个设备周期轮询。Modbus读报文的长度都是8。从抓包中可以看到5条读取指令周期循环发送。
2、打开标记为黑色一个UDP报文,在它的数据部分会看到modbus协议的内容:从5号站点读取19个寄存器的数据
这5条命令的内容和在串口监控到的报文是完全对应的
3、UDP Server同样循环恢复应答这5条指令。modbus回复报文的长度不等。
4、打开其中标记为黑色的一个UDP应答报文,会看到串口设备回复的modbus报文:5号站回复了19个寄存器的数据,总共38字节,Modbus报文全长43字节。
这和串口监控的5对问答报文都对上。
5、把PLC网线拔掉,UDP没事。2分钟后再插上,设备立刻恢复轮询OK,根本不用重建UDP连接。这就是无连接通信的好处。
请填写推广理由:
分享
只看
楼主