labview高级编程与虚拟仪器工程应用 代码_为什么学习LabVIEW?

ec1f776fd074bff6629d0f1c95313166.png

labview——Laboratory Virtual Instrument Engineering Workbench(实验室虚拟仪器集成环境)应该包含两种含义:其一,LabVIEW是一种图形化的编程语言,所以LabVIEW也被称为:G(graphical)语言;其二,LabVIEW也包含了支持图形化编程语言进行应用软件设计开发的开发环境(开发平台)。

LabVIEW经过二十多年的发展已经充分证明:LabVIEW是极具威力的自动化测试、测量工程设计、开发、分析及仿真试验的最佳软件系统。现在已被广泛应用在汽车、电子、化工、生物及生命科学、航空、航天等等许许多多的领域。

当前,随着LabVIEW本地化进程的不断深入,许多大学(大专)都相继开始设置LabVIEW课程,越来越多的人们(学生)希望更多地了解和深入学习LabVIEW。同时,为什么要学习LabVIEW?谁应该学习LabVIEW?学习LabVIEW会给我们带来什么好处?等等这些问题也会困扰着他们,我想根据几年来的学习体会谈谈自己的认识与看法。

既然LabVIEW是一种编程语言,那么不妨就从编程语言的一些基本概念来开始讨论。

7fcdc95cd8408a207d35dc21166bcede.png

语言:

语言是用来表达我们的思想及进行相互交流和沟通的一种手段。

程序语言:

程序语言是用来指挥计算机表达我们的想法(意念)并能够被计算机执行的程序代码。

程序语言(直接面对物理层的程序语言)我们称之为:机器语言。

机器语言(Machine language):

机器语言,也就是机器码是可被处理器(CPU)加载并执行的由0和1组成的序列。由于硬件处理器的不同,所以机器码序列也会是不一样的。可以讲,机器码是处理器(CPU)可识别的唯一语言,并且是执行速度最高的语言。它与计算机的硬件(CPU)有着最为直接的关系。

但是,当人们看到或使用由0和1组成的序列(程序),实在是感到毫无规律、枯燥无味,并且无法理解和记忆。特别是,当计算机处理器的性能不断提高时(位数增加),机器语言可能被视为世界上最无法读懂和记忆的语言。试想一下,由64位0和1组成代码,如何记忆和理解它们。

为了解决这个问题,使更多地人能够使用计算机,并提高编程效率充分发挥计算机的作用,人们对机器语言进行抽象处理,从而导致了汇编语言的诞生。

汇编语言(Assembly language):

汇编语言,是从机器语言中抽象出来的使用缩写或助记符进行编程的低级编程语言,并且提供较少的控制指令和数据类型,其中的每一条语句都对应于一条相应的机器指令(代码)。通过汇编程序开发环境可以将汇编语言翻译成机器语言,汇编语言同样与给定的处理器相关。

在早期,包括操作系统在内的许多系统软件都是用汇编语言编写的(比如:UNXI操作系统)。使用汇编语言的好处在于可以提高执行速度,并且程序员还可以直接访问系统硬件。但是,汇编语言由于其开发环境和汇编程序都依赖于给定的处理器,并且其指令和数据类型很少,同时程序的可读性和可移植性都很差无法广泛使用。于是人们再次对汇编语言进行抽象处理,从而导致了高级语言的诞生。

高级语言:

高级语言,是从低级的机器语言抽象而来的计算机程序语言。高级语言通常使用和英文单词类似的关键词,这些关键词可以被翻译成多条机器指令。实际上,比汇编语言高级的计算机语言都是高级语言。

C语言是目前最为广泛使用的高级语言。它既具有一般高级语言的特性,同时又具备了一些低级语言特性(某些汇编语言的特点)。

当然,高级语言还有很多种比如像我们所熟悉的:面向对象的C++、Java及具有可视化编程环境的VC、VB、Delphi等等。这些高级编程语言的存在和发展说明,除了各自的特点不相同,应用领域不同外,还有编程方式的不断改进的推动。

比如:从Basic演变到Quick Basic然后又演变到Visual Basic。

从C演变到C++然后又演变到Java(号称没有指针和头文件的C++)及后来的VC。

这些已不在我们讨论的范围内,有兴趣者可以看相关的书籍自来了解。

从“机器语言”抽象到“汇编语言”,又从“汇编语言”抽象到“高级语言”。那么问题是:“高级语言”是否还可以进一步进行抽象出“某种超级编程语言”呢? 从计算机语言的发展规律来看,回答是肯定的。并且,二十年前这种语言就已经出现,那就是:LabVIEW——一种图形化编程语言。

1ca78d60037bde7a48bc0efe694c147d.png

图形化编程语言:

LabVIEW发展到今天,我认为:LabVIEW是从“高级语言”中抽象提炼出来的超级编程语言(到目前为止我还没有从哪本中外LabVIEW书籍中看到这样的提法或概念)。

这种将“高级语言”传统的写代码的编程方式,抽象变为以“图形、节点、连线”方式的编程语言,的确具有超级编程语言的特点。

用C和C++编写的LabVIEW具有比C和C++更明显得优点。

LabVIEW本身的易学易用、即学即用的特点也充分的证明了这个观点。

问题在于:图像化的编程方法是否真的就会比“高级语言”代码编程方法更高级?我的回答应该是肯定的。下面通过两个例子来进一步说明:

例1:

小时候,在我们刚刚开始会说话时,大人通常是用“看图说话”的方式来教我们认识什么是苹果?什么是梨?什么是香蕉?显然,利用图形或图像的概念使我们很快认识了这些水果。试想如果用文字或拼音来教我们认识这些水果,效果决不会好的。换句话说,图形或图像由于简洁明确,的确要比文字或拼音更适合初学者来认识和区分。事实上,编程语言也是具有相同的规律。

对于学习过某种高级语言的人来讲,对复杂的语法规则、指针、内存、类库等等的掌握根本谈不到轻松易学。

LabVIEW做到了这一点,用LabVIEW编程根本无需考虑什么:语法规则、指针、内存、类库等。LabVIEW这种图形化语言将许多复杂的事情抽象的极为简单明了。

例2:

时光倒退回二十多年前,那时人们对计算机的操作、控制还基于称为DOS的磁盘操作系统(Diskette Operating System),即便是一个很简单的操作人们也会噼噼啪啪的敲击一阵键盘,对于复杂操作人难免还要认真仔细的查阅DOS手册。那时的MicroSoft还是一个编写DOS的小公司。后来,Mac(苹果电脑)首先实现了计算机的图形化操作,点击鼠标、利用拖拽即可完成对计算机的一些操作控制。LabVIEW大概也是受到了图形操作系统的启发(不知是否真的如此),开始了LabVIEW的设计,并在Mac机上完成了LabVIEW1.0版的发布。直到MicroSoft也设计出图形化操作系统时,LabVIEW才发布了Windows版。这大概是LabVIEW2.0,到LanVIEW3.0发布时它已经全面支持跨平台使用了。

计算机操作系统的图形化无疑加快了计算机使用的普及和使用的大众化(当然也包含硬件发展的推动),使计算机由过去的专供专业人员操作使用,而真正变成了不分年龄、不分专业的大众工具。其中,真正起核心作用的还是图形化操作系统得简洁、方便和易学。

编程语言的图像化应该与操作系统图形化一样,给那些不善于使用代码编程的人带来了实现复杂程序设计的机会(我就是其中的一个受益者)。

其实许多学习过LabVIEW的人都回有这样的体会:图形化编程的确大大降低了程序设计的复杂度,LabVIEW的确是比那些“高级语言”更好的超级编程语言

LabVIEW的跨平台特点,以及在同一个平台下对FPGA、DSP及嵌入式微处理器的开发提供图形化编程的支持,难道不可以称之为:超级编程语言吗。

LabVIEW是从“高级语言”中利用图形化的抽象方法抽象出来的超级编程语言。那么,还能对它继续进行抽象处理,进一步提高它的简洁性和方便性吗?

Express VI

DAQ助手

仪器I/O助手

视觉助手

难道这些不是吗?

这就是我给出的:为什么要学习LabVIEW的理由之一。

4cadf5c8f10411691d23553e95f50e58.png

更多教程,请关注 labview工作室 ,想要学习labview或需要源码的朋友,欢迎关注留言咨询

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LabVIEW高级编程虚拟仪器工程应用(修订版)》适用有一定LabVIEW编程基础的测控工程技术人员,帮助其搭建高级技术框架,积累开发经验;同时也可作为本科生毕业设计、研究生完成课题和工程技术人员开发测控项目的参考用书。 目录 第1篇LabVIEW高级编程技术 第1章测控项目管理 1.1测控项目的生命周期 1.2系统定义 1.2.1 问题定义 1.2.2可行性研究 1.2.3 需求分析 1.2.4软件原型 1.2.5 文档管理 1.3总体设计 1.3.1硬件结构设计 1.3.2软件结构设计 1.3.3 总体设计说明书 1.4详细设计 1.5程序编码 1.5.1编程风格 1.5.2说明信息 1.5.3 vl的保存 1.5.4手册编写 1.6系统测试 1.6.1硬件测试 1.6.2软件测试 1.6.3验收测试 1.6.4测试报告 1.7 系统维护 1.8 项目浏览器 1.8.1 项目浏览器的用途 1.8.2 项目库 1.8.3项目依赖关系 1.8.4程序生成规范 第2章应用程序控制与内部数据传递 2.1 VI Server技术简介 2.2动态加载VI 2.2.1监测内存中所有的VI 2.2.2 动态加载VI的程序 2.3动态控制VI运行 2.3.1 动态刷新被控VI前面板控件值 2.3.2选择性打开VI前面板 2.3.3子面板设计 2 4动态控制VI属性和前面板对象属性 2.4.1 动态控制VI属性 2.4.2动态控制前面板对象属性 2.5动态注册事件 2.5.1 动态注册用户接口事件 2.5.2处理用户事件 2.6运行菜单控制 2.6.1运行菜单的设置 2.6.2用程序代码进行运行菜单设置 2.6.3在程序中响应菜单选项 2 7通知器和队列 2.7.1 通知器 2.7.2 队列 2 R共享变量 2.8.1共享变量的创建 2.8.2单进程共享变量 2.8.3 网络发布共享变量 第3章程序设计模式与程序性能 3.1 程序的设计模式 3.1.1标准状态机 3.1.2主/从设计模式 3.1.3 生产者/消费者设计模式 3.1.4队列消息处理器 3.1.5其他设计模式 3.2程序调试技巧 3.3多线程程序 3.3.1基本定义 3.3.2 多线程应用程序的优势 3.3.3 LabVIEW实现多线程的方法 3.4程序性能优化 3.4.1程序运行速度 3.4.2 内存使用 3.5程序性能分析 第4章软件接口与外部数据通信 4.1 ActiveX技术应用 4.1.1 ActiveX技术简介 4.1.2使用ActiveX控件 4.1.3使用ActiveX自动化 4.1.4 LabVIEW作为ActiveX服务器 4.2.NET技术应用 4.2.1.NET技术简介 4.2.2 .NET技术应用 4.3动态数据交换 4.3.1 LabVIEW的DDE功能 4.3.2向Excel文件写数据 4.3.3 由Excel文件读数据 4.4 C代码调用 4.5库函数调用 4.6执行操作系统命令 4.7计算机网络基础知识 4.7.1 计算机网络的功能与发展 4.7.2计算机网络的结构 4.7.3 计算机网络模型 4.7.4计算机网络协议 4.8 TCP 应用 4.8.1发送数据编程 4.8.2接收数据编程 4.8.3程序的远程动态控制 4.9 UDP应用 4.10 串口通信 第5章数据存储与调用 5.1数据存储的时机 5.2打印报表 5.3数据库连接 5.3.1 LabVIEW与数据库的连接 5.3.2 LabVIEW对Access数据库的操作 5.3.3 LabVIEW对SQL Server数据库的操作 5.4 LabVIEW与实时数据库连接 第6章面向对象编程 6.1面向对象编程的概念 6.2 LabVIEW中面向对象编程的方法 6 2.1 LabVIEW类 6.2.2类的方法 6.2.3继承 6.3两种编程方法的比较 6.3.1测试目的 6.3.2面向过程的方法 6.3.3 面向对象的方法 6.3.4 两种方法的比较 第7章传统DAQ的模拟信号采集 7.1 硬件配置与测试 7.1.1传统DAQ安装 7.1.2传统DAQ设备配置与测试 7.2模拟输入 7.2.1传统DAQ的数据采集通道 7.2.2数据采集Vl 7.2.3传统DAQ模拟输入常用的基本术语 7.2.4测量直流电压信号 7.2.5 波形采集 7.2.6频率测量 7.3模拟输出 7.3.1输出直流信号 7.3.2输出波形信号 7.3.3 模拟输入/输出控制回路 7.4信号调理 7.4.1信号调理设备配置 7.4.2应变测量 7.4.3温度测量 第8章传统DAQ的数字信号与计数器输入/输出 8.1 数字信号输入/输出 8.1.1数字信号通道设置 8.1.2立即方式数字输入/输出 8.1.3握手方式数字输入/输出 8.2计数器输入/输出 8.2.1数据采集卡的计数器芯片 8.2.2 用计数器输出脉冲信号 8.2.3测量脉冲宽度 8.2.4测量TTL信号频率和周期 8.2.5事件计数与计时 第2篇虚拟仪器工程案例篇 第3篇C语言代码转换和LabVIEW2010新特性篇 LabVIEW常用中英文词汇对照表 参考文献

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值