本系列视频旨在推广LABVIEW,使您对该可视化编程有一个框架性的认识,并感受到LABVIEW给编程行业带来的变革。
本计划录制一系列入门视频,解决初学者在使用中遇到的问题,但基本上每集组合10分钟以内的视频,并在此附上可编译的源代码作为参考。 如果有什么意见和建议,欢迎大家提出来共同探讨。
第一节首先从隧道和移位寄存器开始。
关于隧道和移位寄存器的操作和表现,录了一点视频。 由于CSDN不支持视频,所以也请感兴趣的同学移动以下链接观看。
视频链接
在LABVIEW循环体内,入站和出站通道有隧道和移位寄存器两种方式,并且两者可以方便地相互交换,这两种方式有什么不同? 让我们仔细看看:
1 .隧道
图1
照片2
如图1所示的源代码,环路结构左右两侧的小实心立方体表示该通道为隧道,右击隧道可以置换为移位寄存器。 图2。
请注意,移位寄存器一定成对出现。 否则,会发生程序编译错误。
改变程序编译运行后,得到的结果大不相同。 图1的隧道程序在循环运行3次后输出的结果还没有到3,而图2的移位寄存器程序在循环运行3次后仍能如所愿得到9,其原理如下。
a )隧道是局部变量的值,其在每次进入循环体时向循环体外部提供初始值,使得即使执行3次图1的循环,隧道的左入口值每次也为0,而在循环体内加3则隧道的右出口值为3,即使执行n次也如此。
B )移位寄存器的值略有不同,每次在循环内执行时,右移位寄存器的出口值作为左条目的值,执行3次后得到9。
正如前面提到的,熟悉C/C的学生应该会认为这就是我们熟悉的局部变量和静态局部变量的区别。 是的,隧道相当于每次循环体进入时都将循环体外的值赋予循环体内的局部变量,所以在循环体内执行几次,结果都相当于只执行一次。 但是,移位寄存器相当于添加了static的静态局部变量,因为知道静态局部变量不会进行堆栈,所以其值在每次运行循环体时都会在上面进行累积。