LabVIEW 使用VISA Close真的关闭COM口了吗

简介: LabVIEW 使用VISA Close真的关闭COM口了吗

LabVIEW 使用VISA Close真的关闭COM口了吗


在LabVIEW 应用程序中使用了 VISA Close,但是当运行另一个程序时被告知VISA资源被占用。


解答: VISA Close 的确关闭了对应的 COM 口的 VISA Resource,使得它可以被其他应用程序使用。 尽管如此, LabVIEW代码中的其他一部分可能也打开了一个 VISA Resource。例如,使用了一个可以访问VISA属性的一个属性结点,这个属性结点在 VISA Close 执行之前执行。需要记住的关键点是无论何时访问一个有 VISA Resource的属性结点,就会有一个新的 VISA Resource被创建。如果没有将VISA Resourc的连线通过该属性结点(还有错误簇),实际情况是当 VISAClose执行的时候,这个资源被关闭,之后VISA 属性节点执行,这个COM口的 VISA resource再次被打开。接下来任何试图使用该 COM 口的操作都会报告 资源被占用的错误。附件是一个可能发生这种问题的例子以及一个如何解决此类问题的例子。


f1746e8b229efd7e6476750fc072743f.png


编辑


添加图片注释,不超过 140 字(可选)



当尝试打开仪器的新VISA会话或使用现有会话时,会收到错误 - 1073807346 VISA :( Hex 0xBFFF000E)给定的会话或对象引用无效。该如何解决这个问题?


解决方案


出现此错误的原因有很多:


地址不正确 :确认正确地输入仪器所在地址。要使用仪器,可以使用其VISA别名或VISA资源名称。这些可以在Windows上的NI MAX 或Mac和Linux上的NI-VISA配置实用程序中查看。


端口设置不正确:转到设备管理器,然后右键单击仪器所连接的端口。左键单击Properties ,然后单击Port Settings选项卡。单击“ 恢复默认值”按钮。然后,应该转到NIMAX并在相同的端口中使用相同的端口设置。


设备未通电:确认设备已正确连接并已打开电源。


缺少运行时引擎: 如果要部署此应用程序,请验证部署计算机是否安装了NI-VISA运行引擎。


VISA会话先前已经关闭: 如果VISA会话在通信期间意外关闭,也会发生此错误。发生这种情况的最常见情况是VISA资源是否存储在全局变量中。在这种情况下,禁用“ 自动关闭VISA会话” 选项可以防止错误。默认情况下禁用 “ 自动关闭VISA会话” 选项。如果在系统上启用它,可以按照以下步骤禁用它:


在LabVIEW8.0及更高版本中,选择工具»选项以显示“选项”对话框。然后从Category列表中选择Environment 。取消选中自动关闭VISA会话复选框,然后选择确定。


注意: 如果禁用此选项,请确保在与设备通信完成后调用VISA Close。


LabVIEW、LabVIEW开发、LabVIEW编程、LabVIEW程序


上文中提到的例子和资料,均在word中的附件里,可点击下载。进一步了解,可联系我们。

相关文章
LabVIEW实现Modbus通信
Modbus只是工业控制中常用的一种协议方式,本篇博文依旧是通过串口通信的方式实现基本的Mosbus操作。
|
Linux 开发工具 C语言
一文学会LabVIEW调用动态链接库DLL生成VI
大家都知道,LabVIEW在做大型项目的时候,我们不可能把所有的函数全部展示在主VI中,所以肯定会使用到子VI,子VI的有两种,一种是直接使用LabVIEW中的函数生成功能的VI,还有一种方式就是调用动态链接库DLL生成相应功能的VI,今天给大家介绍一下调用动态链接库DLL生成VI。本笔记为笔者在项目中记录,为方便之后查看,同时也希望能帮助有需要的朋友。
一文学会LabVIEW调用动态链接库DLL生成VI
LabVIEW 调整Table表格行高列宽的方法与例程
LabVIEW 调整Table表格行高列宽的方法与例程
1150 1
LabVIEW中不同颜色连线的含义
LabVIEW中不同颜色连线的含义
676 2
|
监控
LabVIEW程序内存泄漏分析与解决方案
LabVIEW程序内存泄漏分析与解决方案
844 0
使用LabVIEW打开默认应用程序中的文档(PDF,Word,Excel,Html)
使用LabVIEW的"Open a Document on Disk.vi",存于<LabVIEW>\vi.lib\Platform\browser.llb,可让默认应用打开硬盘文档。此VI仅基础打开功能,高级控制推荐LabVIEW Report Generation Toolkit或ActiveX。注意:避免版本升级问题,最好将VI复制到vi.lib外的目录。
857 3
|
API Windows
LabVIEW使用共享变量在两台计算机之间进行通信
LabVIEW使用共享变量在两台计算机之间进行通信
613 0
LabVIEW十六进制和字符类型转换
在LabVIEW的串口通信中,数据的发送与接收都是基于字符串控件(常量)进行的。 字符串控件(常量)有两种表现形式:正常显示和十六进制显示。
|
C++ 数据格式
LabVIEW传递接收C/C++DLL指针
LabVIEW传递接收C/C++DLL指针
830 1
LabVIEW UI设计的几个技巧
LabVIEW UI设计的几个技巧
1047 0

热门文章

最新文章