• 10.29-基于LabVIEW的分布式集群机器人控制系统


    根据10.27的规划进行工作

    • 更改项目并修改文件名字
      • 注意:除了虚拟文件夹名字可以直接更改外,其余文件的名字均要在项目管理器中更改。方法:右击-重命名
      • 名字约定示例

     

    计算机生成了可选文字: zsControlCenter.lvproj -  WE(O) Iä(T)  Il  FromOtherProject  TEST  Splash Screen.vi  zsControlCenter.lvlib  z sControlCenterÉ-•EiÅB  zsControlCenter.lvclass  E JoyStick Actor.lvlib  JoyStick Control Message.lvclass  JoyStick ControlMessage.ctl  Send JoyStick Control Message.vi  Write Data.vi  JoyStick.lvclass  JoyStick.ctl  Localization. vi  Actor Core. vi  Stop Core.vi  TaskForControlMessage.vi  MapDisplayer.lvlib  Map DisplayerÉ-.EiÅB  MapDisplayer Data Message.lvclass  MapDisplayer DataMessage.ctl  Send MapDisplayer Data Message.vi  MapDisplayer.lvclass  MapDisplayer.ctl  Localization.vi  Actor Core. vi  Stop Core.vi  TaskForDataMessage.vi  TEMP.vi

     

     

     

    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即可马上让循环继续。

  • 相关阅读:
    树莓派4B
    SpringBoot 自定义 info Actuator 原理
    RestTemplate翻译serviceId过程
    ISA, ABI, API区别
    01.编译器结构
    【Git123】Git SSH Key支持多账号
    【消息中间件123】Solace PubSub+ Event Broker介绍
    【ETL123】
    【Http123】Http Timeout
    【性能123】Linux性能之“平均负载”
  • 原文地址:https://www.cnblogs.com/lizhensheng/p/11241957.html
Copyright © 2020-2023  润新知