Optislang和MotorCAD联调心得
看到论坛突然多了很多软件联调的,不才之前联调过不少案例,做点小分享:1、软件版本选择:MotorCAD 14.1.5 + Optisalng 8.0
目前学习版软件里相对较稳定的版本,14可支持多开(最多同时开10个窗口)。15.1.2也试过,但调activeX似乎也不能多开。
2、途径:基于Python驱动的两软件联调。
不用MotorCAD自带的联调!不用MotorCAD自带的联调!不用MotorCAD自带的联调!(说三遍)
目前我这边调通的是基于Python的联调,用motorCAD自带的我也没调通过。
3、Python文件怎么编?
MotorCAD的根目录下,找路径:14_1_5\Tutorials\Ansys_Optislang\Advance IPM\PYTHON,可以找到一个演示案例。
打开之后可以直接通过改参数的方式编写。(如果有很多人问的话,我专门再写个帖子讲怎么改python程序)
4、联调之前motorCAD要检查些啥?
Defaults → ActiveX Registration,确认三个地方:
A . Version Info的Current Version一定要链接到14.1.5,否则ActiveX可能调用软件失败,直接报错;(如果不是就点一下下面的Update to current version,像我的电脑同时装了三个版本的motorCAD,有时候就会出现链接错误的情况)
B . Disable ActiveX for this instance of MotorCAD选项确认不勾!勾了就没法调用了;
C . Client selection选择single,别选错了。
5、正常的调通应该是怎么样的?
建档:MCAD、PYTHON、OPD各一个文件夹,MCAD放原版的motorCAD方案,OPD放建好的opf联调文件,PYTHON放程序;
设参:新建optislang,solver选择python,选择PYTHON文件夹里的程序,将"i_"打头的变量都拖到左上角的空白框,将“o_”打头的变量都拖到右上角的空白框;第一次的时候参数变化不用管,然后是设置目标(比如峰值功率要大于多少,齿槽转矩要小于多少,类似这种),最后点确定。
正常的流程:点击开始后会先提示你保存文件,就保存在OPD文件夹里。然后先是ActiveX的黑框弹出来,再是MotorCAD主界面。参数赋值会按照你给的“i_”打头的变量赋值。然后依次是成本、反电势、电磁性能等计算,最后计算完毕,双击optislang界面的图标可以查看结果。一般来说建模无问题的话,Status会提示Succeeded,否则就会提示false;如果当下这个模型的计算结果满足所有目标要求,Feasible一栏也会显示Succeeded,反之会显示False。向右拉可以看到是哪些指标不满足要求。
中间但凡报错,都说明python程序或者motorCAD样本有问题,建议先排查。
6、联调的一些小Tips:
A . 目前这种联调暂不支持带dxf的,在联调前最好先检查一下源文件是否带了dxf,带了的话清掉;
B . 报错geometry相关的多半是FEA选项卡打点没打对位置。最好在python里加一句自动打点的,另外做敏感性分析时,不要把空气或磁钢区域设计的过于极限,14.1.5有概率自动打点后还是报错;
C . 不出现MotorCAD主界面直接报错,多半是语句mcApp = win32com.client.Dispatch("MotorCAD.AppAutomation")未执行。之前碰到过,重装系统之后就好了;
D . 多开窗口调这里:双击1,单击2,然后修改3里的数字。
红框里的数字是几,就可以同时开几个窗口运算。当然,这个主要取决于自家电脑给不给力。
E . 如果是python执行语句错误相关,一般是在幅值的时候给错了,或者是哪句话出现了语病。找到optislang状态栏中对应的行,然后改过来就好;
F . 接E,这种错误包括但不限于给ActiveX赋值时,弄混SetVariable和SetArrayVariable;或者给某个变量赋值时变量名打错了,赋值没赋上,等等;
G . 没事最好不要优化槽宽和槽高。特别是槽高,很容易报错(距离不太好取)。
H . python程序会改后就可以自己手动加程序段了,比如看峰值功扭(而非特定转速的功扭),最高效率,或者自己写一段来比较两个电机的成本等等。
I . python软件不建议用过于先进的版本,否则有概率会出现python无法识别一些数学符号的问题(之前碰到过,调了很久,最后查出识别不了math.py)
暂时写这么多吧,一时半会儿能想到的也就这些,有人看了再答。
没弄通过 如果楼主能做一个教程那就好了{:1_551:} 请问,自己装Python需要配置一个什么样的环境呢大佬 字符串 发表于 2025-9-19 10:13
请问,自己装Python需要配置一个什么样的环境呢大佬
Python装不装其实没太所谓,用记事本也可以编辑。
你说的环境是指? 春哥学电机1 发表于 2025-9-19 08:42
没弄通过 如果楼主能做一个教程那就好了
教程看第5点就行。基本上正常的流程就是第5点呈现的那些 孤傲de游侠 发表于 2025-9-19 15:34
Python装不装其实没太所谓,用记事本也可以编辑。
你说的环境是指?
记事本就行,好的好的。那大佬知道这个的原因吗?试运行错误 本帖最后由 孤傲de游侠 于 2025-9-21 23:28 编辑
字符串 发表于 2025-9-20 09:52
记事本就行,好的好的。那大佬知道这个的原因吗?试运行错误
我用motorCAD没调通过,你要不要用python直接驱动编程试试?
motorCAD给了程序案例,你可以直接改好之后调
另外,motorCAD自带的多目标优化基本上是扫描法,你需要设置扫描步长,我不是很喜欢这种比较呆的。 孤傲de游侠 发表于 2025-9-21 23:26
我用motorCAD没调通过,你要不要用python直接驱动编程试试?
motorCAD给了程序案例,你可以直接改好之后 ...
谢谢大佬,我这就去试一试 大佬,optislang里面报错怎么办啊 插个眼,后面看看实操一下
页:
[1]