📄 testmotor.mdl
字号:
}
Block {
BlockType Demux
Name "Demux"
Ports [1, 3]
Position [160, 173, 165, 337]
BackgroundColor "black"
ShowName off
Outputs "3"
BusSelectionMode off
}
Block {
BlockType Gain
Name "Gain"
Position [250, 180, 285, 220]
Gain "0.5"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Gain
Name "Gain1"
Position [245, 275, 285, 315]
Gain "0.866"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Gain
Name "Gain2"
Position [320, 307, 355, 353]
Gain "0.866"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Gain
Name "Gain3"
Position [315, 202, 350, 238]
Gain "0.5"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Gain
Name "Gain4"
Position [460, 176, 515, 224]
Gain "sqrt(2/3)"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Gain
Name "Gain5"
Position [455, 230, 510, 280]
Gain "sqrt(2/3)"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Product
Name "Product Xsa*cosa"
Ports [2, 1]
Position [615, 207, 645, 238]
Inputs "2"
Multiplication "Element-wise(.*)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Product
Name "Product1 Xsb*sina"
Ports [2, 1]
Position [615, 257, 645, 288]
Inputs "2"
Multiplication "Element-wise(.*)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Product
Name "Product2 Xsa*sina"
Ports [2, 1]
Position [615, 322, 645, 353]
Inputs "2"
Multiplication "Element-wise(.*)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Product
Name "Product3 Xsb*cosa"
Ports [2, 1]
Position [615, 382, 645, 413]
Inputs "2"
Multiplication "Element-wise(.*)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Sum
Name "Sum"
Ports [3, 1]
Position [375, 168, 415, 232]
ShowName off
IconShape "rectangular"
Inputs "+--"
SaturateOnIntegerOverflow on
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [375, 277, 415, 348]
ShowName off
IconShape "rectangular"
Inputs "+-"
SaturateOnIntegerOverflow on
}
Block {
BlockType Sum
Name "Sum3"
Ports [2, 1]
Position [695, 237, 725, 268]
IconShape "rectangular"
Inputs "++"
SaturateOnIntegerOverflow on
}
Block {
BlockType Sum
Name "Sum4"
Ports [2, 1]
Position [695, 347, 725, 378]
IconShape "rectangular"
Inputs "+-"
SaturateOnIntegerOverflow on
}
Block {
BlockType Trigonometry
Name "Trigonometric\nFunction"
Ports [1, 1]
Position [485, 290, 515, 320]
Operator "sin"
OutputSignalType "auto"
}
Block {
BlockType Trigonometry
Name "Trigonometric\nFunction1"
Ports [1, 1]
Position [485, 355, 515, 385]
Operator "cos"
OutputSignalType "auto"
}
Block {
BlockType Outport
Name "Xd"
Position [750, 358, 780, 372]
Port "1"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Outport
Name "Xq"
Position [750, 248, 780, 262]
Port "2"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Line {
SrcBlock "Gain"
SrcPort 1
DstBlock "Sum"
DstPort 2
}
Line {
SrcBlock "Gain1"
SrcPort 1
DstBlock "Sum1"
DstPort 1
}
Line {
SrcBlock "Gain3"
SrcPort 1
DstBlock "Sum"
DstPort 3
}
Line {
SrcBlock "Gain2"
SrcPort 1
DstBlock "Sum1"
DstPort 2
}
Line {
SrcBlock "Sum"
SrcPort 1
DstBlock "Gain4"
DstPort 1
}
Line {
SrcBlock "Sum1"
SrcPort 1
Points [20, 0]
DstBlock "Gain5"
DstPort 1
}
Line {
SrcBlock "Demux"
SrcPort 1
Points [40, 0; 0, -20]
DstBlock "Sum"
DstPort 1
}
Line {
SrcBlock "Demux"
SrcPort 2
Points [60, 0]
Branch {
Points [0, -55]
DstBlock "Gain"
DstPort 1
}
Branch {
DstBlock "Gain1"
DstPort 1
}
}
Line {
SrcBlock "Product3 Xsb*cosa"
SrcPort 1
Points [30, 0]
DstBlock "Sum4"
DstPort 2
}
Line {
SrcBlock "Product2 Xsa*sina"
SrcPort 1
Points [30, 0]
DstBlock "Sum4"
DstPort 1
}
Line {
SrcBlock "Gain5"
SrcPort 1
Points [0, 10; 45, 0]
Branch {
Points [0, 125]
DstBlock "Product3 Xsb*cosa"
DstPort 1
}
Branch {
DstBlock "Product1 Xsb*sina"
DstPort 1
}
}
Line {
SrcBlock "Gain4"
SrcPort 1
Points [15, 0; 0, 15]
Branch {
Points [0, 115]
DstBlock "Product2 Xsa*sina"
DstPort 1
}
Branch {
DstBlock "Product Xsa*cosa"
DstPort 1
}
}
Line {
SrcBlock "Product1 Xsb*sina"
SrcPort 1
Points [30, 0]
DstBlock "Sum3"
DstPort 2
}
Line {
SrcBlock "Product Xsa*cosa"
SrcPort 1
Points [30, 0]
DstBlock "Sum3"
DstPort 1
}
Line {
SrcBlock "theta"
SrcPort 1
Points [0, 0; 0, -70]
Branch {
DstBlock "Trigonometric\nFunction1"
DstPort 1
}
Branch {
Points [0, -65]
DstBlock "Trigonometric\nFunction"
DstPort 1
}
}
Line {
SrcBlock "Trigonometric\nFunction"
SrcPort 1
Points [0, 0; 55, 0]
Branch {
Points [0, 40]
DstBlock "Product2 Xsa*sina"
DstPort 2
}
Branch {
Points [0, -25]
DstBlock "Product1 Xsb*sina"
DstPort 2
}
}
Line {
SrcBlock "Trigonometric\nFunction1"
SrcPort 1
Points [0, 0; 70, 0]
Branch {
Points [0, 35]
DstBlock "Product3 Xsb*cosa"
DstPort 2
}
Branch {
Points [0, -140]
DstBlock "Product Xsa*cosa"
DstPort 2
}
}
Line {
SrcBlock "Demux"
SrcPort 3
Points [30, 0; 0, 20; 95, 0]
Branch {
DstBlock "Gain2"
DstPort 1
}
Branch {
Points [0, -110]
DstBlock "Gain3"
DstPort 1
}
}
Line {
SrcBlock "XABC"
SrcPort 1
DstBlock "Demux"
DstPort 1
}
Line {
SrcBlock "Sum3"
SrcPort 1
DstBlock "Xq"
DstPort 1
}
Line {
SrcBlock "Sum4"
SrcPort 1
DstBlock "Xd"
DstPort 1
}
Annotation {
Position [523, 194]
Text "ia"
}
}
}
Block {
BlockType Demux
Name "Demux"
Ports [1, 5]
Position [455, 71, 460, 359]
BackgroundColor "black"
ShowName off
Outputs "5"
BusSelectionMode off
}
Block {
BlockType Mux
Name "Mux"
Ports [3, 1]
Position [285, 163, 290, 267]
ShowName off
Inputs "3"
DisplayOption "bar"
}
Block {
BlockType Mux
Name "Mux1"
Ports [3, 1]
Position [115, 134, 120, 226]
ShowName off
Inputs "3"
DisplayOption "bar"
}
Block {
BlockType "S-Function"
Name "S-Function"
Ports [1, 1]
Position [340, 180, 400, 250]
FunctionName "dqmotor"
Parameters "Incond,[Rs,0.001*Lls,0.001*L0,0.001*Lms,0.0"
"01*Ld,0.001*Lq,p,J,pusa,Jtype]"
PortCounts "[]"
SFunctionModules "''"
MaskType "(PMSM-dp)"
MaskPromptString "Stator resistance[ R (Ω) ]:|Leakage induct"
"ance [ Lls(mH) ]:|Partial-DC phase inductance [ L0 (mH) ]:|Peak value of AC p"
"hase inductance [ Lms(mH) ]:|Direct component of phase inductance [ Ld(mH) ]:"
"|Quad component of phase inductance [ Lq(mH) ]:|Pole-pair number [ p ]:|Inert"
"ia [ J(Kg·m2) ]:|Inertia Type|Peak vaule of PM flux of phase winding [Ψmag("
"Wb) ]:|Initial conditions [id,iq,ωe,θ]"
MaskStyleString "edit,edit,edit,edit,edit,edit,edit,edit,pop"
"up(Including Motor Shaft|Excluding Motor Shaft ),edit,edit"
MaskTunableValueString "on,on,on,on,on,on,on,on,on,on,on"
MaskCallbackString "||||||||||"
MaskEnableString "on,on,on,on,on,on,on,on,on,on,on"
MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on"
MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on"
MaskVariables "Rs=@1;Lls=@2;L0=@3;Lms=@4;Ld=@5;Lq=@6;p=@7;"
"J=@8;Jtype=@9;pusa=@10;Incond=@11;"
MaskDisplay "disp('PMSM-dp'\n)\n"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "0.034593|0.153|0.5127|0.3467|0.402|1.442|4|"
"0.06|Including Motor Shaft|0.0927|[0,0,0,0]"
MaskVariableAliases ",,,,,,,,,,"
}
Block {
BlockType SubSystem
Name "dq->abc"
Ports [3, 3]
Position [530, 92, 600, 178]
ShowPortLabels on
TreatAsAtomicUnit off
RTWSystemCode "Auto"
RTWFcnNameOpts "Auto"
RTWFileNameOpts "Auto"
System {
Name "dq->abc"
Location [2, 74, 790, 556]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
Block {
BlockType Inport
Name "Xd"
Position [80, 58, 110, 72]
Port "1"
LatchInput off
Interpolate on
}
Block {
BlockType Inport
Name "Xq"
Position [80, 118, 110, 132]
Port "2"
LatchInput off
Interpolate on
}
Block {
BlockType Inport
Name "theta"
Position [60, 248, 90, 262]
Port "3"
LatchInput off
Interpolate on
}
Block {
BlockType Gain
Name "Gain1"
Position [450, 220, 490, 260]
Gain "sqrt(2/3)"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Gain
Name "Gain2"
Position [450, 175, 480, 205]
Gain "-0.5"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Gain
Name "Gain3"
Position [405, 90, 435, 120]
Gain "0.866"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Gain
Name "Gain4"
Position [565, 150, 605, 190]
Gain "sqrt(2/3)"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Gain
Name "Gain5"
Position [565, 90, 605, 130]
Gain "sqrt(2/3)"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Product
Name "Product Xsd*cosa"
Ports [2, 1]
Position [240, 57, 270, 88]
Inputs "2"
Multiplication "Element-wise(.*)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Product
Name "Product1 Xsq*sina"
Ports [2, 1]
Position [240, 117, 270, 148]
Inputs "2"
Multiplication "Element-wise(.*)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Product
Name "Product2 Xsd*sina"
Ports [2, 1]
Position [240, 172, 270, 203]
Inputs "2"
Multiplication "Element-wise(.*)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Product
Name "Product3 Xsq*cosa"
Ports [2, 1]
Position [240, 227, 270, 258]
Inputs "2"
Multiplication "Element-wise(.*)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [510, 158, 540, 182]
ShowName off
IconShape "rectangular"
Inputs "++"
SaturateOnIntegerOverflow on
}
Block {
BlockType Sum
Name "Sum2"
Ports [2, 1]
Position [345, 222, 375, 253]
IconShape "rectangular"
Inputs "++"
SaturateOnIntegerOverflow on
}
Block {
BlockType Sum
Name "Sum3"
Ports [2, 1]
Position [510, 98, 540, 122]
ShowName off
IconShape "rectangular"
Inputs "-+"
SaturateOnIntegerOverflow on
}
Block {
BlockType Sum
Name "Sum5"
Ports [2, 1]
Position [340, 87, 370, 118]
IconShape "rectangular"
Inputs "-+"
SaturateOnIntegerOverflow on
}
Block {
BlockType Trigonometry
Name "Trigonometric\nFunction2"
Ports [1, 1]
Position [140, 270, 170, 300]
Operator "sin"
OutputSignalType "auto"
}
Block {
BlockType Trigonometry
Name "Trigonometric\nFunction3"
Ports [1, 1]
Position [120, 210, 150, 240]
Operator "cos"
OutputSignalType "auto"
}
Block {
BlockType Outport
Name "Xa"
Position [525, 233, 555, 247]
Port "1"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Outport
Name "Xb"
Position [625, 163, 655, 177]
Port "2"
OutputWhenDisabled "held"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -