1.0 簇
1.组合数据类型结构(不同于数组)
2.可以组不同类型的数据,类似于C语言中的结构体(包含数值、布乐、字符等)
3.同一簇中不能既有输入控件又有输出控件,只能选择其一
1. 1 簇
1.簇中包含多个元素,大大减少连线的混乱和连接器端子数
2.可以访问其中单个元素,也可以一次性全部释放
3.固有大小,相当于拥有固定元素(数组可动态改变大小)
1.2 簇---常用函数
1.按名称解除和捆绑簇
2.簇与数组之间转换
1.3 簇-元素顺序
1.簇控件上右击选择”重新排列簇中控件“
2.簇内元素具有固定的逻辑顺序,与它们在框架内的位置无关(使用Ctrl+H可快速查看元素顺序)
1.4 簇-按名称解除和捆绑簇
1.直接访问所需要元素,与元素的顺序无关
2.也可只操作簇中的一两个元素
1.6 数组与簇之间的转换
1.有时将数组转换成簇使用会很方便,反之亦然, LabVIEW中处理数组函数比簇多
1.7 簇转换为数组
1.簇中所有的元素的数据类型必须相同
2.不能包含以数组为元素的簇使用这个函数
3.将具有相同数据类型N元素簇转换成相同数据类型的N元素数组
1.8 数转换成簇
1.簇中所有的元素的数据类型必须相同
2.不能包含以数组为元素的簇使用这个函数
3.在函数右键菜单”簇大小“选择指定输出簇的大小
4.输出簇大小必须与连接到其输入数据的元素数量匹配,以防止输入数组被截断
2 局部变量
1.从一个VI实例框图中的多个地方访问前面板对象,而不用连线到前面板对象端子
2.在程序框图控件上右键菜单生成此控件的局部变量(作用范围是单个VI中)
3.缺点-破坏了数据流执行顺序,会产生竞争。
3 全局变量
1.允许在几个VI中访问任意类型的数据值
2.最易滥用和误导的结构,会造成莫名其妙的错误
3.缺点-破坏了数据流执行顺序,会产生竞争。
4.功能是强大的,而且是必须的; 不是全局变量不好,只是需小心地使用全局变量
3.1 全局变量创建
方法1:菜单>>文件>>新建>>其它文件>>全局变量
方法2:程序框图>>结构>>全局变量
3.2 全局变量
1.和保存VI一样,但一般会使用glb前缀或后缀区分普通的VI
2.前面板上放置输入或输出控件(其实没有区别)
3.3 全局变量的调用
1.在全局变量端子上弹出菜单选择其中一个变量
2.可处于读或写的模式,通过端子上弹出的菜单选择”转换读取“或”转换写入“
3.4全局变量的一般规则
1.多个VI都有可能使用的变量,若有变化则不需要更改多个VI(如仪器的地址及型号等)
2.经常需要变跟值的变量(如烧录文件,测试数据路径等)
3.经常被多个VI调用的变量(测试项目参数等)
3.5 全局变量使用注意事项
1.不要在同一位置读取和写入全局变量,否则无法确定哪个操作先发生(产生竞争)
2.使用顺序结构或封装成VI以防止竞争
3.7 全局变量使用注意事项
1.如果某一个VI写入全局变量,则任何读取全局变量的VI或子VI都将包含更新后的数据
2.全局变量能够存储多个不同类型的数据类型,所以应将多个数据组合到一个全局变量中,而不要放在多个全局变量中(一个项目里只有一个全局变量)
3.所有调用全局变量的VI使用同样的名称引用变量,注意全局变量的命名名称
4.1 高级数据结构及函数小结
1.某个对象的共同属性尽量使用簇表示(如串配置-编号,波特率,数据位等)
2.簇尽量使用按名称解除和捆绑-可忽略元素顺序
3.数组与簇之间转换可简化操作(元素类型必须相同)
4.2 高级数据结构及函数小结
1.单个VI里不要使用局部变量
2.防止多个VI写入全局变量(产生竞争)
3.封装全局变量
5 实战部分
1.现场演示CH1603B工业数据采集器的驱动编写
2.必须先了解CH1603B通信协议及特点
3.熟悉常用函数及事件结构的使用
4.熟悉仪器IO-串口使用规则