1.打开SMO Editor
本节将讲解JKI SMO Editor的一些基本用法,
在VI Package Manager 下载并安装了JKI SMO Editor以后,会在LabVIEW菜单里创建一个应用程序,通过这个程序可以从模板创建新的SMO,这样做的效率很高。
打开LabVIEW,找到工具一栏,
JKI State Machine Objects>>SMO Editor,打开SMO Editor,
如下图所示,
SMO Editor有三个按键,对应右上角的位置,从左到右的按键名称和功能如下:
- Refresh SMO List:刷新创建完成的SMO并将其添加到SMO列表里
- New SMO:创建一个新的SMO
- Creat new event:为指定的SMO创建一个新的事件
2.创建一个新的SMO
在此之前,需要先创建一个LabVIEW空白项目,并指定保存到程序文件夹里。
点击新建按钮,SMO会切换界面,在新的界面需要为新的SMO指定保存的文件夹路径,选择SMO所在的项目和设备,选择创建的SMO模板和名称,然后点击Create SMO,等几秒后,便会完成SMO对象的创建。
如下图所示,任何SMO类的主要方法都是Provess.vi方法,该方法由JKI State Machine和一些其他代码组成,这些都是SMO框架的一部分,用户也是需要在此VI自定义程序。
代码编写调试锅中中,可以运行SMO Demo.TestLauncher.vi方法来异步启动状态机。
创建SMO完成以后会回到初始界面,如果列表中没有出现之前创建的SMO,则需要用到刷新按键,通过刷新来将其添加到显示列表中,当然,也有其他情况,如果手动添加一些SMO到项目中或者在新项目中,对依赖的SMO进行编辑,这时也需要进行手动刷新。
当需要给指定SMO创建事件时,我们需要在SMO列表里选中要创建事件的SMO,然后点Create new event,
如下图所示,可以创建Public Event,Public Method,Private Event三种事件。需要指定创建的事件名称、类型以及数据类型对应的控件。
Public Event:发布外部组件可以注册的事件。外部SMO可以
Public Method:使用它从外部组件与SMO进程进行通信。SMO向外广播数据或者事件,外部SMO可以在其自己的事件处理程序订阅用户事件并对数据执行某些操作。
Private Event:SMO类中进行内部通信。
创建事件以后,需要对事件进行发布,打开对应的SMO类,打开Process.vi类,将创建的SMO事件拖到process.vi类里。
这个就叫做发布。