⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 b747.mdl

📁 国外编写的仿真程序
💻 MDL
📖 第 1 页 / 共 5 页
字号:
    }
    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 &#60 0), positive rudder deflection causes negative yawing \nmoment (Cndr &#60 0), and positive aileron deflection causes negative rolling moment (Clda &#60 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 + -