📄 5_phase_srmdriving code.lua
字号:
open("5_phase_SRM.FEM")
mi_saveas("temp.fem")
pi = 3.141592
Im = 5
step = 0.5 -- rotating angle
dofile("SRM_trapezoidal_current_relationship.lua"); -- load current codes
mi_seteditmode("group")
mi_selectgroup(1)
mi_moverotate(0,0, step )
for deg= 0, 40, step do -- 0, 360, step do
fi_A = fn_i_A(deg);
fi_B = fn_i_B(deg);
fi_C = fn_i_C(deg);
fi_D = fn_i_D(deg);
fi_E = fn_i_E(deg);
i_A = fi_A* Im
i_B = fi_B* Im
i_C = fi_C* Im
i_D = fi_D* Im
i_E = fi_E* Im
-- specify current
mi_modifycircprop("sargi_A",1,i_A)
mi_modifycircprop("sargi_B",1,i_B)
mi_modifycircprop("sargi_C",1,i_C)
mi_modifycircprop("sargi_D",1,i_D)
mi_modifycircprop("sargi_E",1,i_E)
-- specify rotor position
mi_seteditmode("group")
mi_selectgroup(1)
mi_moverotate(0,0,step)
mi_analyze(1)
mi_loadsolution()
-- Maxwell weighted stress tensor torque
mo_groupselectblock(1)
Torq = mo_blockintegral(22)
mo_clearblock()
handle = openfile("instantenous_torque.txt","a")
write(handle,deg," \t",Torq," ","\n")
closefile(handle)
-- flux relationships
x1,x2,x3,x4,flux_A,x6 = mo_getcircuitproperties("sargi_A");
x1,x2,x3,x4,flux_B,x6 = mo_getcircuitproperties("sargi_B");
x1,x2,x3,x4,flux_C,x6 = mo_getcircuitproperties("sargi_C");
x1,x2,x3,x4,flux_D,x6 = mo_getcircuitproperties("sargi_D");
x1,x2,x3,x4,flux_E,x6 = mo_getcircuitproperties("sargi_E");
handle = openfile("flux_A.txt","a")
write(handle,deg," \t",flux_A," ","\n")
closefile(handle)
handle = openfile("flux_B.txt","a")
write(handle,deg," \t",flux_B," ","\n")
closefile(handle)
handle = openfile("flux_C.txt","a")
write(handle,deg," \t",flux_C," ","\n")
closefile(handle)
handle = openfile("flux_D.txt","a")
write(handle,deg," \t",flux_D," ","\n")
closefile(handle)
handle = openfile("flux_E.txt","a")
write(handle,deg," \t",flux_E," ","\n")
closefile(handle)
-- currents
handle = openfile("i_A.txt","a")
write(handle,deg," \t",i_A," ","\n")
closefile(handle)
handle = openfile("i_B.txt","a")
write(handle,deg," \t",i_B," ","\n")
closefile(handle)
handle = openfile("i_C.txt","a")
write(handle,deg," \t",i_C," ","\n")
closefile(handle)
handle = openfile("i_D.txt","a")
write(handle,deg," \t",i_D," ","\n")
closefile(handle)
handle = openfile("i_E.txt","a")
write(handle,deg," \t",i_E," ","\n")
closefile(handle)
mo_close()
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -