📄 pid.mdl
字号:
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "In1"
Position [20, 148, 50, 162]
Port "1"
LatchInput off
Interpolate on
Port {
PortNumber 1
Name "F2"
PropagatedSignals "F2"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
}
}
Block {
BlockType Constant
Name "F1"
Position [200, 265, 230, 295]
Value "F1"
VectorParams1D on
}
Block {
BlockType Integrator
Name "Integrator"
Ports [1, 1]
Position [615, 105, 645, 135]
ExternalReset "none"
InitialConditionSource "internal"
InitialCondition "T1"
LimitOutput off
UpperSaturationLimit "inf"
LowerSaturationLimit "-inf"
ShowSaturationPort off
ShowStatePort off
AbsoluteTolerance "auto"
Port {
PortNumber 1
Name "T3"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
}
}
Block {
BlockType Product
Name "Product"
Ports [3, 1]
Position [155, 203, 200, 237]
Inputs "**/"
Multiplication "Element-wise(.*)"
SaturateOnIntegerOverflow on
Port {
PortNumber 1
Name "F2T2/V"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
}
}
Block {
BlockType Product
Name "Product1"
Ports [3, 1]
Position [310, 323, 355, 357]
Inputs "**/"
Multiplication "Element-wise(.*)"
SaturateOnIntegerOverflow on
Port {
PortNumber 1
Name "F1T1/V"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
}
}
Block {
BlockType Product
Name "Product2"
Ports [3, 1]
Position [375, 188, 420, 222]
Inputs "**/"
Multiplication "Element-wise(.*)"
SaturateOnIntegerOverflow on
Port {
PortNumber 1
Name "(F1+F2)T3/V"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
}
}
Block {
BlockType Sum
Name "Sum"
Ports [2, 1]
Position [260, 145, 280, 165]
ShowName off
IconShape "round"
Inputs "|++"
SaturateOnIntegerOverflow on
Port {
PortNumber 1
Name "(F1+F2)"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
}
}
Block {
BlockType Sum
Name "Sum1"
Ports [3, 1]
Position [530, 80, 560, 160]
ShowName off
IconShape "rectangular"
Inputs "|++-"
SaturateOnIntegerOverflow on
Port {
PortNumber 1
Name "dT3/dt\n"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
}
}
Block {
BlockType Constant
Name "T1"
Position [200, 325, 230, 355]
Value "T1"
VectorParams1D on
}
Block {
BlockType Constant
Name "T2"
Position [60, 205, 90, 235]
Value "T2"
VectorParams1D on
}
Block {
BlockType Constant
Name "V"
Position [60, 265, 90, 295]
Value "V"
VectorParams1D on
}
Block {
BlockType Constant
Name "V1"
Position [295, 200, 325, 230]
Value "V"
VectorParams1D on
}
Block {
BlockType Constant
Name "V2"
Position [200, 385, 230, 415]
Value "V"
VectorParams1D on
}
Block {
BlockType Outport
Name "Out1"
Position [685, 113, 715, 127]
Port "1"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Line {
Name "F2"
Labels [1, 1]
SrcBlock "In1"
SrcPort 1
Points [60, 0; 15, 0]
Branch {
Points [0, 55]
DstBlock "Product"
DstPort 1
}
Branch {
Labels [1, 0]
DstBlock "Sum"
DstPort 1
}
}
Line {
SrcBlock "V"
SrcPort 1
Points [35, 0; 0, -50]
DstBlock "Product"
DstPort 3
}
Line {
SrcBlock "F1"
SrcPort 1
Points [0, 0; 35, 0]
Branch {
Points [0, 50]
DstBlock "Product1"
DstPort 1
}
Branch {
Labels [1, 0]
DstBlock "Sum"
DstPort 2
}
}
Line {
SrcBlock "T1"
SrcPort 1
DstBlock "Product1"
DstPort 2
}
Line {
SrcBlock "V2"
SrcPort 1
Points [35, 0; 0, -50]
DstBlock "Product1"
DstPort 3
}
Line {
SrcBlock "V1"
SrcPort 1
DstBlock "Product2"
DstPort 3
}
Line {
Name "(F1+F2)"
Labels [2, 0]
SrcBlock "Sum"
SrcPort 1
Points [35, 0; 0, 40]
DstBlock "Product2"
DstPort 1
}
Line {
Name "F2T2/V"
Labels [3, 0]
SrcBlock "Product"
SrcPort 1
Points [15, 0; 0, -110]
DstBlock "Sum1"
DstPort 1
}
Line {
Name "F1T1/V"
Labels [1, 1]
SrcBlock "Product1"
SrcPort 1
Points [150, 0; 0, -210]
DstBlock "Sum1"
DstPort 2
}
Line {
Name "(F1+F2)T3/V"
Labels [2, 0]
SrcBlock "Product2"
SrcPort 1
Points [0, -55]
DstBlock "Sum1"
DstPort 3
}
Line {
Name "dT3/dt\n"
Labels [0, 0]
SrcBlock "Sum1"
SrcPort 1
DstBlock "Integrator"
DstPort 1
}
Line {
Name "T3"
Labels [0, 0]
SrcBlock "Integrator"
SrcPort 1
Points [15, 0]
Branch {
Labels [1, 0]
Points [0, 160; -305, 0]
DstBlock "Product2"
DstPort 2
}
Branch {
Labels [1, 0]
DstBlock "Out1"
DstPort 1
}
}
Line {
SrcBlock "T2"
SrcPort 1
DstBlock "Product"
DstPort 2
}
}
}
Block {
BlockType Scope
Name "Scope for\n the Tm"
Ports [1]
Position [365, 19, 395, 51]
Orientation "left"
BackgroundColor "cyan"
DropShadow on
Floating off
Location [5, 53, 805, 575]
Open off
NumInputPorts "1"
TickLabels "OneTimeTick"
ZoomMode "on"
List {
ListType AxesTitles
axes1 "%<SignalLabel>"
}
List {
ListType SelectedSignals
axes1 ""
}
Grid "on"
TimeRange "auto"
YMin "-5"
YMax "5"
SaveToWorkspace off
SaveName "ScopeData1"
DataFormat "StructureWithTime"
LimitDataPoints on
MaxDataPoints "5000"
Decimation "1"
SampleInput off
SampleTime "0"
}
Block {
BlockType Scope
Name "Scope for\n the error"
Ports [1]
Position [165, 19, 195, 51]
BackgroundColor "cyan"
DropShadow on
Floating off
Location [5, 53, 805, 575]
Open off
NumInputPorts "1"
TickLabels "OneTimeTick"
ZoomMode "on"
List {
ListType AxesTitles
axes1 "%<SignalLabel>"
}
List {
ListType SelectedSignals
axes1 ""
}
Grid "on"
TimeRange "auto"
YMin "-5"
YMax "5"
SaveToWorkspace off
SaveName "ScopeData"
DataFormat "StructureWithTime"
LimitDataPoints on
MaxDataPoints "5000"
Decimation "1"
SampleInput off
SampleTime "0"
}
Block {
BlockType Sum
Name "Sum"
Ports [2, 1]
Position [95, 120, 115, 140]
BackgroundColor "orange"
DropShadow on
ShowName off
IconShape "round"
Inputs "|+-"
SaturateOnIntegerOverflow on
Port {
PortNumber 1
Name "error"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
}
}
Block {
BlockType Constant
Name "Temp. \nsetpoint"
Position [45, 115, 75, 145]
BackgroundColor "lightBlue"
DropShadow on
Value "350"
VectorParams1D on
}
Line {
SrcBlock "Temp. \nsetpoint"
SrcPort 1
DstBlock "Sum"
DstPort 1
}
Line {
Name "error"
Labels [0, 0]
SrcBlock "Sum"
SrcPort 1
Points [0, 0; 10, 0]
Branch {
Labels [1, 0]
Points [0, -95]
DstBlock "Scope for\n the error"
DstPort 1
}
Branch {
DstBlock "PID"
DstPort 1
}
}
Line {
Name "F2"
Labels [0, 0]
SrcBlock "PID"
SrcPort 1
DstBlock "Process"
DstPort 1
}
Line {
Name "Tm"
Labels [0, 0]
SrcBlock "Process"
SrcPort 1
Points [0, 0; 70, 0]
Branch {
Labels [1, 0]
Points [0, 105; -315, 0]
DstBlock "Sum"
DstPort 2
}
Branch {
Labels [1, 1]
Points [0, -95]
DstBlock "Scope for\n the Tm"
DstPort 1
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -