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

📄 helicopt.mdl

📁 《嵌入式控制系统及其CC++实现-面向使用Matlab的软件开发者》源码
💻 MDL
📖 第 1 页 / 共 5 页
字号:
	    TestPoint		    off
	    LinearAnalysisOutput    off
	    LinearAnalysisInput	    off
	    RTWStorageClass	    "Auto"
	    DataLogging		    off
	    DataLoggingNameMode	    "SignalName"
	    DataLoggingDecimateData off
	    DataLoggingDecimation   "2"
	    DataLoggingLimitDataPoints off
	    DataLoggingMaxPoints    "5000"
	  }
	  Port {
	    PortNumber		    4
	    Name		    "<Body Rate>"
	    TestPoint		    off
	    LinearAnalysisOutput    off
	    LinearAnalysisInput	    off
	    RTWStorageClass	    "Auto"
	    DataLogging		    off
	    DataLoggingNameMode	    "SignalName"
	    DataLoggingDecimateData off
	    DataLoggingDecimation   "2"
	    DataLoggingLimitDataPoints off
	    DataLoggingMaxPoints    "5000"
	  }
	  Port {
	    PortNumber		    5
	    Name		    "<Earth-to-Body>"
	    TestPoint		    off
	    LinearAnalysisOutput    off
	    LinearAnalysisInput	    off
	    RTWStorageClass	    "Auto"
	    DataLogging		    off
	    DataLoggingNameMode	    "SignalName"
	    DataLoggingDecimateData off
	    DataLoggingDecimation   "2"
	    DataLoggingLimitDataPoints off
	    DataLoggingMaxPoints    "5000"
	  }
	}
	Block {
	  BlockType		  SubSystem
	  Name			  "Controller Model"
	  Ports			  [5, 4]
	  Position		  [330, 60, 435, 340]
	  BackgroundColor	  "yellow"
	  TreatAsAtomicUnit	  off
	  System {
	    Name		    "Controller Model"
	    Location		    [319, 123, 989, 497]
	    Open		    off
	    ModelBrowserVisibility  off
	    ModelBrowserWidth	    200
	    ScreenColor		    "white"
	    PaperOrientation	    "landscape"
	    PaperPositionMode	    "auto"
	    PaperType		    "usletter"
	    PaperUnits		    "inches"
	    ZoomFactor		    "100"
	    Block {
	      BlockType		      Inport
	      Name		      "Pos"
	      Position		      [50, 183, 80, 197]
	      BackgroundColor	      "lightBlue"
	    }
	    Block {
	      BlockType		      Inport
	      Name		      "Vel"
	      Position		      [135, 178, 165, 192]
	      BackgroundColor	      "lightBlue"
	      Port		      "2"
	    }
	    Block {
	      BlockType		      Inport
	      Name		      "Euler RPY"
	      Position		      [480, 83, 510, 97]
	      BackgroundColor	      "lightBlue"
	      Port		      "3"
	    }
	    Block {
	      BlockType		      Inport
	      Name		      "Body Rate"
	      Position		      [480, 38, 510, 52]
	      BackgroundColor	      "lightBlue"
	      Port		      "4"
	    }
	    Block {
	      BlockType		      Inport
	      Name		      "Earth-to-Body"
	      Position		      [135, 148, 165, 162]
	      BackgroundColor	      "lightBlue"
	      Port		      "5"
	    }
	    Block {
	      BlockType		      SubSystem
	      Name		      "Altitude Control"
	      Ports		      [2, 1]
	      Position		      [190, 316, 285, 374]
	      BackgroundColor	      "yellow"
	      TreatAsAtomicUnit	      off
	      System {
		Name			"Altitude Control"
		Location		[209, 74, 964, 685]
		Open			off
		ModelBrowserVisibility	off
		ModelBrowserWidth	200
		ScreenColor		"white"
		PaperOrientation	"landscape"
		PaperPositionMode	"auto"
		PaperType		"usletter"
		PaperUnits		"inches"
		ZoomFactor		"100"
		Block {
		  BlockType		  Inport
		  Name			  "Pos"
		  Position		  [80, 218, 110, 232]
		  BackgroundColor	  "yellow"
		}
		Block {
		  BlockType		  Inport
		  Name			  "Pos Cmd"
		  Position		  [80, 82, 110, 98]
		  BackgroundColor	  "yellow"
		  Port			  "2"
		}
		Block {
		  BlockType		  Saturate
		  Name			  "Alt Limit"
		  Position		  [385, 180, 415, 210]
		  BackgroundColor	  "yellow"
		  UpperLimit		  "alt_err_limit"
		  LowerLimit		  "-alt_err_limit"
		}
		Block {
		  BlockType		  SubSystem
		  Name			  "Altitude Controller"
		  Ports			  [2, 1]
		  Position		  [285, 59, 325, 326]
		  BackgroundColor	  "yellow"
		  TreatAsAtomicUnit	  off
		  System {
		    Name		    "Altitude Controller"
		    Location		    [279, 74, 846, 463]
		    Open		    off
		    ModelBrowserVisibility  off
		    ModelBrowserWidth	    200
		    ScreenColor		    "white"
		    PaperOrientation	    "landscape"
		    PaperPositionMode	    "auto"
		    PaperType		    "usletter"
		    PaperUnits		    "inches"
		    ZoomFactor		    "100"
		    Block {
		    BlockType		    Inport
		    Name		    "r"
		    Position		    [25, 23, 55, 37]
		    BackgroundColor	    "yellow"
		    }
		    Block {
		    BlockType		    Inport
		    Name		    "y"
		    Position		    [25, 83, 55, 97]
		    BackgroundColor	    "yellow"
		    Port		    "2"
		    }
		    Block {
		    BlockType		    Gain
		    Name		    "Gain"
		    Position		    [110, 13, 160, 47]
		    BackgroundColor	    "yellow"
		    Gain		    "N_v"
		    }
		    Block {
		    BlockType		    Mux
		    Name		    "Mux"
		    Ports		    [2, 1]
		    Position		    [80, 81, 85, 119]
		    BackgroundColor	    "yellow"
		    ShowName		    off
		    Inputs		    "2"
		    DisplayOption	    "bar"
		    }
		    Block {
		    BlockType		    SubSystem
		    Name		    "Observer-\nController"
		    Ports		    [1, 1]
		    Position		    [110, 78, 170, 122]
		    BackgroundColor	    "yellow"
		    TreatAsAtomicUnit	    off
		    MaskType		    "DiscretizedStateSpace"
		    MaskDescription	    "Continuous mask uses c2d to trans"
"form parameters onto the Discrete State-Space block inside."
		    MaskPromptString	    "A (enter in s-domain:)|B (enter i"
"n s-domain:)|C (enter in s-domain:)|D (enter in s-domain:)|Initial conditions"
" (enter in s-domain:)|Absolute tolerance|Sample time:|Method:|Critical Freque"
"ncy (Hz):"
		    MaskStyleString	    "edit,edit,edit,edit,edit,edit,edi"
"t,popup(zoh|foh|tustin|prewarp|matched),edit"
		    MaskTunableValueString  "on,on,on,on,on,on,on,on,on"
		    MaskCallbackString	    "|||||||hidecrit|"
		    MaskEnableString	    "on,on,on,on,on,on,on,on,on"
		    MaskVisibilityString    "on,on,on,on,on,on,on,on,off"
		    MaskToolTipString	    "on,on,on,on,on,on,on,on,on"
		    MaskVarAliasString	    ",,,,,,,,"
		    MaskVariables	    "A=@1;B=@2;C=@3;D=@4;ic=@5;AbsTol="
"&6;SampleTime=@7;method=&8;Wc=@9;"
		    MaskInitialization	    "st=SampleTime;\nif length(st)>1\n"
"    st=SampleTime(1);\nend\nif(st>0)\n    [Ad, Bd, Cd, Dd, icd] = sldiscutil("
"'discstatespace', {st,method,Wc,A,B,C,D,ic});\nend\nsldiscutil('initssmask', "
"st);\nif(st==0)\nset_param([gcb '/State Space'], 'AbsoluteTolerance', AbsTol)"
";\nend"
		    MaskDisplay		    "text( 0.5, 0.65, 'x'' = Ax+Bu', '"
"horizontalAlignment', 'center');\ntext( 0.5, 0.4, 'y = Cx+Du', 'horizontalAli"
"gnment', 'center');\ntext( 0.5, 1.0, method, 'verticalAlignment', 'top')"
		    MaskSelfModifiable	    on
		    MaskIconFrame	    on
		    MaskIconOpaque	    on
		    MaskIconRotate	    "port"
		    MaskIconUnits	    "normalized"
		    MaskValueString	    "ssobsctrl_v.a|ssobsctrl_v.b|ssobs"
"ctrl_v.c|ssobsctrl_v.d|0|auto|dt|zoh|1"
		    System {
		    Name		    "Observer-\nController"
		    Location		    [81, 369, 373, 516]
		    Open		    off
		    ModelBrowserVisibility  off
		    ModelBrowserWidth	    200
		    ScreenColor		    "white"
		    PaperOrientation	    "landscape"
		    PaperPositionMode	    "auto"
		    PaperType		    "usletter"
		    PaperUnits		    "inches"
		    ZoomFactor		    "100"
		    Block {
		    BlockType		    Inport
		    Name		    "In1"
		    Position		    [25, 68, 55, 82]
		    }
		    Block {
		    BlockType		    DiscreteStateSpace
		    Name		    "Discrete State-Space"
		    Position		    [85, 52, 200, 98]
		    A			    "Ad"
		    B			    "Bd"
		    C			    "Cd"
		    D			    "Dd"
		    X0			    "icd"
		    SampleTime		    "SampleTime"
		    }
		    Block {
		    BlockType		    Outport
		    Name		    "Out1"
		    Position		    [240, 68, 270, 82]
		    }
		    Line {
		    SrcBlock		    "In1"
		    SrcPort		    1
		    DstBlock		    "Discrete State-Space"
		    DstPort		    1
		    }
		    Line {
		    SrcBlock		    "Discrete State-Space"
		    SrcPort		    1
		    DstBlock		    "Out1"
		    DstPort		    1
		    }
		    }
		    }
		    Block {
		    BlockType		    Sum
		    Name		    "Sum"
		    Ports		    [2, 1]
		    Position		    [185, 90, 205, 110]
		    BackgroundColor	    "yellow"
		    ShowName		    off
		    IconShape		    "round"
		    Inputs		    "++|"
		    InputSameDT		    off
		    OutDataTypeMode	    "Inherit via internal rule"
		    }
		    Block {
		    BlockType		    Outport
		    Name		    "u"
		    Position		    [230, 93, 260, 107]
		    BackgroundColor	    "yellow"
		    }
		    Line {
		    SrcBlock		    "y"
		    SrcPort		    1
		    DstBlock		    "Mux"
		    DstPort		    1
		    }
		    Line {
		    SrcBlock		    "r"
		    SrcPort		    1
		    DstBlock		    "Gain"
		    DstPort		    1
		    }
		    Line {
		    SrcBlock		    "Gain"
		    SrcPort		    1
		    Points		    [30, 0]
		    DstBlock		    "Sum"
		    DstPort		    1
		    }
		    Line {
		    SrcBlock		    "Observer-\nController"
		    SrcPort		    1
		    DstBlock		    "Sum"
		    DstPort		    2
		    }
		    Line {
		    SrcBlock		    "Sum"
		    SrcPort		    1
		    Points		    [0, 0]
		    Branch {
		    Points		    [0, 75; -145, 0]
		    DstBlock		    "Mux"
		    DstPort		    2
		    }
		    Branch {
		    Points		    [0, 0]
		    DstBlock		    "u"
		    DstPort		    1
		    }
		    }
		    Line {
		    SrcBlock		    "Mux"
		    SrcPort		    1
		    DstBlock		    "Observer-\nController"
		    DstPort		    1
		    }
		  }
		}
		Block {
		  BlockType		  Demux
		  Name			  "Demux1"
		  Ports			  [1, 3]
		  Position		  [145, 35, 150, 145]
		  BackgroundColor	  "yellow"
		  ShowName		  off
		  Outputs		  "3"
		}
		Block {
		  BlockType		  Demux
		  Name			  "Demux2"
		  Ports			  [1, 3]
		  Position		  [145, 170, 150, 280]
		  BackgroundColor	  "yellow"
		  ShowName		  off
		  Outputs		  "3"
		}
		Block {
		  BlockType		  Terminator
		  Name			  "Terminator2"
		  Position		  [195, 80, 215, 100]
		  BackgroundColor	  "yellow"
		  ShowName		  off
		}
		Block {
		  BlockType		  Terminator
		  Name			  "Terminator3"
		  Position		  [195, 45, 215, 65]
		  BackgroundColor	  "yellow"
		  ShowName		  off
		}
		Block {
		  BlockType		  Terminator
		  Name			  "Terminator5"
		  Position		  [195, 180, 215, 200]
		  BackgroundColor	  "yellow"
		  ShowName		  off
		}
		Block {
		  BlockType		  Terminator
		  Name			  "Terminator6"
		  Position		  [195, 215, 215, 235]
		  BackgroundColor	  "yellow"
		  ShowName		  off
		}
		Block {
		  BlockType		  Outport
		  Name			  "Collective"
		  Position		  [465, 188, 495, 202]
		  BackgroundColor	  "yellow"
		}
		Line {
		  SrcBlock		  "Alt Limit"
		  SrcPort		  1
		  DstBlock		  "Collective"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "Pos Cmd"
		  SrcPort		  1
		  DstBlock		  "Demux1"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "Pos"
		  SrcPort		  1
		  DstBlock		  "Demux2"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "Altitude Controller"
		  SrcPort		  1
		  DstBlock		  "Alt Limit"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "Demux2"
		  SrcPort		  2
		  DstBlock		  "Terminator6"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "Demux2"
		  SrcPort		  1
		  DstBlock		  "Terminator5"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "Demux2"
		  SrcPort		  3
		  DstBlock		  "Altitude Controller"
		  DstPort		  2
		}
		Line {
		  SrcBlock		  "Demux1"
		  SrcPort		  3
		  DstBlock		  "Altitude Controller"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "Demux1"
		  SrcPort		  1
		  DstBlock		  "Terminator3"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "Demux1"
		  SrcPort		  2
		  DstBlock		  "Terminator2"
		  DstPort		  1
		}
	      }
	    }
	    Block {
	      BlockType		      SubSystem
	      Name		      "Euler Control"
	      Ports		      [6, 3]
	      Position		      [545, 27, 655, 288]
	      BackgroundColor	      "yellow"
	      TreatAsAtomicUnit	      off
	      System {
		Name			"Euler Control"
		Location		[209, 74, 964, 685]
		Open			off
		ModelBrowserVisibility	off
		ModelBrowserWidth	200
		ScreenColor		"white"
		PaperOrientation	"landscape"
		PaperPositionMode	"auto"
		PaperType		"usletter"
		PaperUnits		"inches"
		ZoomFactor		"100"
		Block {
		  BlockType		  Inport
		  Name			  "Body Rate"
		  Position		  [30, 78, 60, 92]
		  BackgroundColor	  "yellow"
		}
		Block {
		  BlockType		  Inport

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -