“为什么LabVIEW优于C语言?” 作为LabVIEW产品经理,我被很多次问到这个问题。
老实说,这么提问实际上是错误的。必须要有具体的应用环境,这么提问才有意义(例如,“在这些限制条件下,哪一种语言更适合这个任务?”) 若没有这些细节,这个问题就像为什么面包比面粉好一般无意义。
如果您想创建一个测控系统,不同于C语言等低级语言,使用NI LabVIEW系统设计软件能够帮助您降低风险、节省开支并免除不必要的麻烦。在这里我并非暗示LabVIEW是比C语言“更好”的编程语言——特别是考虑到LabVIEW大部分内容不仅仅由G语言编写,还由C和C++语言组成。 恰恰相反,这两种语言各自具有不同的优势,程序员应合理择取才能达到自己的目的。
为什么要把LabVIEW比作面包? 请继续阅读
LabVIEW和C语言相比起来就好比面包和面粉的关系。 如果您想做一个三明治,就必须先选用面包。 如果您想做一个蛋糕,先用的自然是面粉。 如果用面粉从头烘烤面包,即昂贵又费时(尤其是当你只想吃些小点心时),但若做的是蛋糕,面粉就必不可少了。 同样的,你会发现,要选择最适合的编程语言并非易事,它归结为使用正确的工具来完成适合的工作。
C语言提供了低级别的控制
当应用资源有限,必须严格管理时,C语言的使用效果更好。 由于C语言是相对低级别的语言,因此,即便是最细微的细节,如内存分配和线程,都必须考虑周全。优秀的程序员能够使用低级别的控制,省去大部分高级别应用带来的间接开销。此外,还能充分利用目标体系构架或主机操作系统属性,实现更高的性能。
正是由于上述原因,NI程序员使用C或C++编写了LabVIEW库中的大部分内容。LabVIEW与C语言在文件I/O和分析等操作的运行速度上旗鼓相当,因为这些操作都是基于低级语言编写的,并对LabVIEW支持的不同平台和操作系统进行了优化。
效率Vs控制
有时,若开发人员的效率足够高的话,就无需手动优化代码了。 减少一点控制,借鉴类似问题的解决方案,可极大地促进项目的高质量开发。 编程语言不断朝更高级抽象方向发展,让您更专注于手头的问题,而不是被计算细节所困扰。
LabVIEW: 并行执行和真实I/O
无论使用何种语言,高级系统设计与低级执行都是独立的。
在测控应用中,编程只是系统设计者的任务之一。 工程师很少有时间为了计算和测量硬件,或是操作系统上的改进,去更新或重写旧版本软件。 他们通过获取、处理和呈现真实数据进行改进——而不是去挖掘新方法处理内存分配和线程池。 使用LabVIEW,您可以使用经测试、支持、维护的NI底层代码库来创建应用。 而选择C语言意味着您需要实现、支持和维护自己的底层库,或从供应商处购买(NI提供NI LabWindows ™/CVI 软件与NI Measurement Studio)
从语法角度来说, C语言指令连续执行的能力非常强,CPU能以最快的速度处理它们。对于纯粹的数据计算,在执行单一任务且指令相对基本的情况下,C语言非常适用。而LabVIEW采用的是图形化语法,更适用于有真实时间约束的并行执行任务。
使用LabVIEW,您可以跳过基础构建的步骤,直接进行自定制。
LabVIEW不仅仅是一种编程语言及相关的代码库。 结合使用LabVIEW集成开发环境(IDE)与NI硬件,由此所带来的开发体验是各个部分的总和无法企及的。LabVIEW可以准确识别可用的硬件资源,并以下拉菜单和项目名称显示可用的I/O通道与执行目标。 在编辑过程中,您可以防止或察觉错误的配置,以避免代价高昂、又难以调试的运行时错误。 新一代测量硬件(如NI PXIe-5644R矢量信号收发器)甚至可以允许LabVIEW对其固件进行重新定义,达到传统、不同的编程语言和仪器无法实现的性能水平。
有很多项目都会延期或超预算完成,主要是因为工程师低估了聚集所有资源所需的开销。若您使用LabVIEW,硬件驱动程序会以与数据分析库相同的格式返回数据,UI小部件则以相同的格式显示技术数据,无需再拼凑不同组件。
到底哪个更好: LabVIEW还是C语言?
这个问题的最佳答案是:“一切皆有可能。” 正如《银河系漫游指南》中所说的, 除非您明确自己的问题或了解正试图解决的问题,否则得到的答案也是无意义的。 对于熟练的用户来说,LabVIEW和C都是非常有用的工具,几乎可以解决任何问题: LabVIEW适用于高级测试、测量和控制应用,而C更容易实现低级计算密集型任务。
若再有人问起LabVIEW好还是C语言好,您就回答一切皆有可能。 这也许是将问题朝着正确的方向引导的唯一途径了。
关键字:LabVIEW C语言
引用地址:
LabVIEW还是C语言?
推荐阅读最新更新时间:2024-03-30 22:56
温度传感器DS18B20 89C51单片机C语言程序
#include reg52.h #define uchar unsigned char /*宏定义 字符型数据 整型数据 */ #define uint unsigned int uint DD; sbit DQ=P2^2; //定义DS18B20总线I/O unsigned int temputer; char Co de = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f}; uchar co de C = {0x0, 0xFE, 0xFD, 0xFB, 0xF7, 0xEF, 0xDF, 0xBF, 0x7F}; /*****延时子
[单片机]
基于Labview开发环境对滤波器实现改进设计
1、引言 在目前的测试领域中,越来越广泛地利用相关检测的方法进行滤波,利用相关滤波可以方便地从复杂的待测信号(包括有用信号、直流偏置、随机噪声和谐波频率成分等)中分离出某一特定频率的信号,在数字技术迅速发展以后,相关滤波也经常利用A/D板对信号采样后,在计算机中实现,成为数字滤波器的一种形式,本文设计了一种实现相关滤波的方法,这是相关分析在测试技术中的一个典型应用。图1所示为相关滤波器的典型框图。 Labview是美国国家仪器公司推出一种基于“图形”方式的集成化程序开发环境,是目前国际上唯一的编译型图形化编程语言,在以PZ机为基础的测量和工控软件中,Labview的市场普及率仅次于C++/C语言,Labview开发环境具有一系
[测试测量]
单片机c语言之矩阵按键
程序为当按下第一个矩阵按键,数码管显示1,按第2个矩阵按键,数码管显示2,以此类推,直到第十五个按键显示F。第十六个按键显示o为止 #include reg52.h #define uint unsigned int #define uchar unsigned char sbit dula=P2^6; sbit wela=P2^7; uchar code table ={ 0x00,0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,0 }; uchar num,temp,num
[单片机]
C语言PIC16 serial bootloader和C#语言bootloader PC端串口通信程序
新PIC16 Bootloader 在完成HyperBootloader之后(具体详见我之前的随笔),我决定重写PIC bootloader。为什么呢? HyperBootloader是由PC端的串口通信软件--超级终端来传送Hex数据的,一行一行地传送,每传送一行Delay 20ms,以等待Hyperbootloader烧录完。因为这样效率有些低,所以我决定自己写PC端的串口通信程序和PIC bootloader,为了提高效率还定义了PC端串口通信程序和PIC单片机端bootloader之间的通信协定。首先我重写PIC16 bootloader, 我要完成PIC16单片机端bootloader程序--我命其名为PhsBo
[单片机]
ARM学习笔记14——C语言和汇编相互套用
这里,我们要准备两个文件,一个是汇编文件start.S,另一个是C文件led.c。汇编文件套用C文件中的开关灯函数,C文件套用汇编文件中延时函数。 //start.S .global led_init led_init: @;GPC1CON @;GPC1PUD loop: mov r0,#1 @将1存到寄存器r0中,实现LED开灯效果 bl led_ops @调用C文件中的led_ops函数,此时led_ops函数调用的参数会自动从寄存器中取,即r0 mov r0,#0 @将0存到寄存器r0中,实现LED关灯效果 bl led_ops b
[单片机]
基于LabVIEW的集成电路测试分析仪
摘要:为满足高校实验室对数字集成芯片的测试需求,利用LabVIEW软件和单片机技术,设计实现了集成电路测试分析仪。与常见的集成电路测试仪相比,系统的特色在于依托LabVIEW强大的数据分析和图形显示功能,不仅能完成常规74系列芯片的功能测试,还提供了任意输入数据编辑和波形显示功能,有利于初学者准确掌握和深入理解芯片的逻辑功能。设计中利用SN754410设计了管脚上电电路,使用USB/串口转换电路实现上位机与控制器间通信。实验表明,系统功能测试正确,运行稳定,波形图显示直观便捷,为芯片测试和数字逻辑验证提供了有力工具。 0 引言 在高校电子类专业实验教学中,数字集成电路的使用十分频繁。学生每年在实验、课程设计和课外创新等实践活动中,
[测试测量]
基于LabVIEW的信号输出与数据采集系统
1 引言 近年来,在国防、汽车、仪表等领域,嵌入式计算机系统的应用越来越广泛。由于目前硬件技术的迅猛发展以及容错技术的广泛应用,因硬件故障而导致的软件失效越来越少,系统故障的主要原因已经从硬件逐步转向软件。因此如何测试嵌入式计算机系统中的软件性能就成为人们关注的焦点,而这其中非常关键的就是如何在仿真环境下由仿真测试平台输出激励信号驱动嵌入式计算机系统运行并同时采集它的输出信号。本文正是基于此设计了一套基于LabVIEW的信号输出与数据采集系统。 2 LabVIEW简介 LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是目前最为成功、应用
[工业控制]
基于LabVIEW RT 的集散控制系统
应用领域:工业自动化
挑战:利用PXI嵌入式控制器、LabVIEW RT 开发出完成高速、高精度、多实时闭环控制任务,数据采集,逻辑控制等的多功能测控平台。
应用方案:使用National Instruments公司的RT系列的PXI嵌入式控制器、E系列多功能数采卡、LabVIEW RT 、labVIEW RT控制工具包以及执行程序生成器来开发一个集多任务实时控制、数据采集、数据分析为一体的集散测控系统。
使用的产品:PXI 8186 RT ;LabVIEW RT;PXI-6052E;PXI-6527
介绍
近年来,随着我国经济的迅猛发展,测控技术,尤其是基于LabVIEW快速开发的测控系统也在各行各业得到了较好地应用
[应用]