galaxy 发表于 2023-8-24 22:42:57

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,请问怎么解决?

WLT2023ZS 发表于 2023-10-4 16:03:03

好像有个与PLC通讯失败的地址有标志位。具体看看触摸屏的地址标签。

yiwei125518 发表于 2023-10-4 22:18:01

可以使用GetDataEX

不会写宏的小白 发表于 2023-10-17 08:54:31

他的机制应该是读取不到数据的时候就会跳出宏,感觉这样也比较好,不然在getdate后面的函数执行判断的时候就可能会出问题
页: [1]
查看完整版本: Getdata获取控件数据卡死