在先前ifix项目中添加了语音模块,然后概率性跳出自动化(Automation)错误弹窗,先前分析了很多种原因,从代码的冗余,编码等角度进行了优化,效果不是很理想,仍然会概率性出现。经过反反复复大约3次分析,五天时间终于找到原因,并予以解决。分享给大家。

1.错误描述

后台事件调度,在调用前台画面时,概率性跳出如下图自动化错误提示,导致后续的调度无法执行,严重影响工厂的正常运营。

2.错误原因

深层原因:根据错误号,找到原因为:Call Rejected by Callee。fixbackground后台程序和workspace程序属于两个线程,当后台程序通过fixbackground调用前台的画面时,可能由于交互繁忙被拒绝,从而导致该错误发生。

浅层原因:为什么会出来这个错误弹窗?如何消除?根源在于后台脚本中调用了openpicture,closepicture,OpenTGDPicture等为命令包装器。(Command Wrappers)命令包装器是可以返回错误的子例程,如果在代码中没有处理这些错误,则会显示消息框,通过使用错误处理,它允许代码处理错误。因而,我们可以通过代码的方式将错误进行捕获处理。

我们可以通过如下方法进行验证:

在后台调度代码中,打开前台画面,然后里可以运行关闭画面代码,该demo可以100%复现该问题,从而定位到这个问题原因无误。

Private Sub FixEvent3_WhileTrue()openpicture “故障报警.grf”,“”,“”,“”,1
closepicture "故障报警.grf", 1End Sub

3.解决方案

根据ifix给出的关于openpicture的错误参数

默认情况下,OpenPicture使用错误选项0.以下是每个错误选项的说明。

  • 0(默认值) - 允许子例程提供错误消息。错误以消息框的形式显示。如果没有为intErrorMode参数创建条目,则使用默认值
  • 1作为Error Option参数,您可以在计时器或事件脚本中处理错误。例如,从那里,您可以将其发送到Windows NT事件日志。

  • 2作为错误选项参数,您可以将错误发送到警报历史记录。

下面进行修复验证:

1.将fixbackground.exe设置参数/service以后台服务方式运行。

2.脚本编写验证。

Private Sub FixEvent1_WhileTrue()On Error GoTo HandleErr
Dim workspace As Object
Set workspace = GetObject("", "Workspace.Application")
Dim tagvar As Object
Set tagvar = workspace.Documents("User").Page.FindObject("PicNumBer")
tagvar.Description = "二期粗格栅1号污水泵"With workspace
OpenPicture "故障报警.grf", "", "", "", 1
closepicture "故障报警.grf", 1
End With
'OpenPicture tt, "", TOP, LEFT, 0, , NONE, "", 1
Exit SubHandleErr:If Err.Number = -2147418111 Then
OpenPicture "故障报警.grf", "", "", "", 1
'Resume Next
Else
End If
End Sub

3.备注:依据上述给出的分析,我们可以直接设置OpenPicture "故障报警.grf", "", "", "", 2这种方法,可以直接跳过该条语音命令而在后台中不报错。

2019/7/8更新:

要实现多个事件能同时触发还得加参数


openpicture tt, "", TOP, LEFT, 1, , NONE, "", True

更多工业交流和工作帮助可以订阅我的个人订阅号哦!

ifix 自动化(Automation)错误弹窗的解决方案相关推荐

  1. VBA 运行时错误‘-2147217900(80040e14):自动化(Automation)错误

    问题描述:初次尝试使用VBA去操作Access数据库,执行 INSERT 操作的时候,发生了"运行时错误'-2147217900(80040e14):自动化(Automation)错误&qu ...

  2. vba mysql 自动化错误_vba小程序报自动化(Automation)错误如何处理?

    我们需要得到银行的实时汇率并导入自己的数据库表中.采用excel,写一小段vba代码:PrivateSubWorksheet_Change(ByValTargetAsRange)Sheets(&quo ...

  3. 用友软件出错解决方案。如:SA口令被更改或系统错误,系统将退出 错误编号:-2147024770错误描述:Automation 错误

    错误一:不能初始化数据库 解决办法:控制面板中删除"framework2.0" 错误二:SA口令被更改或系统错误,系统将退出 错误编号:-2147024770错误描述:Automa ...

  4. ORA-01578和ORA-26040--NOLOGGING操作引起的坏块-错误解释和解决方案(文档ID 1623284.1)...

    ORA-01578和ORA-26040--NOLOGGING操作引起的坏块-错误解释和解决方案(文档ID 1623284.1) (一)NOLOGGING操作引起的坏块(ORA-01578和ORA-26 ...

  5. git ,报403错误,完美解决方案

    git ,报403错误,完美解决方案 参考文章: (1)git ,报403错误,完美解决方案 (2)https://www.cnblogs.com/duanqiao123/p/7000813.html ...

  6. windows无法连接到打印机 操作失败,错误为0x00000002 解决方案

    windows无法连接到打印机 操作失败,错误为0x00000002 解决方案 参考文章: (1)windows无法连接到打印机 操作失败,错误为0x00000002 解决方案 (2)https:// ...

  7. java.util.NoSuchElementException错误原因及解决方案

    java.util.NoSuchElementException错误原因及解决方案 参考文章: (1)java.util.NoSuchElementException错误原因及解决方案 (2)http ...

  8. java在线找错_平台配置及测试错误提示及解决方案

    平台配置错误提示及解决方案 开发者在点击提交服务的时候可能会遇到以下各种各样的问题,本文列举出部分平台会弹出的提示,以便解决提交出现的问题. 1. 请完成分发国家配置 原因:未选择分发国家或未保存 解 ...

  9. 用户'sa'登录失败(错误18456)解决方案图解

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://thenear.blog.51cto.com/4686262/865544 htt ...

最新文章

  1. 附录:PyTorch记事本
  2. 【转】linux之pmap命令!
  3. java命令运行class文件提示错误:找不到或无法加载主类
  4. 前端学习(1764):前端调试值之性能分析的方法二
  5. linux sybase 自动备份,Linux平台下Sybase数据库备份方法分析.doc
  6. pthread_cancel
  7. Zabbix安装和使用配置小结
  8. Open Xml Sdk创建目录
  9. 【LGR-050】洛谷8月月赛
  10. 【计算机网络】计算机网络的组成
  11. C# 日期插入access数据库
  12. Unity AzureKinect 初识(二) 姿势识别
  13. 为什么计算机关机慢,开机为什么慢?电脑开机速度慢的原因
  14. 不要被新媒体营造的焦虑所绑架(咪蒙类账号的不道德)
  15. “潮经济”的品牌营销和消费模式具有哪些特点?
  16. ads1258_ADS1258高精度多通道模/数转换芯片
  17. 2022年Roguelike“割草”游戏风潮为何刮的如此强劲?
  18. 关闭浏览器 清除cookie
  19. Pyhton之异常处理
  20. CCTech:测试同学如何参与codereview?

热门文章

  1. 网管服务器型号序列号查询,网管员实战手册:寻找最可靠DNS服务器
  2. 【MapGIS】常见问题处理(第八期)
  3. java mp3 信息_java读取MP3的信息 | 学步园
  4. peda 官方帮助文档
  5. 域名一定需要备案吗?什么情况下不用备案?
  6. php cms 路由规则,如何设置PhpCms系统URL规则管理 phpcms教程
  7. 2021年医疗健康产业数字化研究报告 附下载
  8. 物联网传输协议总结笔记
  9. 北航BIGSCity课题组提出LibCity工具库:城市时空预测深度学习开源平台
  10. 利用第三方解码器ffmpeg让群晖DSM6.2.4版本的Video Station支持DTS视频编码和EAC3音频编码