- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LabVIEW数据流控制方法研究
导语:?本文剖析了LabVIEW数据流语言的特点,提供了其若干有效控制方法,指出LabVIEW本身即可解决数据流控制上的变量冲突、响应时序控制、初始状态自适应调整等问题并保证其通用性 摘 要:本文剖析了LabVIEW数据流语言的特点,提供了其若干有效控制方法,指出LabVIEW本身即可解决数据流控制上的变量冲突、响应时序控制、初始状态自适应调整等问题并保证其通用性,而不必求助于其它代码语言(如C语言),这样,既减轻了程序的复杂性,提高了效率,还丰富了LabVIEW的应用。文中以单选功能按钮设计实例详述了变量冲突、响应时序控制、初始状态自适应调整等问题的具体解决方案,在某型装备测试系统的实际运行中验证了该方法可行有效。
关键词:数据流;LabVIEW;变量冲突;时序控制
Abstract: The character of LabVIEW dataflow programming is analyzed and some methods on the control of dataflow in LabVIEW are given. Problems such as variable conflict, time responding sequence control and initial status self-adjustment are able to be settled out without using other codes (e.g. C language),so that the programming complexity is less and the efficiency is higher and the application of LabVIEW is more extensive. The example of the design of single-activated buttons is detailed showing how to solute the problems above concretely and the experiment result running on some measurement systems proves the solution is feasible and reliable.
Keywords: dataflow;LabVIEW;variable conflict;time responding sequence control;initial status self-adjustment
0 引言
LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是虚拟仪器概念的首创者,是世界上最优秀的虚拟仪器软件开发平台[1][2]。它使用图形化数据流编程语言,这种新兴的编程方式给编程人员带来了新的困难,主要体现于对数据流的控制上。LabVIEW编程人员遇到困难往往求助于C语言[3]。随着虚拟仪器的广泛应用,为提高编程效率,真正理解并灵活掌握LabVIEW数据流语言是必要的。
1 数据流编程的特点
数据流语言的每个节点在执行之前需要提供其所有输入端口的有效数据,LabVIEW允许用户在一个图表上拥有任意数量的不同节点,所有的节点可以并行执行。LabVIEW环境还支持多个VI并行执行,而不管操作系统或者计算机的功能如何。这些功能使得用户无须做任何特殊编程工作就可以非常自由地同步执行各种不同的任务。
LabVIEW数据流编程克服了文本语言编程内存管理中的许多困难。在LabVIEW中,不必给变量分配内存,也不必为变量赋值或者从变量取值,只需创建一个带有描述数据转换关系的内部联系的框图程序。产生数据的函数可以精心地为数据分配内存,当数据不再使用时,相应的内存被释放。当向数组或字符串添加新数据时,管理新数据的足够内存资源会自动进行分配,这种自动的内存分配操作是LabVIEW的主要优势之一。
2 数据流编程的难点及若干解决方案
LabVIEW程序的内存管理是自动进行的,中间状态的捕捉和控制十分困难。例如,实时显示现场采集数据串的最大值问题、通过按钮手动控制现场采集数据串某一时刻数据作为比较对象的问题以及单选功能按钮的实现问题等等,似简实难。经编程实践,总结方案如下:
(1)结构控制
循环结构,如For循环和while循环结构;顺序(Sequence)结构,适当使用Sequence结构能提高程序可读性,让数据清晰流动;分支结构(case Structure);事件结构(Even
文档评论(0)