admin 管理员组文章数量: 1087139
2024年4月27日发(作者:2020年素还真大电影)
一. 程序执行顺序
LabVIEW 是数据流驱动的编程语言。程序在执行时按照数据在连线上的流动方向执行。同时,
LabVIEW 是自动多线程的编程语言。如果在程序中有两个并行放置、它们之间没有任何连线的模块,则
LabVIEW会把它们放置到不同的线程中,并行执行。
图1、2:顺序执行 和 并行执行 的例子
顺序执行(图1):数据会从控制控件流向显示型控件,因此数据流经的顺序为“error in”控件,“SubVI A”,
“SubVI B”,“error out”控件,这也是这个VI的执行顺序。
并行执行(图2):“SubVI A”,“SubVI B”没有数据线相互连接,它们会自动被并行执行。所以这个VI
的执行顺序是“SubVI A”,“SubVI B”同时执行,当它们都执行完成以后,再执行“Merge ”。
二. 顺序结构
如果需要让几个没有互相连线的VI,按照一定的顺序执行,可以使用顺序结构来完成(Sequence
Structure)。
图3:Menu Palette
当程序运行到顺序结构时,会按照一个框架接着一个框架的顺序依次执行。每个框架中的代码全部执
行结束,才会再开始执行下一个框架。把代码放置在不同的框架中就可以保证它们的执行顺序。
LabVIEW 有两种顺序结构,分别是层叠式顺序结构(Stacked Sequence Structure)、平铺式顺序结构(Flat
Sequence Structure)。这两种顺序结构功能完全相同。平铺式顺序结构把所有的框架按照从左到右的顺序展
开在 VI 的框图上;而层叠式顺序结构的每个框架是重叠的,只有一个框架可以直接在 VI 的框图上显示
出来。在层叠式顺序的不同的框架之间如需要传递数据,需要使用顺序结构局部变量(Sequence Local)方
可。
图4:层叠式顺序结构
三. 顺序结构的使用
好的编程风格应尽可能少使用层叠式顺序结构。层叠式顺序结构的优点是及部分代码重迭在一起,可
以减少代码占用的屏幕空间。但它的缺点也是显而易见的:因为每次只能看到程序的部分代码,尤其是当
使用sequence local传递数据时,要搞清楚数据是从哪里传来的或传到哪里去就比较麻烦。
图5:转换顺序结构
使用平铺式顺序结构可以大大提高程序的可读性,但一个编写得好的 VI 是可以不使用任何顺序结构
的。由于 LabVIEW 是数据流驱动的编程语言,那么完全可以使用VI间连线来保证程序的运行顺序。对
于原本没有可连线的 LabVIEW 自带函数,比如延时函数,也可以为其包装一个 VI,并使用 error in, error
out,这样就可以为使用它的VI提供连线,以保证运行顺序。
版权声明:本文标题:Labview十年编程经验大总结 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1714159231a667808.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论