当前位置:首页 > 工业控制 > 工业控制
[导读]作为一款系统设计软件(LabVIEW可以提供搭建最先进、最具技术挑战性的系统所需的所有工程元素随着工程应用的挑战性和复杂度日益增加(软件工程的概念也融入了系统开发之中。所谓软件工程就是可以保证软件的可扩展性和可

作为一款系统设计软件(LabVIEW可以提供搭建最先进、最具技术挑战性的系统所需的所有工程元素

随着工程应用的挑战性和复杂度日益增加(软件工程的概念也融入了系统开发之中。所谓软件工程就是可以保证软件的可扩展性和可维护性的工程开发实践。正确实施的软件工程可以提高应用程序的全局质量(提高开发者的工作效率并且降低维护成本。在这篇文章中(可以学习到如何使用LabVIEW内建专用的特性和工具来完成最佳的软件开发实践和程序源代码控制管理。

源代码控制管理
源代码控制管理是软件工程最基本的环节之一(因为它决定了如何对一个应用程序的依赖关系进行存储、组织管理以及在开发者之间共享,甚至会直接影响程序的部署。这样的过程(source code control-SCC)及相应的管理工具会在整个软件生命周期中完成这些任务,以减少人工完成这些任务可能带来的损失和风险。但是,如果没有一个合理的计划以及应用架构来保证项目自身的紧凑性和代码的模块化特点,只依靠软件来管理,则效果实在有限,所以需要对相关的概念进行学习并通过NI认证的LabVIEW系统架构师考试。


对任何一个项目来说,无论项目复杂程度高低或团队的人数多少,源代码控制都是重要且必要的。目前,很多的供应商都提供了各种不同的源代码控制工具,它们都可以用来追踪、存储和管理LabVIEW的文件。

这些工具中可以既有免费且易用的解决方案(例如Subversion),也有商业级的、具有完整生命周期管理的解决方案(例如Perforce)。


代码的重复利用对提高工作效率是非常有效的方法,但是它要求非常严格的源代码管理措施。一些高级的工具,例如VI程序包管理器,可以帮助用户有效地管理和创建可重复使用的库文件或者VI程序包,还可以智能追踪库文件的版本变化、所需依赖关系变化以及该库文件在多个LabVIEW版本之间的兼容性变化等。

应用结构化的开发方法
许多LabVIEW的程序员都经历过使用非结构化开发方法所造成的不良后果,或者,至少受到过影响。一些程序框图可以往任何一个方向进行滚动,一页又一页,没有可辩识的标志和足够的连线的帮助,甚至可以让人误认为那是一幅大都市的地图。不幸的是,这样的程序框图往往又包含需要运行的代码,所以如果有人接下了这样的应用程序,往往会觉得它令人难以添加功能和修正错误。除了程序运行风险高以及内含不可预知的程序缺陷以外,这种程序的维护成本还很高。所以,当你在接受程序任务的时候,如果对方告诉你“我们需要对代码进行重整”,那你一定要将它看成一个警告。软件工程和一个有序的可扩展的应用程序架构,可以有效地帮助你避免这样的风险以及这些风险带来的损失。


典型的软件工程是指一种人为管理的、有序的软件开发方法,在开发过程之前就已经有拟定的审核清单,以及在软件生命周期的不同阶段应该完成的任务,而这个开发实践需要做到何种程度,以及需要哪些开发工具,则是由这个工程项目自身的特点来决定的。但是,有些要素却是任何类型项目的开发都需要的。通常来说,前期的规划、开发耗时的预计都是会提前计划的,当然,这些计划同时也会增加时间和成本的消耗。


虽然软件工程的模式有很多种,例如瀑布型、螺旋型或者灵活型,但它们都具有共同的开发阶段。图1中列出了各种LabVIEW的特性和工具,可以在各个开发阶段给予帮助。

图1 LabVIEW提供的各种特性和相关工具可以在不同的开发环节给你提供帮助

软件架构
通过设计应用程序的整体架构,开发者可以确保程序框架满足指定的要求,并且确保程序有良好的扩展性,在将来为系统添加新功能。进行架构设计时,需要定义系统的各个功能单元,以及不同单元之间的交互方式(通过交互接口和API),从而可以将相关性不高的单元进行解耦,以保证它们是紧凑且独立的。一个好的程序架构会综合考虑代码的可扩展性、程序模块性、可重用性和可延展性之间的平衡,同时又能够保证不会无谓地增加程序的复杂性。


NI公司提供的LabVIEW高级培训课程涵盖了所有这些概念,并且将这些概念作为CLA考试的主要部分。用户可访问ni.com/training/certification来评估自己的编程水平,以确保自己有足够的能力编写出可以经受实践检验的LabVIEW程序。

掌握LabVIEW软件工程
了解数据流编程语言的语法结构仅仅是熟练使用LabVIEW的一部分。一个坚实的软件工程理论基础和源代码控制的最佳实践可以保证你有能力管理一个开发小组,领导他们设计并实现高水平的LabVIEW系统。本文中所讨论的各种工具和开发实践可以帮助你显著地改进开发过程,使其更加合理,从而提高工作效率。

这样你和你的开发团队就可以把最主要的精力放在系统的开发上,而不是浪费在烦琐的源代码管理和设计结构重整上。所有这些概念对任何一种编程环境来说都是通用的,它们也是参加CLA考试时所必需的。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

为解决使用现有接装纸分离装置生产“视窗烟支”时出现的安装调整难度大、耗时长、稳定性差,烟支接装纸外观质量缺陷率高等问题,设计了一种接装纸三级分离和控制装置。通过接装纸初步分离、分离定位控制和最终定位输送装置模块化设计,且...

关键字: 视窗烟支 接装纸 分离 控制

MCU 被誉为现代电子设备的 “神经中枢”,是嵌入式电子系统中控制各种功能的核心器件。当前,边缘 AI、具身智能、新能源汽车、制造业数智转型等新业态,正在为 MCU 开辟更多增量市场,并倒逼 MCU 技术升级。MCU 厂...

关键字: MCU 电子系统 控制

青岛2025年8月5日 /美通社/ -- 2025年8月5日,第五届理创大赛在山东省青岛市正式启动,华东赛区预赛也随之拉开帷幕。全球自动化领域的数字化转型专家欧姆龙(中国)有限公司(以下简称"欧姆龙"...

关键字: 大赛 欧姆龙 控制 数字化

尽管全球数据泄露的平均成本降至 444 万美元,美国企业的相关损失却攀升至 1022 万美元; 在遭遇数据泄露的企业中,仅有 49% 的企业计划加强安全投入。...

关键字: AI IBM 控制 模型

Zephyr开源项目由Linux基金会维护,是一个针对资源受限的嵌入式设备优化的小型、可缩放、多体系结构实时操作系统(RTOS)。近年来,Zephyr RTOS在嵌入式开发中的采用度逐步增加,支持的开发板和传感器不断增加...

关键字: 嵌入式系统 软件开发 实时操作系统 Zephyr项目

在嵌入式系统和高可靠性软件开发中,静态代码分析已成为预防缺陷的关键手段。PC-Lint(现更名为Gimpel Lint)作为行业领先的C/C++静态分析工具,能够检测出编译器难以发现的隐式错误和编码规范违规。本文通过实战...

关键字: PC-Lint 软件开发 静态代码

为增进大家对差错控制的认识,本文将对差错控制、差错控制的基本方式和差错控制的分类予以介绍。

关键字: 控制 指数 差错控制

为增进大家对‌板卡控制的认识,本文将对‌板卡控制的架构与功能以及‌板卡控制与PLC控制的区别予以介绍。

关键字: 控制 指数 板卡控制

在软件开发和系统运维中,内存泄漏是一个常见且棘手的问题。它会导致系统内存逐渐耗尽,进而影响应用程序的性能和稳定性,甚至引发系统崩溃。无论是用户态程序还是内核态模块,内存泄漏都可能悄然发生。本文将介绍如何结合 kmemle...

关键字: 软件开发 内存泄漏 kmemleak

DashCam项目使用“AI Thinker ESP32-CAM”模块,该模块具有200万像素摄像头(OV2640), 10个I/O引脚,片上LED,片上闪光灯和一个MicroSD插槽来存储视频。它的微型摄像头和240M...

关键字: ESP32-Cam Wi-Fi Arduino 源代码
关闭