主页
技术支持
在LabVIEW中使用MATLAB®脚本节点时遇到错误1047
在LabVIEW中使用MATLAB®脚本节点时遇到错误1047
更新 Sep 26, 2019
适用于
“适用于”表示本页面提供的解决方案已被证实适用于列出的产品。该方案或同样适用于类似产品或应用。
软件
LabVIEW Full
LabVIEW Base
操作系统
Windows
问题详述
当我在LabVIEW中尝试使用MATLAB脚本节点去与MathWorks公司的MATLAB®软件进行交互的时候,遇到
错误1047
。
可能的原因:
LabVIEW:(Hex 0x417)LabVIEW无法将变量发送到脚本服务器。
我已经正确安装了MATLAB®和LabVIEW软件,并能运行它们,但我不能使它们相互进行通讯。
解决方案
发生此错误的原因是因为ActiveX脚本服务器无法正常启动。您可以考虑以下解决方案:
如果您已经安装了MATLAB®软件并且之前至少运行过一次,那么所有的ActiveX组件都会在操作系统中进行注册。要使用 Script Server 脚本服务器,请关闭所有程序(MATLAB®和LabVIEW)。然后打开MATLAB®软件,等MATLAB®完全装载入内存之后,再启动LabVIEW。这时,脚本服务器应该会有回应,错误也不会再出现了。
为了重新注册ActiveX组件,请打开命令提示符(单击“开始”»“运行”,在“打开”字段中键入
cmd
,然后单击“确定”),然后执行以下操作:
导航到
MATLAB \(版本)\ bin
目录(例如
MATLAB \ R2008b \ bin
)。
在提示符下输入
matlab -regserver
,然后按Enter键。
退出出现的MATLAB®软件实例。
这时,MATLAB脚本节点应该可以正常运行。 (您可能需要重新启动LabVIEW)。
如果您仍然遇到这个错误,请尝试在本地安装MATLAB®软件并设置环境变量
MATLAB_RESERVE_LO = 0
。
如果仍然出现相同的错误,那问题可能与读取输入的脚本语言相关,这些脚本使用 MathWorks, Inc. MATLAB® 语言语法。如果是这种情况,请运行范例程序"Lorenze Diff Eq.vi"看问题是否仍然存在,该范例程序有变量输入到脚本。然而, 范例程序"Fractal.vi" 可能成功执行是因为它仅有脚本节点输出。最简单的解决方法是把输入数据的类型改为复数形式。
相关信息
MATLAB®是The MathWorks,Inc。的注册商标。列出的其他产品和公司名称是其各自公司的商标和商品名称。
相关链接
Why Do I Get Server Script Error 1047 with My MATLAB® Script Node?
其他支持选项
询问NI社区
在我们的论坛中与其他用户协作
搜索NI社区以寻求解决方案
请求工程师的支持
可能需要有效的服务协议或有效的软件订阅,同时支持选项因国家/地区而异
打开服务请求
了解软件订阅和服务
了解硬件服务计划
Was this information helpful?
Helpful
Not Helpful