LabVIEW常见的79个问题解析
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
\”/t “C:\1234.pdf” “username”其中C:\Program files\Adob
e\Acrobt 7.0\是Adobe Reader 的安装路径,/t是命令参数,C:\12
34.pdf则是要打开的文件名,最后的username是用户的名字。
5、采集数据在graph如何显示系统时间,并且随着采集点数时间不断刷新。A:有两种方式,一种是采集波形数据然后输出给graph,在graph上选择显示绝对时间,并
且去掉ignore time stamp选项。第二种是采集数据文件,然后用获取时间的
vi获取当前时
间,然后把采集的数据文件和当前vibuild成波形文件再给 aph的设
置和前种方法
一样。这样就可以显示出时间虽采集点不断刷新的效果。
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 T
o 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. Form
string字符串转化数组at设为模式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 内数据以字
符串的方式读出。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论