一控制项目,想使用1台TM200做主站,多台TM100做从站组网通讯。目前暂时1主2从进行通讯测试,主站使用从远程设备读取数据 (%READ_VAR),向 Modbus 设备写入数据 (%WRITE_VAR)2个功能块来读写2个从站的数据。开始想的简单,不论读还是写功能块,只要找一个上升沿触发脉冲激活块就行,剩下的事情是块干的事情。结果发现,一个上升沿只能读一次,要连续进行读操作,需要不断给块%READ_VAR引脚“Execute”给脉冲信号。
这样的话,施耐德TM200/100组网通讯,主站使用读取数据 (%READ_VAR)和写入数据 (%WRITE_VAR)块,编程时是不是要做成Modbus的轮询机制?即就是先完成1#从站读,使用(%READ_VAR)的引脚“Done”完成位触发1#从站写,然后使用1#从站 (%WRITE_VAR)的引脚“Done”完成位触发2#从站读……这样依次轮询到最后一个站的写完成位再次触发1#从站读操作。如果这样,那对编程技术要求就高了。
做过的说说,如能推荐一个通讯例子程序,或者发一个自编的例子程序,不胜感激!