Getdata获取控件数据卡死
本帖最后由 galaxy 于 2023-8-24 22:44 编辑使用宏指令 获取控件数据
GetData(ZA, "MODBUS RTU", 4x, 1#16, 1)//读取 MODBUS 1#站数据,1个字长 设备A
GetData(ZB, "MODBUS RTU", 4x, 2#16, 1)//读取 MODBUS 2#站数据,1个字长 设备B
SetData(ZALL, "MODBUS RTU", 4x, 1#17, 1)//下发数据
设备A控件4x-1#16由于设备正常挂载,通信正常,那么GetData数据,读取正常。但是设备B 4x-2#16控件,由于设备没有正常挂载,导致这个控件在运行时看不见,那么使用GetData,程序貌似一直停止在读取这一步,宏指令后面的程序,SetData不能正常运行,执行不到这一步。
请问专家
1. 宏指令中有没有判断这个控件是否存在或者485通信成功的标志之类?
2. 如果不能判断,那么GetData 获取不到数据,程序卡住,这个是不是GetData函数的一个bug,请问怎么解决? 好像有个与PLC通讯失败的地址有标志位。具体看看触摸屏的地址标签。 可以使用GetDataEX 他的机制应该是读取不到数据的时候就会跳出宏,感觉这样也比较好,不然在getdate后面的函数执行判断的时候就可能会出问题
页:
[1]