📄 fuelsys_demo.mdl
字号:
SrcPort 1
Points [55, 0]
Branch {
Points [15, 0]
Branch {
Points [0, 85]
DstBlock "Sum"
DstPort 1
}
Branch {
DstBlock "Product2"
DstPort 2
}
}
Branch {
Points [0, -55]
DstBlock "Product1"
DstPort 2
}
}
Line {
SrcBlock "g(pratio)"
SrcPort 1
DstBlock "threshold\n= 0.5"
DstPort 1
}
Line {
SrcBlock "Sonic Flow "
SrcPort 1
DstBlock "threshold\n= 0.5"
DstPort 3
}
Line {
SrcBlock "threshold\n= 0.5"
SrcPort 1
DstBlock "Product"
DstPort 2
}
Line {
SrcBlock "direction"
SrcPort 1
DstBlock "Product"
DstPort 3
}
Line {
SrcBlock "Sum"
SrcPort 1
DstBlock "direction"
DstPort 1
}
Line {
Name "pratio"
Labels [1, 0]
SrcBlock "MinMax"
SrcPort 1
Points [20, 0]
Branch {
Points [0, 20]
DstBlock "threshold\n= 0.5"
DstPort 2
}
Branch {
DstBlock "g(pratio)"
DstPort 1
}
}
Line {
SrcBlock "Throttle Angle,\ntheta (deg)"
SrcPort 1
DstBlock "f(theta)"
DstPort 1
}
Line {
SrcBlock "Product"
SrcPort 1
DstBlock "Throttle \nFlow, mdot\n (g/s)"
DstPort 1
}
Line {
SrcBlock "f(theta)"
SrcPort 1
DstBlock "Product"
DstPort 1
}
Annotation {
Name "Throttle Flow vs. Valve Angle and P"
"ressure"
Position [291, 372]
UseDisplayTextAsClickCallback off
FontName "Arial"
FontSize 16
FontWeight "bold"
}
}
}
Block {
BlockType Outport
Name "Mass Airflow Rate"
Position [510, 185, 530, 205]
IconDisplay "Port number"
BusOutputAsStruct off
InitialOutput "0"
}
Block {
BlockType Outport
Name "MAP (bar)"
Position [515, 220, 535, 240]
Port "2"
IconDisplay "Port number"
BusOutputAsStruct off
InitialOutput "0"
}
Line {
SrcBlock "Limit to Positive"
SrcPort 1
DstBlock "Throttle"
DstPort 1
}
Line {
SrcBlock "Throttle Ang."
SrcPort 1
DstBlock "Limit to Positive"
DstPort 1
}
Line {
SrcBlock "Throttle"
SrcPort 1
Points [35, 0; 0, 70; -330, 0; 0, 35]
DstBlock "Intake Manifold"
DstPort 1
}
Line {
SrcBlock "Engine Speed, N"
SrcPort 1
DstBlock "Intake Manifold"
DstPort 2
}
Line {
SrcBlock "Intake Manifold"
SrcPort 1
DstBlock "Mass Airflow Rate"
DstPort 1
}
Line {
SrcBlock "Atmospheric\nPressure, Pa\n(bar)"
SrcPort 1
DstBlock "Throttle"
DstPort 3
}
Line {
SrcBlock "Intake Manifold"
SrcPort 2
Points [20, 0]
Branch {
Points [0, 40; -410, 0; 0, -180]
DstBlock "Throttle"
DstPort 2
}
Branch {
DstBlock "MAP (bar)"
DstPort 1
}
}
Annotation {
Name "Air-Fuel Intake Dynamics"
Position [282, 313]
UseDisplayTextAsClickCallback off
FontName "Arial"
FontSize 16
FontWeight "bold"
}
}
}
Block {
BlockType Outport
Name "o2_out"
Position [505, 33, 535, 47]
IconDisplay "Port number"
BusOutputAsStruct off
InitialOutput "0"
}
Block {
BlockType Outport
Name "MAP"
Position [505, 98, 535, 112]
Port "2"
IconDisplay "Port number"
BusOutputAsStruct off
InitialOutput "0"
}
Block {
BlockType Outport
Name "air/fuel ratio"
Position [505, 63, 535, 77]
Port "3"
IconDisplay "Port number"
BusOutputAsStruct off
InitialOutput "0"
}
Line {
SrcBlock "Throttle & Manifold"
SrcPort 1
DstBlock "Mixing & Combustion"
DstPort 2
}
Line {
SrcBlock "fuel"
SrcPort 1
DstBlock "Mixing & Combustion"
DstPort 1
}
Line {
SrcBlock "engine speed"
SrcPort 1
DstBlock "Throttle & Manifold"
DstPort 1
}
Line {
SrcBlock "throttle angle"
SrcPort 1
Points [0, -35]
DstBlock "Throttle & Manifold"
DstPort 2
}
Line {
SrcBlock "Mixing & Combustion"
SrcPort 2
DstBlock "air/fuel ratio"
DstPort 1
}
Line {
SrcBlock "Throttle & Manifold"
SrcPort 2
DstBlock "MAP"
DstPort 1
}
Line {
SrcBlock "Mixing & Combustion"
SrcPort 1
DstBlock "o2_out"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "fuel rate\ncontroller"
Ports [4, 1]
Position [290, 67, 360, 303]
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
MaskHideContents off
System {
Name "fuel rate\ncontroller"
Location [32, 260, 680, 665]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "throttle"
Position [15, 38, 45, 52]
IconDisplay "Port number"
}
Block {
BlockType Inport
Name "engine\nspeed"
Position [15, 128, 45, 142]
Port "2"
IconDisplay "Port number"
}
Block {
BlockType Inport
Name "EGO"
Position [15, 213, 45, 227]
Port "3"
IconDisplay "Port number"
}
Block {
BlockType Inport
Name "MAP"
Position [15, 303, 45, 317]
Port "4"
IconDisplay "Port number"
}
Block {
BlockType SubSystem
Name "Airflow calculation"
Ports [3, 2]
Position [365, 86, 460, 204]
NamePlacement "alternate"
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
MaskHideContents off
System {
Name "Airflow calculation"
Location [67, 340, 676, 878]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "sens_in"
Position [15, 218, 45, 232]
IconDisplay "Port number"
}
Block {
BlockType Inport
Name "Failures"
Position [20, 423, 50, 437]
Port "2"
IconDisplay "Port number"
}
Block {
BlockType Inport
Name "mode"
Position [20, 458, 50, 472]
Port "3"
IconDisplay "Port number"
}
Block {
BlockType Constant
Name "Constant"
Position [240, 280, 270, 300]
Orientation "down"
NamePlacement "alternate"
ShowName off
Value "0.5"
}
Block {
BlockType Constant
Name "Constant2"
Position [407, 395, 423, 415]
Orientation "up"
ShowName off
Value "0"
}
Block {
BlockType DataTypeConversion
Name "Data Type \nConversion"
Position [240, 345, 280, 365]
ShowName off
OutDataTypeMode "double"
}
Block {
BlockType Demux
Name "Demux"
Ports [1, 4]
Position [115, 76, 125, 369]
BackgroundColor "black"
ShowName off
Port {
PortNumber 1
Name "throttle angle"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
Port {
PortNumber 2
Name "engine speed, N"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
Port {
PortNumber 3
Name "manifold pressure, Pm"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
Port {
PortNumber 4
Name "EGO, residual \nexhaust oxygen"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType DiscreteIntegrator
Name "Integrator"
Ports [1, 1]
Position [495, 342, 535, 378]
IntegratorMethod "Integration: Forward Euler"
ExternalReset "none"
InitialConditionSource "internal"
InitialCondition "-0.01"
SampleTime ".01"
IgnoreLimit off
ICPrevOutput "DiscIntNeverNeededParam"
ICPrevScaledInput "DiscIntNeverNeededParam"
Port {
PortNumber 1
Name "e2"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Logic
Name "Logic1"
Ports [2, 1]
Position [315, 407, 345, 498]
ShowName off
Operator "NOR"
Port {
PortNumber 1
Name "enable integration"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Constant
Name "Oxygen Sensor\nSwitching Threshold"
Position [140, 360, 165, 380]
Value "0.5"
}
Block {
BlockType Product
Name "Product"
Ports [3, 1]
Position [410, 123, 430, 287]
ShowName off
Inputs "3"
}
Block {
BlockType Product
Name "Product1"
Ports [2, 1]
Position [370, 321, 410, 354]
ShowName off
Port {
PortNumber 1
Name "e1"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Reference
Name "Pumping Constant"
Ports [2, 1]
Position [230, 167, 300, 238]
SourceBlock "simulink3/Functions\n& Tables/Look-Up\n"
"Table (2-D)"
SourceType "Lookup Table (2-D)"
x "SpeedVect"
y "press"
t "pumpCon"
}
Block {
BlockType Reference
Name "Ramp\nRate (Ki)"
Ports [2, 1]
Position [325, 280, 360, 320]
Orientation "down"
SourceBlock "simulink3/Functions\n& Tables/Look-Up\n"
"Table (2-D)"
SourceType "Lookup Table (2-D)"
x "[100:100:500]"
y "[0:0.2:1]"
t "[1:5]'*[1:6]*Ki"
}
Block {
BlockType RelationalOperator
Name "Relational\nOperator1"
Position [170, 457, 200, 488]
ShowName off
Operator "~="
Port {
PortNumber 1
Name "not normal operation"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType RelationalOperator
Name "Relational\nOperator3"
Position [195, 319, 220, 386]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -