错误的根本原因是收发数据没有按你所想的理想状态进行。
80ms也许变频器还没及时返回数据,PLC的下一个请求又来了...
或者接收的数据还没完成,PLC就发下一个请求了...
不做条件循环的话,18个模块调整时间来做,那就要考虑每个模块消耗1秒的时间等待超时,一个循环下来就20秒...
纯粹的时间触发还有一个很严重的问题,使用通用库是会进行3次重试的,20X3=60秒钟。而且用时间触发的话,如果刚好从机正在返回数据,PLC刚好也同时发数据,到头来整个通讯就混乱了...
总之,纯粹的用定时器触发实现
modbusRTU通讯是不可取的。