威纶通官方论坛

Getdata获取控件数据卡死

[复制链接]
发表于 2023-8-24 22:42:57 | 显示全部楼层 |阅读模式
本帖最后由 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,请问怎么解决?
发表于 2023-10-4 16:03:03 | 显示全部楼层
好像有个与PLC通讯失败的地址有标志位。具体看看触摸屏的地址标签。
发表于 2023-10-4 22:18:01 | 显示全部楼层
可以使用GetDataEX
发表于 2023-10-17 08:54:31 | 显示全部楼层
他的机制应该是读取不到数据的时候就会跳出宏,感觉这样也比较好,不然在getdate后面的函数执行判断的时候就可能会出问题
您需要登录后才可以发帖 登录 | 注册

本版积分规则

回复帖子

Archiver|小黑屋|威纶通官网 ( 粤ICP备06054553号 )

GMT+8, 2024-11-22 01:39

Powered by Discuz! X3.4

© 2001-2023 Comsenz Inc.

快速回复 返回顶部 返回列表