labview中如何给二维数组赋值
首先要说明一下,LabVIEW中其实并没有明确的赋值的概念,他和传统的文本编程语言的思路不一样,是数据流驱动的编程。在一般的文本编程语言里,定义二维数组变量的时候只是开辟了一块内存空间,里面是空的,所以要有赋值的过程;而LabVIEW中内存不需要手动分配,其后台有自动管理内存的机制,出现新的二维数组的时候,不需要变量定义,直接分配内存空间,然后就把数据存进去了。如果硬要说有什么“赋值”的概念的话,LabVIEW中倒是有几种常见的类似于“赋值”的操作。
1.在二维数组控件的前面板里直接填入数值
这个最简单,不用多说想必你也明白,手动填数。
2.创建单一元素的数组
需要用到初始化数组,见下图
如果要创建一个3列5行的全是0的元素的二维数组,方法如下图
3.修改数组中中的某一个或某一部分元素
鉴于LabVIEW有自动分配内存的管理机制,如果你取出数组子集,插入新的数组子集,每次操作都会将需要操作的数组在内存里复制一份,对于大数组而言非常的耗费内存。
labVIEW为了解决这种问题,有个元素同址操作的结构,见下图
在结构的边框上右键单击在菜单中可以添加对应的模块,如下图
添加的时候都是成对添加,用这种结构可以避免只更改数组内部分元素的时候内存里复制数组的现象。举个例子,如果要将数组中第7列第9行中的元素更换为23,可以像下图这样。
4.从文本文件读取
这个其实是使用频率很高的“赋值”方式。主要用到读取电子表格函数,见下图
读取的方式可以分为数字和字符串两种,具体的使用方法详见函数的帮助,我就不赘述了。
其实还有其他的“赋值”方法,比如从数据库读取数组,通过循环创建数组等等。由于你的问题描述过于简单,所以我也不知道你所说的赋值具体是个什么概念,没法给出详细的指导。
我是要做一个数据采集的程序,单片机将传感器采集到的数据,通过串口发送给上位机,labview将来自串口的数据显示在一个表格里,
这其中要用到二维数组,串口读函数将数据赋给二维数组,二维数组将数据赋给表格,这样有问题吗?有没有更好的办法?
还有就是,我搞不清二维数组和表格的关系,他们的数据之间是怎样对应的和转换的?
二维数组怎样将值赋给表格?表格怎样将值赋给二维数组?