如题,当有 多个modbus从站时,PLC读写每个从站的指令不能同时用,上一个指令执行完毕后,下一个指令才能执行,即使每个从站只有一条读指令,如果我有100个从站,每个站的读取完毕的平均时间按20ms计算,那么轮询一遍(假设每个站通讯都正常)的周期也有 20*100=2000ms;而实际应用中从站读写的周期恐怕都比20ms大很多,导致轮询周期太长,PLC采集到的数据时间差比较大。
我做过16个从站数据的读取,超时时间设置为80ms,一个从站无响应的情况下,轮询周期已经达2秒左右。
如果从站中有个别通讯故障,每个轮询周期时间还要加上故障从站的超时时间,轮询周期甚至翻上几倍。
我个人感觉从程序方面提高轮询速度基本上没有什么好办法了,论坛里各位大侠,谁有从硬件方面提高轮询速度的办法呢?
比如有没有modbus多串口的代理智能硬件,每个串口作为一个虚拟主站读写与之连接的从站,这样一个10串口的智能硬件,每个串口同时工作,就可同时读取10个从站的数据,数据存储在智能硬件的存储器中。
智能硬件与PLC连接的串口设置成一个虚拟从站,PLC通过一个指令便可读取10个从站的所有数据。
不知如此方案能否实现?