设置首页收藏本站
开启左侧

labview -SMO -运行加载界面(启动界面)

[复制链接]
wenluderen 发表于 2021-3-8 14:50:02 | 显示全部楼层 |阅读模式
本帖最后由 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

***

奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| wenluderen 发表于 2021-3-8 15:13:37 | 显示全部楼层
SMO架构之程序启动画面.zip (112.35 KB, 下载次数: 16)
×××
上述过程的源代码
(用脚本创建每个SMO的时候,都会顺带创建这个SMO的 Launcher, 用于测试这个SMO的Process)

点击LauncherSMO.Test launcher  。

14.jpg
15.jpg

×××
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| wenluderen 发表于 2021-3-8 15:32:15 | 显示全部楼层
程序解释:
1)LauncherSMO.Test launcher
相当于一个  SMO的使用基本说明
2)程序的节目初步修改
16.jpg

×××
源代码
SMO架构之程序启动画面202103081531.zip (124.55 KB, 下载次数: 13)
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| wenluderen 发表于 2021-3-8 16:17:03 | 显示全部楼层
1.jpg
下面开始拆解 不同的事件函数
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| wenluderen 发表于 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




奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| wenluderen 发表于 2021-3-8 17:42:25 | 显示全部楼层
1)
1.jpg


2.jpg


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

奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| wenluderen 发表于 2021-3-8 17:50:00 | 显示全部楼层
2) 停止按钮的值改变事件的响应函数
这个就没啥可说的了,最基本的 最常见的操作了
1.jpg

2.jpg
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| wenluderen 发表于 2021-3-8 17:54:10 | 显示全部楼层
2)
Panel close
3.jpg

这个前面指的是 SMO的前面板
就是下图
4.jpg
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| wenluderen 发表于 2021-3-8 17:57:14 | 显示全部楼层
4)
10.jpg
11.jpg



奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| wenluderen 发表于 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, 下载次数: 11)
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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