即使NI LabVIEW软件长久以来一直帮助工程师和科学家们快速开发功效测量和控制应用,但不是全部新用户全部会遵照LabVIEW编程最好方法。 LabVIEW图形化编程比较独特,因为只需看一眼用户应用程序,就立即能够发觉用户是否遵照编码最好方法。有些用户会犯这些错误是因为她们没有真正了解LabVIEW框图数据流背后原理,而有些用户则是不知道哪些特征可提升LabVIEW编程质量。
本文介绍了经验欠缺LabVIEW程序员最常常犯部分编程错误,同时也提供了采取正确LabVIEW编程方法提议。
图 1. LabVIEW新手经典“杰作”
过分使用平铺式次序结构
很多LabVIEW新手并不完全了解“数据流”实施背后概念,而这些概念却是LabVIEW编程基础。其中一个现象是用户往往在程序框图中过分使用平铺式次序结构。用户常常依靠平铺式次序结构来实现程序框图代码串行实施,而不是使用数据流和节点之间连线。
图 2. 用户往往过分依靠平铺式次序结构,而没有充足了解数据流编程概念
数据流编程是指只有在所需数据输入全部抵达时,框图上节点(子VI、本原、结构等)才开始实施。 这对于使用LabVIEW程序员来说很有用,因为独立进程本身就能够实现并行运行,而命令式语言却需要额外设置才能实施并行实施。伴随计算机CPU不停增多,LabVIEW可自动分解并行步骤,提升代码性能,而无需用户编写任何额外代码。而强行使用平铺式次序结构来实施程序框图不仅会限制并行运行,还会丧失这一优势。限制程序框图中无须要结构有利于提升整体可读性和保持更简练框图。
错误连线能够有效地实现程序框图上数据流,而不需要依靠平铺式次序结构,另外错误连线还有利于实现错误处理策略。
何时应该使用平铺式次序结构?
经过平铺式次序结构来实施程序框图有利于代码性能基准测试。经过使用框架内含有时间计数器次序结构,您能够决定两个时间计数器之间代码实施所花费时间。这是通常数据流实施所无法实现。
图 3. 平铺式次序结构和时间计数器VI有利于代码基准测试
相关数据流编程更多信息,请访问在线自学培训(-paced-training)LabVIEW关键课程1“数据流”。购置LabVIEW或含有标准服务项目(/ SSP)会员资格用户能够无偿参与在线自学培训。
错误使用局部变量
LabVIEW编程中另一个常见错误是过分使用局部变量。局部变量是共享内存中一个区域,用于在计算机程序不一样部分之间传输数据。局域变量通常见于文本编程语言,含有很强大功效,但假如出现竞争条件,就会产生问题。
对于其它编程语言来说,经过变量传输数据是必需,而LabVIEW则提供了一个数据流方法,可将数据从程序一个部分移动到另一个部分。LabVIEW固有并行性机制决定着用户不能过分使用变量,因为同一时间内通常会有多个不一样位置程序访问共享内存。假如过分使用变量,则会出现某个读/写操作赢了“竞争”,而其它操作则输了“竞争”,丢失数据操作会被忽略,所以在LabVIEW中过分使用变量可能会最终造成数据丢失。
您能够经过多个方法安全地将数据从LabVIEW程序一个部分传输到另一个部分,包含连线、队列、事件、通知、功效全局变量等等。每个机制全部是针对特定情况设计,但全部含有消除竞争条件功效。
相
labview新手必看精样稿 来自淘豆网www.taodocs.com转载请标明出处.