恭喜,你发布的帖子
发布于 2022-07-16 12:05:01
8楼
首先,1500不是1200,它的连接资源相比1200多的多,而且很少地保留。
1、Modbus TCP 不是 Modbus RTU总线型,需要串行通信。(总线上,同一时刻,只能有一个站点独占总线。)Modbus TCP是可以并发通讯的。
这意味着,可以在程序中建立多个MB_Client客户端;每个客户端使用不同的MB_Client背景数据块;使用不同的连接ID;使用不同的本地端口(502、503、504... 远程服务器站要指定访问对应的端口,以保持连接。)
2、以上所有MB_Client的EN都是连接左侧能流线(每循环都调用)。若每个服务器只有一个MB_Client,则REQ只需一次上升沿,然后一直保持1。西门子MB_Client功能块会自动与服务器建立连接,连续执行命令;即便网线断掉,重新插上,此功能块也会再次建立连接,继续执行命令,
3、当传输的数据超过240字节时,就需要多次传输。可以用“轮询”(其实这不叫轮询);每次Done之后,改变传输数据区。也可以,直接连续调用MB_Client(用同一个MB_Client背景数据块),当前面的传输完毕利用Done,激活下一个(余下数据)的MB_Client的REQ。
4、TCP/IP传输中,IP协议只负责传送IP- IP;所有连接管理等信息都在TCP协议中。
MB_Client访问不到、连接不上等等,看MB_Client功能块的状态STATUS代码就知道了。
请填写推广理由:
分享
只看
楼主