EDN首页   博客首页

最新日志

发表于:2008-10-9 6:28:43
标签:labview  ni  虚拟仪器  

1

《LabVIEW学习札记》前三章发布



点击看大图
《LabVIEW学习札记》总目录


?? ? ? ?引子

?? ? ? ?与LabVIEW结缘

2004年?

2005年?

2006年

2007年

2008年

第1章 ? 基于计算机的测试和测量


?第1.1节 ? 测试和测量

?第1.2节 ? 测量技术的发展

?第1.3节 ? 基于计算机的测量

?第1.4节 ? 虚拟仪器

?第1.5节 ? 虚拟仪器技术

?第1.6节 ? 本章小结


第2章 ?我眼中的LabVIEW


?第2.1节 ? LabVIEW到底魅力何在?

?第2.2节 ? 什么是LabVIEW?

?第2.3节 ? LabVIEW图形化编程语言

?第2.4节 ? 学习LabVIEW应该看的几本书

?第2.5节 ? LabVIEW版本的变迁

?第2.6节 ? 学习LabVIEW的理由

?第2.7节 ? LabVIEW的受众面

?第2.8节 ? 虚拟仪器开发模式之我见

?第2.9节 ? 本章小结


第3章 ??LabVIEW图形化编程语言初探


?第3.1节 ? LabVIEW图形化编程语言基本单元——VI

?第3.2节 ? VI(虚拟仪器)自身的特点

?第3.3节 ? VI(虚拟仪器)的基本设计原则

?第3.4节 ? LabVIEW图形化编程语言的语法规则

?第3.5节 ? LabVIEW开发环境

?第3.6节 ? LabVIEW的跨平台特性

?第3.7节 ? LabVIEW图像化语言——效率乃立足治本,创新乃发展之源

?第3.8节 ? 本章小结


系统分类: 虚拟仪器   |    用户分类: 无分类    |    来源: 无分类

评论(2) | 阅读(317)
发表于:2008-9-24 8:05:39
标签:无标签

1

欢迎访问本站,我的个人主页



在我博客的主页上,”站外友情连接“也给出了个人主页的连接。
在那里你将看到什么?

在那里你会看到我学习LabVIEW的札记的网络评估版(书),当前的内容为“主页”和“序”两部分,目前处于调试阶段。待到10月16日以后正式发布网络版的第1章、第2章、第3章。
目前在“主页”上还不能给我留言,因为设计模版采用的留言方式是给我发电子邮件的方法,试了几次发现收到邮件都是乱码,以后再慢慢解决吧!如果想留言还是到我的博客来留言。

未来的一段时间,我的博客将不会有更新!主要用来接受大家的留言(意见和建议),我的全部经历(也只能是业余时间)将放在《札记》的撰写和整理上。

该主页目前是由我自己设计和管理,很忙、很忙..........。

系统分类: 测试测量   |    用户分类: 无分类    |    来源: 原创

评论(0) | 阅读(144)
发表于:2008-6-12 18:54:42
标签:博客  LabVIEW  

1

时隔一年半,我又回来了!

一直登录不上,多亏管理员”彩云“的帮忙,时隔一年半,我又回来了!


这期间我的新日志都在“搜弧”的博客中发表


以后有时间再往这里补充吧!

欢迎到访!

系统分类: 测试测量   |    用户分类: 无分类    |    来源: 原创

评论(1) | 阅读(352)
发表于:2006-12-25 20:27:44
标签:博客  日志  致谢  原创  

38

向大家致谢!自贺:开博100天

100天前,一次很偶然、不经意的访问,使我发现EDNChina的注册用户也可以拥有自己的“博客”。这个发现,令我欣喜若狂、兴奋不已。因为,自从“博客”这种在网络上发表自己日志的形式出现以来,自己就很想拥有一个较为专业性的私人空间。但是,大多数能够提供“博客”写作的网站都是文娱类的,这对于从事技术工作的专业人士来讲,大概并不会是一个很满意、很可心的选择(至少我是这样认为的)。EDNChina开办的博客,为我及许多专业技术人士搭建了一个能够进行技术交流和相互学习的平台。于是,带着某种冲动,在2006917我在EDNChina开办了自己的博客;博客名称是:LabVIEW;副标题是:一切随缘。

       在“博客公告”中我这样写道:对于打字速度很慢又不善于写东西的我来讲开通这个Blog并非是件赶时髦的事,我只想与志同道合的朋友们有一个相互学习的平台”。这的确是我的愿望和心愿。

弹指一挥间,100天过去了。在这100天中,我撰写了大约27篇日志,其中绝大多数的日志是与LabVIEW学习有关,撰写这些日志花费了我大量的业余时间和精力。其实,我深深地知道,由于资金、项目等原因,目前学习、使用LabVIEW的人还不是很多;所以,关注这方面内容的人一定很少。令我万万没有想到的是:100天来我的“博客”竟有了15200次的点击;我的日志:“学习LabVIEW的理由(1)”和“数据采集系统设计原则(1)”单篇日志的点击率达到975和846,这对我是极大的激励。特别是,许多网友的热情鼓励和善意的建议令我激动不已。值得一提的是,在广大的博友的支持下,我喜获了“博客”大赛的奖励。在此,我感谢那些帮助我、支持我的博友,特别是批评过我的朋友。我再一次深深地感谢EDNChina提供了这样一个美好的平台。

       通过这个平台,不仅使我认真思考学习中的体会和心得,并充分享受到过程的美好和幸福,同时也让我看到了更多网友佳作。

拜读maxconn博友的《怀念我的母亲》一文,曾经使我几度泪下。他怀着那颗忠孝之心,告诫大家:及时行孝,时时报恩,很多事情不一定要等你成功了才能做。是的,有些事情只有当你真正体验到时,才会有所感悟!我万分感谢他的及时忠告,因为我的四位老人都已八十岁了。

judy_zeng博友的《八十年代后》的博文是十分耐人寻味的。每一代人,自然都会带有时代的烙印,很高兴看到进步、成长的一代年轻人。

avan博友的《写作是最有效的学习方式》我很有认同感。通过写作加强了自身的学习能力,并在写作中不断地升华和提高。

chwb博友的软件滤波的几种算法比较》使我受益匪浅。让他人与自己共同分享知识所带来的快乐是每个博友写作的目的。

panic博友的《病毒,蠕虫,木马,外加流氓软件,如何区分和查杀》及他的DSP开发的文章给我留下很深的印象。

还有很多、很多的博友撰写的精彩文章,怨我不能在这里一一列举。我再次感谢你们,是你们的劳动成果,使我在浏览中得到启迪,在阅读中得到进一步提高。

最后,还要感谢cocappjj你的工作热情和真诚的鼓励,极大地感染了我,迫使我能够坚持、坚持、再坚持。

 

 

顺祝大家元旦快乐!2007年更上一层楼!

                   祝EDNChina越办越好,让我们充分享受家的快乐!

系统分类: 自由话题   |    用户分类:    |    来源: 原创

评论(10) | 阅读(1638)
发表于:2006-12-17 11:25:20
标签:LabVIEW  NI  虚拟仪器  

32

学习LabVIEW的理由(3)

 

    吸引我学习LabVIEW的理由,除了“理由(1)”中所讲到的LabVIEW是图形化编程语言,它比文本编程的方式更简单、明了;以及“理由(2)”中所谈到的LabVIEW分析、处理能力强、编程效率高之外;还有一个极为重要的原因就是:LabVIEW不仅是优秀的软件开发环境,而且还包含着对数据采集板卡(DAQ)等硬件产品的驱动支持,并且其硬件可选择的品种和类型也非常之多,基本可以满足不同工程设计的需求。这也是LabVIEW与其它编程软件有着本质不同的地方。

前面谈过,LabVIEW的最大优势在于测试、测量和自动化控制方面的应用,这就不可能不涉及到硬件板卡,而驱动硬件板卡的驱动软件并不是公开的源代码。第三方的驱动软件很难做到与开发平台无缝连接。所以,开发平台、硬件板卡与板卡的驱动软件来自同一个公司(厂家)是比较可靠以及值得信赖的。如果,编程环境使用LabVIEW,而硬件则使用其它商家的板卡(这些商家也称支持LabVIEW),从而导致编程过程中,出现一点问题就会怀疑到是否是驱动有问题,大大的降低了工作效率,并且无法得到NI公司的技术支持。关于这一点,在许多论坛上常常看到会有这样的问题提出,而真正能有效解决这样问题的回复确几乎看不到。当选择LabVIEW同时又使用NI的采集卡时,由于它们的软、硬件之间是无缝连接的,所以它的正确性和可靠性应该是绝对可以值得信赖的。此外,从NI公司的硬件产品的质量和性能来看也绝对是一流的,包括短期稳定性和长期稳定性。NIM系列板卡及其它板卡都具备了自校准能力,使用性能可以得到进一步的提高。这些都是NI公司的优势所在。

我曾经测试了PCI-6014数据采集卡AO通道及AI通道的6个月长期稳定性。6个月内在室温下的长期变化率优于:±0.01% 10V量程)。由此可见,M系列的PXI-6251的校准周期规定为:2年,是绝对可信的(注:并不是所有M系列的产品校准周期都为两年)。

我还经常听到这样的说法:NI的产品是很好,技术支持也非常棒,就是太贵了。此言不错,的确如此。但任何事情都不会是绝对的,购买产品是要关注价格,但更主要的指标是:性能价格比。我们不妨先从开发平台软件说起,比如:购买一套NI Devloper Suite大约要人民币4万多元(包括SSP服务),加上某些工具包大概就是5-6万多块,这仅相当于雇佣一个中、高级开发人员的一年工资(可能都不到NI一个技术支持工程师的年薪)。可是,这个投入将使你的实验室具备了包括LabVIEWLabWindows/CVI Measurement Studio在内的多种语言设计开发平台,并且可以持续使用相当一段时间,应该说是相当划算的。从硬件来看,NI提供了多种不同总线技术的采集板卡,使用者可以根据需要来灵活选择而并非是重新设计,这将大大加快应用工程的设计进度。从另一个角度来看,工程(产品)的生产过程仅包括供销人员、软件设计人员、文档编辑人员,没有任何辅助工人参加。节省的劳务成本足可以抵消硬件成本的增加。综合来比较价格是不算高的。

       我曾经做过很长时间的硬件设计,包括从电原理图设计到PCB的设计,给我最大的感受是:作为科研成果可以,产品化则很难。模拟电路中的接地问题和数字电路数据传输格式问题常常困扰着设计者。甚至,看着很正确的电原理图,制成PCB后会发现由于电路接地处理不好,导致噪声很大,甚至无法达到设计的要求。如果,再要求电磁兼容性那就会更加困难了。特别是,由于集成电路设计技术的成熟,不断有新的、更好的元器件出现时,很难投入精力和财力进行设计上的不断更新。这方面我想许多与我有着同样经历的人都会有着同样的感受。而选择使用专业商家提供的产品,则可避免许多问题的发生。因为这些专业厂商已经为我们考虑好了。

我们过去的设计往往都是特为某种应用设计的,所以根本谈不到继承性。当新的任务来临时,又必须重新考虑设计,一面是不得不改进,一面是无法更多地更新,所以把许多时间和精力都浪费在无效的重复之中,更可怕的是产品质量很难有有效的保证。我在选择是否使用LabVIEW时就曾考虑过这个问题:为什么我们总要重复做我们做不好的事情,而不去选择很成熟的产品呢?基于上述的原因,我选择了LabVIEW,选择了NI。这就是我所以选择LabVIEW的第三个理由。

过去,我们往往把独立搞设计、做事情看成是一种能力,并来炫耀自己。其实,当世界经济多元化时代到来时,能够选择、发现、使用更优秀的产品(部件),才是一个优秀的设计者。设计者只有跳出什么都由自己来做的怪圈,才能更新、更快、更好的完成设计任务。

当然,如果你有能力还可以使用LabVIEW设计、开发自己的硬件模块,NI提供了支持第三方的cRIO设计工具包甚至包括cRIO的模块盒,完全可以在此基础上设计自己的应用模块。现在由第三方设计的cRIO模块已经有很多了。同时,我们还将看到许多第三方设计的基于USB2.0的采集模块出现。

 

       最后我想说的是:是否使用LabVIEW要根据自己的环境、资金和今后的发展方向来考虑。想学习LabVIEW,但不是用于测试、测量自动控制方面,我建议先不要学习。

LabVIEW是很容易上手的,但要编出很好的程序还要深入学习更多知识和技巧,学习本身就是一个艰苦的事情(当然也会带来乐趣),希望学习者要有足够的心理准备。

LabVIEW是面向测试测量自动化方面的平台,在测试测量的许多领域NI都提供了相应的软、硬件,包括许多专业级的工具包。我相信它的应用前景是非常美好的。

从我个人两年多的学习中,体会到学习LabVIEW的几个理由,希望这点体会对准备学习和刚刚开始学习LabVIEW的朋友能有一定的帮助。

 

祝大家好运!

 

原创博客  参加大赛  欢迎投票  请勿转载

2006-12-17

系统分类: 软件开发   |    用户分类:    |    来源: 原创

评论(14) | 阅读(2909)
发表于:2006-12-9 0:26:49
标签:虚拟仪器  LabVIEW  

40

学习LabVIEW的理由(2)

     在理由(1)中,通过计算机编程语言的发展简要说明了LabVIEW是一种从高级语言抽象出来的超级编程语言。当然,称LabVIEW超级编程语言可能有些为过,因为它毕竟还不是通用的编程语言。但就自动化测试、测量方面的编程而言,LabVIEW的出现绝对是革命性、创造性的。原因就是它从根本上,改变了人们所习惯的、传统的撰写代码的编程方式,取而代之的是使用鼠标来点击、拖拽图形、图标、连线节点等方式来进行编程。而这些图形、图标所代表的“控件”或“函数(或方法)”是通过对高级语言进行高度抽象所得,所以使得整个编程的过程变得更加简单、方便、有效,从而彻底将编程人员从复杂的语法结构及众多的数据类型和不停的编写代码、编译、查找错误的过程中解放出来,使程序设计者能够更加专注于应用程序的设计,而不用担心语法、指针等是否使用的正确。这种编程方式大大降低了程序设计的复杂度。

 

除了图形化的编程方式简单、方便外,LabVIEW的优势还体现在以下几个方面:

跨平台特性:

       LabVIEW支持WindowsMac OS XLinux等多种计算机操作系统,这种跨平台特性在当今的网络化时代是非常重要的。试想在Linux 操作系统下设计的VI,通过网络传递到其它平台上无需改变任何代码,即可使用或调试是一件多么爽快的事情。这大大改善了使用者之间的交流、沟通及评估的灵活性。同时,它还可以充分利用不同平台自身所具有的优异性能,例如:Windows系统的广泛性;Mac OS X系统的美观、时尚;Linux系统的安全性等等。

       随着,计算机操作系统的不断升级和改进,使LabVIEW的开发环境也同样得以不断的改善。举一个简单的例子:我从网上下载升级了IE 7.0浏览器(英文版),它的界面风格变得更加美观、时尚。而它正是来自Microsoft 最新的操作系统Vista。可以想象的到,未来在新的操作系统上使用LabVIEW,它的GUI一定会同样美观、时尚。

 

对其它编程语言的支持:

       尽管LabVIEW已是一个独立的图形化软件编程开发环境,但是为了照顾到已习惯使用其它的高级编程语言的编程者,它还提供了兼顾其它高级编程语言的开发环境,使已习惯于其它编程语言的使用者也能够充分利用LabVIEW的强大的自动化测试、测量及分析、处理能力。

       LabWindows/CVI提供了对ANSI C 的支持。

       Measurement Studio 提供了对Visual BasicVisual C# Visual C++的支持。

 

开放的开发平台:

LabVIEW还是一个开放的开发平台,提供广泛的软件集成工具、运行库和文件格式,可以方便的与第三方设计和仿真连接,例如:

DLL、共享库

ActivcXCOM.NET(微软)

DDETCP/IPUDP、以太网、蓝牙

CANDeviceNetModbusOPC

高速USBIEEE1394GPIBRS232/485

数据库(ADOSQL等)

 

对便携式及嵌入式开发:

       LabVIEW PDA支持便携式手持系统PDA(个人数字处理器)的开发应用,支持Pocket PC OSs Windows CE。使用LabVIEW可以创建自定义的便携式测试分系统。

       LabVIEW嵌入式开发模块支持对32位处理器的图形化开发。目标处理器如:PowerPCARMTI C6xx86架构;支持的嵌入式操作系统如:VxWorseCosWindows和嵌入式的Linux

       LabVIEW DSP工具包还支持TIDSP设计开发。

       LabVIEW FPGA 模块还支持FPGA设计。丰富了RIO系列模块的自定义功能。

 

图形化的强大的分析、处理能力:

       LabVIEW提供了无比强大的分析、处理VI库及许多专业的工具包,例如:高级信号处理工具包、数字滤波器设计工具包、调制工具包、谱分析工具包、声音振动工具包、阶次分析工具包等(当然都是要花钱购买的),这是任何其它高级编程语言无法提供的。结合LabVIEW独特的数据结构(波形数据、簇、动态数据类型等)使得测量数据的分析、处理非常简单、方便、并且实用性很强。很难想象,如果使用代码编程进行数字滤波设计或功率谱分析会增加多少工作量,甚至能否设计完成都值得去考虑。

       特别是:NI新近推出的LabVIEW MathScript,将面向数学的文本编程扩展加入到了图形化的LabVIEW中来,提供了除图形化数据流编程以外的另一种自定义开发应用系统的方法,为使用者提供了获得最佳方案设计选择的机会。

       LabVIEW最大的优势就在于图形化的分析处理方法。从应用角度看,LabVIEW的分析处理能力绝对是超级的,它使得设计者会更加专注于应用项目的设计,而不是如何进行数据的分析、处理。从而给设计者带来更多的是工作中的快乐和工作中的成就感。这一点我的体会是极为深刻的。

       LabVIEW的另一个优势就是仿真能力,在设计原型阶段可通过仿真来评估设计的合理性和正确性。由于使用的是图形化的编程方法,这样的工作很快就可以实施并及时得到真实的仿真结果。

       我做的一个电力质量分析的项目(见下图):要求测试分析电网各相电压、电流中的25次谐波内的全部谐波含量(THD)。同时,还要求对各次谐波含量以百分数和柱状图形分别显示出来。使用LabVIEW很快就完成了,真不知道如果使用其它编程语言会搞到什么时候。

 点击看大图

编程效率极高:

       最后,要谈谈图形化编程的最大特点。使用LabVIEW图形化编程的最大特点就是编程效率极高。关于图形化编程可以减少编程时间、缩短开发周期、降低开发成本等说法,已在很多介绍 LabVIEW的书中进行了表述,我不准备再进行复述。这里,从另外一个角度仅谈谈自己对这方面的体会。

       作为应用项目的设计开发者,通常的关注点是:设计的合理性和最终结果的正确性。当然,他们也会注意到编程过程的效率。实际上,减少编程时间、缩短开发周期、降低开发成本等大多都是从整体经济利益方面来考虑的。我个人认为:在提高效率这方面,人们往往忽略了“人——设计者”的效率得到提高这个要素。由于LabVIEW采用的是图形化编程的方法,所以大大降低了编程过程的复杂度,请看下图1中一个有效值测量的程序框图。这里仅仅使用几个VI就可以非常简单、迅捷的完成程序设计,实现分析和对结果的处理。如果在此基础上还要进行其它分析,比如:谐波分析、频率测量、功率谱分析等,最多就是再添加三个图标(VI),以及连接到相应的图形指示器和数字指示器。对于多通道测试几乎无须添加任何分析,仅添加几个通道VI而已。

 点击看大图

1连续有效值测量

       举这个例子要说明的问题是:图形化编程简单、方便、非常灵活的实现程序设计,立即运行就可以看到分析处理结果。特别是LabVIEW的即时编译能力,可以在编程的同时进行检查,及时发现错误代码。正是因为编程效率高,改动及替换方便,程序代码直易懂,所以会更加激发设计者的创造性思维及成就感,自然就会把设计工作重点放在如何更好的分析、处理上,而不是如何编程上。换句话说,当一个新的设计思想出现后,马上就可以得到实验验证或改进,甚至是边设计边改进。其它高级编程语言都不会如此的快速、方便(因为要写许多代码和进行编译后才能运行)。所以,我们说:增强设计者的创新效率和信心是LabVIEW不可忽视的内在特点,其价值是无法估量的。

 

       事实上,我们已经看到:LabVIEW的发展是迅速的,并且是紧跟时代科学技术的发展比如:它对嵌入式的支持、对DSP的支持以及对FPGA的支持。所以通过学习LabVIEW会同样保证我们技术的持续进步,而付出的代价相对是比较小的。

       在学习LabVIEW的理由(1)中,我们强调LabVIEW是一种图形化的超级编程方法很值得大家学习。

       在学习LabVIEW的理由(2)中,我们强调LabVIEW的图形化分析处理能力和编程效率,仅这一点就更值得大家来学习。

 

原创博客  参加大赛  欢迎投票  请勿转载 

                                  2006-12-8

系统分类: 软件开发   |    用户分类:    |    来源: 原创

评论(11) | 阅读(3486)
发表于:2006-11-30 23:18:33
标签:无标签

65