一、值类型特点
LabVIEW中提供的大部分数据为值类型,值类型数据有以下特点:
1、不能保存分支数据一致。
2、不能跨线程来回传递数据。
二、数值引用原来和函数简介。
1、数据值引用,如下图当创建一个数据值引用时,系统会为其分配一个固定的内存地址,当对数据引用读写时,就是对这个固定地址数据读写。
2、操作方法如下图,系统只提供两个专用操作方法,
1、新建数值引用,创建一个数值引用。
2、删除数值引用,当数值引用不再使用时将其销毁,释放内存空间。
3、数据的读写只能通过结构中的元素同址操,来进行,在元素同地址上右键选择添加数值引用读/写操作,然后元素同地上会增加一个新的结构,用于读写数据引用值。
4、数值引用输入输出控件。
系统没有提供现成的输入输出控件,需要创建是时,在创建数值引用输出端或数值引用连线上右键创建输入或输出控件,修改名称即可。
三、数值引用使用方法。
数值引用使用顺序如下
A、创建数值类型。
B、初始化数组引用的值。
C、读写数值引用。
D、取消数值引用。
注意:如果读写在创建前,否则会报错引用错误;数值引用使用前先要设置默认值,否则在读第一个数据值是一个不确定的值;读完数据后要将数再写回引用,否则数据将变成默认值;数据引用带线程锁,元素同址操作带线程锁,所以一般情况下,读写数据时代码经量不要放到元素同地内,LabVIEW里没有提供线程锁这个功能,可以利用这一特特性为函数增加线程锁。
四、数据引用范例。
下边的范例是我们使用数组引用跨线程传递数据。
1、创建一个工程命名为DVR
2、创建一个VI命名为Example。
3、在程序框图中放置两个循环,并添加100ms延。
4、放置一个停止控件并创建局部变量,如下图所示。
5、添加创建数值引用并如下图连线。
6、上边的循环增加写数值引用,下循环增加读数值引用,在前面板增加一个波形图控件,将读取的数据在图形中显示。
8、添加数据引用销毁。
9、运行VI,如图所示读取数据基本显示为一个正弦波。
10、将上边延时改成10ms,下边延时为100ms运行效果如下。
11、将上边延时改成100ms,下边延时改为10ms运行效果如下。
当写入数据速度超过读取数据速度会出现降采样的效果,有些数据没有及时读取就被覆盖了。
当写入数据速度低于读取数据速度会出现操采样的效果,有些数据重复读取的现象。
|