📄 b747.mdl
字号:
}
Block {
BlockType Scope
Name "Beta"
Ports [1]
Position [635, 72, 655, 78]
Floating off
Location [912, 348, 1196, 534]
Open off
NumInputPorts "1"
List {
ListType AxesTitles
axes1 "%<SignalLabel>"
}
TimeRange "100 "
YMin "0"
YMax "250000"
SaveName "ScopeData6"
DataFormat "StructureWithTime"
SampleTime "0"
}
Block {
BlockType SubSystem
Name "DT-B747"
Ports [3, 3]
Position [360, 86, 415, 204]
DropShadow on
AncestorBlock "airlib/DT-B747"
FontName "Arial"
ShowPortLabels "none"
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
FunctionWithSeparateData off
MaskType "Discrete Time General Nonlinear Aircraft Model"
MaskDescription " The first input contains the wind velocity and acceleration.\n The second input contains external forces and moments in body axis.\n The third input contains the deflections of elevators, ailerons, rudder,\n and flaps. For a list of outputs look under the mask.\n NB : The International measurement system (MKS) is adopted."
MaskHelp "<p>\nThis block is a general nonlinear 6DOF aircraft model, with a very accurate built-in atmosphere model and constant aerodynamic derivatives.\nThe architecture of the block is largely based on the Aircraft block provided by the <A \nHREF=\"http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=252&objectType=file\">FDC toolbox</A> (Marc Rauw, 1993-2000).\n</p>\n<p>\nThe geometric and inertal data of the aircraft are entered as parameters in the first row of the mask, sampling time is the last parameter. The other six rows contains the non-dimensional aerodynamic derivatives. The last row is the initial state.\n</p>\n<p>\nThe first input contains the wind velocity and acceleration. \nThe second input contains external forces and moments in the aircraft body axis. \nThe third input contains the deflections of elevators, ailerons, rudder, \nand flaps or stabilators. For a list of outputs look under the mask. \n</p>\n<p>\nThe control surface sign conventions are the same adopted in books such as Stevens-Lewis and Etkin, and in many flight simulators, \nincluding the FDC toolbox. <br> \nSpecifically, positive elevator deflection causes negative pitching moment (Cmde < 0), positive rudder deflection causes negative yawing \nmoment (Cndr < 0), and positive aileron deflection causes negative rolling moment (Clda < 0). Another way to say the same thing is \nthat, the positive elevators deflection is Trailing Edge Down (TED), the positive rudder(s) deflection is Trailing Edge Left (TEL), and, \ntaking as TED the positive ailerons deflection, da=K*(da_right-da_left), with K usually equal to 1 (FDC) or 1/2.\n</p>\n<p>\nSince this block is largely based on the FDC toolbox, i redirect you to the FDC Toolbox manual, for a good explanation of the underlying \ncomponents. Besides the mask and the fact that the aerodynamic derivatives are expressed in the stability axis, the only relevant difference \nwith the FDC toolbox is that in the computation of the aerodynamic forces, q is normalized as q*cbar/2V instead of q*cbar/V. The majority \nof aeronautics books that i've seen use q*cbar/2V.\n</p>\n<p>\nPlease note that the International Measurement System is adopted. So, lengths are in meters, masses in Kg, and inertia moments in Kg*m^2. \nMoreover, forces are in N, moments in N*m, accelerations in g, and angles in radians. For those that use the english system, here are some useful \nconversion factors: <br>\n1 ft = 0.3048 m, 1 lb = 0.4536 Kg, 1 slug = 14.593903 Kg , 1 slug*ft^2 = 1.355818 Kg*m^2 \n<br>\n</p>\n<p>\nFinally, there is an <A HREF=\"http://www.aae.uiuc.edu/m-selig/apasim/Aircraft-uiuc.html\">excellent source</A> of aircraft aerodynamic data \nwhich is mantained by Michael S. Selig, Rob Deters, and Glen Dimock at the university of Urbana-Champaign. To use any of the given models \nyou just need to type the supplied aircraft data in the block mask. \n</p>\n<p>\n<p>\nDecember 2002, Giampiero Campa\n</p>\n</p>"
MaskPromptString "Geometry, Mass, T : [cbar b S Ix Iy Iz Jxy Jxz Jyz m T]|Aerodynamic D-Force Derivatives : [CD0 CDa CDq CDde CDih]|Aerodynamic L-Force Derivatives : [CL0 CLa CLq CLde CLih]|Aerodynamic Y-Moment Derivatives : [Cm0 Cma Cmq Cmde Cmih]|Aerodynamic Y-Force Derivatives : [CY0 CYb CYp CYr CYda CYdr]|Aerodynamic X-moment Derivatives : [Cl0 Clb Clp Clr Clda Cldr]|Aerodynamic Z-moment Derivatives : [Cn0 Cnb Cnp Cnr Cnda Cndr]|Initial Condition x0 [v alpha beta p q r psi theta phi xe ye H]"
MaskStyleString "edit,edit,edit,edit,edit,edit,edit,edit"
MaskTunableValueString "on,on,on,on,on,on,on,on"
MaskCallbackString "|||||||"
MaskEnableString "on,on,on,on,on,on,on,on"
MaskVisibilityString "on,on,on,on,on,on,on,on"
MaskToolTipString "on,on,on,on,on,on,on,on"
MaskVarAliasString ",,,,,,,"
MaskVariables "GM1=@1;CD_wind=@2;CL_wind=@3;Cm_body=@4;CY_body=@5;Cl_body=@6;Cn_body=@7;x0=@8;"
MaskInitialization "AM=zeros(6,19);\nAM(1,[1 2 9 11 12])=reshape(CD_wind,1,5);\nAM(3,[1 2 9 11 12])=reshape(CL_wind,1,5);\nAM(5,[1 2 9 11 12])=reshape(Cm_body,1,5);\nAM(2,[1 5 8 10 13 14])=reshape(CY_body,1,6);\nAM(4,[1 5 8 10 13 14])=reshape(Cl_body,1,6);\nAM(6,[1 5 8 10 13 14])=reshape(Cn_body,1,6);\n\nIx=GM1(4);Iy=GM1(5);Iz=GM1(6);\nJxy=GM1(7);Jxz=GM1(8);Jyz=GM1(9);\n\ndetI = Ix*Iy*Iz - 2*Jxy*Jxz*Jyz - Ix*Jyz^2 - Iy*Jxz^2 - Iz*Jxy^2;\nI1 = Iy*Iz - Jyz^2;I2 = Jxy*Iz + Jyz*Jxz;\nI3 = Jxy*Jyz + Iy*Jxz;I4 = Ix*Iz - Jxz^2;\nI5 = Ix*Jyz + Jxy*Jxz;I6 = Ix*Iy - Jxy^2;\n\nPl = I1/detI; Pm = I2/detI; Pn = I3/detI;\nPpp = -(Jxz*I2 - Jxy*I3)/detI;Ppq = (Jxz*I1 - Jyz*I2 - (Iy-Ix)*I3)/detI;\nPpr = -(Jxy*I1 + (Ix-Iz)*I2 - Jyz*I3)/detI;Pqq = (Jyz*I1 - Jxy*I3)/detI;\nPqr = -((Iz-Iy)*I1 - Jxy*I2 + Jxz*I3)/detI;Prr = -(Jyz*I1 - Jxz*I2)/detI;\n\nQl = I2/detI; Qm = I4/detI; Qn = I5/detI;\nQpp = -(Jxz*I4 - Jxy*I5)/detI;Qpq = (Jxz*I2 - Jyz*I4 - (Iy-Ix)*I5)/detI;\nQpr = -(Jxy*I2 + (Ix-Iz)*I4 - Jyz*I5)/detI;Qqq = (Jyz*I2 - Jxy*I5)/detI;\nQqr = -((Iz-Iy)*I2 - Jxy*I4 + Jxz*I5)/detI;Qrr = -(Jyz*I2 - Jxz*I4)/detI;\n\nRl = I3/detI; Rm = I5/detI; Rn = I6/detI;\nRpp = -(Jxz*I5 - Jxy*I6)/detI;\nRpq = (Jxz*I3 - Jyz*I5 - (Iy-Ix)*I6)/detI;\nRpr = -(Jxy*I3 + (Ix-Iz)*I5 - Jyz*I6)/detI;\nRqq = (Jyz*I3 - Jxy*I6)/detI;\nRqr = -((Iz-Iy)*I3 - Jxy*I5 + Jxz*I6)/detI;\nRrr = -(Jyz*I3 - Jxz*I5)/detI;\n\nGM2 = [ Pl Pm Pn Ppp Ppq Ppr Pqq Pqr Prr ;\n Ql Qm Qn Qpp Qpq Qpr Qqq Qqr Qrr ;\n Rl Rm Rn Rpp Rpq Rpr Rqq Rqr Rrr ];\n\nxfix=1;\nT=GM1(11);\n\n"
MaskDisplay "disp('Discrete\\nTime\\nGeneral\\nAircraft\\nModel')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "[8.32 59.74 510.95 24675560 44876980 67383260 0 1315126 0 288772 0.05]|[0.0164 0.2 0 0 0]|[0.21 4.4 6.6 0.32 0.7]|[0 -1 -20.5 -1.3 -2.7]|[0 -0.9 0 0 -0 0.12]|[0 -0.16 -0.34 0.13 -0.013 0.008]|[0 0.16 -0.026 -0.28 -0.0018 -0.1]|[150.148 0.0464959 0 0 0 0 0 0.0464959 0 0 0 61]"
MaskTabNameString ",,,,,,,"
Port {
PortNumber 1
Name "x"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
Port {
PortNumber 2
Name "xdt"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
Port {
PortNumber 3
Name "var"
PropagatedSignals ", , , , , , , , , , , "
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
System {
Name "DT-B747"
Location [408, 142, 1059, 766]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000]
TiledPageScale 1
ShowPageBoundaries off
ZoomFactor "100"
Block {
BlockType Inport
Name " uwind"
Position [15, 335, 35, 355]
DropShadow on
FontName "Arial"
IconDisplay "Port number"
}
Block {
BlockType Inport
Name "ext fm"
Position [15, 155, 35, 175]
DropShadow on
FontName "Arial"
Port "2"
IconDisplay "Port number"
}
Block {
BlockType Inport
Name "deflect"
Position [15, 105, 35, 125]
DropShadow on
FontName "Arial"
Port "3"
IconDisplay "Port number"
}
Block {
BlockType Gain
Name " *1"
Position [492, 360, 498, 365]
Orientation "down"
ForegroundColor "magenta"
ShowName off
FontName "Arial"
}
Block {
BlockType Gain
Name "*1"
Position [482, 360, 488, 365]
Orientation "down"
ForegroundColor "magenta"
ShowName off
FontName "Arial"
}
Block {
BlockType Terminator
Name "Caero"
Position [520, 105, 540, 125]
}
Block {
BlockType Terminator
Name "FM ext"
Position [595, 155, 615, 175]
}
Block {
BlockType Terminator
Name "FMaero"
Position [480, 120, 500, 140]
}
Block {
BlockType Terminator
Name "Fgrav"
Position [595, 200, 615, 220]
}
Block {
BlockType From
Name "From3"
Position [515, 517, 555, 533]
CloseFcn "tagdialog Close"
GotoTag "uvwd"
}
Block {
BlockType From
Name "From4"
Position [515, 547, 555, 563]
CloseFcn "tagdialog Close"
GotoTag "ydl"
}
Block {
BlockType From
Name "From5"
Position [515, 577, 555, 593]
CloseFcn "tagdialog Close"
GotoTag "acc"
}
Block {
BlockType Terminator
Name "Fwind"
Position [595, 245, 615, 265]
}
Block {
BlockType Goto
Name "Goto3"
Position [510, 447, 545, 463]
NamePlacement "alternate"
GotoTag "uvwd"
TagVisibility "local"
}
Block {
BlockType Goto
Name "Goto4"
Position [580, 92, 615, 108]
NamePlacement "alternate"
GotoTag "ydl"
TagVisibility "local"
}
Block {
BlockType Goto
Name "Goto5"
Position [510, 472, 545, 488]
GotoTag "acc"
TagVisibility "local"
}
Block {
BlockType Mux
Name "Mux"
Ports [3, 1]
Position [570, 510, 575, 600]
ShowName off
Inputs "[3 3 6]"
DisplayOption "bar"
}
Block {
BlockType SubSystem
Name "ad"
Ports [1, 4]
Position [75, 17, 130, 78]
ShowName off
FontName "Arial"
ShowPortLabels "none"
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
FunctionWithSeparateData off
System {
Name "ad"
Location [4, 74, 409, 312]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000]
TiledPageScale 1
ShowPageBoundaries off
ZoomFactor "100"
Block {
BlockType Inport
Name "x"
Position [15, 55, 35, 75]
DropShadow on
FontName "Arial"
IconDisplay "Port number"
}
Block {
BlockType SubSystem
Name "ad1"
Ports [2, 1]
Position [180, 94, 240, 121]
ShowName off
FontName "Arial"
ShowPortLabels "none"
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
FunctionWithSeparateData off
MaskType "Airdata1"
MaskDescription "Basic airdata variables"
MaskDisplay "disp('Airdata1')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
System {
Name "ad1"
Location [4, 74, 414, 311]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000]
TiledPageScale 1
ShowPageBoundaries off
ZoomFactor "100"
Block {
BlockType Inport
Name "x"
Position [15, 150, 35, 170]
DropShadow on
FontName "Arial"
IconDisplay "Port number"
}
Block {
BlockType Inport
Name "yatm"
Position [15, 65, 35, 85]
DropShadow on
FontName "Arial"
Port "2"
IconDisplay "Port number"
}
Block {
BlockType Fcn
Name "M"
Position [165, 146, 285, 164]
FontName "Arial"
Expr "u[2]/u[1]"
}
Block {
BlockType Mux
Name "Mux"
Ports [2, 1]
Position [110, 136, 115, 169]
BackgroundColor "black"
ShowName off
FontName "Arial"
Inputs "[1 12]"
}
Block {
BlockType Mux
Name "Mux1"
Ports [2, 1]
Position [110, 180, 115, 215]
BackgroundColor "black"
ShowName off
FontName "Arial"
Inputs "[12 5]"
}
Block {
BlockType Mux
Name "Mux2"
Ports [3, 1]
Position [335, 85, 340, 225]
BackgroundColor "black"
ShowName off
FontName "Arial"
Inputs "3"
}
Block {
BlockType Fcn
Name "a"
Position [165, 65, 285, 85]
FontName "Arial"
Expr "sqrt(401.8743*u[3])"
}
Block {
BlockType Fcn
Name "qdyn"
Position [165, 190, 285, 210]
FontName "Arial"
Expr "0.5*u[13]*u[1]^2"
}
Block {
BlockType Outport
Name "yad1"
Position [370, 145, 390, 165]
DropShadow on
FontName "Arial"
IconDisplay "Port number"
}
Line {
SrcBlock "yatm"
SrcPort 1
Points [20, 0]
Branch {
Points [0, 130]
DstBlock "Mux1"
DstPort 2
}
Branch {
DstBlock "a"
DstPort 1
}
}
Line {
SrcBlock "x"
SrcPort 1
Points [50, 0]
Branch {
Points [0, 30]
DstBlock "Mux1"
DstPort 1
}
Branch {
DstBlock "Mux"
DstPort 2
}
}
Line {
SrcBlock "Mux"
SrcPort 1
DstBlock "M"
DstPort 1
}
Line {
SrcBlock "Mux1"
SrcPort 1
DstBlock "qdyn"
DstPort 1
}
Line {
SrcBlock "M"
SrcPort 1
DstBlock "Mux2"
DstPort 2
}
Line {
SrcBlock "a"
SrcPort 1
Points [20, 0; 0, 35]
Branch {
DstBlock "Mux2"
DstPort 1
}
Branch {
Points [-220, 0; 0, 35]
DstBlock "Mux"
DstPort 1
}
}
Line {
SrcBlock "qdyn"
SrcPort 1
DstBlock "Mux2"
DstPort 3
}
Line {
SrcBlock "Mux2"
SrcPort 1
DstBlock "yad1"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "ad2"
Ports [2, 1]
Position [280, 139, 340, 166]
ShowName off
FontName "Arial"
ShowPortLabels "none"
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
FunctionWithSeparateData off
MaskType "Airdata2"
MaskDescription "More airdata variables"
MaskDisplay "disp('Airdata2')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
System {
Name "ad2"
Location [4, 74, 496, 304]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000]
TiledPageScale 1
ShowPageBoundaries off
ZoomFactor "100"
Block {
BlockType Inport
Name "yatm"
Position [30, 60, 50, 80]
DropShadow on
FontName "Arial"
IconDisplay "Port number"
}
Block {
BlockType Inport
Name "yad1"
Position [30, 110, 50, 130]
DropShadow on
FontName "Arial"
Port "2"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -