zoukankan      html  css  js  c++  java
  • JKI SMO使用(1)

    为什么要用JKI SMO?

    1、习惯了使用JKI State Machine;

    2、JKI State Machine 是单进程的,无法处理多任务并发系统;

    3、对OOP知之甚少,绕过OOP设计的复杂性。

    安装工具包

    Demo演示:

    需求:采集电压并显示,超过3.5V时,报警提示。

    分析:需要2个SMO,1个负责不断采集电压信号;1个负责显示和报警

    实现步骤:

    1、新建项目,命名SMO Demo.lvproj

    2、打开SMO Ediror(脚本工具,和提供开发模板,便于开发),Tools  JKI state Machine Objects  SMO Editor

    3、创建SMO:

        创建2个SMO:   电压采集的SMO,不需要界面,创建时选择SMO.Basic模板;显示和报警的SMO,需要界面,选择SMO.UI.Basic模板

     

    4、分别给SMO创建事件

    (1)Volt Acquisition SMO 创建2个事件,

    发布采集的电压值+是否警告的状态

    a. 事件1:Volt

    事件2:Warning Status

    b. 在核心process.vi中编写核心程序,并进行发布。

    虽然创建了2个事件,但是是一个核心

    超时设成100ms,通过随机数模拟每100ms进行一次电压采集,并判断是否报警,并发布电压值和报警状态。

    (2)Signal Display  SMO 创建事件

     a. 显然 Signal Display SMO 是要依赖Volt Acquisition SMO,因此,需要将后者添加到前者的私有数据控件(.ctl)中。

     b. 右键Signal Display SMO菜单创建成员访问器Volt Acquisition(需先建个虚拟文件夹,把成员访问器放里面)

    (Signal Display SMO是依赖Volt Acquisition.lvclass的,是要去访问他的,因为他才提供了电压值和判断结果)

    创建完是这样:

    c. 在核心process.vi中编写核心程序

     打开Process.vi,Events:Register分支,去注册Volt Acquisition发布的Public Event,

    (3)添加两个事件分支User Event

    以上,完成了2个SMO的程式。

    在项目中新建Launcher.vi用来启动并测试:

     

     

  • 相关阅读:
    POJ 3026
    POJ 1258
    POJ 1751
    一种用于三维物体建模的精确、鲁棒的距离图像配准算法
    人脸识别技术介绍和表情识别最新研究
    汇总|实时性语义分割算法(共24篇)
    ECCV2020最佳论文解读之递归全对场变换(RAFT)光流计算模型
    三维重建的定位定姿算法
    多视图几何三维重建实战系列- Cascade-MVSNet
    HybridPose:混合表示下的6D对象姿态估计
  • 原文地址:https://www.cnblogs.com/snoopingmind/p/14355696.html
Copyright © 2011-2022 走看看