- 积分
- 4919
- 回帖
- 0
- 西莫币
-
- 贡献
-
- 威望
-
- 存款
-
- 阅读权限
- 55
- 最后登录
- 1970-1-1
该用户从未签到
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 兰亭星落 于 2016-10-18 19:06 编辑
使用matlab控制ansoft maxwell,可以在matlab中用M语言编写函数,将自己的电机设计思想用程序实现,还可以利用matlab中自带的优化工具,比如遗传算法,控制Rmxprt和maxwell2d,实现电机智能设计
以下是matlab控制Rmxprt的一个例子,大部分参考H60880316的帖子https://bbs.simol.cn/thread-28895-1-1.html,实际中使用maxwell自带的记录脚本功能,记录成VB或Python脚本,再更改为matlab中的m语言即可,具体要使用invoke函数,并将Array()改为大括号{},将双引号改为单引号
iMaxwell=actxserver('AnsoftMaxwell.MaxwellScriptInterface');
Desktop = iMaxwell.GetAppDesktop()
Desktop.RestoreWindow
Project = Desktop.NewProject
invoke(Project,'InsertDesign','RMxprt','RMxprtDesign1','Adjust-Speed Synchronous Machine','')
Design = Project.SetActiveDesign('RMxprtDesign1')
Module = Design.GetModule('AnalysisSetup')
invoke(Module,'InsertSetup', 'ASSM', {'NAME:Setup1', 'Enabled:=', true, 'RatedOutputPower:=', ...
'3000W', 'RatedVoltage:=', '380V', 'RatedSpeed:=', '400rpm', 'OperatingTemperature:=', ...
'75cel', 'OperationType:=', 'Motor', 'LoadType:=', 'ConstPower', 'RatedPowerFactor:=', ...
0.75, 'Domain:=', false})
Editor = Design.SetActiveEditor('Machine')
invoke(Editor,'ChangeProperty', {'NAME:AllTabs', {'NAME:Machine', {'NAME:PropServers', ...
'Machine'}, {'NAME:ChangedProps', {'NAME:Number of Poles', 'MustBeInt:=', true, 'Value:=', ...
'6'}, {'NAME:Rotor Position', 'Value:=', 'Outer Rotor'}, {'NAME:Control Type', 'Value:=', ...
'AC'}, {'NAME:Windage Loss', 'Value:=', '100W'}, {'NAME:Reference Speed', 'MustBeInt:=', ...
false, 'Value:=', '400rpm'}, {'NAME:Frictional Loss', 'Value:=', '100W'}}}})
invoke(Editor,'ChangeProperty', {'NAME:AllTabs', {'NAME:Stator', {'NAME:PropServers', ...
'Stator'}, {'NAME:ChangedProps', {'NAME:Outer Diameter', 'Value:=', '190mm'}, {'NAME:Inner Diameter', 'Value:=', ...
'50mm'}, {'NAME:Length', 'Value:=', '100mm'}, {'NAME:Steel Type', 'Material:=', ...
'DW310_35'}, {'NAME:Number of Slots', 'MustBeInt:=', true, 'Value:=', '36'}, {'NAME:Slot Type', 'SlotType:=', ...
'2'}}}})
invoke(Editor,'ChangeProperty', {'NAME:AllTabs', {'NAME:Slot', {'NAME:PropServers', ...
'Stator:Slot'}, {'NAME:ChangedProps', {'NAME:Auto Design', 'Value:=', false}, {'NAME:Hs0', 'Value:=', ...
'0.1mm'}, {'NAME:Hs0', 'Value:=', '0.5mm'}, {'NAME:Hs1', 'Value:=', '0.5mm'}, {'NAME:Bs0', 'Value:=', ...
'1mm'}}}})
invoke(Editor,'ChangeProperty', {'NAME:AllTabs', {'NAME:Slot', {'NAME:PropServers', ...
'Stator:Slot'}, {'NAME:ChangedProps', {'NAME:Parallel Tooth', 'Value:=', true}, {'NAME:Hs2', 'Value:=', ...
'5mm'}, {'NAME:Bs1', 'Value:=', '2mm'}, {'NAME:Bs2', 'Value:=', '3mm'}}}})
invoke(Editor,'ChangeProperty', {'NAME:AllTabs', {'NAME:Slot', {'NAME:PropServers', ...
'Stator:Slot'}, {'NAME:ChangedProps', {'NAME:Tooth Width', 'Value:=', '5mm'}}}})
invoke(Editor,'ChangeProperty', {'NAME:AllTabs', {'NAME:Slot', {'NAME:PropServers', ...
'Stator:Slot'}, {'NAME:ChangedProps', {'NAME:Bs0', 'Value:=', '2.5mm'}, {'NAME:Hs2', 'Value:=', ...
'17mm'}, {'NAME:Hs1', 'Value:=', '1mm'}, {'NAME:Hs0', 'Value:=', '0.5mm'}, {'NAME:Tooth Width', 'Value:=', ...
'6.8mm'}}}})
invoke(Editor,'ChangeProperty', {'NAME:AllTabs', {'NAME:Winding', {'NAME:PropServers', ...
'Stator:Winding'}, {'NAME:ChangedProps', {'NAME:Number of Strands', 'Value:=', ...
'1'}, {'NAME:Wire Size', 'WireSizeWireDiameter:=', '0.7mm', 'WireSizeGauge:=', ...
'0', 'WireSizeWireWidth:=', '0mm', 'WireSizeWireThickness:=', '0mm', 'WireSizeMixedWireRectType:=', ...
true, {'NAME:WireSizeMixedDiameter'}, {'NAME:WireSizeMixedWidth'}, {'NAME:WireSizeMixedThickness'}, {'NAME:WireSizeMixedThicknessMixedFillet'}, {'NAME:WireSizeMixedThicknessMixedNumber'}}, {'NAME:Wire Wrap', 'MustBeInt:=', ...
false, 'Value:=', '0.05mm'}, {'NAME:Conductors per Slot', 'Value:=', '32'}, {'NAME:Coil Pitch', 'MustBeInt:=', ...
true, 'Value:=', '6'}, {'NAME:Parallel Branches', 'MustBeInt:=', true, 'Value:=', ...
'1'}}}, {'NAME:End/Insulation', {'NAME:PropServers', 'Stator:Winding'}, {'NAME:ChangedProps', {'NAME:Slot Liner', 'MustBeInt:=', ...
false, 'Value:=', '0.6mm'}}}})
invoke(Editor,'ChangeProperty', {'NAME:AllTabs', {'NAME:Rotor', {'NAME:PropServers', ...
'Rotor'}, {'NAME:ChangedProps', {'NAME:Outer Diameter', 'Value:=', '280mm'}, {'NAME:Inner Diameter', 'Value:=', ...
'192.4mm'}, {'NAME:Length', 'Value:=', '100mm'}, {'NAME:Steel Type', 'Material:=', ...
'DW310_35'}, {'NAME:Pole Type', 'PoleType:=', '1'}}}})
invoke(Editor,'ChangeProperty', {'NAME:AllTabs', {'NAME:Pole', {'NAME:PropServers', ...
'Rotor:Pole'}, {'NAME:ChangedProps', {'NAME:Magnet Thickness', 'Value:=', '4mm'}, {'NAME:Magnet Type', 'Material:=', ...
'NdFe30'}}}})
Project.Save
Design.AnalyzeAll
delete(iMaxwell)
|
|