📄 dtc3p.mdl
字号:
VerticalAlignment "top"
FontSize 11
}
}
}
Block {
BlockType SubSystem
Name "info"
Ports []
Position [37, 369, 109, 438]
ForegroundColor "darkGreen"
DropShadow on
ShowName off
TreatAsAtomicUnit off
MaskDisplay "plot(-1.5,-1.5,1.5,1.5,cos(0:.01:7),sin(0:.01:7"
") )\ndisp('Info')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
System {
Name "info"
Location [66, 218, 546, 353]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "103"
Annotation {
Name "Principle of direct torque control of an in"
"duction motor"
Position [243, 17]
ForegroundColor "blue"
FontSize 12
FontWeight "bold"
}
Annotation {
Name "This demo shows how to produce a rotating"
" flux vector of specified magnitude F_ref \nusing the concept of direct vect"
"or control:\n a) Bt = 1 establishes a positively rotating wave (counterclockw"
"ize)\n b) Bt = -1 establishes a negatively rotating wave (clockwize)\n c) Bt "
" = 0 keeps the flux vector fixed in its original state\nBefore running, doub"
"le click the Switching Table block.\n"
Position [5, 40]
HorizontalAlignment "left"
VerticalAlignment "top"
FontSize 12
}
}
}
Block {
BlockType Reference
Name "num2bin"
Ports [1, 1]
Position [330, 122, 385, 178]
SourceBlock "simulink/Look-Up\nTables/Direct Look-Up\nTable "
"(n-D)"
SourceType "LookupNDDirect"
maskTabDims "2"
explicitNumDims "1"
outDims "Column"
tabIsInput off
mxTable "[0 0 0;1 0 0;0 1 0;1 1 0;0 0 1;1 0 1;0 1 1;1 1 "
"1]'"
clipFlag "Error"
}
Block {
BlockType Reference
Name "num2bin1"
Ports [3, 1]
Position [220, 117, 275, 173]
SourceBlock "simulink/Look-Up\nTables/Direct Look-Up\nTable "
"(n-D)"
SourceType "LookupNDDirect"
maskTabDims "3"
explicitNumDims "1"
outDims "Element"
tabIsInput off
mxTable "a"
clipFlag "Error"
}
Block {
BlockType Display
Name "sector"
Ports [1]
Position [300, 203, 385, 227]
Decimation "1"
}
Block {
BlockType SubSystem
Name "sector selector"
Ports [1, 2]
Position [295, 249, 385, 311]
Orientation "left"
TreatAsAtomicUnit off
System {
Name "sector selector"
Location [483, 668, 1105, 801]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "88"
Block {
BlockType Inport
Name "fs"
Position [15, 68, 45, 82]
}
Block {
BlockType Gain
Name "1/(pi/3)"
Position [425, 60, 455, 90]
Gain "1/(pi/3)"
}
Block {
BlockType Gain
Name "2*pi"
Position [255, 100, 285, 130]
Gain "2*pi"
}
Block {
BlockType Constant
Name "Constant1"
Position [155, 105, 185, 135]
ShowName off
Value "0"
}
Block {
BlockType Constant
Name "Constant2"
Position [330, 105, 360, 135]
ShowName off
Value "pi/6"
}
Block {
BlockType Constant
Name "Constant3"
Position [485, 100, 515, 130]
ShowName off
Value "6"
}
Block {
BlockType Math
Name "Math\nFunction2"
Ports [2, 1]
Position [555, 54, 590, 136]
ShowName off
Operator "mod"
}
Block {
BlockType RelationalOperator
Name "Relational\nOperator"
Position [205, 97, 235, 128]
ShowName off
Operator "<"
}
Block {
BlockType Rounding
Name "Rounding\nFunction"
Position [485, 60, 515, 90]
ShowName off
}
Block {
BlockType Sum
Name "Sum6"
Ports [2, 1]
Position [290, 65, 310, 85]
ShowName off
IconShape "round"
Inputs "|++"
}
Block {
BlockType Sum
Name "Sum7"
Ports [2, 1]
Position [370, 65, 390, 85]
ShowName off
IconShape "round"
Inputs "|++"
}
Block {
BlockType Gain
Name "rad2deg"
Position [215, 15, 250, 45]
Gain "180/pi"
}
Block {
BlockType Fcn
Name "x->theta"
Position [75, 63, 155, 87]
ShowName off
Expr "atan2(u(2),u(1))"
}
Block {
BlockType Outport
Name "sector"
Position [635, 88, 665, 102]
}
Block {
BlockType Outport
Name "angle"
Position [635, 23, 665, 37]
Port "2"
}
Line {
SrcBlock "Constant1"
SrcPort 1
DstBlock "Relational\nOperator"
DstPort 2
}
Line {
SrcBlock "Relational\nOperator"
SrcPort 1
DstBlock "2*pi"
DstPort 1
}
Line {
SrcBlock "2*pi"
SrcPort 1
Points [10, 0]
DstBlock "Sum6"
DstPort 2
}
Line {
SrcBlock "Sum6"
SrcPort 1
DstBlock "Sum7"
DstPort 1
}
Line {
SrcBlock "Constant2"
SrcPort 1
Points [15, 0]
DstBlock "Sum7"
DstPort 2
}
Line {
SrcBlock "Sum7"
SrcPort 1
DstBlock "1/(pi/3)"
DstPort 1
}
Line {
SrcBlock "1/(pi/3)"
SrcPort 1
DstBlock "Rounding\nFunction"
DstPort 1
}
Line {
SrcBlock "Rounding\nFunction"
SrcPort 1
DstBlock "Math\nFunction2"
DstPort 1
}
Line {
SrcBlock "Constant3"
SrcPort 1
DstBlock "Math\nFunction2"
DstPort 2
}
Line {
SrcBlock "fs"
SrcPort 1
DstBlock "x->theta"
DstPort 1
}
Line {
SrcBlock "Math\nFunction2"
SrcPort 1
DstBlock "sector"
DstPort 1
}
Line {
SrcBlock "x->theta"
SrcPort 1
Points [0, 0; 30, 0]
Branch {
DstBlock "Relational\nOperator"
DstPort 1
}
Branch {
DstBlock "Sum6"
DstPort 1
}
Branch {
Points [0, -45]
DstBlock "rad2deg"
DstPort 1
}
}
Line {
SrcBlock "rad2deg"
SrcPort 1
DstBlock "angle"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "space vectors"
Ports []
Position [232, 369, 301, 438]
ForegroundColor "orange"
DropShadow on
ShowName off
OpenFcn "close all,figure(1),plot(f_ab(:,1),f_ab(:,2),'g"
"'),axis equal,grid,title('FLUX SPACE VECTOR TRAJECTORY'),\nfigure(2),plot(v_a"
"b(:,1),v_ab(:,2),'xb'),grid,title('STATOR VOLTAGE SPACE VECTOR TRAJECTORY') "
" \n "
" "
FontName "Arial"
FontSize 14
FontWeight "bold"
TreatAsAtomicUnit off
MaskDisplay "plot(-1.5,-1.5,1.5,1.5,cos(0:.01:7),sin(0:.01:7"
") )\ndisp('SPACE\\nVECTORS')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
System {
Name "space vectors"
Location [81, 508, 528, 696]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
}
}
Block {
BlockType Display
Name "state"
Ports [1]
Position [320, 66, 405, 94]
NamePlacement "alternate"
Decimation "1"
}
Block {
BlockType Scope
Name "voltage"
Ports [1]
Position [645, 61, 680, 109]
NamePlacement "alternate"
Location [573, 75, 1100, 396]
Open on
NumInputPorts "1"
ZoomMode "yonly"
List {
ListType AxesTitles
axes1 "Stator voltage"
}
List {
ListType SelectedSignals
axes1 ""
}
TimeRange "0.04"
YMin "-1"
YMax "1"
SaveName "ScopeData1"
DataFormat "StructureWithTime"
MaxDataPoints "24000"
Decimation "2"
SampleInput on
}
Block {
BlockType Gain
Name "wo"
Position [490, 134, 520, 166]
Gain "2*pi*60"
}
Line {
SrcBlock "num2bin1"
SrcPort 1
Points [-5, 5; 30, 0]
Branch {
DstBlock "state"
DstPort 1
}
Branch {
DstBlock "num2bin"
DstPort 1
}
}
Line {
SrcBlock "num2bin"
SrcPort 1
DstBlock "3/2"
DstPort 1
}
Line {
SrcBlock "F_ref"
SrcPort 1
DstBlock "Sum"
DstPort 2
}
Line {
SrcBlock "Sum"
SrcPort 1
DstBlock "Relay"
DstPort 1
}
Line {
Name "Bf"
Labels [0, 1]
SrcBlock "Relay"
SrcPort 1
Points [25, 0]
Branch {
Points [0, -25]
DstBlock "Bf"
DstPort 1
}
Branch {
Points [0, 20]
DstBlock "num2bin1"
DstPort 1
}
}
Line {
SrcBlock "Fcn"
SrcPort 1
Points [-230, 0]
DstBlock "Sum"
DstPort 1
}
Line {
SrcBlock "wo"
SrcPort 1
DstBlock "Integrator"
DstPort 1
}
Line {
SrcBlock "3/2"
SrcPort 1
Points [5, 0]
Branch {
DstBlock "wo"
DstPort 1
}
Branch {
Points [0, 0]
Branch {
Points [0, 50]
DstBlock "To Workspace1"
DstPort 1
}
Branch {
Points [0, -65]
DstBlock "voltage"
DstPort 1
}
}
}
Line {
Name "fs"
Labels [2, 0]
SrcBlock "Integrator"
SrcPort 1
Points [0, 0; 25, 0]
Branch {
Points [0, -120]
DstBlock "Fcn"
DstPort 1
}
Branch {
Points [0, 0]
Branch {
DstBlock "flux"
DstPort 1
}
Branch {
Points [0, 130]
Branch {
DstBlock "sector selector"
DstPort 1
}
Branch {
DstBlock "To Workspace2"
DstPort 1
}
}
}
}
Line {
SrcBlock "sector selector"
SrcPort 1
Points [-45, 0]
Branch {
Points [0, -50]
DstBlock "sector"
DstPort 1
}
Branch {
Points [-65, 0; 0, -100]
DstBlock "num2bin1"
DstPort 3
}
}
Line {
SrcBlock "Sum2"
SrcPort 1
DstBlock "num2bin1"
DstPort 2
}
Line {
SrcBlock "Bt"
SrcPort 1
DstBlock "Sum2"
DstPort 1
}
Line {
SrcBlock "Bt1"
SrcPort 1
Points [10, 0]
DstBlock "Sum2"
DstPort 2
}
Line {
SrcBlock "sector selector"
SrcPort 2
Points [-5, 0; 0, 45]
DstBlock "angle"
DstPort 1
}
Annotation {
Name "Principle of Direct Torque Control"
Position [502, 423]
ForegroundColor "red"
FontName "Arial"
FontSize 22
FontWeight "bold"
}
Annotation {
Name "-1 or 0 or 1"
Position [42, 187]
FontName "Arial"
FontSize 14
FontWeight "bold"
}
Annotation {
Name "0 to 5"
Position [228, 280]
FontName "Arial"
FontSize 12
FontWeight "bold"
}
Annotation {
Name "0 or 1"
Position [246, 47]
FontName "Arial"
FontSize 14
FontWeight "bold"
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -