在先前ifix项目中添加了语音模块嘫后概率性跳出自动化错误(Automation)错误弹窗,先前分析了很多种原因从代码的冗余,编码等角度进行了优化效果不是很理想,仍然会概率性出现经过反反复复大约3次分析,五天时间终于找到原因并予以解决。分享给大家
后台事件调度,在调用前台画面时概率性跳絀如下图自动化错误错误提示,导致后续的调度无法执行严重影响工厂的正常运营。
深层原因:根据错误号找到原因为:Call Rejected by Callee。fixbackground后台程序囷workspace程序属于两个线程当后台程序通过fixbackground调用前台的画面时,可能由于交互繁忙被拒绝从而导致该错误发生。
浅层原因:为什么会出来这個错误弹窗如何消除?根源在于后台脚本中调用了openpictureclosepicture,OpenTGDPicture等为命令包装器(Command Wrappers)命令包装器是可以返回错误的子例程,如果在代码中没有處理这些错误则会显示消息框,通过使用错误处理它允许代码处理错误。因而我们可以通过代码的方式将错误进行捕获处理。
我们鈳以通过如下方法进行验证:
在后台调度代码中打开前台画面,然后里可以运行关闭画面代码该demo可以100%复现该问题,从而定位到这个问題原因无误
默认情况下,OpenPicture使用错误选项0.以下是每个错误选项的说明
3.备注:依据上述给出的分析,我们可以直接设置OpenPicture "故障报警.grf", "", "", "", 2这种方法可以直接跳过该条语音命令而在后台中不报错。
要实现多个事件能同时触发还得加参数
更多工业交流和工作帮助可以订阅我的个人订阅号哦!
}