移位寄存器可用于将上一次循环的值传递至下一次循环。如下图所示,移位寄存器以一对接线端的形式出现,分别位于循环两侧的边框上,位置相对。
右侧接线端含有一个向上的箭头,用于存储每次循环结束时的数据。LabVIEW将数据从移位寄存器右侧接线端传递到左侧接线端。循环将使用左侧接线端的数据作为下一此循环的初始值。该过程在所有循环执行完毕后结束。循环执行后,右侧接线端将返回移位寄存器保存的值。
移位寄存器可以传递任何数据类型,并和与其连接的第一个对象的数据类型自动保持一致。连接到各个移位寄存器接线端的数据必须属于同一种数据类型。
循环中可添加多个移位寄存器。如循环中的多个操作都需使用之上一次循环的值,可以通过多个移位寄存器保存结构中不同操作的数据值。如下图所示。
在上一个程序框图中,右上角的移位寄存器接线端将2,即第一次循环中0和2之和传递到左上角的移位寄存器接线端,作为加运算第二次循环的初始值。右下角的移位寄存器接线端将2, 即第一次循环中1和2之积传递到左下角的移位寄存器接线端,作为乘运算第二次循环的初始值。
第二次循环将2和2相加并将结果4传递到左上角的移位寄存器接线端以用于第三次循环。第二次循环将2和2相乘,并将结果4传递到左上角的移位寄存器接线端以用于第三次循环。
十次循环后,右上角的接线端将加运算的最终结果传递到上方的显示控件,右下角的解析那段将乘运算的最终结果传递到下方的显示控件。