找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

Flux电机有限元分析教程西莫团购入口 | 奖励入口当当网购物入口 | 奖励入口欢迎使用!西莫论坛App开放下载Motor-CAD电机多物理域设计教材购买入口 | 奖励入口
★新会员论坛须知★《西莫电机技术》第41期发售火热进行中
Flux电机电磁阀有限元分析教程团购入口 | 奖励入口论坛微信公众平台欢迎入驻
西莫电机及相关产品供需交流群开放邀请★ 论坛VIP会员申请 ★Motor-CAD.MANATEE电磁热振动噪声教程 | 奖励入口西莫团队欢迎您的加盟!
宣传推广合作请联系QQ:25941174西莫电机论坛微信群正式开放Flux变压器与电抗器有限元分析团购入口 | 奖励入口西莫电机论坛技术版区QQ群汇总
查看: 31|回复: 0

[分享] Optislang和MotorCAD联调心得

[复制链接]

签到天数: 11 天

连续签到: 2 天

[LV.3]偶尔看看II

发表于 2025-9-18 18:44 | 显示全部楼层 |阅读模式 来自: 中国
看到论坛突然多了很多软件联调的,不才之前联调过不少案例,做点小分享:

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)

暂时写这么多吧,一时半会儿能想到的也就这些,有人看了再答。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

西莫电机论坛微信公众平台欢迎您的关注!

QQ|Archiver|手机版|小黑屋|西莫电机圈 ( 浙ICP备10025899号-3|浙公网安备33010502012192号 )

GMT+8, 2025-9-19 01:55 , Processed in 0.060633 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表