哈工新欧液压测试台|labview组态编程的五大经验总结,助你开发过程事半功倍


虽然NI LabVIEW软件长期以来一直帮助工程师和科学家们快速开发功能测量和控制应用 , 但不是所有的新用户都会遵循LabVIEW编程的最佳方法 。 LabVIEW图形化编程比较独特 , 因为只需看一眼用户的应用程序 , 就马上可以发现用户是否遵循编码的最佳方法 。 有些用户会犯这些错误是因为他们没有真正理解LabVIEW框图数据流背后的原理 , 而有些用户则是不知道哪些特性可提高LabVIEW编程质量 。
小编辛苦总结了经验欠缺的LabVIEW程序员最经常犯的一些编程错误 , 同时也提供了采用正确LabVIEW编程方法的建议 。

哈工新欧液压测试台|labview组态编程的五大经验总结,助你开发过程事半功倍
本文插图

LabVIEW新手典型“杰作”
【哈工新欧液压测试台|labview组态编程的五大经验总结,助你开发过程事半功倍】01过度使用平铺式顺序结构
许多LabVIEW新手并不完全了解“数据流”执行背后的概念 , 而这些概念却是LabVIEW编程的基础 。 其中一个现象是用户往往在程序框图中过度使用平铺式顺序结构 。 用户经常依赖平铺式顺序结构来实现程序框图的代码串行执行 , 而不是使用数据流和节点之间的连线 。

哈工新欧液压测试台|labview组态编程的五大经验总结,助你开发过程事半功倍
本文插图

用户往往过度依赖平铺式顺序结构 , 而没有充分理解数据流编程概念 。
数据流编程是指只有在所需的数据输入全部到达时 , 框图上的节点(子VI、本原、结构等)才开始执行 。 这对于使用LabVIEW的程序员来说非常有用 , 因为独立的进程本身就可以实现并行运行 , 而命令式语言却需要额外的设置才能实行并行执行 。
随着计算机CPU的不断增多 , LabVIEW可自动分解并行流程 , 提高代码性能 , 而无需用户编写任何额外代码 。 而强行使用平铺式顺序结构来执行程序框图不仅会限制并行运行 , 还会丧失这一优势 。 限制程序框图中不必要的结构有助于提高整体可读性和保持更简洁的框图 。
错误连线可以有效地实现程序框图上的数据流 , 而不需要依靠平铺式顺序结构 , 此外错误连线还有助于实现错误处理策略 。
何时应该使用平铺式顺序结构?
平铺式顺序结构的数据流不同于其他结构的数据流 。所有连线至帧的数据都可用时 , 平铺式顺序结构的帧按照从左至右的顺序执行 。每帧执行完毕后 , 将数据传递至下一帧 。即一个帧的输入可能取决于另一个帧的输出 。
与层叠式顺序结构不同 , 平铺式顺序结构中不必使用顺序局部变量在帧与帧之间传递数据 。平铺式顺序结构在程序框图上显示每个帧 , 故无需使用顺序局部变量即可完成帧与帧之间的连线 , 同时也不会隐藏代码 。
在平铺式顺序结构中添加或删除帧时 , 结构会自动调整尺寸大小 。
不可在平铺式顺序结构的各个帧之间拖曳隧道 。
应确立数据依赖或使用流经参数可控VI的数据流 , 避免过度使用平铺式顺序结构 。
(Real-Time, Windows)右键单击平铺式顺序结构 , 在快捷菜单中选择替换为定时顺序 , 可将平铺式顺序结构替换为定时顺序结构 。
通过平铺式顺序结构来执行程序框图有助于代码性能的基准测试 。 通过使用框架内具有时间计数器的顺序结构 , 您可以决定两个时间计数器之间代码执行所花费的时间 。 这是一般数据流执行所无法实现的 。

哈工新欧液压测试台|labview组态编程的五大经验总结,助你开发过程事半功倍
本文插图

平铺式顺序结构和时间计数器VI有助于代码的基准测试
02过度使用局部变量
LabVIEW编程中另一个常见的错误是过度使用局部变量 。 局部变量是共享内存中的一个区域 , 用于在计算机程序不同部分之间传递数据 。 局域变量通常用于文本编程语言 , 具有非常强大的功能 , 但如果出现竞争条件 , 就会产生问题 。


推荐阅读