📄 amm.mdl
字号:
Name "DC Voltage Source"
Ports [0, 0, 0, 0, 0, 1, 1]
Position [165, 130, 185, 165]
Orientation "up"
ShowName off
SourceBlock "powerlib/Electrical\nSources/DC Voltage Source"
SourceType "DC Voltage Source"
ShowPortLabels on
Amplitude "380"
Measurements "None"
}
Block {
BlockType DataTypeConversion
Name "Data Type Conversion"
Position [135, 197, 175, 223]
ShowName off
OutDataTypeMode "boolean"
RndMeth "Floor"
}
Block {
BlockType DataTypeConversion
Name "Data Type Conversion1"
Position [80, 266, 115, 294]
Orientation "left"
NamePlacement "alternate"
ShowName off
OutDataTypeMode "single"
RndMeth "Floor"
}
Block {
BlockType Demux
Name "Demux"
Ports [1, 3]
Position [505, 113, 510, 187]
BackgroundColor "black"
NamePlacement "alternate"
ShowName off
FontName "Times New Roman"
FontSize 12
Outputs "3"
DisplayOption "bar"
}
Block {
BlockType Demux
Name "Demux1"
Ports [1, 3]
Position [20, 370, 70, 375]
Orientation "up"
BackgroundColor "black"
ShowName off
Outputs "3"
DisplayOption "bar"
}
Block {
BlockType SubSystem
Name "Discrete\nPI Controller1"
Ports [1, 1]
Position [15, 570, 45, 600]
Orientation "left"
NamePlacement "alternate"
ShowName off
AncestorBlock "powerlib_extras/Discrete \nControl Blocks/Discr"
"ete\nPI Controller"
OpenFcn "power_openblockproxy()"
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
MaskHideContents off
MaskType "Discrete PI Controller"
MaskDescription "This block implements a discrete PI controller."
MaskPromptString "Proportional gain (Kp):|Integral gain (Ki):|Out"
"put limits: [ Upper Lower ]|Output initial value:|Sample time:"
MaskStyleString "edit,edit,edit,edit,edit"
MaskTunableValueString "on,on,on,on,on"
MaskCallbackString "||||"
MaskEnableString "on,on,on,on,on"
MaskVisibilityString "on,on,on,on,on"
MaskToolTipString "on,on,on,on,on"
MaskVarAliasString ",,,,"
MaskVariables "Kp=@1;Ki=@2;Par_Limits=@3;Init=@4;Ts=@5;"
MaskInitialization "UpperLimit=Par_Limits(1);\nLowerLimit=Par_Limit"
"s(2);\npower_initmask();"
MaskDisplay "disp('PI');"
MaskSelfModifiable on
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "0.1|1|[1e6 -1e6]|0|50e-6"
MaskTabNameString ",,,,"
System {
Name "Discrete\nPI Controller1"
Location [97, 202, 868, 603]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
Block {
BlockType Inport
Name "In1"
Position [100, 183, 130, 197]
IconDisplay "Port number"
}
Block {
BlockType DiscreteIntegrator
Name "Discrete-Time\nIntegrator"
Ports [1, 1]
Position [365, 171, 425, 209]
ShowName off
IntegratorMethod "Integration: Backward Euler"
ExternalReset "none"
InitialConditionSource "internal"
InitialCondition "Init"
InitialConditionMode "State only (most efficient)"
SampleTime "-1"
UpperSaturationLimit "UpperLimit"
LowerSaturationLimit "LowerLimit"
IgnoreLimit off
ICPrevOutput "DiscIntNeverNeededParam"
ICPrevScaledInput "DiscIntNeverNeededParam"
}
Block {
BlockType Gain
Name "Kp4"
Position [225, 124, 260, 156]
ShowName off
Gain "Kp"
}
Block {
BlockType Gain
Name "Kp5"
Position [230, 174, 265, 206]
ShowName off
Gain "Ki"
}
Block {
BlockType Saturate
Name "Saturation2"
Position [565, 150, 590, 180]
NamePlacement "alternate"
ShowName off
UpperLimit "UpperLimit"
LowerLimit "LowerLimit"
}
Block {
BlockType Sum
Name "Sum6"
Ports [2, 1]
Position [490, 114, 520, 221]
ShowName off
}
Block {
BlockType Outport
Name "Out"
Position [630, 158, 660, 172]
FontSize 12
FontWeight "bold"
IconDisplay "Port number"
BusOutputAsStruct off
InitialOutput "0"
}
Line {
SrcBlock "In1"
SrcPort 1
Points [65, 0]
Branch {
Points [0, -50]
DstBlock "Kp4"
DstPort 1
}
Branch {
DstBlock "Kp5"
DstPort 1
}
}
Line {
SrcBlock "Sum6"
SrcPort 1
DstBlock "Saturation2"
DstPort 1
}
Line {
SrcBlock "Kp5"
SrcPort 1
DstBlock "Discrete-Time\nIntegrator"
DstPort 1
}
Line {
SrcBlock "Kp4"
SrcPort 1
DstBlock "Sum6"
DstPort 1
}
Line {
SrcBlock "Discrete-Time\nIntegrator"
SrcPort 1
Points [0, 5]
DstBlock "Sum6"
DstPort 2
}
Line {
SrcBlock "Saturation2"
SrcPort 1
DstBlock "Out"
DstPort 1
}
Annotation {
Position [101, 18]
UseDisplayTextAsClickCallback off
FontSize 12
FontWeight "bold"
}
Annotation {
Position [102, 51]
UseDisplayTextAsClickCallback off
}
Annotation {
Name "Pierre Giroux, Gilbert Sybille\nPower Syste"
"m Simulation Laboratory\nIREQ, Hydro-Quebc"
Position [112, 76]
UseDisplayTextAsClickCallback off
}
Annotation {
Name "Discrete PID Controller"
Position [111, 43]
UseDisplayTextAsClickCallback off
FontSize 12
FontWeight "bold"
}
}
}
Block {
BlockType Reference
Name "Discrete\nPID Controller"
Ports [1, 1]
Position [365, 403, 390, 427]
Orientation "left"
FontSize 10
SourceBlock "powerlib_extras/Discrete \nControl Blocks/Discr"
"ete\nPID Controller"
SourceType "Discrete PID Controller"
ShowPortLabels on
Kp "0.1"
Ki "1"
Kd "0"
TcD "0.5e-3"
Par_Limits "[1e6 -1e6]"
Init "0"
Ts "50e-6"
}
Block {
BlockType Reference
Name "Discrete\nPWM Generator"
Ports [1, 1]
Position [16, 100, 64, 175]
Orientation "up"
ShowName off
SourceBlock "powerlib_extras/Discrete \nControl Blocks/Discr"
"ete\nPWM Generator"
SourceType "Discrete PWM Generator"
ShowPortLabels on
GeneratorMode "3-arm bridge (6 pulses)"
Fc "500"
Ts "50e-6"
Internal off
mIndex "0.4"
Freq "60"
Phase "0"
}
Block {
BlockType Display
Name "Display1"
Ports [1]
Position [365, 550, 455, 580]
ShowName off
Decimation "1"
Lockdown off
}
Block {
BlockType Display
Name "Display4"
Ports [1]
Position [220, 210, 310, 240]
Orientation "left"
NamePlacement "alternate"
ShowName off
Decimation "1"
Lockdown off
}
Block {
BlockType SubSystem
Name "Flux_Delay"
Ports [3, 1]
Position [375, 270, 415, 330]
Orientation "left"
FontName "Times New Roman"
FontSize 12
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
MaskHideContents off
System {
Name "Flux_Delay"
Location [323, 171, 794, 458]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
Block {
BlockType Inport
Name "Ff"
Position [20, 18, 50, 32]
IconDisplay "Port number"
}
Block {
BlockType Inport
Name "Fg"
Position [15, 58, 45, 72]
Port "2"
IconDisplay "Port number"
}
Block {
BlockType Inport
Name "rc"
Position [15, 98, 45, 112]
Port "3"
IconDisplay "Port number"
}
Block {
BlockType Sum
Name "Add"
Ports [2, 1]
Position [95, 29, 125, 76]
ShowName off
Inputs "+-"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
OutScaling "2^-10"
SaturateOnIntegerOverflow off
}
Block {
BlockType Sum
Name "Add1"
Ports [2, 1]
Position [200, 144, 230, 191]
ShowName off
Inputs "--"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
OutScaling "2^-10"
SaturateOnIntegerOverflow off
}
Block {
BlockType Sum
Name "Add2"
Ports [2, 1]
Position [195, 54, 225, 101]
ShowName off
Inputs "+-"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
OutScaling "2^-10"
SaturateOnIntegerOverflow off
}
Block {
BlockType Constant
Name "Constant"
Position [245, 139, 265, 161]
ShowName off
}
Block {
BlockType Constant
Name "Constant1"
Position [245, 44, 265, 66]
ShowName off
Value "0"
}
Block {
BlockType Memory
Name "Memory"
Position [310, 215, 340, 245]
Orientation "left"
NamePlacement "alternate"
}
Block {
BlockType Memory
Name "Memory1"
Position [300, 115, 330, 145]
Orientation "left"
NamePlacement "alternate"
}
Block {
BlockType Switch
Name "Switch"
Position [290, 54, 325, 96]
ShowName off
InputSameDT off
SaturateOnIntegerOverflow off
}
Block {
BlockType Switch
Name "Switch1"
Position [290, 149, 325, 191]
ShowName off
InputSameDT off
SaturateOnIntegerOverflow off
}
Block {
BlockType Outport
Name "FQ"
Position [380, 68, 410, 82]
IconDisplay "Port number"
BusOutputAsStruct off
}
Line {
SrcBlock "Constant"
SrcPort 1
Points [0, 5]
DstBlock "Switch1"
DstPort 1
}
Line {
SrcBlock "Add1"
SrcPort 1
Points [0, 0]
DstBlock "Switch1"
DstPort 2
}
Line {
SrcBlock "Memory"
SrcPort 1
Points [-45, 0; 0, -45]
DstBlock "Switch1"
DstPort 3
}
Line {
SrcBlock "Switch"
SrcPort 1
Points [0, 0; 30, 0]
Branch {
Points [0, 155]
DstBlock "Memory"
DstPort 1
}
Branch {
DstBlock "FQ"
DstPort 1
}
}
Line {
SrcBlock "Constant1"
SrcPort 1
Points [0, 5]
DstBlock "Switch"
DstPort 1
}
Line {
SrcBlock "Add2"
SrcPort 1
Points [0, -5]
DstBlock "Switch"
DstPort 2
}
Line {
SrcBlock "Add"
SrcPort 1
Points [25, 0; 0, 10]
Branch {
DstBlock "Add2"
DstPort 1
}
Branch {
Points [0, 90]
DstBlock "Add1"
DstPort 1
}
}
Line {
SrcBlock "Fg"
SrcPort 1
Points [0, 0]
DstBlock "Add"
DstPort 2
}
Line {
SrcBlock "Ff"
SrcPort 1
Points [15, 0; 0, 15]
DstBlock "Add"
DstPort 1
}
Line {
SrcBlock "rc"
SrcPort 1
Points [25, 0]
Branch {
Points [0, -15]
DstBlock "Add2"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -