我和LabVIEWword版——一个NI工程师十年的编程经验1-5013.循环结构.doc

我和LabVIEWword版——一个NI工程师十年的编程经验1-5013.循环结构.doc

ID:36017727

大小:35.50 KB

页数:3页

时间:2019-05-02

我和LabVIEWword版——一个NI工程师十年的编程经验1-5013.循环结构.doc_第1页
我和LabVIEWword版——一个NI工程师十年的编程经验1-5013.循环结构.doc_第2页
我和LabVIEWword版——一个NI工程师十年的编程经验1-5013.循环结构.doc_第3页
资源描述:

《我和LabVIEWword版——一个NI工程师十年的编程经验1-5013.循环结构.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、循环结构LabVIEW中的循环结构有for循环和while循环。其功能与文本语言的循环结构的功能类似类似,可以控制循环体内的代码执行多次。一、for循环但是LabVIEW中的for循环的限制更多一些。1.For循环的迭代器只能从0开始,并且每次只能增加1。2.For循环不能中途中断退出。C语言里有break语句,但在LabVIEW中不要试图中间停止for循环。外部数据进入循环体是通过隧道进入的,有几种方式:图1:For循环结构上的隧道图1所示的For循环结构演示了三种隧道结构,就是在For循环结构左右边框上用于数据输入输出的节点。这三种隧道从上至下分别是:

2、索引隧道、移位寄存器(shiftregister)、一般隧道。一般隧道,就是把数据传入传出循环结构。数据的类型和值在传入传出循环结构前后不发生变化。索引隧道是LabVIEW的一种独特功能。一个循环外的数组通过索引隧道连接到循环结构上,隧道在循环内一侧会自动取出数组的元素,依顺序每次循环取出一个元素。用索引隧道传出数据,可以自动把循环内的数据组织成数组。通过移位寄存器传入传出数据,也是数据的类型和值都不会发生变化。移位寄存器的特殊之处在于在循环结构两端的接线端是强制使用同一内存的。因此,上一次迭代执行产生的某一值,传给移位寄存器右侧的接线端,如果下一次迭代运

3、行需要用到这个数据,从移位寄存器左侧的接线端引出就可以了。C语言程序员初学LabVIEW,在使用循环结构时,常常为创建一个中间变量烦恼。为循环中的变量创建一个LocalVariable不是好的方法。我们应当时刻记得LabVIEW与一般文本语言不同,LabVIEW的数据不是保存在显示的变量里,而是在连线上流动的。LabVIEW是通过移位寄存器把数据从一次循环传递到下一次的。图2:反馈节点如果单纯是为了让下一次迭代使用上次迭代的数据,也可以使用反馈节点,如图2所示。移位寄存器左侧的接线端可以不只有一个,用鼠标可以把左侧的接线端拉出多个来,如图3所示。下面的接线

4、端可以记录上两次、三次……的数据。图3:多接线端移位寄存器使用数组的隧道有一些需要注意的事项,参考:LabVIEW代码中常见的错误。从LabVIEW8.5开始,for循环增加了结束判断条件。for循环也可以像while循环那样随时结束运行。二、While循环LabVIEW的While循环相当于文本语言中的do...while...循环。有些语言还有while...do...循环,LabVIEW没有这样的循环。LabVIEW的while循环至少要运行一次。for循环中可以用的数据传递方式,几种隧道也都可以在while循环中使用。所以在很多情况下,while循

5、环可以替代for循环。While循环比for循环(LV8.5之前)灵活的地方是可以进入循环后在决定何时循环结束。比如,希望当某一变量大于一个值时停止循环,这种情况下不能预知循环次数,所以一定要使用while循环。while循环也有不利的方面:首先,for循环更利于阅读。读者一眼就可以看出程序会内运行多少次。其次,while循环也可以使用带索引的隧道来构造数组,但是它的效率低于for循环。图4:使用循环构造数组如图4,用两种循环所产生的数组大小是相同的。但是如果使用的是for循环,LabVIEW在循环运行之前,就已经知道数组的大小是100,因此LabVIEW

6、可以一次为Array1分配一个大小为100的内存空间。但是对于while循环,由于循环次数不能在循环运行前确定,LabVIEW无法一次就为Array2分配合适的内存空间。LabVIEW会在while循环的过程中不断调整Array2内存空间的大小,因此效率较低。所以,在可以确定次数的情形下,最好使用for循环。三、移位寄存器移位寄存器除了在迭代间传递局部数据,还有其他一些功能。首先,移位寄存器可以用于程序的内存优化。由于移位寄存器的左右接线段使用的是同一块缓存,可以利用这一特性,显示的告诉LabVIEW重用某些数据的内存,并且不对数据做额外的拷贝。详细说明可

7、以参考:LabVIEW程序的内存优化。移位寄存器还经常被当作全局变量来使用,比如LabVIEW程序中常见的功能全局变量。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。