📄 exm09435_1.mdl
字号:
Value "5"
}
Block {
BlockType RelationalOperator
Name "RDV"
Position [230, 173, 255, 202]
Operator "<="
}
Block {
BlockType RelationalOperator
Name "RV1"
Position [230, 117, 255, 148]
Operator "<="
}
Block {
BlockType RelationalOperator
Name "RV2"
Position [230, 61, 255, 94]
Operator ">="
}
Block {
BlockType Sum
Name "Sum"
Ports [2, 1, 0, 0, 0]
Position [65, 89, 80, 156]
ShowName off
IconShape "rectangular"
Inputs "-+"
SaturateOnIntegerOverflow on
}
Block {
BlockType Outport
Name "Choose PI"
Position [455, 103, 485, 117]
Port "1"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Outport
Name "Serr"
Position [455, 13, 485, 27]
Port "2"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Outport
Name "Choose P"
Position [455, 58, 485, 72]
Port "3"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Line {
SrcBlock "PI Vmax1"
SrcPort 1
DstBlock "RV1"
DstPort 2
}
Line {
SrcBlock "Logic2"
SrcPort 1
Points [20, 0]
DstBlock "Logic3"
DstPort 1
}
Line {
SrcBlock "Logic1"
SrcPort 1
Points [20, 0]
DstBlock "Logic3"
DstPort 2
}
Line {
SrcBlock "Memory"
SrcPort 1
Points [-50, 0]
DstBlock "Logic2"
DstPort 1
}
Line {
SrcBlock "Logic3"
SrcPort 1
Points [10, 0]
Branch {
DstBlock "Choose PI"
DstPort 1
}
Branch {
Points [0, -45]
Branch {
Points [0, -25]
DstBlock "Memory"
DstPort 1
}
Branch {
DstBlock "Logic4"
DstPort 1
}
}
}
Line {
SrcBlock "Logic4"
SrcPort 1
DstBlock "Choose P"
DstPort 1
}
Line {
SrcBlock "RV1"
SrcPort 1
Points [10, 0]
DstBlock "Logic1"
DstPort 1
}
Line {
SrcBlock "Abs1"
SrcPort 1
DstBlock "RDV"
DstPort 1
}
Line {
SrcBlock "Derivative"
SrcPort 1
DstBlock "Abs1"
DstPort 1
}
Line {
SrcBlock "PI DVmax"
SrcPort 1
Points [35, 0]
DstBlock "RDV"
DstPort 2
}
Line {
SrcBlock "RDV"
SrcPort 1
Points [10, 0]
DstBlock "Logic1"
DstPort 2
}
Line {
SrcBlock "PI Vmax2"
SrcPort 1
DstBlock "RV2"
DstPort 1
}
Line {
SrcBlock "RV2"
SrcPort 1
DstBlock "Logic2"
DstPort 2
}
Line {
SrcBlock "SaIn -"
SrcPort 1
DstBlock "Sum"
DstPort 1
}
Line {
SrcBlock "ScIn +"
SrcPort 1
DstBlock "Sum"
DstPort 2
}
Line {
SrcBlock "Abs"
SrcPort 1
Points [60, 0]
Branch {
DstBlock "RV1"
DstPort 1
}
Branch {
Points [0, -40]
DstBlock "RV2"
DstPort 2
}
}
Line {
SrcBlock "Sum"
SrcPort 1
Points [5, 0]
Branch {
DstBlock "Abs"
DstPort 1
}
Branch {
Points [0, 55]
DstBlock "Derivative"
DstPort 1
}
Branch {
Points [0, -105]
DstBlock "Serr"
DstPort 1
}
}
}
}
Block {
BlockType SubSystem
Name "P Controller"
Ports [1, 1, 1, 0, 0]
Position [185, 125, 255, 155]
NamePlacement "alternate"
ShowPortLabels on
System {
Name "P Controller"
Location [-8, 189, 253, 306]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
AutoZoom on
Block {
BlockType Inport
Name "Serr"
Position [40, 33, 70, 47]
Port "1"
PortWidth "-1"
SampleTime "-1"
DataType "auto"
SignalType "auto"
Interpolate on
}
Block {
BlockType EnablePort
Name "Enable"
Ports [0, 0, 0, 0, 0]
Position [45, 70, 65, 90]
StatesWhenEnabling "reset"
ShowOutputPort off
}
Block {
BlockType Gain
Name "Gain"
Position [115, 25, 145, 55]
Gain "50"
SaturateOnIntegerOverflow on
}
Block {
BlockType Outport
Name "FcOut"
Position [180, 33, 210, 47]
Port "1"
OutputWhenDisabled "reset"
InitialOutput "0"
}
Line {
SrcBlock "Serr"
SrcPort 1
DstBlock "Gain"
DstPort 1
}
Line {
SrcBlock "Gain"
SrcPort 1
DstBlock "FcOut"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "PI Controller"
Ports [1, 1, 1, 0, 0]
Position [185, 60, 255, 90]
ShowPortLabels on
System {
Name "PI Controller"
Location [60, 101, 375, 260]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
AutoZoom on
Block {
BlockType Inport
Name "Serr"
Position [25, 38, 55, 52]
Port "1"
PortWidth "-1"
SampleTime "-1"
DataType "auto"
SignalType "auto"
Interpolate on
}
Block {
BlockType EnablePort
Name "Enable"
Ports [0, 0, 0, 0, 0]
Position [30, 75, 50, 95]
StatesWhenEnabling "reset"
ShowOutputPort off
}
Block {
BlockType Integrator
Name "Integrator"
Ports [1, 1, 0, 0, 0]
Position [150, 85, 180, 115]
ExternalReset "none"
InitialConditionSource "internal"
InitialCondition "0"
LimitOutput off
UpperSaturationLimit "inf"
LowerSaturationLimit "-inf"
ShowSaturationPort off
ShowStatePort off
AbsoluteTolerance "auto"
}
Block {
BlockType Gain
Name "Ki"
Position [100, 85, 130, 115]
Gain "10"
SaturateOnIntegerOverflow on
}
Block {
BlockType Gain
Name "Kp"
Position [100, 30, 130, 60]
Gain "25"
SaturateOnIntegerOverflow on
}
Block {
BlockType Sum
Name "Sum"
Ports [2, 1, 0, 0, 0]
Position [200, 35, 220, 55]
ShowName off
IconShape "round"
Inputs "|++"
SaturateOnIntegerOverflow on
}
Block {
BlockType Outport
Name "FcOut"
Position [260, 38, 290, 52]
Port "1"
OutputWhenDisabled "reset"
InitialOutput "0"
}
Line {
SrcBlock "Kp"
SrcPort 1
DstBlock "Sum"
DstPort 1
}
Line {
SrcBlock "Ki"
SrcPort 1
DstBlock "Integrator"
DstPort 1
}
Line {
SrcBlock "Integrator"
SrcPort 1
Points [25, 0]
DstBlock "Sum"
DstPort 2
}
Line {
SrcBlock "Sum"
SrcPort 1
DstBlock "FcOut"
DstPort 1
}
Line {
SrcBlock "Serr"
SrcPort 1
Points [10, 0]
Branch {
DstBlock "Kp"
DstPort 1
}
Branch {
Points [0, 55]
DstBlock "Ki"
DstPort 1
}
}
}
}
Block {
BlockType SubSystem
Name "SaveSwitchTime"
Ports [1, 1, 0, 1, 0]
Position [165, 245, 275, 285]
Orientation "left"
ShowPortLabels on
System {
Name "SaveSwitchTime"
Location [64, 101, 275, 237]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
AutoZoom on
Block {
BlockType Inport
Name "ClockIn"
Position [50, 78, 80, 92]
Port "1"
PortWidth "-1"
SampleTime "-1"
DataType "auto"
SignalType "auto"
Interpolate on
}
Block {
BlockType TriggerPort
Name "Trigger"
Ports [0, 0, 0, 0, 0]
Position [100, 40, 120, 60]
TriggerType "falling"
ShowOutputPort off
OutputDataType "auto"
}
Block {
BlockType Outport
Name "SwitchTimeOut"
Position [145, 78, 175, 92]
Port "1"
OutputWhenDisabled "held"
InitialOutput "0"
}
Line {
SrcBlock "ClockIn"
SrcPort 1
DstBlock "SwitchTimeOut"
DstPort 1
}
}
}
Block {
BlockType Scope
Name "Scope"
Ports [1, 0, 0, 0, 0]
Position [510, 164, 540, 196]
NamePlacement "alternate"
Floating off
Location [387, 280, 629, 519]
Open off
NumInputPorts "1"
TickLabels "OneTimeTick"
ZoomMode "on"
List {
ListType AxesTitles
axes1 "%<SignalLabel>"
}
Grid "on"
TimeRange "auto"
YMin "0"
YMax "65"
SaveToWorkspace off
SaveName "ScopeData"
DataFormat "StructureWithTime"
LimitMaxRows on
MaxRows "5000"
Decimation "1"
SampleInput off
SampleTime "0"
}
Block {
BlockType Scope
Name "Scope1"
Ports [1, 0, 0, 0, 0]
Position [325, 169, 355, 201]
NamePlacement "alternate"
Floating off
Location [-28, 269, 215, 509]
Open off
NumInputPorts "1"
TickLabels "OneTimeTick"
ZoomMode "yonly"
List {
ListType AxesTitles
axes1 "%<SignalLabel>"
}
Grid "on"
TimeRange "auto"
YMin "-0.5"
YMax "1.5"
SaveToWorkspace off
SaveName "ScopeData"
DataFormat "StructureWithTime"
LimitMaxRows on
MaxRows "5000"
Decimation "1"
SampleInput off
SampleTime "0"
}
Block {
BlockType Display
Name "SwitchTime"
Ports [1, 0, 0, 0, 0]
Position [25, 250, 115, 280]
Orientation "left"
Format "short"
Decimation "1"
Floating off
SampleTime "-1"
}
Line {
SrcBlock "Merge"
SrcPort 1
DstBlock "Automobile Model"
DstPort 1
}
Line {
Name "x'"
Labels [0, 0]
SrcBlock "Automobile Model"
SrcPort 1
Points [20, 0]
Branch {
Points [0, -75; -510, 0; 0, 70]
DstBlock "Model Selector"
DstPort 1
}
Branch {
Points [0, 45; -50, 0; 0, 35]
Branch {
DstBlock "Scope"
DstPort 1
}
Branch {
DstBlock "ActiveSpeed"
DstPort 1
}
}
}
Line {
Name "x'c"
Labels [1, 0]
SrcBlock "DesiredSpeed "
SrcPort 1
Points [-10, 0; 0, -110]
DstBlock "Model Selector"
DstPort 2
}
Line {
SrcBlock "P Controller"
SrcPort 1
Points [5, 0]
DstBlock "Merge"
DstPort 2
}
Line {
SrcBlock "Model Selector"
SrcPort 2
Points [20, 0]
Branch {
Points [0, -30]
DstBlock "PI Controller"
DstPort 1
}
Branch {
Points [0, 35]
DstBlock "P Controller"
DstPort 1
}
}
Line {
SrcBlock "PI Controller"
SrcPort 1
DstBlock "Merge"
DstPort 1
}
Line {
SrcBlock "Clock"
SrcPort 1
Points [-30, 0]
Branch {
DstBlock "SaveSwitchTime"
DstPort 1
}
Branch {
DstBlock "Automobile Model"
DstPort 2
}
}
Line {
SrcBlock "SaveSwitchTime"
SrcPort 1
DstBlock "SwitchTime"
DstPort 1
}
Line {
SrcBlock "Constant"
SrcPort 1
DstBlock "DesiredSpeed "
DstPort 1
}
Line {
SrcBlock "Model Selector"
SrcPort 1
Points [10, 0]
Branch {
Points [0, -55; 70, 0]
DstBlock "PI Controller"
DstPort enable
}
Branch {
DstBlock "LogicInverse"
DstPort 1
}
}
Line {
SrcBlock "LogicInverse"
SrcPort 1
Points [0, 10; 70, 0]
Branch {
DstBlock "Scope1"
DstPort 1
}
Branch {
DstBlock "P Controller"
DstPort enable
}
Branch {
DstBlock "SaveSwitchTime"
DstPort trigger
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -