根据10.27的规划进行工作
- 更改项目并修改文件名字
- 注意:除了虚拟文件夹名字可以直接更改外,其余文件的名字均要在项目管理器中更改。方法:右击-重命名
- 名字约定示例
2015/10/29 10:30 - 屏幕剪辑
- 深刻理解操作者核心函数
- 两个线程,一个线程引出队列,可以引出自己的队列或者调用者的队列,然后对队列进行数据读写
- 另一个线程调用父类的核心函数:子操作者的核心函数重写父类的核心函数,然后调用父方法核心函数实现重写
- 创建函数
- 按照面向对象方法的要求,创建类的成员函数
- 关于控件引用的创建
- 不能创建 IMAQ image display.ctl 的引用的输入控件
- 只能创建 IMAQ image.ctl 的引用的输入控件
- 结论:所以只能在DO函数中更新 IMAQ image.ctl 控件的引用,然后再核心函数中用循环更新 IMAQ image display.ctl。
- 基于上一条叙述,决定不将计算资源传到DO函数中,因为不管怎样都要在核心函数中循环,DO函数还是主要传数据比较好。
- 关于错误排查
- 如果出现错误,不要看LV自己的错误提示,一定要在自己的思路中查看是否有VI还没有被修改。
- 自认为修改完之后,按照程序执行逻辑自行思考一遍,再进行调试
- 如果停止执行之后发现还有子操作者没有正常停止运行,请手动按VI的红色按钮退出
- 或者,使用类似于B操作者的“停止信号”通知器
- 使用通知器进行修改后发现子操作者图片无法更新
- 原因是,在循环中一旦放入了事件结构,如果该事件永不超时,则循环不会继续,程序永远在事件结构里面执行
- 由于程序执行一直停留在事件结构,所以循环不会继续,即计数器I不会增加,所以跟事件结构并行运行的发送消息函数不会运行,故不会发送消息。
- 要解决这个问题,只要将事件结构的超时时间设为0即可马上让循环继续。