📄 mli2niveauxhysteresis.mdl
字号:
Ports [2, 1]
Position [295, 164, 435, 411]
BackgroundColor "cyan"
NamePlacement "alternate"
FontName "Arial"
FontSize 14
FontWeight "bold"
TreatAsAtomicUnit off
MaskPromptString "simple temps|Tension de r閒閞ence|Integral gain"
" Ki|Proportional gain Kp"
MaskStyleString "edit,edit,edit,edit"
MaskTunableValueString "on,on,on,on"
MaskCallbackString "|||"
MaskEnableString "on,on,on,on"
MaskVisibilityString "on,on,on,on"
MaskToolTipString "on,on,on,on"
MaskVarAliasString ",,,"
MaskVariables "Ts=@1;VREF=@2;Ki=@3;Kp=@4;"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "0.00002|400|176|0.88"
System {
Name "\nCOMMANDE"
Location [54, 239, 1381, 837]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
Block {
BlockType Inport
Name "Vdc"
Position [85, 203, 115, 217]
ForegroundColor "red"
}
Block {
BlockType Inport
Name "Iiabc"
Position [155, 308, 185, 322]
ForegroundColor "red"
Port "2"
}
Block {
BlockType SubSystem
Name "\nRegulation tension"
Ports [3, 1]
Position [185, 171, 350, 269]
BackgroundColor "cyan"
NamePlacement "alternate"
FontName "Arial"
FontSize 14
FontWeight "bold"
TreatAsAtomicUnit off
System {
Name "\nRegulation tension"
Location [2, 82, 1390, 1000]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
Block {
BlockType Inport
Name "V_ref"
Position [220, 93, 250, 107]
}
Block {
BlockType Inport
Name "Vdc"
Position [195, 48, 225, 62]
Port "2"
}
Block {
BlockType Inport
Name "sin"
Position [245, 193, 275, 207]
Port "3"
}
Block {
BlockType Demux
Name "Demux"
Ports [1, 3]
Position [300, 181, 305, 219]
BackgroundColor "black"
ShowName off
Outputs "3"
}
Block {
BlockType SubSystem
Name "Discrete\nPI Controller"
Ports [1, 1]
Position [395, 72, 440, 118]
AncestorBlock "powerlib_extras/Discrete \nControl Bloc"
"ks/Discrete\nPI Controller"
TreatAsAtomicUnit off
MaskType "Discrete PI Controller"
MaskDescription "This block implements a discrete PI con"
"troller."
MaskPromptString "Proportional gain (Kp):|Integral gain ("
"Ki):|Output 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=P"
"ar_Limits(2);"
MaskDisplay "disp('PI');"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "Kp|Ki|[77 -77]|0|Ts"
Port {
PortNumber 1
Name " I*"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
DataLogging off
DataLoggingNameMode "SignalName"
DataLoggingDecimateData off
DataLoggingDecimation "2"
DataLoggingLimitDataPoints off
DataLoggingMaxPoints "5000"
}
System {
Name "Discrete\nPI Controller"
Location [198, 391, 965, 739]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
Block {
BlockType Inport
Name "Error"
Position [100, 183, 130, 197]
FontSize 12
FontWeight "bold"
}
Block {
BlockType DiscreteIntegrator
Name "Discrete-Time\nIntegrator"
Ports [1, 1]
Position [365, 171, 425, 209]
ShowName off
IntegratorMethod "Forward Euler"
ExternalReset "none"
InitialConditionSource "internal"
InitialCondition "Init"
LimitOutput on
UpperSaturationLimit "UpperLimit"
LowerSaturationLimit "LowerLimit"
SampleTime "Ts"
}
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"
InitialOutput "0"
}
Line {
SrcBlock "Discrete-Time\nIntegrator"
SrcPort 1
DstBlock "Sum6"
DstPort 2
}
Line {
SrcBlock "Kp4"
SrcPort 1
DstBlock "Sum6"
DstPort 1
}
Line {
SrcBlock "Kp5"
SrcPort 1
DstBlock "Discrete-Time\nIntegrator"
DstPort 1
}
Line {
SrcBlock "Sum6"
SrcPort 1
DstBlock "Saturation2"
DstPort 1
}
Line {
SrcBlock "Error"
SrcPort 1
Points [65, 0]
Branch {
DstBlock "Kp5"
DstPort 1
}
Branch {
Points [0, -50]
DstBlock "Kp4"
DstPort 1
}
}
Line {
SrcBlock "Saturation2"
SrcPort 1
DstBlock "Out"
DstPort 1
}
Annotation {
Name "Discrete PID Controller"
Position [111, 43]
FontSize 12
FontWeight "bold"
}
Annotation {
Name "Pierre Giroux, Gilbert Sybille\nPow"
"er System Simulation Laboratory\nIREQ, Hydro-Quebc"
Position [112, 76]
}
Annotation {
Position [102, 51]
}
Annotation {
Position [101, 18]
FontSize 12
FontWeight "bold"
}
}
}
Block {
BlockType Mux
Name "Mux"
Ports [3, 1]
Position [730, 132, 735, 288]
ShowName off
Inputs "3"
}
Block {
BlockType Product
Name "Product3"
Ports [2, 1]
Position [640, 141, 655, 179]
BackgroundColor "[0.000000, 0.501961, 1.000000]"
ShowName off
InputSameDT off
}
Block {
BlockType Product
Name "Product4"
Ports [2, 1]
Position [640, 191, 655, 229]
BackgroundColor "[0.000000, 0.501961, 1.000000]"
ShowName off
InputSameDT off
}
Block {
BlockType Product
Name "Product5"
Ports [2, 1]
Position [640, 241, 655, 279]
BackgroundColor "[0.000000, 0.501961, 1.000000]"
ShowName off
InputSameDT off
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [340, 78, 365, 107]
ShowName off
Inputs "-+"
}
Block {
BlockType Outport
Name "Iabc_ref"
Position [855, 208, 885, 222]
}
Line {
SrcBlock "Sum1"
SrcPort 1
DstBlock "Discrete\nPI Controller"
DstPort 1
}
Line {
SrcBlock "V_ref"
SrcPort 1
DstBlock "Sum1"
DstPort 2
}
Line {
SrcBlock "Vdc"
SrcPort 1
Points [40, 0; 0, 30]
DstBlock "Sum1"
DstPort 1
}
Line {
Name " I*"
Labels [0, 0]
SrcBlock "Discrete\nPI Controller"
SrcPort 1
Points [95, 0; 0, 75]
Branch {
DstBlock "Product3"
DstPort 2
}
Branch {
Points [0, 50]
Branch {
DstBlock "Product4"
DstPort 2
}
Branch {
Points [0, 50]
DstBlock "Product5"
DstPort 2
}
}
}
Line {
SrcBlock "Demux"
SrcPort 3
Points [0, 15; 140, 0; 0, 25]
DstBlock "Product5"
DstPort 1
}
Line {
SrcBlock "Demux"
SrcPort 2
Points [0, -5; 145, 0; 0, 5]
DstBlock "Product4"
DstPort 1
}
Line {
SrcBlock "Product3"
SrcPort 1
DstBlock "Mux"
DstPort 1
}
Line {
SrcBlock "Product4"
SrcPort 1
DstBlock "Mux"
DstPort 2
}
Line {
SrcBlock "Product5"
SrcPort 1
DstBlock "Mux"
DstPort 3
}
Line {
SrcBlock "Mux"
SrcPort 1
Points [50, 0; 0, 5]
DstBlock "Iabc_ref"
DstPort 1
}
Line {
SrcBlock "sin"
SrcPort 1
DstBlock "Demux"
DstPort 1
}
Line {
SrcBlock "Demux"
SrcPort 1
Points [310, 0; 0, -40]
DstBlock "Product3"
DstPort 1
}
}
}
Block {
BlockType Constant
Name "Constant5"
Position [75, 166, 135, 184]
BackgroundColor "[0.000000, 0.501961, 1.000000]"
ShowName off
Value "VREF"
}
Block {
BlockType SubSystem
Name "Current Regulator"
Ports [2, 1]
Position [550, 220, 610, 280]
NamePlacement "alternate"
TreatAsAtomicUnit off
MaskType "Regulateur de courant a hysteresis"
MaskPromptString "Hysteresis band (A)"
MaskStyleString "edit"
MaskTunableValueString "on"
MaskEnableString "on"
MaskVisibilityString "on"
MaskToolTipString "on"
MaskVariables "h=@1;"
MaskIconFrame on
MaskIconOpaque off
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "3"
System {
Name "Current Regulator"
Location [251, 528, 785, 789]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
Block {
BlockType Inport
Name "Iabc*"
Position [25, 128, 55, 142]
}
Block {
BlockType Inport
Name "Iabc"
Position [25, 33, 55, 47]
Port "2"
}
Block {
BlockType DataTypeConversion
Name "Data Type \nConversion"
Position [260, 44, 280, 66]
ShowName off
DataType "boolean"
}
Block {
BlockType DataTypeConversion
Name "Data Type \nConversion1"
Position [345, 44, 365, 66]
ShowName off
DataType "double"
}
Block {
BlockType DataTypeConversion
Name "Data Type \nConversion2"
Position [345, 94, 365, 116]
ShowName off
DataType "double"
}
Block {
BlockType DataTypeConversion
Name "Data Type \nConversion3"
Position [345, 144, 365, 166]
ShowName off
DataType "double"
}
Block {
BlockType DataTypeConversion
Name "Data Type \nConversion4"
Position [250, 94, 270, 116]
ShowName off
DataType "boolean"
}
Block {
BlockType DataTypeConversion
Name "Data Type \nConversion5"
Position [250, 144, 270, 166]
ShowName off
DataType "boolean"
}
Block {
BlockType Demux
Name "Demux1"
Ports [1, 3]
Position [85, 20, 90, 60]
ShowName off
Outputs "3"
}
Block {
BlockType Demux
Name "Demux2"
Ports [1, 3]
Position [85, 115, 90, 155]
ShowName off
Outputs "3"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -