我手头的项目是用Modbus_RTU两线多站制,而Modbus_RTU只能做“轮询”。在编程时我就遇到困惑,这个轮询是什么意思,是说这个站的数据读完了,发出一个"Done"的信号,这个“Done”信号传递给下一站,下一站才能做通信;如果上一站因为某种原因,数据没有读完(或者写完),迟迟发不出“Done”的信号,下一站就无法进行通信?如下图左。
比如下图,有三个站,各自需要读写电表功率、马达速度和炉子真空度。“轮询”是不是意味着,如果“电表功率”没有读写完毕,则不能进行“马达速度”的读写;如果“马达速度”没有读写完毕,则不能进行“炉子真空度”读写?
还是Modbus_RTU在访问某一站时,即使数据没有读完(或者写完),但是超过了时限,Modbus_RTU就掉头去下一站做数据的读写?如下图右。即使“电表功率”没有读写完,但是Modbus_RTU依然去读写“马达速度”?
追问:如果有三个从站,是不是就要做三次组态即三次调用“Modbus_Comm_Load”指令?可是我在官网上的教程中只看到多从站但是只调用“Modbus_Comm_Load”一次呀。(官网教程见http://www.ad.siemens.com.cn/productportal/prods/s7-1200_plc_easy_plus/11-Comm/03-Serial/02-Modbus/02-Modbus_RTU.htm)
望大侠指点迷津。