📄 dorsey188b.mdl
字号:
BlockType Gain
Name "Gain11"
Position [350, 103, 380, 137]
Gain "SW"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Gain
Name "Gain12"
Position [365, 168, 395, 202]
Gain "SW"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Gain
Name "Gain2"
Position [140, 168, 175, 202]
Gain "Kd"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Gain
Name "Gain3"
Position [125, 24, 150, 56]
Gain "10"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Gain
Name "Gain4"
Position [275, 308, 310, 342]
Gain "Ki"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Gain
Name "Gain5"
Position [275, 263, 310, 297]
Gain "Kp"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Gain
Name "Gain6"
Position [335, 263, 390, 297]
Gain "1-SW"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Gain
Name "Gain7"
Position [355, 13, 385, 47]
Gain "SW"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Gain
Name "Gain8"
Position [335, 308, 390, 342]
Gain "1-SW"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Gain
Name "Gain9"
Position [275, 353, 310, 387]
Gain "Kd"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Integrator
Name "Integrator1"
Ports [1, 1]
Position [165, 310, 195, 340]
ExternalReset "none"
InitialConditionSource "internal"
InitialCondition "0"
LimitOutput off
UpperSaturationLimit "inf"
LowerSaturationLimit "-inf"
ShowSaturationPort off
ShowStatePort off
AbsoluteTolerance "auto"
}
Block {
BlockType Saturate
Name "Saturation"
Position [170, 25, 195, 55]
UpperLimit "10"
LowerLimit "-10"
LinearizeAsGain on
}
Block {
BlockType Sum
Name "Sum"
Ports [6, 1]
Position [415, 30, 455, 70]
ShowName off
IconShape "round"
Inputs "|++++++"
SaturateOnIntegerOverflow on
}
Block {
BlockType Outport
Name "Out1"
Position [475, 43, 505, 57]
Port "1"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Outport
Name "Out2"
Position [470, 113, 500, 127]
Port "2"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Line {
SrcBlock "In1"
SrcPort 1
Points [10, 0]
Branch {
DstBlock "Abs"
DstPort 1
}
Branch {
Points [0, 240]
Branch {
Points [-5, 0; 0, 45]
Branch {
Points [0, 45]
DstBlock "Derivative1"
DstPort 1
}
Branch {
DstBlock "Integrator1"
DstPort 1
}
}
Branch {
Points [145, 0]
Branch {
DstBlock "Gain5"
DstPort 1
}
Branch {
Points [0, -255]
DstBlock "Fuzzy Kp Subsystem"
DstPort 1
}
}
}
}
Line {
SrcBlock "Sum"
SrcPort 1
DstBlock "Out1"
DstPort 1
}
Line {
SrcBlock "Fuzzy Kp Subsystem"
SrcPort 1
DstBlock "Gain7"
DstPort 1
}
Line {
SrcBlock "Constant"
SrcPort 1
DstBlock "Gain"
DstPort 1
}
Line {
SrcBlock "Gain3"
SrcPort 1
DstBlock "Saturation"
DstPort 1
}
Line {
SrcBlock "Gain6"
SrcPort 1
Points [10, 0]
DstBlock "Sum"
DstPort 4
}
Line {
SrcBlock "Abs"
SrcPort 1
DstBlock "Gain3"
DstPort 1
}
Line {
SrcBlock "Gain7"
SrcPort 1
Points [28, 0]
DstBlock "Sum"
DstPort 1
}
Line {
SrcBlock "Saturation"
SrcPort 1
Points [20, 0]
Branch {
DstBlock "Fuzzy Kp Subsystem"
DstPort 2
}
Branch {
Points [0, 80]
Branch {
DstBlock "Fuzzy Ki Subsystem1"
DstPort 2
}
Branch {
Points [0, 65]
DstBlock "Fuzzy Kd Subsystem2"
DstPort 2
}
}
}
Line {
SrcBlock "Gain"
SrcPort 1
Points [45, 0]
DstBlock "Fuzzy Kp Subsystem"
DstPort 3
}
Line {
SrcBlock "Fuzzy Kp Subsystem"
SrcPort 2
Points [55, 0; 0, 70]
DstBlock "Out2"
DstPort 1
}
Line {
SrcBlock "Gain8"
SrcPort 1
Points [15, 0; 0, -245]
DstBlock "Sum"
DstPort 5
}
Line {
SrcBlock "Integrator1"
SrcPort 1
Points [30, 0]
Branch {
DstBlock "Gain4"
DstPort 1
}
Branch {
Points [0, -220]
DstBlock "Fuzzy Ki Subsystem1"
DstPort 1
}
}
Line {
SrcBlock "Derivative1"
SrcPort 1
Points [105, 0]
Branch {
DstBlock "Fuzzy Kd Subsystem2"
DstPort 1
}
Branch {
DstBlock "Gain9"
DstPort 1
}
}
Line {
SrcBlock "Gain10"
SrcPort 1
Points [40, 0]
DstBlock "Sum"
DstPort 6
}
Line {
SrcBlock "Constant1"
SrcPort 1
DstBlock "Gain1"
DstPort 1
}
Line {
SrcBlock "Constant2"
SrcPort 1
DstBlock "Gain2"
DstPort 1
}
Line {
SrcBlock "Gain1"
SrcPort 1
DstBlock "Fuzzy Ki Subsystem1"
DstPort 3
}
Line {
SrcBlock "Gain2"
SrcPort 1
Points [0, 15]
DstBlock "Fuzzy Kd Subsystem2"
DstPort 3
}
Line {
SrcBlock "Fuzzy Ki Subsystem1"
SrcPort 1
DstBlock "Gain11"
DstPort 1
}
Line {
SrcBlock "Fuzzy Kd Subsystem2"
SrcPort 1
DstBlock "Gain12"
DstPort 1
}
Line {
SrcBlock "Gain11"
SrcPort 1
Points [0, -87]
DstBlock "Sum"
DstPort 2
}
Line {
SrcBlock "Gain12"
SrcPort 1
DstBlock "Sum"
DstPort 3
}
Line {
SrcBlock "Gain9"
SrcPort 1
DstBlock "Gain10"
DstPort 1
}
Line {
SrcBlock "Gain4"
SrcPort 1
DstBlock "Gain8"
DstPort 1
}
Line {
SrcBlock "Gain5"
SrcPort 1
DstBlock "Gain6"
DstPort 1
}
}
}
Block {
BlockType Scope
Name "Scope"
Ports [1]
Position [415, 19, 445, 51]
Floating off
Location [6, 72, 263, 235]
Open on
NumInputPorts "1"
TickLabels "OneTimeTick"
ZoomMode "on"
List {
ListType AxesTitles
axes1 "%<SignalLabel>"
}
Grid "on"
TimeRange "1"
YMin "0"
YMax "1.5"
SaveToWorkspace off
SaveName "ScopeData"
DataFormat "StructureWithTime"
LimitDataPoints on
MaxDataPoints "500000"
Decimation "1"
SampleInput off
SampleTime "0"
}
Block {
BlockType Step
Name "Step"
Position [40, 35, 70, 65]
Time "0"
Before "0"
After "1"
SampleTime "0"
VectorParams1D on
}
Block {
BlockType Sum
Name "Sum"
Ports [2, 1]
Position [100, 40, 120, 60]
ShowName off
IconShape "round"
Inputs "|+-"
SaturateOnIntegerOverflow on
}
Block {
BlockType ToWorkspace
Name "To Workspace"
Position [270, 151, 290, 179]
VariableName "t"
MaxDataPoints "inf"
Decimation "1"
SampleTime "-1"
SaveFormat "Array"
}
Block {
BlockType ToWorkspace
Name "To Workspace1"
Position [420, 76, 440, 104]
VariableName "y"
MaxDataPoints "inf"
Decimation "1"
SampleTime "-1"
SaveFormat "Array"
}
Block {
BlockType TransferFcn
Name "Transfer Fcn1"
Position [315, 32, 340, 68]
Numerator "[1]"
Denominator "[1 5]"
Realization "auto"
AbsoluteTolerance "auto"
}
Block {
BlockType TransferFcn
Name "Transfer Fcn2"
Position [275, 32, 300, 68]
Numerator "[1]"
Denominator "[1 1]"
Realization "auto"
AbsoluteTolerance "auto"
}
Block {
BlockType Outport
Name "Out1"
Position [100, 103, 130, 117]
Port "1"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Outport
Name "Out2"
Position [340, 118, 370, 132]
Port "2"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Outport
Name "Out3"
Position [165, 143, 195, 157]
Port "3"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Outport
Name "Out4"
Position [380, 138, 410, 152]
Port "4"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Line {
SrcBlock "Step"
SrcPort 1
Points [5, 0]
Branch {
Points [5, 0]
Branch {
DstBlock "Sum"
DstPort 1
}
Branch {
Points [0, -25]
DstBlock "Mux"
DstPort 1
}
}
Branch {
Points [0, 60]
DstBlock "Out1"
DstPort 1
}
}
Line {
SrcBlock "Sum"
SrcPort 1
Points [5, 0]
Branch {
Points [5, 0]
DstBlock "PID Subsystem"
DstPort 1
}
Branch {
Points [0, 100]
DstBlock "Out3"
DstPort 1
}
}
Line {
SrcBlock "PID Subsystem"
SrcPort 1
DstBlock "Gain1"
DstPort 1
}
Line {
SrcBlock "Transfer Fcn1"
SrcPort 1
Points [5, 0]
Branch {
Points [0, -15]
DstBlock "Mux"
DstPort 2
}
Branch {
Points [0, 45; -65, 0]
Branch {
Points [-145, 0]
Branch {
Points [-30, 0]
DstBlock "Sum"
DstPort 2
}
Branch {
Points [0, 25]
DstBlock "Display"
DstPort 1
}
}
Branch {
Points [0, 30]
DstBlock "Out2"
DstPort 1
}
}
}
Line {
SrcBlock "Mux"
SrcPort 1
Points [5, 0]
Branch {
DstBlock "Scope"
DstPort 1
}
Branch {
Points [0, 55]
DstBlock "To Workspace1"
DstPort 1
}
}
Line {
SrcBlock "Transfer Fcn2"
SrcPort 1
DstBlock "Transfer Fcn1"
DstPort 1
}
Line {
SrcBlock "Clock"
SrcPort 1
DstBlock "To Workspace"
DstPort 1
}
Line {
SrcBlock "Gain3"
SrcPort 1
Points [15, 0]
DstBlock "Mux"
DstPort 3
}
Line {
SrcBlock "PID Subsystem"
SrcPort 2
Points [0, 25; 70, 0]
Branch {
DstBlock "Gain3"
DstPort 1
}
Branch {
Points [0, 60]
DstBlock "Out4"
DstPort 1
}
}
Line {
SrcBlock "Gain1"
SrcPort 1
DstBlock "Transfer Fcn2"
DstPort 1
}
Annotation {
Position [50, 15]
Text "Dorsey188B.mdl"
}
Annotation {
Position [84, 168]
Text "Kp=108,Ki=98,Kd=9"
}
Annotation {
Position [73, 152]
Text "a=1,b=5, SW=1"
}
Annotation {
Position [119, 182]
Text "For robustness, Kp=683,Ki=221;Kd=24"
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -