//1.应用程序控制(动态调用vi)
//2.同步控制
// 队列,通知,通道,数据缓冲区,信号量
//3.事件注册,使用
//4.设计模式s
vi属性,方法
通用类属性
owner,owning-vi(所属者和所属vi):类型为引用句柄(引用类型),为前面板引用句柄和vi引用句柄
class-id,class-name:每个类都有自己独一无二的id(数值)和名字
图形对象类的属性
位置和边界属性:左上角坐标(可以改动),宽高(只读);
其他属性
值属性可读写值,值信号除此之外还可以表示事件
vi属性
统计属性:观察vi内存情况
控制工具栏:是否显示运行,中止,自动运行按钮
自动错误处理:默认为true,出现错误的时候暂停程序执行,弹出错误对话框
执行状态属性:bad,idle,run top level(顶层vi),running
调用节点
VI动态调用
调用严格类型VI(注:输入输出类型,位置,数量一致被认为是同一类型vi,可以使用动态调用严格类型vi)
open vi refrence --》vi path参数和vi type(创建常量,右键browser选择需要的vi确认类型)-->call by refrence(调用vi)
不显示前面板,类似静态调用vi
需要创建连线板
调用一般类型VI
open vi refrence->打开vi前面板方法->判断vi运行状态,idle则运行vi;running则设置fp状态为标准->关闭vi
不需要创建连线板
数据交换
获取动态vi的控件数组(通过属性节点)->获取控件的Label.Text(通过属性节点)->获取或设置控件value(通过vi的方法调用)
app引用句柄可以获得所有vi信息(判断内存中的vi)
同步
队列
获取队列引用:如果队列不存在则创建一个新的队列,如果同名队列存在则返回该队列的引用;意味着全局唯一
释放队列引用
强制销毁:默认false;为false的情况下需要所有的引用被销毁或停止所有使用该队列引用的vi
入列和最前端入列,有损耗元素入队列
有损耗元素入队列:当队列满的时候,表现为删除最前端元素,然后在末尾入列;可以实现数据缓冲区
出队列,清空队列,预览队列元素,队列状态函数
清空队列函数会清空队列返回元素数组;
预览则返回最前面的元素但不从队列删除
队列状态函数如果是否返回元素参数为true,则会返回所有元素
通知器
获取通知器引用:全局唯一(建议用LV2全局变量保存引用)
释放通知器引用
发送通知
等待通知,等待多个通知(只要有一个通知到了,就继续执行)
获取通知器状态