通信64位Matlab和32位Labview



我正试图从64位Matlab中调用一个32位DLL。我选择使用Labview,32位及其DLL导入向导,并通过ActiveX调用Labview。我被迫按照这个路径使用由仪器供应商提供的32位DLL。

如果我安装了Labview 64位,我可以使用Matlab行e=actxserver('LabVIEW.Application');,它加载了精细的

如果我安装了(仅(Labview 32位e=actxserver('LabVIEW.Application');失败,并显示消息"服务器创建失败:系统找不到指定的文件。">

然而,如果我启动32位Labview可执行文件,使其运行,则matlab行e=actxserver('LabVIEW.Application');工作正常,并且我可以调用VI,设置参数,从Matlab中运行VI等等。

因此,Matlab无法启动Labview,但它可以"连接"到当前运行的Labview实例。有人能理解并解释发生了什么吗?

谨致问候,Lars Granlöf

验证Windows注册表中的LocalServer键是否指向64位版本的LabVIEW,而是指向32位版本,您可以在此处找到该键:Computer\HKEY_CLASSES_ROOT\CLSID\<GUID>

搜索";LabVIEW应用程序";在windows注册表中查找全局唯一标识符,它看起来类似于{XXXXXXXX-XXXX-XXXXXXXXXXXXXX}

以下是我电脑中的值:

LocalServer:C:\Program Files(x86(\National Instruments\LabVIEW 2018\LabVIEW.exe/Automation

LocalServer32:C:\Program Files(x86(\National Instruments\LabVIEW 2018\LabVIEW.exe/Automation

ProgID:LabVIEW.Application.8

版本独立程序ID:LabVIEW。应用程序

相关内容

  • 没有找到相关文章

最新更新