当前位置:文档之家› labview学习感受

labview学习感受

labview学习感受
labview学习感受

学习labview有快半年了,做个总结。回顾一下自己的摸索过程。

幸运的是有个项目用到Labview,因此边学边用,由于有前一项目的经验作参考,可以说是在模仿中学习。从学习到使用给我最大感受是labview编程容易上手,帮助文档方便,就是太贵了,比较少企业会使用,特别是小企业。虽然这样,还是很推崇学习labview的。废话少说,转入正题。

其实总结自己的摸索过程也等于是在做项目总结。首先从使用的模块做总结:

1、毫无疑问的串口通信;

2、与数据采集相对应的TDMS数据存储模块;

3、报表输出(word,excel,html);

4、连续的波形显示以及从TDMS里读取显示;

5、待解决的xcontrol控件;

模块分析:1、对于串口通信:主要是要设置成有数据即读取,而不能等到接收缓冲区满时再读取。2、TDMS数据存储,关键点是数据量大的时候如何压缩存储,以及利用TDMS本身的属性设置(可以参见TDMS属性设置帮助),减小存储文件的大小。否则如果数据发送速率快的话,文件大小是很可观的,压缩数据的方式有很多种,我采用的是读取采样间隔长度的数据,提取最大最小值的方式。具体如下:

1) 中间数组存储采样间隔长度的数据;2) 提取中间数组的最大最小值;3)删除中间数组的采样间隔长度;4)将删除后剩余的数组重新赋值给中间数组,给下一次使用。3、报表输出比较简单,la bview已经将要用到的程序封装成一个个VI,只需要调用这些VI,

拼凑成你需要的报表模板形式即可。这一块参考的是方慧敏写的报表输出demo程序。4、

最近开始了上下位机的联调,涉及到了数据采集与数据处理,数据保存,数据导出四者并行执行最需关注的问题,数据同步的问题。全部数据传递都用全局变量需要在数据采集不到数据的时候让全局变量

输出空数据,这种方法显得有点麻烦,而且是多处对全局变量写。有可能会发生竞争。于是翻看labview相关书籍,关于同步技术方面的,其中队列和通知都是很好的方法,采用通知技术可以很好的解决这类问题。

LabVIEW程序实例

1、Build a VI that generate a random number between zero and ten,and then divides it by an input number and diaplays the result on the front panel.If the input number is zero,the VI lights an LED to flag a “divide by zero”error 2、3-1,P43 3、Try create a VI to compute n! 4、求500个随机数中的最大值和最小值。 5、3-3,P44 6、3-4,P46 7、3-5,P49 If implement this equation using regular G arithmetic functions,the block diagram looks like the one in the following illustration.Please imolement the same equation using a Formula Node,and add event to control when the VI executes.

8、设计一个简单信号源,能选择正弦波、三角波和方波并用Waveform Graphe显示。 9、4-1,P68 10、4-5,P72 11、(1)显示一个二维数组的行数和列数(2)查找一个二维数组中最大值,以及最大值在数组中的位置。

12、5-2,P89 13、6-1,P100 14、6-3,P103 15、7-4,P120 16、7-5,P121 17、双边傅里叶

关于NI LabView平台的搭建

关于NI LabView平台的搭建 一,首先需要清楚所需的各个模块,及其功能用途。 1.1NI LabView 2010评估版 LabVIEW 2010 ,用于设计、测试、测量与控制。LabVIEW 2010新增了即时编译技术,可将执行代码的效率提高20%,并针对更多应用市场推出各种附加工具包的收费与评估版,用户还可轻松将自定义功能集成到平台上,这些全新特性进一步提高了LabVIEW 2010的效率。对于使用现场可编程门阵列(FPGA )的用户来说,LabVIEW 2010提供全新IP集成节点,能够将所有第三方FPGA IP集成到LabVIEW应用中,并可与Xilinx 内核生成器兼容。此外,NI研发工程师通过在LabVIEW技术在线论坛上与用户进行广泛深入的交流与合作,为新版LabVIEW添加了十多种客户建议的新特性。 自1986年推出首款以来,LabVIEW通过流程图的方式提供拖放式图形化功能块与线,大大简化了复杂系统的开发。LabVIEW可与数千种硬件设备集成,内置数百种高级分析和数据可视化的函数库,能够 用于多种操作系统,并可用于x86处理器、实时操作系统(RTOS)和FPGA。从LEGO? MINDSTORMS? NXT机器人到CERN大型强子对撞机,世界上大多数工程师与科学家们都采用了LabVIEW。 1.2NI-IMAQ for IEEE 1394 Cameras NI-IMAQ是为用于移动产品的IEEE 1394接口类型相机提供易用的解决方案。驱动程序将NI测量和自动探测器结合在一起,所以你能很容易地配置你的相机。你能快速在系统里建立IEEE 1394接口类型的相机与电脑的连接并立刻获得相机中的图象,就一套易用的程序来说,你能在LabVIEW 或Measurement Studio中建立应用,通过VIs建立或直接访问C库功能。 可与NI 8252或其他任何OHCI IEEE 1394接口设备配合使用 与LabVIEW、LabWindows/CVI、C、Visual Basic和C++兼容 从支持IIDC的IEEE 1394摄像头采集图像 通过软件交互地配置摄像头 1.3,NI vision Development Module NI公司的视觉开发模块是专为开发机器视觉和科学成像应用的工程师及科学家而设计。该模块包括NI Vision Builder和IMAQ Vision两部分。NI Vision Builder是一个交互式的开发环境,开发人员无需编程,即能快速完成视觉应用系统的模型建立;IMAQ Vision是一套包含各种图像处理函数的功能库,它将400多种函数集成到LabVIEW和Measurement Studio,LabWindows/CVI,Visual C++及Visual Basic开发环境中,为图像处理提供了完整的开发功能。

labview简介

LabVIEW是一种程序开发环境,类似于C和BASIC开发环境,但LabVIEW与其它计算机语言的显著区别是:其它计算机语言都是采用基于文本的语言产生代码行,而LabVIEW使用图形化编程语言G语言编写程序,产生的程序是框图的形式。像C或BASIC 一样, LabVIEW也是通用的编程系统,有一个可完成任何编程任务的庞大的函数库。LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储等等。LabVIEW也有传统的程序调试工具,如设置断点、以动画形式显示数据及其通过程序(子VI)的结果、单步执行等等,便于程序的调试。 虚拟仪器,简称VI,包括三部分:前面板、框图程序和图标/连接器。程序前面板,如图一所示,用于设置输入量和观察输出量。它模拟真实仪器的前面板。其中,输入量被称为Controls(控件),用户可以通过控件向VI中设置输入参数等;输出量被称为Indicators(指示器),VI通过指示器向用户提示状态或输出数据等。用户还可以使用各种图标,如旋钮、开关、按钮、图表及图形等,使前面板易看易懂。每一个程序前面板都有相应的框图程序与之对应。框图程序,如图二所示,用图形编程语言编写,可以把它理解成传统程序的源代码。框图中的部件可以看成程序节点,如循环控制、事件控制和算术功能等。这些部件都用连线连接,以定义框图内的数据流动方向。图标/接口器件可以让用户把VI程序变成一个对象(VI子程序),然后在其他程序中像子程序一样地调用它。图标表示在其他程序中被调用的子程序,而接线端口则表示图标的输入/输出口,就像子程序的参数端口对应着VI程序前面板控件和指示器的数值。 图一图二 虚拟仪器和传统仪器的差异很大,具有很强的优势。独立的传统仪器,例如示波器和波形发生器,性能强大,但是价格昂贵,且被厂家限定了功能,只能完成一件或几件具体的工作,因此,用户通常都不能够对其加以扩展或自定义其功能。仪器的旋钮和开关、内置电路及用户所能使用的功能对这台仪器来说都是固定的。另外,开发这些仪器还必须要用专门的技术和高成本的元部件,从而使它们身价颇高且很不容易更新。基于PC机的虚拟仪器系统,诞生以来就充分利用了现成即用的PC机所带来的最新科技。这些科技和性能上的优势迅速缩短了独立的传统仪器和PC机之间的距离,包括功能强大的处理器(如Pentium4)、操作系统及微软Windows XP、NET技术和Apple Mac OSx。除了融合诸多功能强大的特性,这些平台还为用户提供了简单的联网工具。此外,传统仪器往往不便随身携带,而虚拟仪器可以在笔记本电脑上运行,充分体现了其便携特性。需要经常变换应用项目和系统要求的工程师和科学家们需要有非常灵活的开发平台以便创建适合自己的解决方案。可以使用虚拟仪器以满足特定的需要,因为有安装在PC 机上的应用软件和一系列可选的插入式硬件,无需更换整套设备,即能完成新系统的开

labviewDAQ学习总结

使用LabVIEW创建应用程序 如在LabVIEW中对NI-DAQmx支持的设备进行编程,可在MAX或LabVIEW中打开DAQ助手,交互式地创建全局或局部虚拟通道和任务。详细信息,见DAQ助手帮助。也可使用NI-DAQmx API创建局部虚拟通道和任务,并编写应用程序。完成下列步骤,在LabVIEW中创建应用程序: 1.打开现有或新建一个LabVIEW VI。 2.使用NI-DAQmx VI和属性构建VI。 关于NI-DAQmx VI的帮助信息,见NI-DAQmx C Function Reference Help。关于LabVIEW编程的详细信息,见LabVIEW帮助。 在LabVIEW SignalExpress中创建应用程序 如要在LabVIEW SignalExpress中使用NI-DAQmx支持的设备,可创建一个包含NI-DAQmx步骤的项目。LabVIEW SignalExpress用于记录和分析数据。在LabVIEW SignalExpress中,可将在MAX中创建的全局虚拟通道添加至NI-DAQmx步骤。详细信息见DAQ助手帮助。完成下列步骤,开始使用LabVIEW SignalExpress: 1.单击Add Step,然后选择Acquire Signals?Acquire DAQmx?Analog Input?Voltage,放置DAQmx采集步骤。 2.单击+按钮,将通道添加至NI-DAQmx步骤。 关于将DAQ助手与LabVIEW SignalExpress配合使用的帮助信息,见Taking an NI-DAQmx Measurement in LabVIEW SignalExpress。关于在LabVIEW SignalExpress中编程的常规帮助信息,见LabVIEW SignalExpress Help。疑难解答 安装和配置 关于安装和配置的一般说明,请参考DAQ入门指南和SCXI快速入门手册。 如安装DAQ硬件或软件时有任何问题,请使用下列资源: ?关于疑难解答指导,请登录https://www.doczj.com/doc/0717559849.html,/support/install,查看硬件安装或配置答疑。 ?关于常见安装和编程问题的疑难解答和NI产品的常见问题解答,请参考https://www.doczj.com/doc/0717559849.html,/kb 的知识库文档。

labview问题集合

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等等,所以存这样的应用还是挺合适的。

(完整版)虚拟仪器学习心得总结

虚拟仪器学习心得总结 姓名:王水根 学号:1083420213 班级:0801101班 学院:电气学院 指导老师:付宁

虚拟仪器学习心得总结 王水根 刚开始接触虚拟仪器这个概念的时候是在大三的上学期,我不记得那天具体是什么日子了,只记得公寓前面展板上多了一个很大的海报,内容大概是哈工大虚拟仪器协会成立招新和第一届全国虚拟仪器设计大赛的相关说明。这是我第一次接触“虚拟仪器”这个当时陌生的新词。一看到这个词我马上想到我们经常用的仿真软件Multisim,那里面就有好多虚拟的电源、示波器、万用表,还有频谱分析仪、逻辑分析仪等。顿时,我觉得这个很有意思啊,要是能自己在电脑里设计一个示波器那就厉害了。可是那个虚拟的仪器又是怎么集成到其他电路仿真软件上的呢?还有虚拟仪器的定义到底是什么呢?不知道。所以我带着这些疑问上网查找和虚拟仪器的相关文档,看看虚拟仪器到底是一个什么东西,虚拟仪器在哪些领域有应用。 后来,我参加了协会组织的招新,初次接触了Labview,在花了一个通宵做完招新布置的作业后,我也成了一名Labview的初学者。这之后我知道了Labview 这个软件是用来设计虚拟仪器的,而虚拟仪器是用计算机设计的一个软件,它能完成一台台式仪器的功能。比如可以用Labview设计一个信号发生器,产生正弦波、方波、三角波、锯齿波、任意占空比矩形波等。 而Labwindows/CVI我上大二时实验室的师兄跟我说过,他那时跟我说CVI 是用来设置界面用的,一般都是硬件配上CVI一块用。可是在系统学习CVI之前我从没用过Labwindows/CVI。CVI和Labview都是很好用很优秀的软件,在自动化测试领域有着特别重要的作用。Labview采用的是G语言,也就是图形化语言,它不仅是一种编程环境,也是一门编程语言。Labview因为采用的是图形化语言,所以和CVI比起来学习更容易,编程也更简单,比较适合于专业知识比较薄弱的学习者。Labview采用的编程思想和传统C语言一样,是嵌套,主函数包含子函数的思想。所以,当要编写比较大的程序时,整个结构就显得很大很复杂,编写起来比较困难。这时,CVI相对就比较适合,因为C语言相对G语言逻辑性强,结构性要强。下面我就说说这次学习CVI的心得感受。 首先,老师帮我纠正了之前我对虚拟仪器的理解。虚拟仪器是在通用计算机上加上一组软件和/或硬件,使用者在操作这台计算机时,就像是在操作一台他自己设计的专用电子仪器。虚拟仪器是一种软件定义的系统,它基于用户需求的软件定义了一般测量硬件的功能。这就应证了前面师兄跟我说的那句话,光有软件也是不行的,还得有硬件配合,任何软件都有一定的局限性,因为它们都是基于操作系统平台的,而硬件是不需要任何平台的,它自身就可以成为一个平台。 后来,我知道了如何用CVI去设计一台虚拟仪器,了解了设计虚拟仪器的步骤。和Labview设计虚拟仪器的步骤很像,用CVI设计虚拟仪器首先也是先设计软面板,在CVI中是“.uir”文件,然后是编写程序代码,最后是编译调试运行。后来,我们比较系统性地学习了CVI测试数据的显示、分析、存储和传输方面的

Labview串口通信开发实例(值得拥有)

串口通信的基本概念 串口通信的基本概念 1,什么是串口? 2,什么是RS-232? 3,什么是RS-422? 4,什么是RS-485? 5,什么是握手? 1,什么是串口? 串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。 串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米; 而对于串口而言,长度可达1200米。

典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参 数必须匹配: a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB 设备的通信。 b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信 的情况。 c,停止位:用于表示单个包的最后一位。典型的值为1,1.5和

LabVIEW

第一章LabVIEW简介 LabVIEW是美国国家仪器公司(National Instruments Co)开发的一种图形化的编程环境。其名称含义为实验室虚拟仪器工作平台(Lab oratory V irtual I nstrument E ngineering W orkbench)。作为一种方便的数据采集和仪器控制开发软件,它可工作于Macintoshe 、Sun SPARC工作站、HP9000/700系列工作站以及PC机等各种机型,可运行于Windows 3.1、Windows9x/2000、Windows NT、UNIX等多系统下,是一种灵活有效的仪器控制和数据分析软件系统。 LabVIEW程序使用虚拟仪器(V irtual I nstrument,缩写为VI)的概念。它是指一台计算机和连接外部的端口(计算机的COM口,LPT口或内插板)在软件控制下可完全模拟替代传统的仪器。因VI功能完全是由软件定义,故在硬件系统不变的情况下,用户可通过软件开发自行改变或扩充仪器的功能,实现自己的特殊要求,或用一套硬件系统实现多种仪器的功能,从而使虚拟仪器VI不但比传统仪器更灵活有效,而且也更经济。VI的核心就是LabVIEW程序,所以在LabVIEW中,所有程序均称之为VI程序,不管它是否通过端口和外界进行通讯。每个VI程序均可作为一个功能模块被重复使用,因而使用LabVIEW来开发和扩展程序极为方便。 LabVIEW编程语言同常规的程序语言不同,它采用更易使用和理解的图形化程序语言-G语言(Graphical programming language)。G语言使用图标代替常规的一条或一组语句来实现一个功能,通过各功能图标间的逻辑连接实现程序功能。 其编程过程不是书写一行行语句,而是连接一个个代表一定功能的图标,其程序编制过程简单,不涉及复杂功能实现的算法,易于掌握。同时,因为其编程过程基于可重复使用的功能模块,故可方便地使用由专业人员编制提供的专业级别的功能模块,开发出专业水平的程序。所以,LabVIEW在世界范围内的众多领域如航空、航天、通信、汽车、半导体、化学和生物医学等得到了广泛的应用,从简单的仪器控制、数据采集到复杂的测试和数据处理,从工厂、科研院所到大学里的实验室,到处都可以发现LabVIEW的应用。在西方国家(如美国)的许多大学已将LabVIEW作为本科的教学内容,成为工程师素质培养的一个方面。由于LabVIEW虚拟仪器的强大功能,使得使用一套硬件系统就可进行多种不同要求的研究,故而可以用更小的消耗进行更多的研究,尤其适合在我国资金较少的科研单位用于研究工作。 LabVIEW6.-中,包含许多专家编写的VI供用户使用。在数据采集方面有许多采集卡(DAQ)的支持模块,使采集程序的编制不必涉及低层控制;有各种数字、模拟信号I/O模块;有对GPIB(General Purpose Interface Bus,IEEE488标准)、VXI(VME bus eXtensions for Instrumentation ,扩展IEEE1014标准)和Serial端口的支持和控制等VI。在数据处理控制方面有各种数字信号处理和产生、频谱分析、滤波、平滑窗口、概率统计等VI。 本LabVIEW简介部分主要介绍LabVIEW语言的基础知识,包括界面、菜单、工具、模板、器件、函数等,通过这一部分的学习,读者即可使用LabVIEW编程并在实际工作中进行应用。LabVIEW进阶部分将深入探讨LabVIEW的编程环境、编程技巧以及优化策略等和更多的功能,考虑到篇幅限制,本书不与介绍,感兴趣的同学可参看下列参考书继续学习,

labview复习重点总结

Labview复习题 一、填空 1. 所有的LabVIEW 应用程序,即虚拟仪器(VI),它包括前面板、流程图以及图标/连结器三部分。 2. LabView有三种操作模板,分别是控件模板、函数模板和工具模板。 3. CIN节点需要调用*.lsb格式文件,这种文件可以通过Visual C++来生成。 4. 虚拟仪器设计中连线为虚线时表示数据类型不匹配出错,当RUN按钮显示为折断的箭头时,表示程序有错误发生。 5.在LabView中局部变量主要用于程序内部传递数据,全局变量主要用于程序之间传递数据。 6. 程序框图由端口、节点和连线组成的可执行代码。 7、数组是相同类型的数据元素的集合,数据元素的类型可以是任意的,可以创建数值数组、布尔数组、字符数组和簇数组。 8、数据采集系统由被测参数→传感器→信号调理→数据采集卡→计算机组成。 9、Labview支持文本文件,二进制文件,数据记录文件,波形文件,测试数据文件等格式的文件输入和输出。 10、数据采集卡性能指标有输入通道数,输出通道数,采集位数,采集速度等。 11、循环边框上的数据出口为一个小方块,称为移位寄存器,具有存贮数据功能,对FOR 循环而言第一次循环时布尔型数据出口值为false。 12、虚拟仪器在使用数据采集卡之前必须运行专用软件MAX进行配置,如设置通道名,输入输出类型,测量类型等。 13、LabVIEW概念是一种用图标代替文本行创建应用程序的图形化编程语言。 14、传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而LabVIEW则采用数据流编程方式,程序框图中节点之间的数据流向决定了程序的执行顺序。它用图标表示函数,用连线表示数据流向。 15、LabVIEW程序为称为VI,扩展名默认为.vi。 16、程序框图是图形化源代码的集合,这种图形化的编程语言也称为G语言。

基于Labview的网上家居控制平台的设计1

1.4 智能家居系统研究的容和意义 1.4.1研究的容 智能化家居是利用先进的计算机技术、网络通讯技术、综合布线技术、依照人体工程学原理,融合个性需求,将与家居生活有关的各个子系统如安防系统、灯光和窗帘控制、场景联动、煤气阀控制、信息家电、空调和新风系统、地板采暖、水处理、可视对讲以及远程通讯系统等有机地结合在一起,通过网络化的综合智能控制和管理,带来真正“以人为本”的全新家居生活体验。 1.4.2研究的意义 智能家居的基本目标,就是为人们提供一个舒适、安全、方便和高效率的生活环境,提供一种富有人性化的服务。例如:通过开关控制系统,可以对灯光照明的进行自动调节和开关遥控,轻松实现在任何地方控制任何一组灯,细微之处体现点滴关怀;通过自动监控系统,对火警、煤气泄漏等家居进行安全监控,避免了不必要的损失;智能家居的便利,就是透过琐细生活的中的点点滴滴流露出来的。 1.5 本章小结 本章简要介绍了智能家居的概念、容与研究现状,着重描述了通过网络实现综合智能控制和管理的构想,阐述了家居实行网络化管理的优越性与重要意义。 智能家居控制系统概述 2.1 什么是智能家居控制系统 智能家居是以住宅为平台,兼备建筑、网络通讯、讯息家电、设备自动化,集系统、结构、服务、管理为一体的高效、舒适、安全、便利、环保的居住环境。 智能家庭控制系统是以HFC、以太网、现场总线、公共网、无线网的传输网络为物理平台,计算机网络技术为技术平台,现场总线为应用操作平台,构成一个完整的集家庭通信、家庭设备自动控制、家庭安全防等功能的控制系统。 智能家居控制系统的总体目标是通过采用计算机技术、网络技术、控制技术和集成技术建立一个由家庭到小区乃至整个城市的综合信息服务和管理系统,以此来提高住宅高新技术的含量和居民居住环境水平。 智能家居是在家庭产品自动化,智能化的基础上,通过网络按拟人化的要求而实现的。智能家居可以定义为一个过程或者一个系统,利用先进的计算机技术、网络通讯技术、综合布线技术、将与家居生活有关的各种子系统,有机地结合在一起。与普

用labview设计一个计算器(虚拟仪器)

科目: 姓名:学号: 院系:类别:(学术、专业)

实验一Labview 计算器 一、实验目的 通过利用labview设计一个简易计算器熟练的掌握labview基本功能和基本操作方法。 二、实验要求 利用设计的计算器可以进行简单的四则运算、可以进行平方、开根号和倒数运算、计算器可以进行清零和关闭计算器操作、在输入数据时不慎将某个数字输错可以运用BackSpace清除该值等一些基本简单的运算。 三、实验原理和框图 1、前面板设计 前面板是LabVIEW的图形用户界面,在LabVIEW环境中可以对这些对象的外观和属性进行设计,LabVIEW提供了非常丰富的界面对象,可以方便地设计出生动、直观、操作方便的用户界面。本系统中前面板显示程序的输入和输出对象,即,控件和显示器。本程序中控件主要是按钮,显示器主要是文本显示。 在前面板设计过程中先在前面板整齐排列放置22个确定按钮,将这22按钮的标签隐藏,然后修改这22个确定按钮的名字分别为:0~9十个数字、小数点、正负号、加、减、乘、除、等号、倒数、根号、清零、退格和X的Y次方。 前面板还包括一个文本显示控件用于显示计算的结果和计算器的某些提示,通过改变显示控件的大小使之于计算器的大小相适应。计算器的前面板还有程序框图中while循环的停止按钮,当按钮按下时计算器停止工作退出到LabVIEW的编辑界面。 为了前面板的美观和防止按钮的移动,分别将前面板的各个按钮和文字进行组合和对前面板进行装饰,装饰采用修饰中的平面框。如下图所示:

2.后面板设计 程序框图对象包括接线端和节点,将各个对象连线连接便创建了程序框图,接线端的颜色和符号表明了相应输入控件或显示控件的数据类型。程序框图是程序的核心,程序要实现的功能都是通过程序框图反应出来的。本课程设计的程序框图主要运用了while循环、时间结构、条件结构和平铺顺序等结构。

LabVIEW软件应用实例

图象处理方法在车灯配光检测系统中的应用研究 Image Processing T echnique’s Application and Research in the Automobile Lamp Quality Measurement System 作者:金晅宏 戴曙光 穆平安 单位:上海理工大学光电学院 应用领域:汽车工业 使用的产品:LabVIEW ; NI-IMAQ ;NI-DAQ ; 挑战:将成熟的计算机视觉技术 引入车灯配光检测系统中,应用多种图象处理方法同时实现汽车车灯光轴交点检测和车灯零件检测。 应用方案:使用National Instruments 公司的IMAQ 可视化软件、LabVIEW 图片控制工具包、执行程序生成器和LabVIEW 来开发一个经济、灵活的基于PC 的车灯配光检测系统。 介绍: 车灯配光检测系统原为两套系统:车灯光轴交点检测系统和车灯零件检测系统,其通过人工目测检测车灯光轴交点,应用物位传感器精确定位来检测零件的缺损。本车灯配光检测系统将两系统二合为一,根据测量对象的特征,应用图象卷积、边缘特征提取、图象模式匹配等多种图象处理的方法,实现对不同型号的车灯进行车灯零件缺损检测和车灯光轴交点的自动检测。 系统组成: 整个系统包括硬件部分和软件部分。其系统组成简图如图1所示: 图1:系统组成简图 硬件部分主要运用黑白的CCD 摄取图象,图象通过美国NI 公司的1407图象采集卡传送入PC 机进行处理及数据显示,应用NI_DAQ6023卡控制摄像头间的切换及系统的启动和停止。本系统采用NI 公司的LabVIEW5.1及其图象处理软件包IMAQ Vision5.0作为软件操作平台。其系统的主界面如下图(图2)所示: 图2:系统主界面 系统运行中的一个检测报错界面如下图(图3)所示: 图3:检测报错界面 运用NI (美国国家仪器公司)的这套虚拟开发平台软件,是因为其使用图形化编程语言编写,并提供丰富的库函数和功能模块,具有功能强大及运用灵活等特点,极大的节约了程序开发时间。 光轴交点检测中的图象预处 理方法 (1) 光轴特征分析 本车灯配光检测系统实现计 算机自动检测车灯前照灯光路所成的交点。若为一右侧行驶前照灯, 则其光路图如图4所示: 图4:前照灯光路图 h-h :通过前照灯焦点的水平面; H-H2:道路中心线; v-v :通过前照灯的垂直面; 根据前照灯光路标准H —H2与h —h 的夹角为15°,且ZONE1 为暗区,而ZONE2为亮区,两个区域分界明显,有较大的亮度对比度。H-H2与h-h 的交点位置是车灯光轴检测的一个重要参数。 (2) 图象的原始LUT 变 换 LUT (Look_up Table )变换是一种 很基本的图象处理技术,其对图象象素的灰度值进行特定计算及转换,可以达到突出图象的有用信息,增加图象的光对比度,对要进行边缘检测的图象尤佳,可以使边缘明显。本系统的车灯光轴原始图如图5所示: 图5:光轴原始图

labview学习感受

学习labview有快半年了,做个总结。回顾一下自己的摸索过程。 幸运的是有个项目用到Labview,因此边学边用,由于有前一项目的经验作参考,可以说是在模仿中学习。从学习到使用给我最大感受是labview编程容易上手,帮助文档方便,就是太贵了,比较少企业会使用,特别是小企业。虽然这样,还是很推崇学习labview的。废话少说,转入正题。 其实总结自己的摸索过程也等于是在做项目总结。首先从使用的模块做总结: 1、毫无疑问的串口通信; 2、与数据采集相对应的TDMS数据存储模块; 3、报表输出(word,excel,html); 4、连续的波形显示以及从TDMS里读取显示; 5、待解决的xcontrol控件; 模块分析:1、对于串口通信:主要是要设置成有数据即读取,而不能等到接收缓冲区满时再读取。2、TDMS数据存储,关键点是数据量大的时候如何压缩存储,以及利用TDMS本身的属性设置(可以参见TDMS属性设置帮助),减小存储文件的大小。否则如果数据发送速率快的话,文件大小是很可观的,压缩数据的方式有很多种,我采用的是读取采样间隔长度的数据,提取最大最小值的方式。具体如下: 1) 中间数组存储采样间隔长度的数据;2) 提取中间数组的最大最小值;3)删除中间数组的采样间隔长度;4)将删除后剩余的数组重新赋值给中间数组,给下一次使用。3、报表输出比较简单,la bview已经将要用到的程序封装成一个个VI,只需要调用这些VI,

拼凑成你需要的报表模板形式即可。这一块参考的是方慧敏写的报表输出demo程序。4、 最近开始了上下位机的联调,涉及到了数据采集与数据处理,数据保存,数据导出四者并行执行最需关注的问题,数据同步的问题。全部数据传递都用全局变量需要在数据采集不到数据的时候让全局变量 输出空数据,这种方法显得有点麻烦,而且是多处对全局变量写。有可能会发生竞争。于是翻看labview相关书籍,关于同步技术方面的,其中队列和通知都是很好的方法,采用通知技术可以很好的解决这类问题。

基于LabVIEW的多传感器信息采集平台

基于LabVIEW的多传感器信息采集平台 摘要:车辆定位中利用多传感器信息融合技术可以提高定位精度。系统中的传感器数量急剧增加,传统仪器很难满足整个系统的测量需求。本文开发了一种基于虚拟仪器软件开发环境LabVIEW的多传感器信息采集平台,将多传感器数据采集、预处理、信息显示、存储及数据回放集成在一起,解决了以往实现多传感器信息同步十分困难的问题,为将来进一步研究利用虚拟仪器测量多传感器信息及进行多传感器信息融合奠定了基础。 关键词:LabVIEW;数据采集;全球定位系统;惯性测量单元 引言 车辆定位导航技术是智能交通系统( ITS)中一个重要技术,而定位精度、定位数据的连续性和可靠性是导航系统性能的三个重要因素。车辆定位导航的精度直接取决于各个传感器的精度,而传感器精度的提高往往受技术、价格等因素的影响。目前广泛采用的基于多传感器融合的组合导航系统,能够有效提高导航定位精度,增强导航系统的可靠性,进而充分保证导航数据的连续性和可用性。传感器数量在系统中的需求增加,传统仪器不再适应系统要求。本文作者利用NI公司的虚拟仪器编程软件LabVIEW所设计的多传感器信息采集平台,为组合导航中的多传感器信息采集工作提供了一个通用的平台,克服了传统仪器功能单一,灵活性差,更新和维护费用高的缺点。并且将数据采集、预处理、信息显示、存储和回放集成在一起,形成统一格式的数据文件,方便与其它数据分析软件的接口,例如与Matlab的接口。在这个多传感器信息采集平台,各种传感器信息可以显示在同一界面上,可以很方便地在其它传感器的信息中添加GPS时间信息,解决了以往实现多传感器信息同步困难的问题。 软件开发平台LabVIEW及结构 LabVIEW全称是Laboratory Virtual InstrumentEngineering Workbench ,是目前十分流行的虚拟仪器的软件开发平台,是美国国家仪器公司(National Instrument) 推出的一种基于图形开发、调试和运行程序的集成化环境,是目前国际上唯一的编译型的图形化编程语言。 系统硬件结构 实现此平台的硬件结构如图1所示。各种传感器通过串行接口与计算机相连,实现与计算机的通信,计算机利用系统的LabVIEW程序对各种传感器发送控制命令,多传感器信息通过串口送入计算机,供LabVIEW程序进行数据的识别,读取,存储以及后处理工作。各种传感器信息分别通过各自接口与计算机通信之间是并行的。由于实验室条件有限,多传感器仅以IMU和GPS为例完成了系统的设计工作。

LABVIEW重点总结

显示对象(Indicator)、控制对象(Control)和数值常数对象:显示对象和控制对象都是前面板上的控件,前者有输入端子而无输出端子,后者正好相反,它们分别相当于普通编程语言中的输出参数和输入参数。数值常数对象可以看成是控制对象的一个特例。 在前面板中创建新的控制对象或显示对象时,LabVIEW 都会在流程图中创建对应的端子。端子的符号反映该对象的数据类型。例如,DBL 符号表示对象数据类型是双精度数;TF 符号表示布尔数;I16 符号表示16位整型数;ABC符号表示对象数据类型是字符串。 一个对象应当是显示对象还是控制对象必须弄清楚,否则无法正确连线。有时他们的图标是相似或相同的,可以根据需要明确规定它是显示对象还是控制对象。方法是将鼠标移到图标上,然后点右键,可出现快速菜单。如果菜单中有Chang to Control,说明这是一个显示对象,可以根据需要,将其变为控制对象。如果菜单中有Chang to Indicator ,说明这是一个控制对象,也可以根据需要,将其变为显示对象。 在默认情况下,对于每个连接到For循环的数组都会执行自动索引功能。 在默认情况下,对于每个连接到While循环的数组都不会执行自动索引功能。 可以禁止/启用这个功能的执行,方法是用鼠标右键单击通道(数组进/出循环的位置),在快捷菜单中选择Disable/Enable Indexing。 ?While循环: ?计数从0开始(i=0)。 ?先执行循环体,而后i+1,如果循环只执行一次,那么循环输出值i=0。 循环至少要运行一次。 移位寄存器在流程图上用在循环边框上相应的一对端子来表示。右边的端子中存储了一个周期完成后的数据,这些数据在这个周期完成之后将被转移到左边的端子,赋给下一个周期。移位寄存器可以转移各种类型的数据--数值、布尔数、数组、字符串等等。它会自动适应与它连接的第一个对象的数据类型。 For循环用于将某段程序执行指定次数。 For循环具有下面这两个端子: N: 计数端子(输入端子)—用于指定循环执行的次数。 i: 周期端子(输出端子)—含有循环已经执行的次数。i≠N Case结构含有两个或者更多的程序分支,执行哪一个取决于与选择端子或者选择对象的外部

labview应用实例之motor控制

实验名称:LabVIEWIO输出实验 组号:62 同组者:日期: 4.28 【一】实验目的 学习和掌握LabVIEW串口通信的工作原理、功能和使用方法; 使用示波器测量电信号的各种参数; 【二】实验主要仪器设备 一台安装LabVIEW 、Proteus、IN_VISA串口通讯协议驱动和虚拟串口软件VSPD 的PC 机; 单片机实验板。 【三】实验原理 在串口通信中,由于实际上传输的是ASCII码,但是一般字符串控件显示出来的并不是其对应的ASCII码,关于字符串正常显示和十六进制显示,LabVIEW帮助文档里面是这么写的: 正常显示------可打印字符以控件字体显示。不可显示字符通常显示为一个小方框。 十六进制显示------每个字符显示为其十六进制的ASCII值,字符本身并不显示。 比方说对于01这个字符串,如果是正常显示情况下输入01,下位机接收的是其对应的ASCII码而不是01本身;如果是十六进制显示情况下输入01,下位机接收的是十六进制的01。上位机接收下位机发送的字符串同样是ASCII码,一般情况下如果不加转换,在正常显示情况下是乱码,在使用LabVIEW在编程处理直接处理这些字符串的时候,就会出现问题了。于是很多时候需要对字符串正常显示和十六进制显示做一个强制转换,以方便处理。 正常显示至十六进制显示强制转换,一般用于VISA Write:

需要注意的是,在输入端Normal Display String输入的时候要确保字符是以两位的格式输入,比如需要输入1,格式要为01,否则会出错。 十六进制显示至正常显示强制转换,一般用于VISA Read: 【四】实验内容 a. 实验步骤

基于LabVIEW的数字信号处理虚拟实验平台实现

基于LabVIEW的数字信号处理虚拟实验平台实现 岳洪伟1, 2 (1.仲恺农业工程学院信息学院,广东广州 510225;2.广东工业大学自动化学院,广东广州 510090 )摘 要:根据数字信号处理课程教学现状,提出了利用LabVIEW软件实现数字信号处理的虚拟实验,给出了软件实施方案。实践证明,利用该实验系统,既能丰富教学手段,又能提高学生的学习质量。关键词:数字信号处理;虚拟实验;LabVIEW 中图分类号:TP391.9;TN79 文献标志码:A 文章编号:1002- 4956(2011)08-0070-03Implementation of DSP virtual experiment sy stem based on LabVIEWYue Hong wei 1, 2 (1.School of Information,Zhongkai University  of Agriculture and Engineering,Guangzhou 510225,China;2.School of Automation Guangdong University  of Technology,Guangzhou 510090,China)Abstract:Based on the present state of the experiment of digital processing course,a new kind of digital signalprocessing virtual experiment system based on LabVIEW is rendered.The practice proves that using this ex-perimental system can increase teaching means and improve study quality of student as well.Key  words:digital signal processing;virtual experiment;LabVIEW收稿日期:2010-10-31 修改日期: 2010-12-28作者简介:岳洪伟(1979—) ,男,安徽亳州,博士,讲师,研究方向:智能仪器与自动化. E-mail:yuehong wei420@163.com 数字信号处理是一门应用广泛的理论课程,许多理论都基于比较抽象和繁琐的推论和推导[ 1] ,学生对上课内容的理解往往跟不上教师授课进度。为了提高教学效果,本文开发了基于LabVIEW软件的数字信号处理虚拟实验平台。该平台利用VI的图形用户界 面(GUI )设计工具[2- 3],与课堂教学相结合,将实验内容融入教学过程中,可用于课程的实验辅助教学、课堂教学演示,也可作为学生课后自学的辅助工具。实践证明,虚拟实验平台对于促进学生感性认识、巩固数字信号处理理论知识等方面起到积极作用,并丰富了教学手段,提高了教学效率。 1 LabVIEW工具简介 本文以LabVIEW8.2中文版作为开发平台进行 虚拟仪器设计[4- 5],该语言是美国国家仪器(NI )公司研制开发的,是通用的编程系统,有一个完成任何编程任务的庞大函数库。LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储等。LabVIEW也有传统的程序调试工具, 如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等,便于程序的调试。类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。其程序由3部分组成:前面板、程序面板、图标和连接器。LabVIEW主要用于虚拟仪器的开发,因此它有许多和传统仪器面板在外观和功能上相似的控件,如各种旋钮、按钮、开关、波形显示屏、数字显示器等,可很方便地放在前面板上,其颜色、大小、风格可任意调整。 2 系统结构设计 LabVIEW作为柔性测量专业软件, 其内部集成600多个分析函数, 用于信号生成、频率分析、数学运算、数字信号处理等的分析应用。本文充分利用它的内部函数,按照教学大纲设计出的相应虚拟实验平 台[6-7]如图1所示。系统主界面由8个主要子窗体模 块构成,通过单击主界面按钮即可启动相应子窗体。由于篇幅有限,本文重点介绍采样定理验证、IIR滤波器设计和FIR滤波器设计的具体实例。2.1 采样定理验证 采样定理是数字信号处理中的一个重要的基本定理。连续时间信号变为离散时间信号是由“采样”过程 ISSN  1002-4956CN11-2034/T 实 验 技 术 与 管 理Experimental Technology and Management 第28卷 第8期 2011年8月Vol.28 No.8 Aug .2011

相关主题
文本预览
相关文档 最新文档