LabVIEW元素同址操作结构:提高内存使用效率
使用元素同址操作结构让LabVIEW编译器更高效地执行常见操作,提高VI执行和内存使用的效率。许多LabVIEW操作要求LabVIEW对数据复制并保存在内存中,因此降低了执行速度且增加到了内存占用。
元素同址操作结构使用边框节点或与结构的边框相连接的节点来进行数据操作。移动或删除边框节点时,LabVIEW自动将结构另一侧的对应节点移动或删除。
与传统的LabVIEW编程方法相比,元素同址操作结构在执行常见的LabVIEW操作时效率更高。
下列程序框图显示了如何通过使用元素同址操作结构提高VI执行及内存使用的效率。
在上面的程序框图中,LabVIEW对一个32位无符号整数数组进行索引,将数组的第三个元素递增,再将新元素替换数组中同一位置上的元素。如需替换同一数组中的新值,替换数组子集函数要求对数组和数组索引值连线至函数的数组和索引输入端。运行VI时,LabVIEW将为数组元素生成一个副本并将该副本保存在内存中。
使用元素同址操作结构可避免额外为数组元素生成副本,如下列程序框图所示。
在上面的程序框图中,元素同址操作结构的数组索引/替换元素边框节点对一个32位无符号整数数组进行索引,将数组的第三个元素递增,再将新元素替换数组中原位置上的元素。整个过程与第一个程序框图类似。然而在本例中,LabVIEW创建或在内存中存储元素副本。
元素同址操作结构将数组中每个已索引的元素以结构右侧的节点取代。由于结构要求取代原有的数组元素,而LabVIEW编译器也可识别出需要替换的元素,故LabVIEW无需创建或在内存中保存数组元素的副本。
需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目问题,可联系我们。
楼主最近还看过