📄 mrlib.mdl
字号:
Position [90, 115, 120, 145]
ShowName off
Gain "Kd"
}
Block {
BlockType Integrator
Name "Integrator"
Ports [1, 1]
Position [145, 65, 170, 95]
ShowName off
LimitOutput on
UpperSaturationLimit "sat"
LowerSaturationLimit "-sat"
}
Block {
BlockType Saturate
Name "Saturation"
Position [240, 70, 260, 90]
ShowName off
UpperLimit "sat"
LowerLimit "-sat"
}
Block {
BlockType Sum
Name "Sum"
Ports [3, 1]
Position [190, 70, 210, 90]
ShowName off
IconShape "round"
Inputs "+++"
}
Block {
BlockType Outport
Name "control"
Position [275, 73, 305, 87]
InitialOutput "0"
}
Line {
SrcBlock "Gain1"
SrcPort 1
Points [75, 0]
DstBlock "Sum"
DstPort 1
}
Line {
SrcBlock "Gain"
SrcPort 1
DstBlock "Integrator"
DstPort 1
}
Line {
SrcBlock "error"
SrcPort 1
Points [0, 0; 10, 0]
Branch {
DstBlock "Gain"
DstPort 1
}
Branch {
Points [0, -50]
DstBlock "Gain1"
DstPort 1
}
Branch {
Points [0, 50]
DstBlock "Gain2"
DstPort 1
}
}
Line {
SrcBlock "Sum"
SrcPort 1
DstBlock "Saturation"
DstPort 1
}
Line {
SrcBlock "Saturation"
SrcPort 1
DstBlock "control"
DstPort 1
}
Line {
SrcBlock "Integrator"
SrcPort 1
DstBlock "Sum"
DstPort 2
}
Line {
SrcBlock "Gain2"
SrcPort 1
DstBlock "Derivative"
DstPort 1
}
Line {
SrcBlock "Derivative"
SrcPort 1
Points [20, 0]
DstBlock "Sum"
DstPort 3
}
Annotation {
Name "antiwindup by clamping integrator"
Position [141, 7]
}
Annotation {
Name "limiter"
Position [250, 58]
}
}
}
Block {
BlockType SubSystem
Name "PWM"
Ports [2, 1]
Position [455, 182, 600, 273]
ForegroundColor "blue"
ShowName off
FontName "Arial"
FontSize 14
FontWeight "bold"
TreatAsAtomicUnit off
MaskDisplay "patch([.3 .3 .7 .7 .3],[.3 .7 .7 .3 .3],[0.9 .9"
" .9] )\ndisp('PWM')\nplot(0,0,1,1)"
MaskIconFrame on
MaskIconOpaque off
MaskIconRotate "none"
MaskIconUnits "autoscale"
System {
Name "PWM"
Location [170, 505, 489, 682]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "control"
Position [15, 23, 45, 37]
}
Block {
BlockType Inport
Name "frequency"
Position [15, 88, 45, 102]
Port "2"
}
Block {
BlockType Clock
Name "Clock"
Position [30, 130, 50, 150]
Decimation "10"
}
Block {
BlockType Mux
Name "Mux"
Ports [2, 1]
Position [70, 86, 75, 124]
ShowName off
Inputs "2"
DisplayOption "bar"
}
Block {
BlockType Sum
Name "Sum2"
Ports [2, 1]
Position [165, 20, 185, 40]
ShowName off
IconShape "round"
Inputs "|+-"
}
Block {
BlockType Fcn
Name "saw"
Position [95, 90, 155, 120]
Expr "1/pi*atan(tan((2*pi*u(1)*u(2)-pi)/2))+0.5"
}
Block {
BlockType Relay
Name "step"
Position [215, 15, 245, 45]
}
Block {
BlockType Outport
Name "Output"
Position [275, 23, 305, 37]
}
Line {
SrcBlock "Clock"
SrcPort 1
DstBlock "Mux"
DstPort 2
}
Line {
SrcBlock "Mux"
SrcPort 1
DstBlock "saw"
DstPort 1
}
Line {
SrcBlock "control"
SrcPort 1
DstBlock "Sum2"
DstPort 1
}
Line {
SrcBlock "frequency"
SrcPort 1
DstBlock "Mux"
DstPort 1
}
Line {
SrcBlock "saw"
SrcPort 1
Points [15, 0]
DstBlock "Sum2"
DstPort 2
}
Line {
SrcBlock "step"
SrcPort 1
DstBlock "Output"
DstPort 1
}
Line {
SrcBlock "Sum2"
SrcPort 1
DstBlock "step"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "SM"
Ports [3, 3]
Position [35, 175, 215, 345]
ForegroundColor "blue"
ShowName off
FontName "Arial"
FontSize 14
FontWeight "bold"
TreatAsAtomicUnit off
MaskDisplay "patch([-1.2 -1.2 1.3 1.3 -1.3],[-1.3 1.3 1.3 -1"
".3 -1.3],[0.9 .9 .9] )\nplot(-1.5,-1.5,1.5,1.5,cos(0:.01:7),sin(0:.01:7),[-.5"
" -1 1 .5],[-.866 -1.2 -1.2 -.866] )\ndisp('SYNCHRONOUS\\nMACHINE')\n"
MaskIconFrame on
MaskIconOpaque off
MaskIconRotate "none"
MaskIconUnits "autoscale"
System {
Name "SM"
Location [334, 246, 961, 758]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "lightBlue"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "90"
Block {
BlockType Inport
Name "vs"
Position [25, 113, 55, 127]
}
Block {
BlockType Inport
Name "vf"
Position [30, 283, 60, 297]
Port "2"
}
Block {
BlockType Inport
Name "wm"
Position [25, 63, 55, 77]
Port "3"
}
Block {
BlockType Demux
Name "Demux"
Ports [1, 3]
Position [455, 97, 460, 233]
BackgroundColor "black"
ShowName off
Outputs "3"
Port {
PortNumber 2
Name "ik"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
DataLogging off
DataLoggingNameMode "SignalName"
DataLoggingDecimateData off
DataLoggingDecimation "2"
DataLoggingLimitDataPoints off
DataLoggingMaxPoints "5000"
}
Port {
PortNumber 3
Name "if"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
DataLogging off
DataLoggingNameMode "SignalName"
DataLoggingDecimateData off
DataLoggingDecimation "2"
DataLoggingLimitDataPoints off
DataLoggingMaxPoints "5000"
}
}
Block {
BlockType Reference
Name "Dot Product"
Ports [2, 1]
Position [555, 19, 595, 61]
ShowName off
SourceBlock "simulink/Math\nOperations/Dot Product"
SourceType "Dot Product"
Port {
PortNumber 1
Name "Te"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
DataLogging off
DataLoggingNameMode "SignalName"
DataLoggingDecimateData off
DataLoggingDecimation "2"
DataLoggingLimitDataPoints off
DataLoggingMaxPoints "5000"
}
}
Block {
BlockType Gain
Name "Gain"
Position [200, 235, 230, 265]
Orientation "left"
ShowName off
Gain "Ra"
}
Block {
BlockType Gain
Name "Gain1"
Position [205, 330, 235, 360]
Orientation "left"
ShowName off
Gain "Rf"
}
Block {
BlockType Gain
Name "Gain4"
Position [175, 107, 205, 133]
ShowName off
Gain "wo"
}
Block {
BlockType Gain
Name "Gain5"
Position [170, 380, 205, 410]
ShowName off
Gain "-wo"
}
Block {
BlockType Gain
Name "Gain6"
Position [180, 275, 205, 305]
ShowName off
Gain "wo"
}
Block {
BlockType Integrator
Name "Integrator"
Ports [1, 1]
Position [235, 105, 265, 135]
ShowName off
InitialCondition "fa0"
}
Block {
BlockType Integrator
Name "Integrator1"
Ports [1, 1]
Position [235, 380, 265, 410]
ShowName off
InitialCondition "fk0"
Port {
PortNumber 1
Name "fk"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
DataLogging off
DataLoggingNameMode "SignalName"
DataLoggingDecimateData off
DataLoggingDecimation "2"
DataLoggingLimitDataPoints off
DataLoggingMaxPoints "5000"
}
}
Block {
BlockType Integrator
Name "Integrator2"
Ports [1, 1]
Position [235, 275, 265, 305]
ShowName off
InitialCondition "phif0"
Port {
PortNumber 1
Name "ff"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
DataLogging off
DataLoggingNameMode "SignalName"
DataLoggingDecimateData off
DataLoggingDecimation "2"
DataLoggingLimitDataPoints off
DataLoggingMaxPoints "5000"
}
}
Block {
BlockType Gain
Name "Inverse\ninductance"
Position [350, 127, 425, 203]
Gain "L_1"
Multiplication "Matrix(K*u)"
}
Block {
BlockType Mux
Name "Mux2"
Ports [3, 1]
Position [320, 96, 325, 234]
ShowName off
Inputs "3"
DisplayOption "bar"
}
Block {
BlockType Product
Name "Product"
Ports [2, 1]
Position [90, 47, 120, 78]
ShowName off
}
Block {
BlockType Sum
Name "Sum"
Ports [2, 1]
Position [135, 280, 155, 300]
ShowName off
IconShape "round"
Inputs "|+-"
}
Block {
BlockType Sum
Name "Sum1"
Ports [3, 1]
Position [135, 110, 155, 130]
ShowName off
IconShape "round"
Inputs "-+-"
}
Block {
BlockType Gain
Name "damper\nreistances"
Position [205, 450, 255, 490]
Orientation "left"
Gain "[Rkd 0;0 Rkq]"
Multiplication "Matrix(K*u)"
}
Block {
BlockType Gain
Name "rot"
Position [180, 15, 210, 45]
Orientation "left"
Gain "[0 -1;1 0]"
Multiplication "Matrix(K*u)"
}
Block {
BlockType Gain
Name "rot1"
Position [380, 15, 410, 45]
Gain "[0 -1;1 0]"
Multiplication "Matrix(K*u)"
}
Block {
BlockType Outport
Name "ia"
Position [630, 243, 660, 257]
}
Block {
BlockType Outport
Name "if"
Position [630, 203, 660, 217]
Port "2"
}
Block {
BlockType Outport
Name "Te"
Position [630, 33, 660, 47]
Port "3"
}
Line {
SrcBlock "Product"
SrcPort 1
Points [20, 0]
DstBlock "Sum1"
DstPort 1
}
Line {
SrcBlock "rot"
SrcPort 1
Points [-105, 0; 0, 25]
DstBlock "Product"
DstPort 1
}
Line {
SrcBlock "wm"
SrcPort 1
DstBlock "Product"
DstPort 2
}
Line {
SrcBlock "Gain5"
SrcPort 1
DstBlock "Integrator1"
DstPort 1
}
Line {
SrcBlock "damper\nreistances"
SrcPort 1
Points [-60, 0; 0, -75]
DstBlock "Gain5"
DstPort 1
}
Line {
SrcBlock "Integrator"
SrcPort 1
Points [15, 0]
Branch {
DstBlock "Mux2"
DstPort 1
}
Branch {
Points
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -