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 口的操作都会报告 资源被占用的错误。附件是一个可能发生这种问题的例子以及一个如何解决此类问题的例子。
编辑
添加图片注释,不超过 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 使用VISA Close真的关闭COM口了吗 - 北京瀚文网星科技有限公司 (bjcyck.com)