您好,我正在尝试使用 Matlab 通过 Windows 自动化控制 FastHenry2。我是那个话题的新手。如果我理解正确,我必须打开它:
ax=actxserver('FastHenry2.Document');
而不是用句柄运行我想要的功能?
ax.Run('coils1.inp')
但这不起作用。Matlab 找不到 Run 并使用 run 代替,这是一些与问题完全无关的内置函数。此外,此 UI 应支持的所有其他功能也不起作用。例如 FastHenry2.IsRunning 或 FastHenry2.GetInductance。所以我想我在整个 UI 处理上做错了。FastHenry 提供了一个使用 VBS 的示例脚本,我附在下面,因为它工作正常,FastHenry 应该直接安装在计算机上。我很感谢我能得到的每一个提示。
这么长的反应器
以下 VBS 示例工作正常
Dim FastHenry2
pathPos = InstrRev(Wscript.ScriptFullName, Wscript.ScriptName)
path = left(Wscript.ScriptFullName, pathPos-1)
Set FastHenry2 = CreateObject("FastHenry2.Document")
couldRun = FastHenry2.Run("""" + path + "coils1.inp""")
Do While FastHenry2.IsRunning = True
Wscript.Sleep 500
Loop
inductance = FastHenry2.GetInductance()
WScript.Echo "Coils1 mutual inductance is " + CStr(inductance(0, 0, 1))
FastHenry2.Quit
Set FastHenry2 = Nothing