📄 airgk.mdl
字号:
Name "Insert Elevator Actuator Model Here ( Tra"
"nsfer Function + Limiter + Rate Limiter)"
TestPoint off
RTWStorageClass "Auto"
}
Port {
PortNumber 2
Name "Insert Aileron Actuator Model Here ( Tran"
"sfer Function + Limiter + Rate Limiter)"
TestPoint off
RTWStorageClass "Auto"
}
Port {
PortNumber 3
Name "Insert Rudder Actuator Model Here ( Trans"
"fer Function + Limiter + Rate Limiter)"
TestPoint off
RTWStorageClass "Auto"
}
Port {
PortNumber 4
Name "Insert Engine Model Here ( Transfer Funct"
"ion + Limiter + Rate Limiter)"
TestPoint off
RTWStorageClass "Auto"
}
}
Block {
BlockType Mux
Name "Mux"
Ports [4, 1, 0, 0, 0]
Position [530, 66, 535, 234]
ShowName off
Inputs "[1 1 1 1]"
DisplayOption "bar"
}
Block {
BlockType Mux
Name "Mux1"
Ports [2, 1, 0, 0, 0]
Position [530, 267, 535, 378]
BackgroundColor "black"
ShowName off
FontName "Arial"
Inputs "[1 5]"
DisplayOption "none"
}
Block {
BlockType Constant
Name "const"
Position [435, 340, 505, 360]
NamePlacement "alternate"
ShowName off
FontName "Arial"
Value "zeros(5,1)"
}
Block {
BlockType Outport
Name "FM"
Position [565, 318, 595, 332]
Port "1"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Outport
Name "Deltas"
Position [565, 143, 595, 157]
Port "2"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Line {
SrcBlock "Mux"
SrcPort 1
DstBlock "Deltas"
DstPort 1
}
Line {
SrcBlock "Mux1"
SrcPort 1
DstBlock "FM"
DstPort 1
}
Line {
SrcBlock "const"
SrcPort 1
DstBlock "Mux1"
DstPort 2
}
Line {
Name "Insert Engine Model Here ( Transfer Functio"
"n + Limiter + Rate Limiter)"
Labels [3, 0]
SrcBlock "Demux2"
SrcPort 4
Points [15, 0; 0, 85; 350, 0]
Branch {
Points [0, -85]
DstBlock "Mux"
DstPort 4
}
Branch {
DstBlock "Mux1"
DstPort 1
}
}
Line {
SrcBlock "Cmds"
SrcPort 1
DstBlock "Demux2"
DstPort 1
}
Line {
Name "Insert Rudder Actuator Model Here ( Transfe"
"r Function + Limiter + Rate Limiter)"
Labels [1, 0]
SrcBlock "Demux2"
SrcPort 3
DstBlock "Mux"
DstPort 3
}
Line {
Name "Insert Aileron Actuator Model Here ( Transf"
"er Function + Limiter + Rate Limiter)"
Labels [1, 0]
SrcBlock "Demux2"
SrcPort 2
DstBlock "Mux"
DstPort 2
}
Line {
Name "Insert Elevator Actuator Model Here ( Trans"
"fer Function + Limiter + Rate Limiter)"
Labels [1, 0]
SrcBlock "Demux2"
SrcPort 1
DstBlock "Mux"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "Clearance"
Ports [1, 1, 0, 0, 0]
Position [160, 177, 200, 203]
ShowPortLabels on
MaskType "Reference Position"
MaskDescription " The input vector contains a position, velocit"
"y\n and two aditional signals. The output position\n is translated respect "
"to the input of the quantities\n [FC, LC, HC] respectively behind, on the ri"
"ght\n and above the velocity vector direction."
MaskHelp " The input vector contains a position, velocit"
"y\n and two aditional signals. The output position\n is translated respect "
"to the input of the quantities\n [FC, LC, HC] respectively behind, on the ri"
"ght\n and above the velocity vector direction."
MaskPromptString "Forward Clearance|Lateral Clearance|Altitude Cl"
"earance"
MaskStyleString "edit,edit,edit"
MaskTunableValueString "on,on,on"
MaskCallbackString "||"
MaskEnableString "on,on,on"
MaskVisibilityString "on,on,on"
MaskVariables "FC=@1;LC=@2;HC=@3;"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "0|0|0"
System {
Name "Clearance"
Location [64, 175, 422, 516]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
AutoZoom on
Block {
BlockType Inport
Name "In"
Position [55, 43, 85, 57]
Port "1"
PortWidth "-1"
SampleTime "-1"
DataType "auto"
SignalType "auto"
Interpolate on
}
Block {
BlockType Mux
Name "Mux2"
Ports [4, 1, 0, 0, 0]
Position [205, 87, 210, 243]
ShowName off
Inputs "[1 1 1 3]"
DisplayOption "bar"
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1, 0, 0, 0]
Position [235, 40, 255, 60]
ShowName off
FontName "Arial"
IconShape "round"
Inputs "|+-"
SaturateOnIntegerOverflow on
}
Block {
BlockType Constant
Name "const"
Position [140, 174, 180, 196]
Value "-HC"
}
Block {
BlockType Fcn
Name "r1"
Position [140, 94, 180, 116]
Expr "(u[5]*LC+u[4]*FC)/sqrt(u[4]^2+u[5]^2)"
}
Block {
BlockType Fcn
Name "r2"
Position [140, 134, 180, 156]
Expr "(-u[4]*LC+u[5]*FC)/sqrt(u[4]^2+u[5]^2)"
}
Block {
BlockType Constant
Name "velocity"
Position [140, 214, 180, 236]
Value "[0 0 0]"
}
Block {
BlockType Outport
Name "Out"
Position [285, 43, 315, 57]
Port "1"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Line {
SrcBlock "Sum1"
SrcPort 1
DstBlock "Out"
DstPort 1
}
Line {
SrcBlock "Mux2"
SrcPort 1
Points [30, 0]
DstBlock "Sum1"
DstPort 2
}
Line {
SrcBlock "In"
SrcPort 1
Points [0, 0; 20, 0]
Branch {
Points [0, 55]
Branch {
Points [0, 40]
DstBlock "r2"
DstPort 1
}
Branch {
DstBlock "r1"
DstPort 1
}
}
Branch {
DstBlock "Sum1"
DstPort 1
}
}
Line {
SrcBlock "r1"
SrcPort 1
DstBlock "Mux2"
DstPort 1
}
Line {
SrcBlock "r2"
SrcPort 1
DstBlock "Mux2"
DstPort 2
}
Line {
SrcBlock "const"
SrcPort 1
DstBlock "Mux2"
DstPort 3
}
Line {
SrcBlock "velocity"
SrcPort 1
DstBlock "Mux2"
DstPort 4
}
}
}
Block {
BlockType SubSystem
Name "Reference"
Ports [0, 1, 0, 0, 0]
Position [55, 177, 120, 203]
ShowPortLabels on
MaskType "Reference Path Generation"
MaskDescription " This block generates a 3D trajectory. The out"
"put is a vector containing \n the position and velocity of a point that sequ"
"entially visits each X,Y,Z \n position at the corrisponding time. The veloci"
"ty is constant between \n one visited point and the next. "
MaskHelp " This block generates a 3D trajectory. The out"
"put is a vector containing \n the position and velocity of a point that sequ"
"entially visits each X,Y,Z \n position at the corrisponding time. The veloci"
"ty is constant between \n one visited point and the next. "
MaskPromptString "X Positions|Y Positions|H Positions|Time|Sample"
" Time"
MaskStyleString "edit,edit,edit,edit,edit"
MaskTunableValueString "on,on,on,on,on"
MaskCallbackString "||||"
MaskEnableString "on,on,on,on,on"
MaskVisibilityString "on,on,on,on,on"
MaskVariables "Px=@1;Py=@2;Ph=@3;Pt=@4;T=@5;"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "[0 2000 2000 0 "
" 0 0]|[0 0 2000 2000 "
" 1000 0]|[60 100 60 500 "
" 60 60]|[0 33.3400 66.6800 100.8105 119.0191 135.6858]|0"
".05"
System {
Name "Reference"
Location [349, 321, 875, 564]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
AutoZoom on
Block {
BlockType Clock
Name "Clock"
Position [25, 55, 45, 75]
DisplayTime off
Decimation "10"
}
Block {
BlockType UnitDelay
Name "Delay"
Position [335, 83, 380, 107]
X0 "[Px(1) Py(1) Ph(1)]"
SampleTime "T"
}
Block {
BlockType SubSystem
Name "Derivative"
Ports [1, 1, 0, 0, 0]
Position [335, 152, 380, 178]
ShowPortLabels on
MaskType "Time Derivative"
MaskDescription " First order approximation of the time der"
"ivative of the input signal,\n the original one is buggy."
MaskPromptString "Initial Condition|Sampling Time"
MaskStyleString "edit,edit"
MaskTunableValueString "on,on"
MaskCallbackString "|"
MaskEnableString "on,on"
MaskVisibilityString "on,on"
MaskVariables "x0=@1;T=@2;"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "[Px(1) Py(1) Ph(1)]'-[Px(2)-Px(1) Py(2)-Py("
"1) Ph(2)-Ph(1)]'/(Pt(2)-Pt(1))*T|T"
System {
Name "Derivative"
Location [231, 185, 596, 307]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
AutoZoom on
Block {
BlockType Inport
Name "x"
Position [310, 48, 340, 62]
Orientation "left"
Port "1"
PortWidth "-1"
SampleTime "-1"
DataType "auto"
SignalType "auto"
Interpolate on
}
Block {
BlockType Product
Name "Product2"
Ports [2, 1, 0, 0, 0]
Position [80, 26, 110, 64]
Orientation "left"
ShowName off
Inputs "/*"
SaturateOnIntegerOverflow on
}
Block {
BlockType Sum
Name "Sum4"
Ports [2, 1, 0, 0, 0]
Position [130, 45, 150, 65]
Orientation "left"
ShowName off
IconShape "round"
Inputs "|+-"
SaturateOnIntegerOverflow on
}
Block {
BlockType UnitDelay
Name "Unit Delay1"
Position [170, 74, 205, 96]
Orientation "left"
ShowName off
X0 "x0"
SampleTime "T"
}
Block {
BlockType ZeroOrderHold
Name "Zero-Order\nHold1"
Position [265, 45, 285, 65]
Orientation "left"
ShowName off
SampleTime "T"
}
Block {
BlockType Constant
Name "m"
Position [235, 27, 285, 43]
Orientation "left"
ShowName off
Value "T"
}
Block {
BlockType Outport
Name "xdot"
Position [25, 38, 55, 52]
Orientation "left"
Port "1"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Line {
SrcBlock "Sum4"
SrcPort 1
DstBlock "Product2"
DstPort 2
}
Line {
SrcBlock "Unit Delay1"
SrcPort 1
Points [-25, 0]
DstBlock "Sum4"
DstPort 2
}
Line {
SrcBlock "Zero-Order\nHold1"
SrcPort 1
Points [0, 0; -40, 0]
Branch {
DstBlock "Sum4"
DstPort 1
}
Branch {
DstBlock "Unit Delay1"
DstPort 1
}
}
Line {
SrcBlock "m"
SrcPort 1
DstBlock "Product2"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -