labview保存波形数据编程里面的那个时间连接的那个控件叫什么怎么找 还有那个波形选择后面的控件叫什么

安全检查中...
请打开游览器的javascript,然后刷新游览器
浏览器安全检查中… .
还剩 5 秒&labview学习方法
labview学习方法
相关热词搜索:
篇一:Labview学习攻略
Labview学习攻略
怎样学习labview
学习labVIEW首先要找一本好的教材,这里推荐清华大学出版社的《LabVIEW8.20 程序设计从入门到精通》和电子工业出版社的《LabVIEW程序设计教程(第2版)》(这两本书都可从网上下到实例,对学习很有帮助)
关于安装LabVIEW软件,要一次性把破解版的装好,不然卸载了再来装的话就装不上去了(NI的软件都是这样,multisim也是),清理注册表都没用,除非重装系统。
推荐几个学习LabVIEW很好的网站,一个是,还有一个是WGSDzone,上面有很多学习的资料,在WGSDzone上还可以找到高手请教。
下面是《LabVIEW8.20 程序设计从入门到精通》一书作者的学习心得,写的相当好。
如何学好LabVIEW,我的个人经验
由于LabVIEW是区别于传统文本编程语言的图形化编程语言,因此很多人在刚接触
LabVIEW时总是觉得无从下手,其实LabVIEW远比纷繁复杂的C语言、VC、VB好学多了,因为学习LabVIEW不需要去记忆那些和你关心的事情无关的语法、定义之类的东西。她的门槛也非常低,你可以没学过任何编程语言就开始学习LabVIEW。当然,有点其它编程语言的背景会使你学得更快些而已。我了一些自己的学习经验,拿出来与大家分享,希望对后来者有些帮助:) 1、找一本好书入门.
入门主要是熟悉基于数据流的编程方法、控件、数组、簇、程序结构、子VI等等,入门后就可以根据你的需要跳着看了.书最好是纸质的,电子版让人头晕,我电脑里堆满了电子版书籍,但没有一本我好好看过。在我学习LabVIEW的时候,中文图书比较少,我主要看的是英文版的LabVIEW高级编程。现在,我想我的《LabVIEW8.20 程序设计从入门到精通》是一本不错的教程,不仅可以拿来入门,还可以随时拿出来当手册参考,因为这本书涵盖的知识点非常全面。我现在都会经常的去查阅这本书,因为即使是我写出来的东西,我也不可能都记那么清楚。 2、多学习实例。
我在学习LabVIEW入门后,以后的提高可以说完全是靠LabVIEW自带的实例和帮助手册完成的。当时,我需要编写一个规模非常大、功能也很复杂的系统。我并没有依靠自己的现有知识立即着手去编写这个系统,而是将LabVIEW所有自带的实例都看了个遍,当我把所有的知识点都成竹在胸后,我才开始整个系统的设计,这样才最终保证了整个系统的完美实现。不过LabVIEW很多自带的实例看上去比较复杂,因为很多都涉及一些专业的算法,并有很多附加的功能。为了让大家能轻松的学习每一个知识点,我在《LabVIEW8.20程序设计从入门到精通》一书的编写过程中,几乎为每个知识点都编写了针对性较强的实例,我想这样可以极大的加速读者的学习过程。
3、多尝试编写自己的小程序
这也许是学习任何语言都必要的途径。对于LabVIEW这种操作性很强的编程语言来说更是如此。只有当你写出的程序能实现你设想的功能时,也许你才能真正理解你的程序,因为在写程序的过程中就是一个不断加深理解的过程。因此我建议初学者尽量去试着编写代码,即使是照葫芦画瓢也是好的。
4、对于硬件相关的问题,最好直接问NI工程师。
由于硬件问题针对性太强,任何一本教程都不可能去全部涉及。一般情况下主要参考硬件手册,但是仍然解决不了问题时,你完全没有必要在那里死扛,打个电话给NI工程师,也许你的问题很快就能得到解决。NI工程师都是很不错的,非常耐心,而且都是一副不解决问题誓不罢休的样子,狂赞!
能想到的就是这些了。说实话,LabVIEW是我所学习过的编程语言中最简单易学的了,我也想象不出将来还会出现比LabVIEW更简单但还能够如此强大的编程语言。我相信你只要能用心学上一个星期,你就会对LabVIEW爱不释手的!
附录ALabVIEW快捷键大全
附录B学习LabVIEW的理由
学习LabVIEW的理由
爱需要理由!
不爱需要借口!
难道学习还需要什么理由吗?
的确,学习任何知识都不需要找出一个理由。
但是,如果你置身于工业测试、测量领域,我还是建议你学习LabVIEW。
请关注这样一个事实:哪种高级计算机语言可以让50多岁的人也能够开始学习计算机应用程序设计,并能够很快达到专业程序员的设计水平?谁能告诉我答案!可是LabVIEW的确做到了,我就是答案。
不过还是先不要急着下决心,不妨先看看我学习LabVIEW的理由。
1图形化编程的特点使得老少皆易
就工业自动化领域测试、测量方面的应用程序设计而言,LabVIEW的出现绝对是革命性、
创造性的。原因就是它从根本上改变了人们所习惯的、传统的基于文本撰写代码的编程方式,取而代之的是使用鼠标来点击、拖拽图形、图标、连线等方式来进行程序设计。而这些图形、图标所代表的“控件”或“函数(或方法)”是通过对高级语言进行高度抽象所获得的。所以使得整个编
程的过程变得更加简单、方便、有效,从而彻底将编程人员从复杂的语法结构以及众多的数据类型和不停的编写代码、
编译、查找错误的过程中解放出来,它为程序员的程序设计工作降低了复杂度,使程序设计者能够更加专注于应用程序的设计,而不用担心语法规则、指针等是否使用的正确。使许多像我一样没有进行过专门程序设计学习的人,成为高生产力、高效率的程序设计者。
在我退休以后,或许会与我的孙子辈(目前没有)一起共享LabVIEW给我们带来的快乐,他玩弄他的机器人(图形化编程的乐高机器人),我仍然继续搞我的虚拟仪器项目学习、开发工作。
系统级的图形化编程环境
之所以说LabVIEW是系统级的图形化编程环境,就是因为它提供了一整套基于图形化的软件程序设计方法,包括从编译、调试、发布等等一整套技术环节。
系统级的意义还在于它还提供了相应的硬件体系架构和管理软件体系。
LabVIEW还支持Windows、Mac OS X、Linux等多种计算机操作系统,这种跨平台特性在当今的网络化时代是非常重要的。试想在Linux操作系统下设计的VI,通过网络传递到其它平台上无需改变任何代码,即可使用或调试是一件多么爽快的事情。这大大改善了使用者之间的交流、沟通及评估的灵活性。同时,它还可以充分发挥、利用不同平台自身所具有的优异性能,例如:Windows系统的广泛性;Mac OS X系统的美观、时尚;Linux系统的安全性等等。
随着,计算机操作系统的不断升级和改进,使LabVIEW的开发环境也同样得以不断的改善。举一个简单的例子:Microsoft 最新的操作系统Win7,界面风格进一步改善,在新的操作系统上使用LabVIEW,它的GUI一定会更加美观、时尚。
尽管LabVIEW已是一个独立的图形化软件编程开发环境,但是为了照顾到已习惯使用其它的高级编程语言的编程者,它还提供兼顾其它高级编程语言的开发环境,使已习惯于其它编程语言的使用者也能够充分利用LabVIEW的强大的自动化测试、测量及分析、处理能力。篇二:如何学习和学好LABVIEW
由于LabVIEW是区别于传统文本编程语言的图形化编程语言,因此很多人在刚接触
LabVIEW时总是觉得无从下手,其实LabVIEW远比纷繁复杂的C语言、VC、VB好学多了,因为学习LabVIEW不需要去记忆那些和你关心的事情无关的语法、定义之类的东西。她的门槛也非常低,你可以没学过任何编程语言就开始学习LabVIEW。当然,有点其它编程语言的背景会使你学得更快些而已。我总结了一些自己的学习经验,拿出来与大家分享,希望对后来者有些帮助:)
1、找一本好书入门.
入门主要是熟悉基于数据流的编程方法、控件、数组、簇、程序结构、子VI等等,入门后就可以根据你的需要跳着看了.书最好是纸质的,电子版让人头晕,我电脑里堆满了电子版书籍,但没有一本我好好看过。在我学习LabVIEW的时候,中文图书比较少,我主要看的是英文版的LabVIEW高级编程。现在,我想我的《LabVIEW8.20 程序设计从入门到精通》是一本不错的教程,不仅可以拿来入门,还可以随时拿出来当手册参考,因为这本书涵盖的知识点非常全面。我现在都会经常的去查阅这本书,因为即使是我写出来的东西,我也不可能都记那么清楚。
2、多学习实例。
我在学习LabVIEW入门后,以后的提高可以说完全是靠LabVIEW自带的实例和帮助手册完成的。当时,我需要编写一个规模非常大、功能也很复杂的系统。我并没有依靠自己的现有知识立即着手去编写这个系统,而是将LabVIEW所有自带的实例都看了个遍,当我把所有的知识点都成竹在胸后,我才开始整个系统的设计,这样才最终保证了整个系统的完美实现。不过LabVIEW很多自带的实例看上去比较复杂,因为很多都涉及一些专业的算法,并有很多附加的功能。为了让大家能轻松的学习每一个知识点,我在《LabVIEW8.20 程序设计从入门到精通》一书的编写过程中,几乎为每个知识点都编写了针对性较强的实例,我想这样可以极大的加速读者的学习过程。
3、多尝试编写自己的小程序
这也许是学习任何语言都必要的途径。对于LabVIEW这种操作性很强的编程语言来说更是如此。只有当你写出的程序能实现你设想的功能时,也许你才能真正理解你的程序,因为在写程序的过程中就是一个不断加深理解的过程。因此我建议初学者尽量去试着编写代码,即使是照葫芦画瓢也是好的。
4、对于硬件相关的问题,最好直接问NI工程师。
由于硬件问题针对性太强,任何一本教程都不可能去全部涉及。一般情况下主要参考硬件手册,但是仍然解决不了问题时,你完全没有必要在那里死扛,打个电话给NI工程师,也许你的问题很快就能得到解决。NI工程师都是很不错的,非常耐心,而且都是一副不解决问题誓不罢休的样子,狂赞!
能想到的就是这些了。说实话,LabVIEW是我所学习过的编程语言中最简单易学的了,我
也想象不出将来还会出现比LabVIEW更简单但还能够如此强大的编程语言。我相信你只要能用心学上一个星期,你就会对LabVIEW爱不释手的!
LV:初看LV,确实比较怪,一时也难接受,不过对于容易接受新事物的我们来说,接受它也不是问题。但通过多方面了解,感觉LV在做小测量,小测试,实验室、科研所做个虚拟仪器什么的应该比较快,真正体现了“软件就是仪器”的虚拟仪器思想,但用LV来写比较大的测控程序的话,应该是比较乱,容易眼花,文档管理也不规范(这一点对软件的可读、项目的继承、后期的维护要足够重视,除非你想今天干了明天不干了,把烂摊子丢给别人或公司。),而且用LV的话,硬件选择受局限,当然NI提供的硬件都有LV驱动,但要是选别的厂商的硬件,一般会有C、VC、VB驱动,有LV驱动的相对少点,这样硬件会受制于NI,没有竞争的市场是不正常的市场,大家也都明白。如果你是实验室、科研院所,就是为了做一个虚拟仪器,本人建议你用LV,方便、快捷。除此外还是不要选LV的好。
C:C语言相信理工科的学生都知道,这样一个语言能流传至今,实是不易,而且对硬件的操作方便,编译效率高,执行速度快。但是“向对象编程”这一方面,它是不足的,如果说“面向对象编程”是3G,C语言也就是2G吧,它当年的长处是模块化、结构化,跟后来的“面向对象编程”思想相比差点。如果你做的程序不是很大,关系也不复杂(其实程序即使大也没关系,主要是关系不要复杂,如果复杂了就用“面向对象编程”的工具吧,这种思想在解决这方面问题是优势),而且不象商业化的软件那样具备很多功能,临时选用C一下,也是可以的,出活快是最大优势,而且遇到问题也比请教LV方便的多,因为专业程序员可以为你解答,用LV就没有这个好处了,对一件事来说,遇到很重要很难的的问题没人替你解决,将是很痛苦、很危险、很致命的。
VC:VC经过多年的应用,在“面向对象”编程这一方面,已得到大家的认可,会的人多,技术成熟,要解决什么问题,基本都能找到原代码。总的来说,这是一个非常好的工具,跟VB比起来,执行速度快,但VC比VB难学,即使有C语言基础,而且部分功能做起来比VB麻烦,这也是用VB的人比用VC的多的原因,如果你对执行速度要求不是很高,不是真的尖端的东西,如果VC,VB你都不会,即使会C语言,本人建议大家还是用VB, 有时间、有能力学VC,用来学VB肯定没问题!!!当然是Measurement Studio下的VB了,NI提供一些测试专业化的控件,看起来好看、专业吧。
综上所述:
如果你在实验室、科研院所就是为了做一个“虚拟仪器”,选用LV是很好的。简单也就无所谓软件存档了。
如果你的活不是很复杂,用C语言也可以,出活快。也不用学VC,VB什么的,可能你还有C语言的基础,如果你C语言也不会,那你就找个学生帮你写吧,给点银子给他们,对双方都是好事啊,呵呵,当然软件注释、文档存档还是必须的!!
如果是一个比较正规的软件,关系比较复杂,还是用Measurement Studio下的VB吧。如果你用VC很多,那当然还是用VC了。你要是以后常用,现在学VB吧,很快的。
选用C、VB、VC的共同好处是,遇到棘手的问题,可以请教专业程序员帮你解决,如果用LV,相信很难方便的找到专业程序员帮你,你不要相信NI的支持,他要是天天写LV,是LV的高手,而且经过“工程实
战”(这一点很重要)。那他还干别的吗(如了解NI的所有产品情况)?要是不做别的,又怎么做支持呢?而且我们已经试过了,不信你可以试试。
本人背景:写这一点,只是说明上面所说的可信度。
本人出身理工科。我学的是机械类,但大学接触计算机后,对软件、硬件比较喜欢,C语言是学校考试课,学得相当不错(但没有C语言的工程项目经验,除了上面的“飞行控制计算机”那个程序),后跟同学开始自学VC(那个同学后来转入本校“软件学院”,现在从事专业编程,经过3家公司,都得到到认可,总的来说,是很不错的,现在是一家外资公司软件部门领导),毕业后感觉VC太难,一时找不到好工作,(现在想来是错了,要是当年开始做软件,相信现在也是相当不错的,不过从事硬件开发工作,有软件的基础,也是有“在导演圈里比谁相声说得好”的功效,也不错,做东西的时候,知道这两方面的东西,有时候很重要。)。学过一周VB,后来没用,对它的认识也就不是信口雌黄了!
写到此,欢迎大家发表意见,以期抛引玉,权当为了中国的测试工程师们吧。篇三:为什么要学习labview
从“机器语言”抽象到“汇编语言”,又从“汇编语言”抽象到“高级语言”。那么问题是:“高级语言”是否还可以进一步进行抽象出“某种超级编程语言”呢? 从计算机语言的发展规律来看,回答是肯定的。并且,二十年前这种语言就已经出现,那就是:LabVIEW――一种图形化编程语言。
图形化编程语言:
LabVIEW发展到今天,我认为:LabVIEW是从“高级语言”中抽象提炼出来的超级编程语言(到目前为止我还没有从哪本中外LabVIEW书籍中看到这样的提法或概念)。
这种将“高级语言”传统的写代码的编程方式,抽象变为以“图形、节点、连线”方式的编程语言,的确具有超级编程语言的特点。
用C和C++编写的LabVIEW具有比C和C++更明显得优点。
LabVIEW本身的易学易用、即学即用的特点也充分的证明了这个观点。
问题在于:图像化的编程方法是否真的就会比“高级语言”代码编程方法更高级?我的回答应该是肯定的。下面通过两个例子来进一步说明:
小时候,在我们刚刚开始会说话时,大人通常是用“看图说话”的方式来教我们认识什么是苹果?什么是梨?什么是香蕉?显然,利用图形或图像的概念使我们很快认识了这些水果。试想如果用文字或拼音来教我们认识这些水果,效果决不会好的。换句话说,图形或图像由于简洁明确,的确要比文字或拼音更适合初学者来认识和区分。事实上,编程语言也是具有相同的规律。
对于学习过某种高级语言的人来讲,对复杂的语法规则、指针、内存、类库等等的掌握根本谈不到轻松易学。
LabVIEW做到了这一点,用LabVIEW编程根本无需考虑什么:语法规则、指针、内存、类库等。LabVIEW这种图形化语言将许多复杂的事情抽象的极为简单明了。
时光倒退回二十多年前,那时人们对计算机的操作、控制还基于称为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
仪器I/O助手
难道这些不是吗?
通过计算机编程语言的发展简要说明了LabVIEW是一种从高级语言抽象出来的超级编程语言。当然,称LabVIEW为超级编程语言可能有些为过,因为它毕竟还不是通用的编程语言。但就自动化测试、测量方面的编程而言,LabVIEW的出现绝对是革命性、创造性的。原因就是它从根本上,改变了人们所习惯的、传统的撰写代码的编程方式,取而代之的是使用鼠标来点击、拖拽图形、图标、连线节点等方式来进行编程。而这些图形、图标所代表的“控件”或“函数(或方法)”是通过对高级语言进行高度抽象所得,所以使得整个编程的过程变得更加简单、方便、有效,从而彻底将编程人员从复杂的语法结构及众多的数据类型和不停的编写代码、编译、查找错误的过程中解放出来,使程序设计者能够更加专注于应用程序的设计,而不用担心语法、指针等是否使用的正确。这种编程方式大大降低了程序设计的复杂度。
除了图形化的编程方式简单、方便外,LabVIEW的优势还体现在以下几个方面:
跨平台特性:
LabVIEW支持Windows、Mac OS X、Linux等多种计算机操作系统,这种跨平台特性在当今的网络化时代是非常重要的。试想在Linux 操作系统下设计的VI,通过网络传递到其它平台上无需改变任何代码,即可使用或调试是一件多么爽快的事情。这大大改善了使用者之间的交流、沟通及评估的灵活性。同时,它还可以充分利用不同平台自身所具有的优异性能,例如:Windows系统的广泛性;Mac OS X系统的美观、时尚;Linux系统的安全性等等。
随着,计算机操作系统的不断升级和改进,使LabVIEW的开发环境也同样得以不断的改善。举一个简单的例子:我从网上下载升级了IE 7.0浏览器(英文版),它的界面风格变得更加美观、时尚。而它正是来自Microsoft 最新的操作系统Vista。可以想象的到,未来在新的操
作系统上使用LabVIEW,它的GUI一定会同样美观、时尚。
对其它编程语言的支持:
尽管LabVIEW已是一个独立的图形化软件编程开发环境,但是为了照顾到已习惯使用其它的高级编程语言的编程者,它还提供了兼顾其它高级编程语言的开发环境,使已习惯于其它编程语言的使用者也能够充分利用LabVIEW的强大的自动化测试、测量及分析、处理能力。
LabWindows/CVI提供了对ANSI C 的支持。
Measurement Studio 提供了对Visual Basic、Visual C# 及Visual C++的支持。
开放的开发平台:
LabVIEW还是一个开放的开发平台,提供广泛的软件集成工具、运行库和文件格式,可以方便的与第三方设计和仿真连接,例如:
DLL、共享库
ActivcX、COM和.NET(微软)
DDE、TCP/IP、UDP、以太网、蓝牙
CAN、DeviceNet、Modbus、OPC
高速USB、IEEE1394、GPIB、RS232/485
数据库(ADO、SQL等)
对便携式及嵌入式开发:
LabVIEW PDA支持便携式手持系统PDA(个人数字处理器)的开发应用,支持Pocket PC OSs 及Windows CE。使用LabVIEW可以创建自定义的便携式测试分系统。
LabVIEW嵌入式开发模块支持对32位处理器的图形化开发。目标处理器如:PowerPC、ARM、TI C6xx86架构;支持的嵌入式操作系统如:VxWors、eCos、Windows和嵌入式的Linux。
LabVIEW DSP工具包还支持TI的DSP设计开发。
LabVIEW FPGA 模块还支持FPGA设计。丰富了RIO系列模块的自定义功能。
图形化的强大的分析、处理能力:
LabVIEW提供了无比强大的分析、处理VI库及许多专业的工具包,例如:高级信号处理工具包、数字滤波器设计工具包、调制工具包、谱分析工具包、声音振动工具包、阶次分析工具包等(当然都是要花钱购买的),这是任何其它高级编程语言无法提供的。结合LabVIEW独特的数据结构(波形数据、簇、动态数据类型等)使得测量数据的分析、处理非常简单、方便、并且实用性很强。很难想象,如果使用代码编程进行数字滤波设计或功率谱分析会增加多少工作量,甚至能否设计完成都值得去考虑。
特别是:NI新近推出的LabVIEW MathScript,将面向数学的文本编程扩展加入到了图形化的LabVIEW中来,提供了除图形化数据流编程以外的另一种自定义开发应用系统的方法,为使用者提供了获得最佳方案设计选择的机会。
LabVIEW最大的优势就在于图形化的分析处理方法。从应用角度看,LabVIEW的分析处理能力绝对是超级的,它使得设计者会更加专注于应用项目的设计,而不是如何进行数据的分析、处理。从而给设计者带来更多的是工作中的快乐和工作中的成就感。这一点我的体会是极为深刻的。
LabVIEW的另一个优势就是仿真能力,在设计原型阶段可通过仿真来评估设计的合理性和正确性。由于使用的是图形化的编程方法,这样的工作很快就可以实施并及时得到真实的仿真结果。
编程效率极高:
最后,要谈谈图形化编程的最大特点。使用LabVIEW图形化编程的最大特点就是编程效率极高。关于图形化编程可以减少编程时间、缩短开发周期、降低开发成本等说法,已在很多介绍 LabVIEW的书中进行了表述,我不准备再进行复述。这里,从另外一个角度仅谈谈自己对这方面的体会。
作为应用项目的设计开发者,通常的关注点是:设计的合理性和最终结果的正确性。当然,他们也会注意到编程过程的效率。实际上,减少编程时间、缩短开发周期、降低开发成本等大多都是从整体经济利益方面来考虑的。我个人认为:在提高效率这方面,人们往往忽略了“人――设计者”的效率得到提高这个要素。由于LabVIEW采用的是图形化编程的方法,所以大大降低了编程过程的复杂度,请看下图1中一个有效值测量的程序框图。这里仅仅使用几个VI就可以非常简单、迅捷的完成程序设计,实现分析和对结果的处理。如果在此基础上还要进行其它分析,比如:谐波分析、频率测量、功率谱分析等,最多就是再添加三个图标(VI),以及连接到相应的图形指示器和数字指示器。对于多通道测试几乎无须添加任何分析,仅添加几个通道VI而已。
各位看过之后有什么感想呢,你为什么要学labview呢?是带有目的性的,还是真的被其强大所吸引?还是别的什么,一起来探讨分享下吧,分享自己的喜怒哀乐。
PCB打样找华强 /3 样板2天出货篇四:LABVIEW学习中常遇到的50个问题及解答
Labview初学者常见问题以及解答
1、Labview如何实现由一个事件引发其他三个事件的顺序发生,且这三次事件间的时间间隔为50ms?
回答:可以引用状态机来设计程序,将触发事件作为状态机的状态控制参数,后面发生的三个事件依次作为状态机的三个顺序状态,设置状态切换时间间隔为500ms.
2、labview在主程序通过局部变量不能实时看子vi的参数
回答:通过局部变量只能得到子vi运行完之后的结果。可以用control reference 方式,在子vi加一个属性节点引出一个reference。
主程序里把需要显示的控件创建一个reference连到子vi的reference输入端口。另外也可以用vi server方式实现。
3、如何在一个graph或chart显示多个Y轴刻度,并且使每个通道对应每个刻度?
回答:在前面板上,右键点击刻度,然后选择duplicate scales,就会创建一个新的刻度。然后再点击右键,选择swap sides,就可以让刻度显示在图的左边或右边。然后右键右上角的plot legend上的曲线plot,选择Y scales然后就可以选择与该曲线相应的Y轴SCALES。多条曲线对应多条Y轴的刻度时,是同样的方法。
4、如何从labview中打开一个pdf文件?
回答:最简单的方法:用system exec.vi实现,在system exec.vi的command line 端口创建一个常量,输入adobe reader 的路径,再加上文件名等几个参数就可以实现上述要求。举例如下:如果要拉开位于c盘的1234.pdf文件可以这样写“C:\Program files\Acrobt 7.0\Acrobat\Acrobat.exe”/t
“C:\1234.pdf” “username”其中C:\Program files\Adobe\Acrobt 7.0\Acrobat\Acrobat.exe是Adobe Reader 的安装路径,/t是命令参数,C:\1234.pdf则是要打开的文件名,最后的username是用户的名字
5、采集数据在graph如何显示系统时间,并且随着采集点数时间不断刷新。 回答:有两种方式,一种是采集波形数据然后输出给graph,在graph上选择显示绝对时间,并且去掉ignore time stamp选项。第二种是采集数据文件,然后用获取时间的vi获取当前时间,然后把采集的数据文件和当前vibuild成波形文件再给graph.graph的设置和前种方法一样。这样就可以显示出时间虽采集点不断刷新的效果。
6、report generation里的standard和HTML究竟是什么意思?
回答:STANDARD和HTML是LV本身就有的报表类型,无须安装其他的文本编辑工具就可以打印。STANDARD是LV内建的一种报表格式,可以打印但不能存盘,也就是说我们的报表没有电子版。HTML是网页格式的文件,可以用浏览器打开,
其实相当于LV帮我们编写HTML代码,这种格式是不能直接打印的,需要先指定网页路径才能打印出来。还要注意,如果是一段程序是用了report
generation的vi,在打包成exe文件或llb文件时,需要加入两个动态
vi:_excel dynamic vi和 _word dynamic vi。如果生成的报表采样了模板需要自支持文件里添加相应模板。
7、如果要将channel名字,测的是什么信号,采样率是多少这样的数据和采得数据一起存入文件应该用什么方式比较好?
回答:推荐一种以前基本被忽略的文件结构――TDM FILE格式来存,这种文件格式基于二进制的方式,而在存储过程中可以加入很多的外部信息进去,例如free text;free interger等等,所以存这样的应用还是挺合适的。
8、vi property 下execution中选项reetrant execution,选用和不选用有什么区别?
回答:如果主程序执行同一个子vi,是同时两次或多次执行时,在不选用时,就会依次使用这个子vi;如果选用,则这个子vi就会并行执行,提高程序运行速度。
9、为什么把LABVIEW程序框图解密以后,就可以一直打开程序框图,如何才能实现每次打开vi都是加密的?
回答:如果在LABVIEW解开程序的框图的密码,关闭以后该程序,不退出
labview,这个程序如果再次被打开会一直可以查看他的框图程序,原因是lv没有关闭,所以密码会一直存在内存当中,所以再次打开会依然看到程序框图,如果要实现每次打开都是加密的,只要在一次打开后,把labview也关掉,下次再想要查看程序框图就需要输入密码。
10、使用vi server技术,如何实现从一个vi打开运行并读取另一个vi中控件的值?
1) 调用Open vi reference.vi ,输入子VI的路径到其VI PATH的端口;
2) 调用Ivoke Node.vi并设为Open FP;
3) 调用Ivoke Node.vi并设为Run VI;
4) 调用Ivoke Node.vi并设为Get control Value[Variant];对Control Name端口填入子VI循环的停止按钮控件名称;Get Control Value [Variant]输入端的值通过Variant To Data .vi设为控件相对应的控件类型后,输出到前面板,这就可实现取VI控件的值;
5) 最后调用Close Reference.vi关闭VI Server。
11、连续采集程序分成配置task状态和采集状态两大部分。在配置状态中得配置出有效的task。根据需要在适当的时候进入采集状态。在采集状态中使用
start task 和read两个 vi并且循环执行。当程序开始后立刻报错。
回答:因为采集状态中使用start task和 read 两个vi并且循环执行,当采集已经开始后再使用start task就会重复开始相同的资源,导致资源冲突产生错误。建议start部分单独作为一个状态,在循环执行的状态中只使用read.vi。
12、LV7.1在前面板突然找不到Scrollbar了,现在想看或者操作屏幕之外的控件显示件非常麻烦,怎么能够找到Scrollbar?
回答:在File\VI Property\Window Appearance\Customize里有Show scrollbar的选项。
13、LV7.1如何实现将Chart的时间坐标与计算机系统时间一致?
回答:Chart属性Format And Precision选Absolute Time,显示方式改System Time Format 和System Data Format。程序框图里Get Data/Time In Seconds获取当前时间,转换为双精度浮点型后输入到Waveform Chart的属性节点Xscale. Offset。属性节点Xscale. Format设为模式7。
14、LV7.1如何设计时间输出格式为小时:分:秒.毫秒?
回答:用Get Data/Time In Seconds用来获得当前时间,另一个是Format Data/Time String函数,这个函数用来定义输出时间的格式,再time format string端口上输入字符串%H:%M:%S%.3u,然后time stamp连接Get Data/Time In Seconds的时间输出即可。关于时间格式的定义可以在help里看到。
15、为什么用子程序调用时pop up前面板,前面板总是自主程序后面?
回答:在window appearance里面选择default floating 和modal这三项,将主程序的选项设在较低的优先级而子程序设得高一点应该可以了。
16、如何读出excel里的数据来作分析?
回答:使用Excel Get Data.vi并在参数data type上使用二维字符数组可把Excel内数据以字符串的方式读出。
17、如何对Excel文件作数据续存?
回答:使用Excel Get Last Row.vi先将Excel内已有数据的最后一行的行数得出,再于该行开始续存数据。
18、如何将文件保存为Excel格式
1) 用ActiveX技术,将LV作为一个ActiveX服务器。可以参考National
Instruments\Labview 7.1\examples\apps\freqresp.llb VI库里面的
Frequency Response.vi例子程序。2)使用Report Generation工具包,它屏蔽了底层的ActiveX,使用比较简单,不过需要购买。3)保存为文本方式,后缀为.xls,这样子也可以用Excel打开,不过不能用Excel修改保存,要不然会自动修改为Excel文档,以后也不能用LV对其进行操作。
19、如何在table中既显示小数又显示整数
回答:table中显示的是字符串,显示小数还是整数是在转换成字符串而未放入table之前的过程中完成的,因此可以将整数小数分别转换成字符串后再合并输出到table中即可。
20、如何制作一个边框是透明的string控件
回答:选择一个classic simple string控件,使用工具模板的染色工具,在弹出的对话框中选择右上角“T”;一样的transparent,然后给这个控件染色就可以了。
21、循环采集并对采集的结果判断,前面板放置一个布尔报警灯,只保存报警的数据,并可回放,怎么实现?
回答:存储vi外加一个case结构,并以布尔报警灯作为判断,如果为真值,存储,为false,不存。回放有两种形式,即:可以把试验数据存储,然后回调。也可以把graph存为图片。
22、怎样把While loop的循环次数i写入Table的行头ColHdrs[]呢?
回答:创建Table的属性节点,属性ColHdrVis=T显示行头,ColHdrs[]连接一个字符串数组,需要将循环次数i加1,然后通过Number To Fractional String转化为字符类型,精度为0。添加移位寄存器,赋初值为空字符串数组,build array上端输入接移位寄存器,下端接数字,右端接ColHdrs[]和移位寄存器另外一端。
23、串口程序打包安装到一台没有LV环境的机器下,串口不可用,为什么? 回答:LV7.1的版本,在Application Builder中Installer页面选择:Advanced/Serial Port Support。
24、使用CLF节点调用DLL中的函数,如果原函数中指定的数据类型为结构,那么在CLF配置过程中该如何指定数据类型?
回答:可以选择数据类型(TYPE)为Adapt To Type,然后在输出或输入端口连接一个Cluster,这个Cluster的定义和原函数中结构的定义一样。选择Adapt To Type后,连接到端口的数据类型是什么,与函数接口的数据类型就
25、在子vi运行过程中,如何将数据实时传递到调用它的主vi中,而不是等待子VI运行结束后才在主VI中获得子Vi的输出数据?
回答:使用带控制参量的属性节点可以实现在子VI中修改主VI属性的目的,由于控件的值(Value)也是控件的属性之一,因此可以使用控制参量是新以上要求。在子VI中,使用带有控制参量的属性节点,将要传递到主VI的数据写入这个属性(Value)中,将控制参量要设置为Control,并且在子VI的连接器中进行定义;在主VI中,为接收子VIshuju的控件建立一个控制参量,将这个控制参量连接到子VI,即可达到在主VI中实时获取子VI数据的要求。
26、事件结构中两种事件类型,一个是通知事件(Notify),另一个是过滤事件(Filter),这两种事件的区别是什么?
回答:对于通知事件,程序可以感知事件的发生并且响应该事件,然后再处理在事件结构中定义的任务;对于过滤事件,程序感知事件发生后首先处理在事件结构中定义的任务,然后根据时间结构中的设定(Discard?)决定是否响应该事件。举例来说,时间为Panel Close,在事件发生时弹出一个对话框。如果是通知事件,首先响应事件关闭了前面板,因此没有办法处理“弹出对话框”的任务;如果是过滤事件,首先处理“弹出对话框”的任务,然后根据事件结构中的Discard的值判断是否关闭前面板,若Discard为T,则不关闭,若为F,则关闭。
27、LV7.1主程序已经完成,想在主程序运行之前,先执行一个别的界面,当退出该界面的时候,再显示主界面,如何实现?
回答:可以在主程序框图之前,将主程序前面板隐藏,调用子程序,推出子程序后,再显示主程序前面板。这可以通过VI属性节点来实现,先调用一个属性节点,右键选择Select Class/VI Server/VI,然后在属性中选择Front Pannel Window/State属性,分为设为Hide和Standard。Demo程序见项目进程管理中AE-01labview编程技术讨论的“主界面隐藏”。
28、将LV7.1前面板控件(graph)的内容保存成图像文件,在LV中如何编程实现?
回答:右键控件创建Invoke Node,选择方法为“Get Panel Image”;另外,调用Graphics &Sound/Graphics Formats下面的VI,将第二步获得的图像写入相应格式文件中。
29、在LV程序中使用matlab,生成exe文件以后,发现文件可以运行但是无法弹出运行界面。
回答:在lv中如果使用了MATLAB的话,生成EXE文件的时候需要加一个名为马特script.dll的文件作为支持文件,此外在目标PC上必须安装MATLAB软篇五:2.如何学习 LabVIEW
如何学习 LabVIEW
根据我自己的观察,学习LabVIEW一般有以下三种方式:系统型学习方法、探索型学习方法和目标驱动型学习方法。这三种方法之间并不矛盾,可以在不同的时段使用不同的方法。每个人可以根据自己的个性特点和所处环境选择一个适合自己的学习方案。
系统型学习方案是传统的学习方法,学生学习多是按此方法。它是指按照别人制定好的学习方案一步一步学习掌握一门知识。学习效果如何,主要取决于教师和教材的水平。若选此方案学习LabVIEW,最高效的方法莫过于参加NI公司的LabVIEW培训课程。基本上,完全没接触过LabVIEW的学员可以在一星期的时间内达到编写简单程序的程度。此外,现在很多大学都开有LabVIEW课程,方便了在校生学习。
自学也可以采用此方案。找一本教程类的书籍,按照书中指导一步一步学习。教程类的书籍应当侧重于解释LabVIEW的编程思想以及原理;有些书仅偏重于罗列LabVIEW中每个函数或VI的功能,则不适合用于此种学习方案。
探索型学习方法适合喜好自己钻研的人。同样一个技巧,如果是自己发现的,比从他人那里的来会更有成就感。任何一个教程都不可能覆盖到LabVIEW的全部功能,有学员不妨自己打开书中未曾介绍到的那些菜单或者函数选板,尝试一下它们都是做什么用的。在真正动手摆弄每个新东西之前,打开LabVIEW的即时帮助窗口,阅读一下相关说明可以大大加快学习过程。
比如,打开“应用程序控制”函数选板,发现这里有一项“选板编辑”。好像没有任何一本书里介绍过这个功能嘛,这是干啥用的呢?如果没任何提示,也是无从下手去尝试的。打开LabVIEW的及时帮助,可以看到它对这个功能的简单介绍。进入“详细帮助信息”,会得到更全面的说明。再自己动手实践一下,就基本可以掌握此功能了。
阅读他人代码也是一个很好的学习方法。自己的探索总是有思维局限性的,他人解决问题的方法可以大大拓宽自己思路。我介绍过的编程经验中,很大一部分都不是我自己凭空想出来的,而是借鉴与别人的LabVIEW代码。
目标驱动型学习方法是公司员工中最常见的学习方式了。工作后,如果不是个人有兴趣,多数人不会浪费时间去学习工作中用不到的知识。等老板布置了具体项目或者工作任务后再学习相关知识,效率更高。学也只要够解决眼前问题就行了。针对这种情况,请教身边牛人或者公司前辈是最好的学习方法。如果周围的人不能解决问题,到论坛上发贴,寻求更广泛的帮助。
一个论坛。首先是NI的官方论坛,这里会有NI的技术支持和研发工程师来回答问题。如果英文够好,最好是到它的英文版面去提问,英文讨论区人气更旺,容易找到答案。LAVA 是官方之外最大的LabVIEW社区,也是寻求帮助的好地方。如果平时用Windows Live Messenger,可以加入 http://labview./,这是个msn讨论LabVIEW 的群。在它上面讨论问题最大的好处是可以及时得到回应。
我见过几个工程师在项目中遇到了难题,于是来报名参加LabVIEW的培训课程,以为上完课可以解决自己的问题。但实际上完全误解了培训课程的意义,培训课程是为了帮助那些想要系统学习LabVIEW知识的人,而不专注于任何一个具体问题。

我要回帖

更多关于 labview 波形图 的文章

 

随机推荐