恭喜,你发布的帖子
发布于 2025-06-27 14:56:13
11楼
贴截图前,我测试过的,在V2.2版本的服务器侧任意修改,应该是ms级的延时,在客户机侧会响应数据的,通讯数据交互是正常的,如果基本的通讯都不正常,那写帖子的意义就没有了。
做轮询当然可以的,也不是我写这个帖子的本意。至所以要写,是感觉到Modbus tcp通讯确实与Modbus rtu通讯有一些区别,尤其是各版本之间的指令应用区别。
你说了V2.2版本,多个通讯读写数据不会有问题,数据更新也能读到。还有这样通过激活多条指令通讯,轮训你测试是否可以正常轮训?
你说不用轮训,我提出我不同看法,如果你读取数据大于modbus tcp一次允许最大的数据量或是写入也是大于一次最大数据量,你不用轮训吗?你这个都是读取的连续地址,用过个指令,和用一个指令读取一次读取最大允许数据没有什么区别,还没有优势。很多时候,你通讯可能地址是连续,不是连续,这个地址又不是你连续一次读取最大数据量或是写入最大数据量包含的地址,你就非得做轮训来处理。这是数据量交换多时,你用很多指令同时激活是无法实现一次读写,你不轮训是不可以实现。在就回到轮训这点来,你有没有测试V4.0及以上的指令和固件,客户端和服务器端,是否支持你说的同时多个指令工作,而且轮训能正常。
从目前来看,你做的测试,是V4.0的客户端,和V2.2的服务器端支持,同时读取多个指令通讯读写数据,你说客户端可以同时激活多条指令读取服务器端的多个不同的BD块数据,这个从V4.0还是V5.0的指令就支持,一个客户端可以读取服务器多个不同的DB块里面地址。modbus tcp 指令里面详细介绍,我就复述了。
你可以继续测试 两个V4.0的固件和软件之间的同时多条指令通讯是否异常,轮训是不是可以正常通讯。 不要这么急着否定我的猜想。我的猜想不一定是正确,那你可以一一验证你的说法是否正确。还是在某些条件下你的说法是成立的。
请填写推广理由:
分享
只看
楼主