为了提高计算速度,LabVIEW有时会基于连接至数组函数的数组创建数组块。数组块是基于一个数组创建的数组,包含原数组的部分元素。光标移至结果数组连线上时,LabVIEW在即时 帮助 窗口中将数组块表示为 (子)数组 。例如, (1-D(子)数组) 表示函数创建了数组块, (1-D数组) 表示结果数组包含原数组的所有元素。

备注   只有在 VI属性 对话框 执行 允许调试 VI时,即时 帮助 窗口才会区分数组和数组块。

LabVIEW创建两种数组块,连续的和非连续的。如连接一个数组块至预分配的读取二进制文件函数,需明确数组块是连续的还是非连续的。该函数对不同类型的数组的支持特性并不相同。

判断LabVIEW创建数组块的连续性

LabVIEW中的数组函数按照行序访问数据。如按照行序排列元素,LabVIEW在内存中以连续的方式表现数组。LabVIEW把下列二维数组表现为一个0-15的一维线性序列:

如将上述数组连接至索引数组数组函数,并将索引(行)设置为0,LabVIEW将返回数组或连续数组块。LabVIEW在相邻的内存空间内顺次取出0、1、2、3位置的值,所以数组块是连续的。

如将上述数组连接至索引数组数组函数,并将索引(列)设置为0,LabVIEW将返回数组或非连续数组块。LabVIEW在不相邻的内存空间内顺次取出0、4、8、12位置的值,所以数组块是不连续的。

下列函数可能返回数组块。如下列函数返回数组块,使用下列方法来判断LabVIEW创建的数组块的连续性。

  • 数组子集-如LabVIEW将该函数的数组表现为内存上连续的空间,函数创建的是连续的数组块。
  • 反转一维数组-如连接数组至该函数,函数创建非连续的数组块。如连接一个已经反转的数组块至该函数,函数创建连续的数组块。
  • 拆分一维数组-如连接数组至该函数,函数创建连续的数组块。如连接一个非连续的数组块至该函数,得到的结果数组块可能是连续的,也可能是不连续的。
  • 转置二维数组-除非连接一个已经转置的数组至函数,否则该函数创建一个非连续的数组块。
  • 簇至数组转换-该函数创建一个连续的数组块。
  • 索引数组-除非指定数组列索引,否则该函数创建连续的数组块。
  • 抽取一维数组-该函数创建一个非连续的数组块。