1. 报错原因分析
报错现象如下:一点击StartProcess就弹窗报错,Index out of range。
首先看到这个报错之前印象中见过,但是已经想不起什么原因了。所以客户现场给我反馈这个问题的时候,第一反应是使用了老的SequenceFile文件导致,果然换了最新的文件解决了,但是没有找到根本原因。
拿到现场代码后,分析根本原因:
使用TestStand 打开SequenceFile文件(有问题的)
打开新建SequenceFile文件(没有问题的)
很明显的发现在同一个ProcessModel下,有问题的显示紫色开始按钮,没有问题的显示绿色按钮。
通过差异点继续查看他们加载的ProcessModel到底是什么?查看菜单Execute
对比之下,可以看到有问题的SequenceFile文件没有加载到ProcessModel。
这下根本原因基本浮出水面:接下来又想到SequenceFile文件的属性设置:
Advanced->ModelFile 显示文件没有找到,那原因就是这边了。
2. 报错解决方法
根据上述的原因,
第一种解决方法:将ModelOption 设置成 Use Station Model,使用Station设置的ProcessModel
2. 第二种解决方法:加载跟Station 相同Process Model,
总结:1.以此记录共享信息,少走弯路。
2. 推荐优先使用第一种解决方法,第二种方法是强制使用固定的ProcessModel,有时会给非开发者带来不必要的困扰。