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