LabVIEW循环的一个最大特点在于它使用了自动索引功能。自动索引非常有用,有时并不知道一个数组的元素个数,只关心怎样取出它的各元素来进行处理,或者是要把每次循环后的单个元素进行累加输出,这时就需要用到自动索引。自动索引的一个典型应用程序如图3-21所示,可以看出,左边的两个嵌套For循环体中,里层的循环每次循环产生一维数组0~3,外层的循环每次将一维数组加上重复端子i,最后输出一个5行4列的二维数组,显示结果见图3-21(b)中的“显示数据”。在右边的两个嵌套For循环体中,外层的循环每次从二维数组中产生出一行索引,里层的循环每次从一维数组中产生出一个元素索引,所有元素显示见图3-21(b)中的“索引数据”。
将一个数组连接到For循环边框时,程序默认的是可以自动索引,通道图标是白色空心框,如果要取消自动索引功能,用户可以右击通道图标,在弹出的快捷菜单上执行Disable Indexing命令,这时通道图标变为实心框。输入通道使用了自动索引功能后,可以从一维数组中产生出单个元素索引或者从二维数组中产生出一维数组索引;输出通道使用了自动索引功能后,可以将单个元素累加成一维数组或者将一维数组累加成二维数组。
图3-21 For循环的自动索引
(a)程序框图;(b)前面板
For移位寄存器使用功能与While循环非常相似。而While循环的自动索引也与For循环非常相似,只是其输出隧道默认为取消自动索引。
例3-4 For循环的自动索引的应用。
任务:使用For循环和移位寄存器计算一组随机数的最大值。
实施:
(1)打开一个新的前面板,按照图3-22(a)所示创建对象。
①将一个数字显示对象放在前面板,设置它的标签为“最大值”。
②将一个波形图表放在前面板,设置它的标签为“随机数”。将图表的纵坐标范围改为0.0~1.0。
③在图表的快捷菜单中选择Visible Items→Scrollbar和Digital Display命令,并隐藏Plot Legend。
④用移位工具修改滚动栏的大小。
图3-22 例3-4前面板和程序框图
(a)前面板;(b)程序框图
(2)按照图3-22(b)画程序框图。
①在程序框图中放置一个For循环(选择Functions→Programming→Structures选项)。
②在For循环的边框处右击,在弹出的快捷菜单中选择Add Shift Register命令。
③将下列对象添加到程序框图。
•Random Number(0-1)函数(选择Functions→Programming→Numeric选项),产生0~1之间的某个随机数。
•数值常数(选择Functions→Programming→Numeric选项),在这个练习中需要将移位寄存器的初始值设置成0。
•Max&Min函数(选择Functions→Programming→Comparison选项),输入两个数值,再将它们的最大值输出到右上角,最小值输出到右下角。这里只需要最大值,只用连接最大值输出。
•数值常数(选择Functions→Programming→Numeric选项),For循环需要知道执行的次数。本练习中是100次。
(3)按照图3-22(b)所示程序框图连接各个端子。
(4)运行VI。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。