Halcon视觉之家 - 51Halcon专注于机器视觉技术

 找回密码
 会员注册

QQ登录

只需一步,快速开始

扫一扫,微信登录

查看: 1099|回复: 9

[资料] labview -SMO -运行加载界面(启动界面)

[复制链接]
  • TA的每日心情

    2019-12-2 10:35
  • 签到天数: 51 天

    连续签到: 1 天

    [LV.5]常住居民I

    146

    主题

    483

    帖子

    1765

    积分

    Rank: 7Rank: 7Rank: 7

    积分
    1765

    优秀版主

    发表于 2021-3-8 14:50:02 | 显示全部楼层 |阅读模式

    51Halcon诚邀您的加入,专注于机器视觉开发与应用技术,我们一直都在努力!

    您需要 登录 才可以下载或查看,没有帐号?会员注册

    x
    本帖最后由 wenluderen 于 2021-3-8 15:07 编辑

    labview -SMO -运行加载界面(启动界面)
    ×××××××××××××××××
    一般来说,一个大型的软件在启动的时候,都会有一个启动界面
    在这个界面里面,会提示目前正在加载的项目(软件的各个单元)

    启动大致完成后,可能还会做一个程序许可(授权)处理的界面

    再之后可能还会做一个登录界面(不同的权限什么的思密达)
    ×××
    本帖将初步表述这个 启动界面(SMO开发使用的插件,请提前在VIPM里面安装好)
    第一步:在Labview2109-64位-英文版里面 。创建一个空的项目,然后保存
    Test_start

    1.jpg


    第二步:打开SMO的编辑器
    2.jpg
    第三步:
    点击右上角的+号
    1)在弹出的界面里面 ,选择文件路径(和项目在同一个路径下)
    2)模板类型选择SMO.UI.Splash(此模板提供了一个send  splash  message .vi 接口,可以直接使用)
    3)在SMO的Name里面填写 一个名字, 这个名字随意,不过最好写有意义的名字,比如Launcher SMO

    最终效果如下
    11.jpg
    最后点击 create SMO 按钮

    第四步:看一下,目前程序的状态

    12.jpg
    13.jpg

    ***

  • TA的每日心情

    2019-12-2 10:35
  • 签到天数: 51 天

    连续签到: 1 天

    [LV.5]常住居民I

    146

    主题

    483

    帖子

    1765

    积分

    Rank: 7Rank: 7Rank: 7

    积分
    1765

    优秀版主

     楼主| 发表于 2021-3-8 15:13:37 | 显示全部楼层
    SMO架构之程序启动画面.zip (112.35 KB, 下载次数: 4)
    ×××
    上述过程的源代码
    (用脚本创建每个SMO的时候,都会顺带创建这个SMO的 Launcher, 用于测试这个SMO的Process)

    点击LauncherSMO.Test launcher  。

    14.jpg
    15.jpg

    ×××
  • TA的每日心情

    2019-12-2 10:35
  • 签到天数: 51 天

    连续签到: 1 天

    [LV.5]常住居民I

    146

    主题

    483

    帖子

    1765

    积分

    Rank: 7Rank: 7Rank: 7

    积分
    1765

    优秀版主

     楼主| 发表于 2021-3-8 15:32:15 | 显示全部楼层
    程序解释:
    1)LauncherSMO.Test launcher
    相当于一个  SMO的使用基本说明
    2)程序的节目初步修改
    16.jpg

    ×××
    源代码
    SMO架构之程序启动画面202103081531.zip (124.55 KB, 下载次数: 1)
  • TA的每日心情

    2019-12-2 10:35
  • 签到天数: 51 天

    连续签到: 1 天

    [LV.5]常住居民I

    146

    主题

    483

    帖子

    1765

    积分

    Rank: 7Rank: 7Rank: 7

    积分
    1765

    优秀版主

     楼主| 发表于 2021-3-8 16:17:03 | 显示全部楼层
    1.jpg
    下面开始拆解 不同的事件函数
  • TA的每日心情

    2019-12-2 10:35
  • 签到天数: 51 天

    连续签到: 1 天

    [LV.5]常住居民I

    146

    主题

    483

    帖子

    1765

    积分

    Rank: 7Rank: 7Rank: 7

    积分
    1765

    优秀版主

     楼主| 发表于 2021-3-8 16:38:13 | 显示全部楼层
    本帖最后由 wenluderen 于 2021-3-8 17:02 编辑

    0)
    超时 事件响应函数
    2.jpg
    ××××
    A:一维数据 循环移位,这个东西主要为了让数据循环显示
    3.jpg
    4.jpg


    5.jpg


    B:
    6.jpg
    C:
    7.jpg

    (至于Send Splash Message.vi  这个VI的底层是怎么实现, 这个属于SMO框架的事情,暂时不深究,,大致就是多重队列, 多重动态事件函数)

    ××××××××××××××××××××××××××××
    总览一下,结束这个超时事件函数的 解释
    8.jpg




  • TA的每日心情

    2019-12-2 10:35
  • 签到天数: 51 天

    连续签到: 1 天

    [LV.5]常住居民I

    146

    主题

    483

    帖子

    1765

    积分

    Rank: 7Rank: 7Rank: 7

    积分
    1765

    优秀版主

     楼主| 发表于 2021-3-8 17:42:25 | 显示全部楼层
    1)
    1.jpg


    2.jpg


    SMO的事件有很多,这个函数是选取了SMO的state 里面的stop 来处理。
    所谓处理就是唯一的WHIILE循环关闭
    然后程序就可以往后了

  • TA的每日心情

    2019-12-2 10:35
  • 签到天数: 51 天

    连续签到: 1 天

    [LV.5]常住居民I

    146

    主题

    483

    帖子

    1765

    积分

    Rank: 7Rank: 7Rank: 7

    积分
    1765

    优秀版主

     楼主| 发表于 2021-3-8 17:50:00 | 显示全部楼层
    2) 停止按钮的值改变事件的响应函数
    这个就没啥可说的了,最基本的 最常见的操作了
    1.jpg

    2.jpg
  • TA的每日心情

    2019-12-2 10:35
  • 签到天数: 51 天

    连续签到: 1 天

    [LV.5]常住居民I

    146

    主题

    483

    帖子

    1765

    积分

    Rank: 7Rank: 7Rank: 7

    积分
    1765

    优秀版主

     楼主| 发表于 2021-3-8 17:54:10 | 显示全部楼层
    2)
    Panel close
    3.jpg

    这个前面指的是 SMO的前面板
    就是下图
    4.jpg
  • TA的每日心情

    2019-12-2 10:35
  • 签到天数: 51 天

    连续签到: 1 天

    [LV.5]常住居民I

    146

    主题

    483

    帖子

    1765

    积分

    Rank: 7Rank: 7Rank: 7

    积分
    1765

    优秀版主

     楼主| 发表于 2021-3-8 17:57:14 | 显示全部楼层
    4)
    10.jpg
    11.jpg



  • TA的每日心情

    2019-12-2 10:35
  • 签到天数: 51 天

    连续签到: 1 天

    [LV.5]常住居民I

    146

    主题

    483

    帖子

    1765

    积分

    Rank: 7Rank: 7Rank: 7

    积分
    1765

    优秀版主

     楼主| 发表于 2021-3-8 18:04:50 | 显示全部楼层
    本帖最后由 wenluderen 于 2021-3-8 18:07 编辑

    小结一下:1)这个SMO运转过程蛮绕人的,
    比如:按钮关闭按钮后----->在这个事件的响应函数里将SMO的状态修改为HIDE---->然后就触发了 面板被变为HIDE这个事件---------->在。面板被变为HIDE这个事件。。。的响应函数里面将SMO状态修改STOP   

    在然后 在SMO状态变化函数里面 ,判断SMO当前状态是否为STOP,如果是就关闭 WHILE。 然后程序进行执行
    Unregister For Events
    -------------》Destroy VI ,释放资源,不然会造成内存泄漏

    ××××
    我去 好繁琐啊

    简化一下说,当按下停止按钮,事件函数的执行流程是, 2------4-------1(3这个事件无法触发)
    ×××××××××
    超时的时候 就执行0号事件函数,不断调用Send Splash Message.vi  往里面塞进一个消息。

    ××××××××××××××
    Launcher SMO.TestLauncher.vi 这个VI的拆解初步结束, 后续开始拆解Process.vi

    源代码如下
    SMO架构之程序启动画面202103081807.zip (124.39 KB, 下载次数: 0)
    您需要登录后才可以回帖 登录 | 会员注册

    本版积分规则

    视觉培训招生

    建议您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流浏览器浏览本网站

    51Halcon会员技术交流会员技术交流 | 51Halcon官方客服咨询官方客服咨询 | Halcon切换助手使用反馈切换助手使用

    算子查询| 申请友链| 小黑屋| 手机版| Archiver|

    © 2015-2021 51Halcon机器视觉  X3.4  粤ICP备15095995号 粤公网安备44030602000670号

    快速回复 返回顶部 返回列表