您的位置 首页 传感器

Labview初学者常见问题及回答

1、Labview如何实现由一个事件引发其他三个事件的顺序发生,且这三次事件间的时间间隔为50ms?A:可以引用状态机来设计程序,将触发事件作为

1、Labview怎样完结由一个事情引发其他三个事情的次序发生,且这三次事情间的时刻距离为50ms?

A:能够引证状况机来规划程序,将触发事情作为状况机的状况操控参数,后边发生的三个事情顺次作为状况机的三个次序状况,设置状况切换时刻距离为500ms.

2、labview在主程序经过局部变量不能实时看子vi的参数
A:经过局部变量只能得到子vi运转完之后的成果。能够用control reference 办法,在子vi加一个特点节点引出一个reference。
主程序里把需求显现的控件创立一个reference连到子vi的reference输入端口。其他也能够用vi server办法完结。

3、怎样在一个graph或chart显现多个Y轴刻度,而且使每个通道对应每个刻度?
A:在前面板上,右键点击刻度,然后挑选duplicate scales,就会创立一个新的刻度。然后再点击右键,挑选swap sides,就能够让刻度显现在图的左面或右边。然后右键右上角的plot legend上的曲线plot,挑选Y scales然后就能够挑选与该曲线相应的Y轴SCALES。多条曲线对应多条Y轴的刻度时,是相同的办法。

4、怎样从labview中翻开一个pdf文件?
A:最简略的办法:用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怎样显现体系时刻,而且跟着收集点数时刻不断改写。
A:有两种办法,一种是收集波形数据然后输出给graph,在graph上挑选显现肯定时刻,而且去掉ignore time stamp选项。第二种是收集数据文件,然后用获取时刻的vi获取当时时刻,然后把收集的数据文件和当时vibuild成波形文件再给 graph.graph的设置和前种办法相同。这样就能够显现出时刻虽收集点不断改写的作用。

6、report generation里的standard和HTML究竟是什么意思?
A:STANDARD和HTML是LV自身就有的报表类型,无须装置其他的文本修改东西就能够打印。STANDARD是LV内建的一种报表格局,能够打印但不能存盘,也便是说咱们的报表没有电子版。HTML是网页格局的文件,能够用浏览器翻开,其实相当于LV帮咱们编写HTML代码,这种格局是不能直接打印的,需求先指定网页途径才干打印出来。还要留意,假如是一段程序是用了report generation的vi,在打包成exe文件或llb文件时,需求参加两个动态vi:_excel dynamic vi和 _word dynamic vi。假如生成的报表采样了模板需求自支撑文件里增加相应模板。

7、假如要将channel姓名,测的是什么信号,采样率是多少这样的数据和采得数据一同存入文件应该用什么办法比较好?
A:引荐一种曾经根本被疏忽的文件结构——TDM FILE格局来存,这种文件格局依据二进制的办法,而在存储过程中能够参加许多的外部信息进去,例如free text;free interger等等,所以存这样的运用仍是挺适宜的。

8、vi property 下execution中选项reetrant execution,选用和不选用有什么差异?
A:假如主程序履行同一个子vi,是一起两次或屡次履行时,在不选用时,就会顺次运用这个子vi;假如选用,则这个子vi就会并行履行,进步程序运转速度。

9、为什么把LABVIEW程序框图解密今后,就能够一向翻开程序框图,怎样才干完结每次翻开vi都是加密的?
A:假如在LABVIEW解开程序的框图的暗码,封闭今后该程序,不退出labview,这个程序假如再次被翻开会一向能够检查他的框图程序,原因是lv 没有封闭,所以暗码会一向存在内存傍边,所以再次翻开会仍然看到程序框图,假如要完结每次翻开都是加密的,只要在一次翻开后,把labview也关掉,下次再想要检查程序框图就需求输入暗码。

10、运用vi server技能,怎样完结从一个vi翻开运转并读取另一个vi中控件的值?
A:
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而且循环履行。当程序开端后马上报错。
A:因为收集状况中运用start task和 read 两个vi而且循环履行,当收集现已开端后再运用start task就会重复开端相同的资源,导致资源抵触发生过错。主张start部分独自作为一个状况,在循环履行的状况中只运用read.vi。

12、LV7.1在前面板忽然找不到Scrollbar了,现在想看或许操作屏幕之外的控件显现件十分费事,怎样能够找到Scrollbar?
A:在File/VI Property/Window Appearance/Customize里有Show scrollbar的选项。

13、LV7.1怎样完结将Chart的时刻坐标与计算机体系时刻共同?
A: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怎样规划时刻输出格局为小时:分:秒.毫秒?
A:用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前面板,前面板总是自主程序后边?
A:在window appearance里边挑选default floating 和modal这三项,将主程序的选项设在较低的优先级而子程序设得高一点应该能够了。

16、怎样读出excel里的数据来作剖析?
A:运用Excel Get Data.vi并在参数data type上运用二维字符数组可把Excel内数据以字符串的办法读出。

17、怎样对Excel文件作数据续存?
A:运用Excel Get Last Row.vi先将Excel内已有数据的最终一行的行数得出,再于该行开端续存数据。

18、怎样将文件保存为Excel格局
A: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中既显现小数又显现整数
A:table中显现的是字符串,显现小数仍是整数是在转换成字符串而未放入table之前的过程中完结的,因而能够将整数小数别离转换成字符串后再兼并输出到table中即可。

20、怎样制造一个边框是通明的string控件
A:挑选一个classic simple string控件,运用东西模板的染色东西,在弹出的对话框中挑选右上角“T”;相同的transparent,然后给这个控件染色就能够了。

21、循环收集并对收集的成果判别,前面板放置一个布尔报警灯,只保存报警的数据,并可回放,怎样完结?
A:存储vi外加一个case结构,并以布尔报警灯作为判别,假如为真值,存储,为false,不存。回放有两种办法,即:能够把实验数据存储,然后回调。也能够把graph存为图片。

22、怎样把While loop的循环次数i写入Table的行头ColHdrs[]呢?
A:创立Table的特点节点,特点ColHdrVis=T显现行头,ColHdrs[]衔接一个字符串数组,需求将循环次数i加1,然后经过 Number To Fractional String转化为字符类型,精度为0。增加移位寄存器,赋初值为空字符串数组,build array上端输入接移位寄存器,下端接数字,右端接ColHdrs[]和移位寄存器其他一端。

23、串口程序打包装置到一台没有LV环境的机器下,串口不可用,为什么?
A:LV7.1的版别,在Application Builder中Installer页面挑选:Advanced/Serial Port Support。

24、运用CLF节点调用DLL中的函数,假如原函数中指定的数据类型为结构,那么在CLF装备过程中该怎样指定数据类型?
A:能够挑选数据类型(TYPE)为Adapt To Type,然后在输出或输入端口衔接一个Cluster,这个Cluster的界说和原函数中结构的界说相同。挑选Adapt To Type后,衔接到端口的数据类型是什么,与函数接口的数据类型便是什么。


25、在子vi运转过程中,怎样将数据实时传递到调用它的主vi中,而不是等候子VI运转完毕后才在主VI中取得子Vi的输出数据?
A:运用带操控参量的特点节点能够完结在子VI中修正主VI特点的意图,因为控件的值(Value)也是控件的特点之一,因而能够运用操控参量是新以上要求。在子VI中,运用带有操控参量的特点节点,即将传递到主VI的数据写入这个特点(Value)中,将操控参量要设置为Control,而且在子VI的衔接器中进行界说;在主VI中,为接纳子VIshuju的控件树立一个操控参量,将这个操控参量衔接到子VI,即可到达在主VI中实时获取子VI数据的要求。

26、事情结构中两种事情类型,一个是告诉事情(Notify),另一个是过滤事情(Filter),这两种事情的差异是什么?
A:关于告诉事情,程序能够感知事情的发生而且呼应该事情,然后再处理在事情结构中界说的使命;关于过滤事情,程序感知事情发生后首要处理在事情结构中界说的使命,然后依据时刻结构中的设定(Discard?)决议是否呼应该事情。举例来说,时刻为Panel Close,在事情发生时弹出一个对话框。假如是告诉事情,首要呼应事情封闭了前面板,因而没有办法处理“弹出对话框”的使命;假如是过滤事情,首要处理 “弹出对话框”的使命,然后依据事情结构中的Discard的值判别是否封闭前面板,若Discard为T,则不封闭,若为F,则封闭。

27、LV7.1主程序现已完结,想在主程序运转之前,先履行一个其他界面,当退出该界面的时分,再显现主界面,怎样完结?
A:能够在主程序框图之前,将主程序前面板躲藏,调用子程序,推出子程序后,再显现主程序前面板。这能够经过VI特点节点来完结,先调用一个特点节点,右键挑选Select Class/VI Server/VI,然后在特点中挑选Front Pannel Window/State特点,分为设为Hide和Standard。Demo程序见项目进程办理中AE-01labview编程技能评论的“主界面躲藏”。

28、将LV7.1前面板控件(graph)的内容保存成图画文件,在LV中怎样编程完结?
A:右键控件创立Invoke Node,挑选办法为“Get Panel Image”;其他,调用Graphics &Sound/Graphics Formats下面的VI,将第二步取得的图画写入相应格局文件中。

29、在LV程序中运用matlab,生成exe文件今后,发现文件能够运转可是无法弹出运转界面。
A:在lv中假如运用了MATLAB的话,生成EXE文件的时分需求加一个名为马特script.dll的文件作为支撑文件,此外在方针PC上有必要装置MATLAB软件。

30、LV7.1运用VI Server的办法,在一台机器上调用另一台机器上的VI并运转,需求做哪些设置?(两台机器在同一个网络中)
A:1)在Tools/Options/VI Server:Configurtion下挑选Protocols为TCP/IP,这样才干在网络中运用VI Server,不然只是在本机上运用VI Server。 2)在Tools/Options/VI Server:TCP/IP Access下设置能够拜访的VI Server的主机IP。假如不进行设置,长途机器将无法调用需求的VI。

31、在LV7.1中怎样在运转程序后,前面板上去掉windows的封闭按钮
A:能够在LV的前面板FILE/VI properties/windows appearance/customize,去掉allow user to close window对钩,保存设置,运转后能够完结作用。

32、LV7.1中怎样铲除前面板的Graph,即在每次运转时,让Graph从头显现数据而不显现历史数据。
A:在Graph里边能够经过创立Local Varible并对其赋空来处理。而在Chart里能够经过创立History Data特点节点并对其赋空来处理。

33、LV7.1中怎样将一个数组中一切满意条件的元素的索引值提取出来,保存成一个新的数组?
A:运用移位寄存器、Build Array和Select函数就能够做到,具体办法:1)运用FOR循环,在循环边框上增加一个移位寄存器,并初始化为一维空数组,类型为I32;2)在循环内部运用Select函数,每次循环都判别数组中的一个元素,并将判别成果(布尔量类型)送入Select的“s”输入端;3)每次循环都运用 Build Array函数将左端的移位寄存器直接衔接到Select函数的“f”输入端,这样Select函数的输入端便是一切满意条件的元素的索引值;4)将 Select函数的输出端连到右端的移位寄存器上。这样程序完毕后,For循环的右端移位寄存器的数据便是需求的索引值。

35、 移位寄存器和反应节点的差异?
答复:反应节点箭头的开端端相当于移位寄存器的右端,箭头的结尾相当于寄存器的左端。差异在于移位寄存器的左端元素能够经过下拉下拉办法增加,而反应节点的端口是无法增加的。

36、怎样让子VI的前面板也显现出来?
A:右键点击子VI,挑选SUBVI NODE……然后再挑选第2项SHOW……便是当子VI被调用时,显现前面板。

37、弹出窗口无法进行任何操作,而且被主界面挡住,怎样处理?
A:主界面VI properties中windows appearance里customs设定windows behavior为normal了,因而主界面保持在最前端,应该设为default。

38、在程序中完结按对应键弹出窗口,在窗口已翻开状况下持续可翻开其他窗口?
A:在程序框图内运用并行循环。每一个可能要运转的子VI(翻开其窗口)及其运转条件(按键)各占一个循环。各个循环彼此独立,互不搅扰。在考虑一起封闭各个窗口时,需求运用全局变量。

39、在调度Vi的时分,常常无意地把面板上的一些控件移动了方位。还要花很大功夫去从头安置这些面板控件。有没有办法让现已规划好的控件的方位固定不动?
A:首要咱们能够经过Operate菜单中的Change To Run/Edit Mode指令,设置VI为运转或修改办法。面板控件的移动只在修改办法下有用。在运转办法下是不能移动任何操控的方位的。第二种办法是,挑选指定的控件(可多选),然后在菜单的Reorder下拉菜单下,挑选LOCK指令,来锁住指定的控件。这样,除非运用Unlock指令解锁。不然是无法移动指定控件的方位。

40、为什么子VI节点的输出端口没有数据传递出来?
A:这类问题的首要原因是子VI中存在着循环。假如子VI中的循环不能推出,子VI节点就一向在运转。关于LV的数据流编程机制来讲,一个节点没有履行完,它的一切输出端口就不会有有用数据输出。处理办法:一是把子VI中的循环提出到主VI里来。二是运用全局变量,并在主VI中运用并行循环来操控子VI 的完毕。

41、怎样在LABVIEW中完结全屏显现?
A:1)要全屏显现,在File/VI Properties/Window Size/Size the front panel to the width and height of the entire screen打上钩,就能够了。
2)是否控件显现办法,榜首,要彻底不显现时,能够把控件放在界面看不见的当地他就不显现了;第二种办法,你能够运用控件的特点进行操控控件的 Visible,具体办法是在程序框图里点击鼠标右键/Create/Properties Node,挑选Visible,并将其改为Change to Read,对Visble设置为True或False就能够操控控件是否显现了

42、LV怎样对Excel文件作数据续存?
A:运用Excel Get Last Row.vi先将Excel内已有数据的最终一行的行数得出,再于该行开端续存数据。

43、LV当用鼠标点击Graph时,该Graph的巨细变化了,当鼠标离去后Graph的巨细康复到本来状况?
A:能够运用一个Event Structure来做,增加两个事情(一个是鼠标点击,另一个是鼠标离去)。经过在这两个事情中别离赋给Graph的PlotArearSize特点节点不同的值,来改动Graph的巨细。

44、怎样用LABVIEW编程检测U盘?
A:需求调用Windows API函数GetDriveTypeA,其函数回来值盘符类型的数据类型为长整形,输入参数为检测盘符。调用CLFN.vi挑选/windows/ system32/kernel32.dll,挑选GetDriveTypeA,设置Return Type为Numeric Signed 32-bit Integer;再增加参数nDrive,设置参数类型为STRING和格局为C String Pointer。运转时在输入端填上要检测的U盘盘符,回来成果为时表明为DRIVE_REMOVABLE即为可移动的U盘

45、怎样用Labview与可编程仪器通讯,该仪器没有GPIB接口,但有COM口,能否用LV操作?
A:能够经过Labview的串口通讯来处理仪器操控问题,参看FIND EXAMPLE的BASIC 2 PORT SERIAL WRITE AND READ.VI


46、怎样将EVENTSTRUCT中捕获的时刻传递到STATE DIAGRAM?
A:运用VENTSTRUCT捕获面板事情后,将不同的事情对应于不同的字符串和其他,再经过QUEUE将VENTSTRUCT中的字符串传递到STATEDIAGRAM中,再依据得到的字符串进行相应的处理。

47、运用WRITE TO BINARY FILE函数向二进制文件中写入一个1D数组,为什么在READ FROM BIANRY FILE读取时,会多出4个字节数据呢?
A:写入时参加了头信息,多出的4个字节便是头信息,代表了数组或字符串的长度。在WRITE TO BINARY FILE 中的APPEND ARRAY OR STING SIZE这个输入端口中设置,其默认值为T,代表参加头信息;假如将其改为F,就不会多出4个字节了。

48、卸载Labview7.1时呈现过错1603,接着呈现过错1722和1721,程序问询是否持续卸载操作,怎样消除该过错并正确卸载7.1?
A:该过错一般呈现在企图卸载某些同享组件的时分。依照以下过程能够处理该问题。
1)留意当过错发生时是在卸载哪一部分组件。一般讲在卸载LV中心部分或LV RUNTIME ENGINE的时分简单呈现。
2)当呈现过错代码1603,弹出对话框提示持续卸载操作时分,点击YES
3)假如卸载完结之后提示需求从头启动计算机,点击NO。
4)关于卸载过程中发生的过错,从CD相应的文件夹中手动运转相应的组件,路经如下:/components/lvcorefull/lvcorefull.msi或components/lvruntimeeng/lvruntimeeng.msi点击修正按钮。
5)修正之后再次运转这些MSI,挑选卸载按钮。这样就能够彻底卸载。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/chuanganqi/213696.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部