发布于 2017-07-19 14:24:49
11楼
RS485的Modbus多个传感器采集,想要快,最直接的办法就是提高通讯波特率。
还有就是自己写自由通讯协议了,根据通讯波特率使用定时中断、通讯中断来直接读取从站数据到每个从站独立的数组,主程序直接使用从站数组数据就是了。
不过,SMART速度都很快了,主程序都能控制在10ms内了,那么不用定时中断直接在主程序也可以。
其实,SMART本身有TCP/IP可以考虑连一个ModbusTCP/IP多路串口服务器。串口服务器负责采集所有传感器数据缓存起来,然后PLC只是去读取服务器里面的数据,这样感觉就可以一次线读取全部的传感器数据了。串口服务器尽量选多串口的,比如4个串口,然后每路25个传感器,4路并发采集,每100ms一个设备,3秒内基本上都可以全部采集完100个传感器了。不过,目测串口服务器都不便宜,自己做又很花时间,所以你自己看着办咯。