📄 back_track.mdl
字号:
Annotation {
Position [388, 311]
Text "y(t)"
}
}
}
Block {
BlockType Saturate
Name "Saturation"
Position [145, 35, 175, 65]
UpperLimit "40*pi/180"
LowerLimit "-40*pi/180"
LinearizeAsGain on
}
Block {
BlockType ZeroOrderHold
Name "Zero-Order\nHold"
Position [75, 31, 110, 69]
SampleTime "0.01"
}
Block {
BlockType ZeroOrderHold
Name "Zero-Order\nHold1"
Position [340, 21, 375, 59]
SampleTime "0.01"
}
Block {
BlockType ZeroOrderHold
Name "Zero-Order\nHold2"
Position [340, 91, 375, 129]
SampleTime "0.01"
}
Block {
BlockType ZeroOrderHold
Name "Zero-Order\nHold3"
Position [340, 161, 375, 199]
SampleTime "0.01"
}
Block {
BlockType Outport
Name "x"
Position [420, 33, 450, 47]
Port "1"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Outport
Name "phi1"
Position [415, 173, 445, 187]
Port "2"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Outport
Name "y"
Position [415, 103, 445, 117]
Port "3"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Line {
SrcBlock "u"
SrcPort 1
DstBlock "Zero-Order\nHold"
DstPort 1
}
Line {
SrcBlock "Saturation"
SrcPort 1
DstBlock "Cruise dynamic\nSubsystem"
DstPort 1
}
Line {
SrcBlock "Cruise dynamic\nSubsystem"
SrcPort 1
Points [0, 5]
DstBlock "Zero-Order\nHold1"
DstPort 1
}
Line {
SrcBlock "Zero-Order\nHold"
SrcPort 1
DstBlock "Saturation"
DstPort 1
}
Line {
SrcBlock "Zero-Order\nHold1"
SrcPort 1
DstBlock "x"
DstPort 1
}
Line {
SrcBlock "Zero-Order\nHold2"
SrcPort 1
DstBlock "y"
DstPort 1
}
Line {
SrcBlock "Zero-Order\nHold3"
SrcPort 1
DstBlock "phi1"
DstPort 1
}
Line {
SrcBlock "Cruise dynamic\nSubsystem"
SrcPort 3
Points [40, 0]
DstBlock "Zero-Order\nHold2"
DstPort 1
}
Line {
SrcBlock "Cruise dynamic\nSubsystem"
SrcPort 2
Points [25, 0; 0, 130]
DstBlock "Zero-Order\nHold3"
DstPort 1
}
}
}
Block {
BlockType Clock
Name "Clock"
Position [30, 130, 50, 150]
DisplayTime off
Decimation "10"
}
Block {
BlockType SubSystem
Name "Fuzzy Subsystem"
Ports [2, 1]
Position [50, 46, 95, 84]
ShowPortLabels on
TreatAsAtomicUnit off
RTWSystemCode "Auto"
RTWFcnNameOpts "Auto"
RTWFileNameOpts "Auto"
System {
Name "Fuzzy Subsystem"
Location [287, 74, 777, 217]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "automatic"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "ex"
Position [25, 33, 55, 47]
Port "1"
LatchInput off
Interpolate on
}
Block {
BlockType Inport
Name "ephi"
Position [20, 93, 50, 107]
Port "2"
LatchInput off
Interpolate on
}
Block {
BlockType Reference
Name "Fuzzy Logic \nController"
Ports [1, 1]
Position [240, 25, 300, 75]
FontName "Arial"
SourceBlock "fuzblock/Fuzzy Logic \nController"
SourceType "FIS"
fis "ex651f"
}
Block {
BlockType Gain
Name "Gain3"
Position [330, 33, 395, 67]
Gain "Su"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Mux
Name "Mux"
Ports [2, 1]
Position [220, 31, 225, 69]
ShowName off
Inputs "2"
DisplayOption "bar"
}
Block {
BlockType Saturate
Name "Saturation"
Position [155, 25, 185, 55]
UpperLimit "20"
LowerLimit "0"
LinearizeAsGain on
}
Block {
BlockType Saturate
Name "Saturation1"
Position [165, 86, 185, 114]
UpperLimit "270*pi/180"
LowerLimit "-90*pi/180"
LinearizeAsGain on
}
Block {
BlockType Gain
Name "Sde"
Position [70, 82, 150, 118]
Gain "Sde"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Gain
Name "Se"
Position [75, 23, 135, 57]
Gain "Se"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Outport
Name "Out1"
Position [440, 43, 470, 57]
Port "1"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Line {
SrcBlock "Mux"
SrcPort 1
DstBlock "Fuzzy Logic \nController"
DstPort 1
}
Line {
SrcBlock "ex"
SrcPort 1
DstBlock "Se"
DstPort 1
}
Line {
SrcBlock "Fuzzy Logic \nController"
SrcPort 1
DstBlock "Gain3"
DstPort 1
}
Line {
SrcBlock "ephi"
SrcPort 1
DstBlock "Sde"
DstPort 1
}
Line {
SrcBlock "Se"
SrcPort 1
DstBlock "Saturation"
DstPort 1
}
Line {
SrcBlock "Sde"
SrcPort 1
DstBlock "Saturation1"
DstPort 1
}
Line {
SrcBlock "Gain3"
SrcPort 1
DstBlock "Out1"
DstPort 1
}
Line {
SrcBlock "Saturation"
SrcPort 1
DstBlock "Mux"
DstPort 1
}
Line {
SrcBlock "Saturation1"
SrcPort 1
Points [15, 0]
DstBlock "Mux"
DstPort 2
}
}
}
Block {
BlockType Gain
Name "Gain1"
Position [240, 16, 295, 54]
Gain "180/pi"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Gain
Name "Gain2"
Position [245, 126, 300, 164]
Gain "0.1"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Gain
Name "Gain3"
Position [245, 56, 300, 94]
Gain "180/pi"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Mux
Name "Mux"
Ports [2, 1]
Position [325, 31, 330, 69]
ShowName off
Inputs "2"
DisplayOption "bar"
}
Block {
BlockType Mux
Name "Mux1"
Ports [2, 1]
Position [325, 116, 330, 154]
ShowName off
Inputs "2"
DisplayOption "bar"
}
Block {
BlockType Scope
Name "Scope"
Ports [1]
Position [360, 120, 390, 150]
Floating off
Location [9, 60, 172, 232]
Open on
NumInputPorts "1"
TickLabels "OneTimeTick"
ZoomMode "on"
List {
ListType AxesTitles
axes1 "%<SignalLabel>"
}
List {
ListType SelectedSignals
axes1 ""
}
Grid "on"
TimeRange "2"
YMin "0"
YMax "20"
SaveToWorkspace off
SaveName "ScopeData"
DataFormat "StructureWithTime"
LimitDataPoints on
MaxDataPoints "50000"
Decimation "1"
SampleInput off
SampleTime "0"
}
Block {
BlockType Scope
Name "Scope1"
Ports [1]
Position [360, 35, 390, 65]
Floating off
Location [180, 61, 367, 228]
Open on
NumInputPorts "1"
TickLabels "OneTimeTick"
ZoomMode "on"
List {
ListType AxesTitles
axes1 "%<SignalLabel>"
}
List {
ListType SelectedSignals
axes1 ""
}
Grid "on"
TimeRange "2"
YMin "-50"
YMax "150"
SaveToWorkspace off
SaveName "ScopeData2"
DataFormat "StructureWithTime"
LimitDataPoints on
MaxDataPoints "50000"
Decimation "1"
SampleInput off
SampleTime "0"
}
Block {
BlockType ToWorkspace
Name "To Workspace\nRPM"
Position [355, 85, 390, 105]
VariableName "angle"
MaxDataPoints "inf"
Decimation "1"
SampleTime "-1"
SaveFormat "Array"
}
Block {
BlockType ToWorkspace
Name "To Workspace1"
Position [320, 85, 335, 115]
VariableName "x"
MaxDataPoints "inf"
Decimation "1"
SampleTime "-1"
SaveFormat "Array"
}
Block {
BlockType ToWorkspace
Name "To Workspace2"
Position [135, 125, 150, 155]
VariableName "t"
MaxDataPoints "inf"
Decimation "1"
SampleTime "-1"
SaveFormat "Array"
}
Block {
BlockType ToWorkspace
Name "To Workspace3"
Position [305, 165, 320, 195]
VariableName "y"
MaxDataPoints "inf"
Decimation "1"
SampleTime "-1"
SaveFormat "Array"
}
Block {
BlockType ZeroOrderHold
Name "Zero-Order\nHold"
Position [65, 121, 100, 159]
SampleTime "0.001"
}
Block {
BlockType Outport
Name "x"
Position [265, 103, 295, 117]
Port "1"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Outport
Name "y"
Position [240, 193, 270, 207]
Port "2"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Outport
Name "phi"
Position [180, 123, 210, 137]
Port "3"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Line {
SrcBlock "Clock"
SrcPort 1
DstBlock "Zero-Order\nHold"
DstPort 1
}
Line {
SrcBlock "Zero-Order\nHold"
SrcPort 1
DstBlock "To Workspace2"
DstPort 1
}
Line {
SrcBlock "Mux"
SrcPort 1
Points [0, 0; 5, 0]
Branch {
DstBlock "To Workspace\nRPM"
DstPort 1
}
Branch {
DstBlock "Scope1"
DstPort 1
}
}
Line {
SrcBlock "Gain3"
SrcPort 1
Points [5, 0]
DstBlock "Mux"
DstPort 2
}
Line {
SrcBlock "Fuzzy Subsystem"
SrcPort 1
Points [0, 0; 15, 0]
Branch {
DstBlock "Back track Subsystem"
DstPort 1
}
Branch {
Points [0, -30]
DstBlock "Gain1"
DstPort 1
}
}
Line {
SrcBlock "Gain1"
SrcPort 1
Points [0, 5]
DstBlock "Mux"
DstPort 1
}
Line {
SrcBlock "Back track Subsystem"
SrcPort 1
Points [0, 0; 0, -10]
Branch {
Points [0, -10; -180, 0]
DstBlock "Fuzzy Subsystem"
DstPort 1
}
Branch {
Points [15, 0; 0, 85; 20, 0]
Branch {
Points [55, 0]
Branch {
DstBlock "Mux1"
DstPort 1
}
Branch {
DstBlock "To Workspace1"
DstPort 1
}
}
Branch {
DstBlock "x"
DstPort 1
}
}
}
Line {
SrcBlock "Back track Subsystem"
SrcPort 2
Points [10, 0; 0, 10]
Branch {
DstBlock "Gain3"
DstPort 1
}
Branch {
Points [0, 35; -60, 0]
Branch {
Points [-130, 0]
DstBlock "Fuzzy Subsystem"
DstPort 2
}
Branch {
DstBlock "phi"
DstPort 1
}
}
}
Line {
SrcBlock "Mux1"
SrcPort 1
DstBlock "Scope"
DstPort 1
}
Line {
SrcBlock "Back track Subsystem"
SrcPort 3
Points [0, 0; 0, 65]
Branch {
DstBlock "Gain2"
DstPort 1
}
Branch {
Points [0, 35]
Branch {
DstBlock "To Workspace3"
DstPort 1
}
Branch {
Points [0, 20]
DstBlock "y"
DstPort 1
}
}
}
Line {
SrcBlock "Gain2"
SrcPort 1
DstBlock "Mux1"
DstPort 2
}
Annotation {
Position [103, 214]
Text "back_track.mdl\nPenChen Chou, Aug. 6, 2001.\nLo"
"ad ex651f.fis before simulation\nTry Se=1,Sde=1,Su=0.8786"
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -