📄 steamcondenser.mdl
字号:
Name "Sum2"
Ports [2, 1]
Position [140, 290, 160, 310]
ShowName off
IconShape "round"
Inputs "|+-"
SaturateOnIntegerOverflow off
}
Block {
BlockType Sum
Name "Sum3"
Ports [2, 1]
Position [295, 265, 315, 285]
ShowName off
IconShape "round"
Inputs "++|"
SaturateOnIntegerOverflow off
}
Block {
BlockType Sum
Name "Sum6"
Ports [2, 1]
Position [45, 115, 65, 135]
Orientation "down"
NamePlacement "alternate"
ShowName off
IconShape "round"
Inputs "|++"
SaturateOnIntegerOverflow off
}
Block {
BlockType Fcn
Name "U"
Position [235, 201, 275, 229]
ShowName off
Expr "0.0872924756541668/u^0.8+0.0007378677200803"
"3"
Port {
PortNumber 1
Name "Q"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Fcn
Name "dTm"
Position [155, 181, 180, 209]
Expr "(u(2)-u(1))/log((u(3)-u(1))/(u(3)-u(2)))"
}
Block {
BlockType Reference
Name "sensor"
Ports [1, 1]
Position [510, 30, 545, 60]
SourceBlock "simulink_extras/Additional\nLinear/Transfer"
" Fcn\n(with initial outputs)"
SourceType "Transfer Function with Initial Outputs"
ShowPortLabels on
N "[1]"
D "[tau/2 1]"
Y0 "P"
U0 "P"
Port {
PortNumber 1
Name "P"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Outport
Name "y"
Position [615, 98, 645, 112]
IconDisplay "Port number"
BusOutputAsStruct off
}
Line {
SrcBlock "R/V"
SrcPort 1
DstBlock "Integrator"
DstPort 1
}
Line {
SrcBlock "Product"
SrcPort 1
DstBlock "R/V"
DstPort 1
}
Line {
SrcBlock "Sum"
SrcPort 1
DstBlock "Product"
DstPort 1
}
Line {
SrcBlock "Fs"
SrcPort 1
DstBlock "Sum"
DstPort 1
}
Line {
SrcBlock "Integrator"
SrcPort 1
Points [15, 0]
Branch {
DstBlock "sensor"
DstPort 1
}
Branch {
Points [0, 45]
Branch {
DstBlock "Lambda"
DstPort 1
}
Branch {
Labels [1, 0]
DstBlock "P-T"
DstPort 1
}
}
}
Line {
SrcBlock "1/Mcw"
SrcPort 1
DstBlock "Integrator1"
DstPort 1
}
Line {
Name "T"
Labels [0, 0]
SrcBlock "Integrator1"
SrcPort 1
Points [75, 0]
Branch {
Points [0, 60; -395, 0]
Branch {
DstBlock "Sum2"
DstPort 2
}
Branch {
Points [-80, 0; 0, -140]
DstBlock "Mux"
DstPort 2
}
}
Branch {
Points [0, -150]
DstBlock "Bus\nCreator1"
DstPort 5
}
}
Line {
SrcBlock "Tcw"
SrcPort 1
Points [0, 0; 10, 0]
Branch {
DstBlock "Sum2"
DstPort 1
}
Branch {
Points [0, -115]
DstBlock "Mux"
DstPort 1
}
}
Line {
SrcBlock "Sum2"
SrcPort 1
Points [25, 0; 0, -10]
DstBlock "Product1"
DstPort 2
}
Line {
SrcBlock "Product1"
SrcPort 1
DstBlock "Sum3"
DstPort 2
}
Line {
SrcBlock "Sum3"
SrcPort 1
DstBlock "1/Mcw"
DstPort 1
}
Line {
SrcBlock "1/Cp"
SrcPort 1
Points [-50, 0]
DstBlock "Sum3"
DstPort 1
}
Line {
SrcBlock "dTm"
SrcPort 1
DstBlock "Product2"
DstPort 1
}
Line {
SrcBlock "Bus\nCreator1"
SrcPort 1
DstBlock "y"
DstPort 1
}
Line {
Name "Fcw"
Labels [0, 0]
SrcBlock "Actuator"
SrcPort 1
Points [0, 0; 20, 0]
Branch {
DstBlock "Product1"
DstPort 1
}
Branch {
Points [0, -40]
DstBlock "U"
DstPort 1
}
Branch {
Points [0, 70; 360, 0; 0, -185]
DstBlock "Bus\nCreator1"
DstPort 6
}
}
Line {
Name "P"
Labels [0, 0]
SrcBlock "sensor"
SrcPort 1
Points [10, 0; 0, 20]
DstBlock "Bus\nCreator1"
DstPort 1
}
Line {
SrcBlock "Saturation"
SrcPort 1
DstBlock "Actuator"
DstPort 1
}
Line {
SrcBlock "Sum6"
SrcPort 1
Points [0, 115]
DstBlock "Saturation"
DstPort 1
}
Line {
SrcBlock "Fcw"
SrcPort 1
Points [5, 0]
DstBlock "Sum6"
DstPort 1
}
Line {
SrcBlock "Fcw Setpoint"
SrcPort 1
DstBlock "Sum6"
DstPort 2
}
Line {
SrcBlock "Lambda"
SrcPort 1
DstBlock "Divide"
DstPort 1
}
Line {
Name "Fc"
Labels [0, 0]
SrcBlock "Divide"
SrcPort 1
Points [-30, 0]
Branch {
Points [-185, 0]
DstBlock "Sum"
DstPort 2
}
Branch {
Points [0, 30; 175, 0; 0, -90]
DstBlock "Bus\nCreator1"
DstPort 3
}
}
Line {
Name "T_c"
Labels [0, 0]
SrcBlock "P-T"
SrcPort 1
Points [-125, 0]
Branch {
Points [0, -40]
DstBlock "Product"
DstPort 2
}
Branch {
Points [0, 30]
Branch {
Points [0, 50; -80, 0; 0, 35]
DstBlock "Mux"
DstPort 3
}
Branch {
Points [320, 0; 0, -40]
DstBlock "Bus\nCreator1"
DstPort 2
}
}
}
Line {
SrcBlock "Mux"
SrcPort 1
DstBlock "dTm"
DstPort 1
}
Line {
Name "Q"
Labels [0, 0]
SrcBlock "Product2"
SrcPort 1
Points [90, 0]
Branch {
Points [0, 30]
DstBlock "1/Cp"
DstPort 1
}
Branch {
Points [0, -45]
DstBlock "Divide"
DstPort 2
}
Branch {
Points [100, 0; 0, -95]
DstBlock "Bus\nCreator1"
DstPort 4
}
}
Line {
Name "Q"
SrcBlock "U"
SrcPort 1
DstBlock "Product2"
DstPort 2
}
}
}
Block {
BlockType SubSystem
Name "Subsystem"
Ports []
Position [160, 204, 260, 246]
BackgroundColor "orange"
ShowName off
OpenFcn "K=0;TI=1;TD=0;u=1; "
" \nsim('SteamCondenser') \n[Kp,tau,td]="
"ReactionCurve(y.time,y.signals(4).values);\ntd=td-10; "
" \nK=-(0.9/Kp)*(tau/td); "
"\nTI=3.3*td; \nu=0; "
" \nsim('SteamCondenser') "
" "
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
MaskHideContents off
MaskDisplay "disp(sprintf('Reaction Curve\\n PID Tuning'))"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
System {
Name "Subsystem"
Location [433, 403, 931, 703]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
}
}
Block {
BlockType Sum
Name "Sum"
Ports [2, 1]
Position [255, 145, 275, 165]
Orientation "left"
ShowName off
IconShape "round"
Inputs "|+-"
SaturateOnIntegerOverflow off
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [110, 145, 130, 165]
Orientation "left"
ShowName off
IconShape "round"
Inputs "|++"
SaturateOnIntegerOverflow off
}
Block {
BlockType Constant
Name "Tcw"
Position [60, 55, 90, 85]
Value "60"
VectorParams1D off
}
Line {
SrcBlock "Fs"
SrcPort 1
DstBlock "Steam Condenser"
DstPort 1
}
Line {
SrcBlock "Steam Condenser"
SrcPort 1
DstBlock "Bus\nSelector"
DstPort 1
}
Line {
SrcBlock "Tcw"
SrcPort 1
DstBlock "Steam Condenser"
DstPort 2
}
Line {
SrcBlock "Sum"
SrcPort 1
DstBlock "PID Controller"
DstPort 1
}
Line {
SrcBlock "Pressure Setpoint"
SrcPort 1
Points [-55, 0]
DstBlock "Sum"
DstPort 2
}
Line {
Name "<T>"
Labels [0, 0]
SrcBlock "Bus\nSelector"
SrcPort 1
DstBlock "Scope"
DstPort 1
}
Line {
Name "<Fcw>"
Labels [0, 0]
SrcBlock "Bus\nSelector"
SrcPort 2
DstBlock "Scope"
DstPort 2
}
Line {
Name "<Q>"
Labels [0, 0]
SrcBlock "Bus\nSelector"
SrcPort 3
DstBlock "Scope"
DstPort 3
}
Line {
Name "<P>"
Labels [0, 0]
SrcBlock "Bus\nSelector"
SrcPort 4
Points [0, 0; 40, 0]
Branch {
Points [0, 65]
DstBlock "Sum"
DstPort 1
}
Branch {
DstBlock "Scope"
DstPort 4
}
}
Line {
SrcBlock "PID Controller"
SrcPort 1
DstBlock "Sum1"
DstPort 1
}
Line {
SrcBlock "Sum1"
SrcPort 1
Points [-40, 0; 0, -50]
DstBlock "Steam Condenser"
DstPort 3
}
Line {
SrcBlock "Input Step Test"
SrcPort 1
Points [40, 0]
DstBlock "Sum1"
DstPort 2
}
Annotation {
Name "click here to tune the PID controller"
Position [206, 257]
UseDisplayTextAsClickCallback off
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -