Labview初学者常见问题及解答Word文档下载推荐.docx

上传人:b****3 文档编号:6840381 上传时间:2023-05-07 格式:DOCX 页数:22 大小:33.39KB
下载 相关 举报
Labview初学者常见问题及解答Word文档下载推荐.docx_第1页
第1页 / 共22页
Labview初学者常见问题及解答Word文档下载推荐.docx_第2页
第2页 / 共22页
Labview初学者常见问题及解答Word文档下载推荐.docx_第3页
第3页 / 共22页
Labview初学者常见问题及解答Word文档下载推荐.docx_第4页
第4页 / 共22页
Labview初学者常见问题及解答Word文档下载推荐.docx_第5页
第5页 / 共22页
Labview初学者常见问题及解答Word文档下载推荐.docx_第6页
第6页 / 共22页
Labview初学者常见问题及解答Word文档下载推荐.docx_第7页
第7页 / 共22页
Labview初学者常见问题及解答Word文档下载推荐.docx_第8页
第8页 / 共22页
Labview初学者常见问题及解答Word文档下载推荐.docx_第9页
第9页 / 共22页
Labview初学者常见问题及解答Word文档下载推荐.docx_第10页
第10页 / 共22页
Labview初学者常见问题及解答Word文档下载推荐.docx_第11页
第11页 / 共22页
Labview初学者常见问题及解答Word文档下载推荐.docx_第12页
第12页 / 共22页
Labview初学者常见问题及解答Word文档下载推荐.docx_第13页
第13页 / 共22页
Labview初学者常见问题及解答Word文档下载推荐.docx_第14页
第14页 / 共22页
Labview初学者常见问题及解答Word文档下载推荐.docx_第15页
第15页 / 共22页
Labview初学者常见问题及解答Word文档下载推荐.docx_第16页
第16页 / 共22页
Labview初学者常见问题及解答Word文档下载推荐.docx_第17页
第17页 / 共22页
Labview初学者常见问题及解答Word文档下载推荐.docx_第18页
第18页 / 共22页
Labview初学者常见问题及解答Word文档下载推荐.docx_第19页
第19页 / 共22页
Labview初学者常见问题及解答Word文档下载推荐.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Labview初学者常见问题及解答Word文档下载推荐.docx

《Labview初学者常见问题及解答Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Labview初学者常见问题及解答Word文档下载推荐.docx(22页珍藏版)》请在冰点文库上搜索。

Labview初学者常见问题及解答Word文档下载推荐.docx

\12

34.pdf则是要打开的文件名,最后的username是用户的名字。

5、采集数据在graph如何显示系统时间,并且随着采集点数时间不断刷新。

有两种方式,一种是采集波形数据然后输出给graph,在graph上选择显示绝对时间,并

且去掉ignoretimestamp选项。

第二种是采集数据文件,然后用获取时间的vi获取当前时

间,然后把采集的数据文件和当前vibuild成波形文件再给graph.graph的设置和前种方法

一样。

这样就可以显示出时间虽采集点不断刷新的效果。

6、reportgeneration里的standard和HTML究竟是什么意思?

STANDARD和HTML是LV本身就有的报表类型,无须安装其他的文本编辑工具就可以打印。

STANDARD是LV内建的一种报表格式,可以打印但不能存盘,也就是说我们的报表没有电子

版。

HTML是网页格式的文件,可以用浏览器打开,其实相当于LV帮我们编写HTML代码,这

种格式是不能直接打印的,需要先指定网页路径才能打印出来。

还要注意,如果是一段程

序是用了reportgeneration的vi,在打包成exe文件或llb文件时,需要加入两个动态vi:

_exceldynamicvi和_worddynamicvi。

如果生成的报表采样了模板需要自支持文件里

添加相应模板。

7、如果要将channel名字,测的是什么信号,采样率是多少这样的数据和采得数据一起存

入文件应该用什么方式比较好?

推荐一种以前基本被忽略的文件结构——TDMFILE格式来存,这种文件格式基于二进制

的方式,而在存储过程中可以加入很多的外部信息进去,例如freetext;

freeinterger

等等,所以存这样的应用还是挺合适的。

8、viproperty下execution中选项reetrantexecution,选用和不选用有什么区别?

如果主程序执行同一个子vi,是同时两次或多次执行时,在不选用时,就会依次使用这

个子vi;

如果选用,则这个子vi就会并行执行,提高程序运行速度。

9、为什么把LABVIEW程序框图解密以后,就可以一直打开程序框图,如何才能实现每次打

开vi都是加密的?

如果在LABVIEW解开程序的框图的密码,关闭以后该程序,不退出labview,这个程序如

果再次被打开会一直可以查看他的框图程序,原因是lv没有关闭,所以密码会一直存在内

存当中,所以再次打开会依然看到程序框图,如果要实现每次打开都是加密的,只要在一

次打开后,把labview也关掉,下次再想要查看程序框图就需要输入密码。

10、使用viserver技术,如何实现从一个vi打开运行并读取另一个vi中控件的值?

1)调用Openvireference.vi,输入子VI的路径到其VIPATH的端口;

2)调用IvokeNode.vi并设为OpenFP;

3)调用IvokeNode.vi并设为RunVI;

4) 

 

调用IvokeNode.vi并设为GetcontrolValue[Variant];

对ControlName端口填入

子VI循环的停止按钮控件名称;

GetControlValue[Variant]输入端的值通过VariantT

oData.vi设为控件相对应的控件类型后,输出到前面板,这就可实现取VI控件的值;

5)最后调用CloseReference.vi关闭VIServer。

11、连续采集程序分成配置task状态和采集状态两大部分。

在配置状态中得配置出有效的

task。

根据需要在适当的时候进入采集状态。

在采集状态中使用starttask和read两个

vi并且循环执行。

当程序开始后立刻报错。

因为采集状态中使用starttask和read两个vi并且循环执行,当采集已经开始后再使

用starttask就会重复开始相同的资源,导致资源冲突产生错误。

建议start部分单独作为

一个状态,在循环执行的状态中只使用read.vi。

12、LV7.1在前面板突然找不到Scrollbar了,现在想看或者操作屏幕之外的控件显示件非

常麻烦,怎么能够找到Scrollbar?

在File\VIProperty\WindowAppearance\Customize里有Showscrollbar的选项。

13、LV7.1如何实现将Chart的时间坐标与计算机系统时间一致?

Chart属性FormatAndPrecision选AbsoluteTime,显示方式改SystemTimeFormat

和SystemDataFormat。

程序框图里GetData/TimeInSeconds获取当前时间,转换为双

精度浮点型后输入到WaveformChart的属性节点Xscale.Offset。

属性节点Xscale.Form

at设为模式7。

14、LV7.1如何设计时间输出格式为小时:

分:

秒.毫秒?

用GetData/TimeInSeconds用来获得当前时间,另一个是FormatData/TimeString

函数,这个函数用来定义输出时间的格式,再timeformatstring端口上输入字符串%H:

%

M:

%S%.3u,然后timestamp连接GetData/TimeInSeconds的时间输出即可。

关于时间格

式的定义可以在help里看到。

15、为什么用子程序调用时popup前面板,前面板总是自主程序后面?

在windowappearance里面选择defaultfloating和modal这三项,将主程序的选项设

在较低的优先级而子程序设得高一点应该可以了。

16、如何读出excel里的数据来作分析?

使用ExcelGetData.vi并在参数datatype上使用二维字符数组可把Excel内数据以字

符串的方式读出。

17、如何对Excel文件作数据续存?

使用ExcelGetLastRow.vi先将Excel内已有数据的最后一行的行数得出,再于该行开

始续存数据。

18、如何将文件保存为Excel格式

1) 

用ActiveX技术,将LV作为一个ActiveX服务器。

可以参考NationalInstrume

nts\Labview7.1\examples\apps\freqresp.llbVI库里面的FrequencyResponse.vi例子

程序。

2)使用ReportGeneration工具包,它屏蔽了底层的ActiveX,使用比较简单,不过

需要购买。

3)保存为文本方式,后缀为.xls,这样子也可以用Excel打开,不过不能用E

xcel修改保存,要不然会自动修改为Excel文档,以后也不能用LV对其进行操作。

19、如何在table中既显示小数又显示整数

table中显示的是字符串,显示小数还是整数是在转换成字符串而未放入table之前的过

程中完成的,因此可以将整数小数分别转换成字符串后再合并输出到table中即可。

20、如何制作一个边框是透明的string控件

选择一个classicsimplestring控件,使用工具模板的染色工具,在弹出的对话框中

选择右上角“T”;

一样的transparent,然后给这个控件染色就可以了。

21、循环采集并对采集的结果判断,前面板放置一个布尔报警灯,只保存报警的数据,并

可回放,怎么实现?

存储vi外加一个case结构,并以布尔报警灯作为判断,如果为真值,存储,为false,

不存。

回放有两种形式,即:

可以把试验数据存储,然后回调。

也可以把graph存为图片。

22、怎样把Whileloop的循环次数i写入Table的行头ColHdrs[]呢?

创建Table的属性节点,属性ColHdrVis=T显示行头,ColHdrs[]连接一个字符串数组,

需要将循环次数i加1,然后通过NumberToFractionalString转化为字符类型,精度为

0。

添加移位寄存器,赋初值为空字符串数组,buildarray上端输入接移位寄存器,下端

接数字,右端接ColHdrs[]和移位寄存器另外一端。

23、串口程序打包安装到一台没有LV环境的机器下,串口不可用,为什么?

LV7.1的版本,在ApplicationBuilder中Installer页面选择:

Advanced/SerialPort

Support。

24、使用CLF节点调用DLL中的函数,如果原函数中指定的数据类型为结构,那么在CLF配置

过程中该如何指定数据类型?

可以选择数据类型(TYPE)为AdaptToType,然后在输出或输入端口连接一个Cluste

r,这个Cluster的定义和原函数中结构的定义一样。

选择AdaptToType后,连接到端口的

数据类型是什么,与函数接口的数据类型就是什么。

25、在子vi运行过程中,如何将数据实时传递到调用它的主vi中,而不是等待子VI运行结

束后才在主VI中获得子Vi的输出数据?

使用带控制参量的属性节点可以实现在子VI中修改主VI属性的目的,由于控件的值(V

alue)也是控件的属性之一,因此可以使用控制参量是新以上要求。

在子VI中,使用带有

控制参量的属性节点,将要传递到主VI的数据写入这个属性(Value)中,将控制参量要设

置为Control,并且在子VI的连接器中进行定义;

在主VI中,为接收子VIshuju的控件建立

一个控制参量,将这个控制参量连接到子VI,即可达到在主VI中实时获取子VI数据的要求

26、事件结构中两种事件类型,一个是通知事件(Notify),另一个是过滤事件(Filter

),这两种事件的区别是什么?

对于通知事件,程序可以感知事件的发生并且响应该事件,然后再处理在事件结构中定

义的任务;

对于过滤事件,程序感知事件发生后首先处理在事件结构中定义的任务,然后

根据时间结构中的设定(Discard?

)决定是否响应该事件。

举例来说,时间为PanelClo

se,在事件发生时弹出一个对话框。

如果是通知事件,首先响应事件关闭了前面板,因此

没有办法处理“弹出对话框”的任务;

如果是过滤事件,首先处理“弹出对话框”的任务

,然后根据事件结构中的Discard的值判断是否关闭前面板,若Discard为T,则不关闭,若

为F,则关闭。

27、LV7.1主程序已经完成,想在主程序运行之前,先执行一个别的界面,当退出该界面的

时候,再显示主界面,如何实现?

可以在主程序框图之前,将主程序前面板隐藏,调用子程序,推出子程序后,再显示主

程序前面板。

这可以通过VI属性节点来实现,先调用一个属性节点,右键选择SelectCla

ss/VIServer/VI,然后在属性中选择FrontPannelWindow/State属性,分为设为Hide和

Standard。

Demo程序见项目进程管理中AE-01labview编程技术讨论的“主界面隐藏”。

28、将LV7.1前面板控件(graph)的内容保存成图像文件,在LV中如何编程实现?

右键控件创建InvokeNode,选择方法为“GetPanelImage”;

另外,调用Graphics

&

Sound/GraphicsFormats下面的VI,将第二步获得的图像写入相应格式文件中。

29、在LV程序中使用matlab,生成exe文件以后,发现文件可以运行但是无法弹出运行界面

在lv中如果使用了MATLAB的话,生成EXE文件的时候需要加一个名为马特script.dll的

文件作为支持文件,此外在目标PC上必须安装MATLAB软件。

30、LV7.1使用VIServer的方式,在一台机器上调用另一台机器上的VI并运行,需要做哪

些设置?

(两台机器在同一个网络中)

1)在Tools/Options/VIServer:

Configurtion下选择Protocols为TCP/IP,这样才能

在网络中使用VIServer,否则只是在本机上使用VIServer。

2)在Tools/Options/VIS

erver:

TCP/IPAccess下设置可以访问的VIServer的主机IP。

如果不进行设置,远程机器

将无法调用需要的VI。

31、在LV7.1中如何在运行程序后,前面板上去掉windows的关闭按钮

可以在LV的前面板FILE/VIproperties/windowsappearance/customize,去掉allow

usertoclosewindow对钩,保存设置,运行后可以实现效果。

32、LV7.1中如何清除前面板的Graph,即在每次运行时,让Graph重新显示数据而不显示历

史数据。

在Graph里面可以通过创建LocalVarible并对其赋空来解决。

而在Chart里可以通过创

建HistoryData属性节点并对其赋空来解决。

33、LV7.1中怎样将一个数组中所有满足条件的元素的索引值提取出来,保存成一个新的数

组?

使用移位寄存器、BuildArray和Select函数就可以做到,具体方法:

1)使用FOR循环

,在循环边框上添加一个移位寄存器,并初始化为一维空数组,类型为I32;

2)在循环内

部使用Select函数,每次循环都判断数组中的一个元素,并将判断结果(布尔量类型)送

入Select的“s”输入端;

3)每次循环都使用BuildArray函数将左端的移位寄存器直接

连接到Select函数的“f”输入端,这样Select函数的输入端就是所有满足条件的元素的索

引值;

4)将Select函数的输出端连到右端的移位寄存器上。

这样程序结束后,For循环的

右端移位寄存器的数据就是需要的索引值。

35、移位寄存器和反馈节点的区别?

回答:

反馈节点箭头的起始端相当于移位寄存器的右端,箭头的末端相当于寄存器的左端

区别在于移位寄存器的左端元素可以通过下拉下拉方式增加,而反馈节点的端口是无法

增加的。

36、如何让子VI的前面板也显示出来?

右键点击子VI,选择SUBVINODE……然后再选择第2项SHOW……就是当子VI被调用时,

显示前面板。

37、弹出窗口无法进行任何操作,并且被主界面挡住,如何解决?

主界面VIproperties中windowsappearance里customs设定windowsbehavior为norma

l了,因此主界面保持在最前端,应该设为default。

38、在程序中实现按对应键弹出窗口,在窗口已打开情况下继续可打开其他窗口?

在程序框图内使用并行循环。

每一个可能要运行的子VI(打开其窗口)及其运行条件(

按键)各占一个循环。

各个循环相互独立,互不干扰。

在考虑同时关闭各个窗口时,需要

使用全局变量。

39、在调度Vi的时候,经常无意地把面板上的一些控件移动了位置。

还要花很大功夫去重

新布置这些面板控件。

有没有办法让已经设计好的控件的位置固定不动?

首先我们可以通过Operate菜单中的ChangeToRun/EditMode命令,设置VI为运行或编

辑模式。

面板控件的移动只在编辑模式下有效。

在运行模式下是不能移动任何控制的位置

的。

第二种方法是,选择指定的控件(可多选),然后在菜单的Reorder下拉菜单下,选择

LOCK命令,来锁住指定的控件。

这样,除非使用Unlock命令解锁。

否则是无法移动指定控

件的位置。

40、为什么子VI节点的输出端口没有数据传递出来?

这类问题的主要原因是子VI中存在着循环。

如果子VI中的循环不能推出,子VI节点就一

直在运行。

对于LV的数据流编程机制来讲,一个节点没有执行完,它的所有输出端口就不

会有有效数据输出。

解决方法:

一是把子VI中的循环提出到主VI里来。

二是使用全局变量

,并在主VI中使用并行循环来控制子VI的结束。

41、怎样在LABVIEW中实现全屏显示?

1)要全屏显示,在File/VIProperties/WindowSize/Sizethefrontpaneltothe

widthandheightoftheentirescreen打上钩,就可以了。

2)是否控件显示方法,第一,要完全不显示时,可以把控件放在界面看不见的地方他就不

显示了;

第二种方法,你可以使用控件的属性进行控制控件的Visible,具体方法是在程

序框图里点击鼠标右键/Create/PropertiesNode,选择Visible,并将其改为Changeto

Read,对Visble设置为True或False就可以控制控件是否显示了

42、LV如何对Excel文件作数据续存?

43、LV当用鼠标点击Graph时,该Graph的大小变化了,当鼠标离去后Graph的大小恢复到原

来情况?

可以应用一个EventStructure来做,添加两个事件(一个是鼠标点击,另一个是鼠标

离去)。

通过在这两个事件中分别赋给Graph的PlotArearSize属性节点不同的值,来改变

Graph的大小。

44、如何用LABVIEW编程检测U盘?

需要调用WindowsAPI函数GetDriveTypeA,其函数返回值盘符类型的数据类型为长整形

,输入参数为检测盘符。

调用CLFN.vi选择\windows\system32\kernel32.dll,选择GetD

riveTypeA,设置ReturnType为NumericSigned32-bitInteger;

再添加参数nDrive,设

置参数类型为STRING和格式为CStringPointer。

运行时在输入端填上要检测的U盘盘符,

返回结果为时表示为DRIVE_REMOVABLE即为可移动的U盘

45、如何用Labview与可编程仪器通信,该仪器没有GPIB接口,但有COM口,能否用LV操

作?

可以通过Labview的串口通信来解决仪器控制问题,参看FINDEXAMPLE的BASIC2PORT

SERIALWRITEANDREAD.VI

46、如何将EVENTSTRUCT中捕获的时间传递到STATEDIAGRAM?

使用VENTSTRUCT捕获面板事件后,将不同的事件对应于不同的字符串和其他,再通过Q

UEUE将VENTSTRUCT中的字符串传递到STATEDIAGRAM中,再根据得到的字符串进行相应的处

理。

47、使用WRITETOBINARYFILE函数向二进制文件中写入一个1D数组,为什么在READF

ROMBIANRYFILE读取时,会多出4个字节数据呢?

写入时加入了头信息,多出的4个字节就是头信息,代表了数组或字符串的长度。

在WR

ITETOBINARYFILE中的APPENDARRAYORSTINGSIZE这个输入端口中设置,其默认值为

T,代表加入头信息;

如果将其改为F,就不会多出4个字节了。

48、卸载Labview7.1时出现错误1603,接着出现错误1722和1721,程序询问是否继续卸

载操作,怎样消除该错误并正确卸载7.1?

该错误通常出现在试图卸载某些共享组件的时候。

按照以下步骤可以解决该问题。

1)注意当错误发生时是在卸载哪一部分组件。

一般讲在卸载LV核心部分或LVRUNTIME

ENGINE的时候容易出现。

2)当出现错误代码1603,弹出对话框提示继续卸载操作时候,点击YES

3)如果卸载完成之后提示需要重新启动计算机,点击NO。

4)对于卸载过程中产生的错误,从CD相应的文件夹中手动运行相应的组件,路经如下:

\components\lvcorefull\lvcorefull.msi或components\lvruntimeeng\lvruntimeeng.ms

i点击修复按钮。

5)修复之后再次运行这些MSI,选择卸载按钮。

这样就可以完全卸载。

49、Labview7.1在编写大型程序时希望优化计算机的内存使用,那么需要考虑哪些内容?

1)、将VI分解为SUBVI,当SUBVI不再被执行的时候,LV能够释放它的内存。

2)、尽可能少使用全局变量或局部变量,这两者会造成LV为数据备份。

3)、在需要时才在打开的前面板上显示大型数组和字符串,因为前面板的显示控件需

要复制他们显示的数据。

4)、属性节点会造成SUBVI的前面板滞留在内存中,这样会增加内存的使用。

因此,如

果SUBVI的前面板不被显示,不要在SUBVI中使用属性节点。

5)、尽量在数组中使用相同的

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 其它

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2