不知道大家还记不记得上周边肖分享的《LabVIEW个初学者常见问答汇总》。上次分享完,有小伙伴说很有用。现在边肖将分享第二颗炸弹~
之前文章的内容戳到这里:干货!LabVIEW初学者24个常见问题及答案总结
25.在sub vi运行过程中,如何将数据实时传递给调用它的主vi,而不是等到sub Vi运行完毕,才在主vi中获取sub VI的输出数据?
答:使用带控制参数的属性节点,可以达到在子VI中修改主VI属性的目的。由于控件的值也是控件的属性之一,因此可以使用控件参数来满足上述要求。
在子VI中,使用带有控制参数的属性节点,将要传输到主VI的数据写入这个属性(Value),控制参数设置为控制,在子VI的连接器中定义;在主VI中,为接收子VIshuju的控件建立一个控制参数,这个控制参数连接到子VI,可以满足在主VI中实时获取子VI数据的要求。
26.事件结构中有两种类型的事件,一种是通知事件,另一种是过滤事件。这两个事件有什么区别?
答:对于通知事件,程序可以感知事件的发生并响应事件,然后处理事件结构中定义的任务;对于过滤事件,程序首先在事件发生后处理事件结构中定义的任务,然后根据时间结构中的设置(丢弃?)来决定是否响应事件。例如,时间是面板关闭,当事件发生时会弹出一个对话框。如果是通知事件,响应事件先关闭前面板,无法处理“弹出对话框”的任务;如果事件被过滤,首先处理“弹出对话框”的任务,然后根据事件结构中的Discard的值判断是否关闭前面板。如果Discard为t,则不会关闭;如果是f,它将被关闭。
27、LV7.1主程序已经完成,想在主程序运行之前,先执行一个不同的界面,当退出界面后,再显示主界面,如何实现?
回答:可以在主程序的框图前隐藏主程序的前面板,调用子程序,推出子程序,然后显示主程序的前面板。这可以通过VI属性节点来实现,通过调用一个属性节点,右键单击Select Class/VI Server/VI,然后选择属性中的前置面板窗口/状态属性,分为隐藏和标准。演示程序参见项目过程管理中AE-01labview编程技术讨论中的“主界面隐藏”。
28.将LV7.1前面板控件(图形)的内容保存为图像文件,如何在LV中编程?
回答:右键控件创建Invoke Node,选择方式为“获取面板图像”;另外,调用Graphics &:Sound/Graphics Formats下面的VI将第二步得到的图像写入相应的格式文件。
29.在LV程序中使用matlab生成exe文件后,发现该文件可以运行,但不能弹出运行界面。
回答:如果在lv中使用MATLAB,在生成EXE文件时,一个名为Matt的文件。应该添加dll作为支持文件,目标PC上必须安装MATLAB软件。
30.LV7.1使用VI Server在一台机器上调用VI并运行。需要做哪些设置?(两台机器在同一个网络中)
答案:1。在工具/选项/VI服务器:配置下选择协议为TCP/IP,使VI服务器可以在网络中使用;否则,虚拟服务器只能在本地使用。在工具/选项/VI服务器:TCP/IP访问下设置可访问VI服务器的主机IP。没有设置,远程机器将无法调用所需的VI。
31.如何在LV7.1中运行程序后,去掉前面板上的窗口关闭按钮?
答:可以在LV文件/vi属性/windows外观/自定义的前面板去掉允许用户关闭窗口检查挂钩,保存设置,运行后实现效果。
32.如何在LV7.1中清除前面板上的Graph,即让Graph再次显示数据,而不在每次运行时显示历史数据。
答:在图中,可以通过创建局部变量并将其赋值空来解决。在图表中,可以通过创建历史数据的属性节点并为其分配空来解决问题。
33.在LV7.1中,如何提取一个数组中所有满足条件的元素的索引值,并保存为新数组?
答:你可以通过使用移位寄存器、构建数组和选择函数来实现。具体方法:
1)使用一个FOR循环,在循环帧上增加一个移位寄存器,初始化为I32类型的一维空数组;;
2)使用循环内部的Select函数,每个循环判断数组中的一个元素,并将判断结果(布尔量类型)发送到Select的“S”输入端;
3)在每个循环中利用Build Array函数将左移位寄存器直接连接到Select函数的“f”输入端,使Select函数的输入端是所有满足条件的元素的索引值;
4)将选择功能的输出连接到右端的移位寄存器。这样,程序结束后,For循环右端的移位寄存器中的数据就是所需的索引值。
移位寄存器和反馈节点有什么区别?
答:反馈节点箭头的起始端相当于移位寄存器的右端,箭头的末端相当于寄存器的左端。不同的是移位寄存器的左元素可以通过下拉增加,但是反馈节点的端口不能增加。
36.如何让子VI的前面板也显示出来?
回答:右键点击子VI,选择子VI节点…然后选择第二项SHOW…即调用子VI时,会显示前面板。
37.弹出窗口无法操作,被主界面阻挡。怎么解决?
答:在主界面的VI属性中,在窗口外观中,海关将窗口行为设置为正常,所以主界面保持在最前端,应该设置为默认。
38.按相应的键弹出程序中的窗口,在窗口已经打开的情况下继续打开其他窗口?
回答:在程序框图中使用并行循环。每一个可能要运行的子VI(打开它的窗口)和它的运行条件(按键)占用一个周期。每个周期都是独立的,互不干扰。当考虑同时关闭窗口时,您需要使用全局变量。
39.在调度Vi时,面板上的一些控件经常会被无意地移动。重新排列这些面板控件需要很大的努力。有什么方法可以固定设计控件的位置?
答:首先,我们可以使用操作菜单中的更改为运行/编辑模式命令将虚拟仪器设置为运行或编辑模式。面板控件的移动仅在编辑模式下有效。在运行模式下,您不能移动任何受控位置。第二种方法是选择指定的控件(允许多选),然后选择菜单的Reorder下拉菜单下的LOCK命令锁定指定的控件。这样,除非使用解锁命令解锁。否则,无法移动指定控件的位置。
40.为什么子VI节点的输出端口没有数据传输?
答:这种问题的主要原因是子VI存在循环。如果子VI中的循环无法推出,那么子VI节点将一直运行。就LV的数据流编程机制而言,如果一个节点没有完成执行,那么它的所有输出端口都不会有有效的数据输出。解决方法:首先把子VI中的循环放到主VI中。第二,使用全局变量,在主VI中使用并行循环来控制子VI的结束。
41.如何在LABVIEW中实现全屏显示?
答:1)要全屏显示,只需勾选file/VI properties/window size/size前面板到整个屏幕的宽度和高度即可。2)控件是否显示。第一,当它完全不显示时,你可以把控件放在界面不可见的地方,它就不显示了;在第二种方法中,可以使用控件的属性来控制控件的可见性。具体方法是在程序框图中点击鼠标右键/Create/Properties节点,选择Visible,改为Change to Read,Visble设置为True或False,控制控件是否显示。
42.LV如何更新Excel文件?
回答:使用Excel Get Last Row.vi获取Excel中已有数据最后一行的行数,然后开始保存该行的数据。
LV用鼠标单击图形时,图形的大小发生变化,当鼠标离开时,图形的大小恢复到原来的状态?
回答:你可以应用一个事件结构来添加两个事件(一个是鼠标点击,一个是鼠标离开)。通过为绘图区域指定不同的值来更改图形的大小在这两个事件中调整图形的属性节点。
44.如何用LABVIEW编程测试u盘?
回答:需要调用Windows API函数GetDriveTypeA,返回值驱动字母类型的数据类型为长整型,输入参数为检测驱动字母。调用CLFN.vi选择windowssystem32kernel32.dll,选择GetDriveTypeA,将返回类型设置为数字有符号32位整数;;添加参数nDrive,将参数类型设置为STRING,格式设置为C String Pointer。运行时,在输入端填写待检测u盘的盘符,当返回结果为时,表示DRIVE_REMOVABLE,即removable U盘。
在学习labview的过程中,还是有很多小伙伴对知识点把握不透,对未来的职业规划没有明确的方向。为此,边肖特意带来了龙哥直播第三期《谈LabVIEW可视化工程师的职业发展前景》。6月13日(周四晚)19:50,龙哥和大家一起探讨如何做labviwe视觉职业生涯规划。有兴趣的小伙伴不要错过~快速扫码,免费参与!
直播详情
主题:龙哥与您面对面探讨如何规划labviwe的视觉事业
LabVIEW需要什么学历?
2)没有基础如何进入LabVIEW视觉或自动测试领域?
3)在线学习和在线学习如何选择?
4)可以在多大程度上开始申请LabVIEW视觉的工作?
5)如何形成LabVIEW可视化学习的良性循环?
[直播时间] 6.13晚19:50
[免费注册]限额200
18123773580,备注直播注册↓ⅵ
1.《labview移位寄存器 LabVIEW开发者必读的问答汇总,搞定疑难杂症全靠它了!》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《labview移位寄存器 LabVIEW开发者必读的问答汇总,搞定疑难杂症全靠它了!》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/guonei/1065116.html