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

📄 helicopt.mdl

📁 《嵌入式控制系统及其CC++实现-面向使用Matlab的软件开发者》源码
💻 MDL
📖 第 1 页 / 共 5 页
字号:
		    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		  SubSystem
		  Name			  "Roll Smoothing"
		  Ports			  [1, 1]
		  Position		  [205, 170, 260, 220]
		  BackgroundColor	  "yellow"
		  TreatAsAtomicUnit	  off
		  MaskType		  "DiscretizedTransferFcn"
		  MaskDescription	  "Continuous mask uses c2d to transfo"
"rm parameters onto the Discrete Transfer function block inside."
		  MaskPromptString	  "Numerator (enter in s-domain:)|Deno"
"minator (enter in s-domain:)|Absolute tolerance:|Sample time:|Method:|Critica"
"l Frequency (Hz):"
		  MaskStyleString	  "edit,edit,edit,edit,popup(zoh|foh|t"
"ustin|prewarp|matched),edit"
		  MaskTunableValueString  "on,on,on,on,on,on"
		  MaskCallbackString	  "||||hidecrit|"
		  MaskEnableString	  "on,on,on,on,on,on"
		  MaskVisibilityString	  "on,on,on,on,on,off"
		  MaskToolTipString	  "on,on,on,on,on,on"
		  MaskVarAliasString	  ",,,,,"
		  MaskVariables		  "Numerator=@1;Denominator=@2;AbsTol="
"&3;SampleTime=@4;method=&5;Wc=@6;"
		  MaskInitialization	  "st=SampleTime;\nif length(st)>1\n  "
"  st=SampleTime(1);\nend\nif(st>0)\n    [numd,dend] = sldiscutil('disctransfe"
"rfcn',{st,method,Wc,Numerator,Denominator});\nend	\ns = get_param(gcb,"
"'maskvalues');\nnums = s{1};\ndens = s{2};\n%numc = eval(nums);\n%denc = eval"
"(dens);\nsldiscutil('inittfmask', st);\nif(st==0)\nset_param([gcb '/Transfer "
"Fcn'], 'AbsoluteTolerance', AbsTol);\nend"
		  MaskDisplay		  "dpoly(nums,dens)\ntext( 0.5, 1.0, m"
"ethod, 'verticalAlignment','top')"
		  MaskSelfModifiable	  on
		  MaskIconFrame		  on
		  MaskIconOpaque	  on
		  MaskIconRotate	  "port"
		  MaskIconUnits		  "normalized"
		  MaskValueString	  "[1]|[tau 1]|auto|dt|foh|1"
		  System {
		    Name		    "Roll Smoothing"
		    Location		    [129, 251, 421, 508]
		    Open		    off
		    ModelBrowserVisibility  off
		    ModelBrowserWidth	    200
		    ScreenColor		    "white"
		    PaperOrientation	    "landscape"
		    PaperPositionMode	    "auto"
		    PaperType		    "usletter"
		    PaperUnits		    "inches"
		    ZoomFactor		    "100"
		    Block {
		    BlockType		    Inport
		    Name		    "In1"
		    Position		    [60, 103, 90, 117]
		    }
		    Block {
		    BlockType		    DiscreteTransferFcn
		    Name		    "Discrete\nTransfer Fcn"
		    Position		    [115, 92, 175, 128]
		    Numerator		    "numd"
		    Denominator		    "dend"
		    SampleTime		    "SampleTime"
		    }
		    Block {
		    BlockType		    Outport
		    Name		    "Out1"
		    Position		    [200, 103, 230, 117]
		    }
		    Line {
		    SrcBlock		    "Discrete\nTransfer Fcn"
		    SrcPort		    1
		    DstBlock		    "Out1"
		    DstPort		    1
		    }
		    Line {
		    SrcBlock		    "In1"
		    SrcPort		    1
		    DstBlock		    "Discrete\nTransfer Fcn"
		    DstPort		    1
		    }
		  }
		}
		Block {
		  BlockType		  Gain
		  Name			  "Roll Torque Compensation"
		  Position		  [485, 33, 530, 67]
		  BackgroundColor	  "yellow"
		  Gain			  "Cp"
		}
		Block {
		  BlockType		  Sum
		  Name			  "Sum"
		  Ports			  [2, 1]
		  Position		  [450, 190, 470, 210]
		  BackgroundColor	  "yellow"
		  ShowName		  off
		  IconShape		  "round"
		  Inputs		  "|++"
		  InputSameDT		  off
		  OutDataTypeMode	  "Inherit via internal rule"
		}
		Block {
		  BlockType		  Sum
		  Name			  "Sum4"
		  Ports			  [2, 1]
		  Position		  [450, 280, 470, 300]
		  BackgroundColor	  "yellow"
		  ShowName		  off
		  IconShape		  "round"
		  Inputs		  "|++"
		  InputSameDT		  off
		  OutDataTypeMode	  "Inherit via internal rule"
		}
		Block {
		  BlockType		  Switch
		  Name			  "Switch"
		  Position		  [325, 260, 355, 290]
		  BackgroundColor	  "yellow"
		  ShowName		  off
		  Criteria		  "u2 > Threshold"
		  InputSameDT		  off
		}
		Block {
		  BlockType		  Switch
		  Name			  "Switch1"
		  Position		  [325, 170, 355, 200]
		  BackgroundColor	  "yellow"
		  ShowName		  off
		  Criteria		  "u2 > Threshold"
		  InputSameDT		  off
		}
		Block {
		  BlockType		  Terminator
		  Name			  "Terminator7"
		  Position		  [120, 110, 140, 130]
		  BackgroundColor	  "yellow"
		  ShowName		  off
		}
		Block {
		  BlockType		  SubSystem
		  Name			  "Yaw Controller"
		  Ports			  [2, 1]
		  Position		  [375, 377, 420, 428]
		  BackgroundColor	  "yellow"
		  TreatAsAtomicUnit	  off
		  System {
		    Name		    "Yaw Controller"
		    Location		    [241, 131, 938, 700]
		    Open		    off
		    ModelBrowserVisibility  off
		    ModelBrowserWidth	    200
		    ScreenColor		    "white"
		    PaperOrientation	    "landscape"
		    PaperPositionMode	    "auto"
		    PaperType		    "usletter"
		    PaperUnits		    "inches"
		    ZoomFactor		    "100"
		    Block {
		    BlockType		    Inport
		    Name		    "r"
		    Position		    [30, 123, 60, 137]
		    BackgroundColor	    "yellow"
		    }
		    Block {
		    BlockType		    Inport
		    Name		    "y"
		    Position		    [30, 278, 60, 292]
		    BackgroundColor	    "yellow"
		    Port		    "2"
		    }
		    Block {
		    BlockType		    Constant
		    Name		    "Constant"
		    Position		    [190, 209, 220, 231]
		    BackgroundColor	    "yellow"
		    ShowName		    off
		    Value		    "180"
		    }
		    Block {
		    BlockType		    Constant
		    Name		    "Constant1"
		    Position		    [250, 149, 280, 171]
		    BackgroundColor	    "yellow"
		    ShowName		    off
		    Value		    "-360"
		    }
		    Block {
		    BlockType		    Constant
		    Name		    "Constant2"
		    Position		    [190, 84, 220, 106]
		    BackgroundColor	    "yellow"
		    ShowName		    off
		    Value		    "-180"
		    }
		    Block {
		    BlockType		    Constant
		    Name		    "Constant3"
		    Position		    [250, 24, 280, 46]
		    BackgroundColor	    "yellow"
		    ShowName		    off
		    Value		    "360"
		    }
		    Block {
		    BlockType		    Constant
		    Name		    "Constant4"
		    Position		    [220, 384, 250, 406]
		    BackgroundColor	    "yellow"
		    ShowName		    off
		    Value		    "180"
		    }
		    Block {
		    BlockType		    Constant
		    Name		    "Constant5"
		    Position		    [220, 464, 250, 486]
		    BackgroundColor	    "yellow"
		    ShowName		    off
		    Value		    "-180"
		    }
		    Block {
		    BlockType		    DataTypeConversion
		    Name		    "Data Type Conversion"
		    Position		    [360, 446, 415, 474]
		    BackgroundColor	    "yellow"
		    ShowName		    off
		    }
		    Block {
		    BlockType		    DataTypeConversion
		    Name		    "Data Type Conversion1"
		    Position		    [360, 366, 415, 394]
		    BackgroundColor	    "yellow"
		    ShowName		    off
		    }
		    Block {
		    BlockType		    DiscreteIntegrator
		    Name		    "Discrete-Time\nIntegrator"
		    Ports		    [1, 1]
		    Position		    [480, 400, 515, 440]
		    BackgroundColor	    "yellow"
		    ShowName		    off
		    IntegratorMethod	    "Forward Euler"
		    ExternalReset	    "none"
		    InitialConditionSource  "internal"
		    SampleTime		    "dt"
		    }
		    Block {
		    BlockType		    Gain
		    Name		    "Gain"
		    Position		    [555, 113, 605, 147]
		    BackgroundColor	    "yellow"
		    ShowName		    off
		    Gain		    "N_y"
		    }
		    Block {
		    BlockType		    Gain
		    Name		    "Gain1"
		    Position		    [535, 397, 595, 443]
		    BackgroundColor	    "yellow"
		    ShowName		    off
		    Gain		    "360/dt"
		    }
		    Block {
		    BlockType		    Ground
		    Name		    "Ground"
		    Position		    [255, 220, 275, 240]
		    BackgroundColor	    "yellow"
		    ShowName		    off
		    }
		    Block {
		    BlockType		    Ground
		    Name		    "Ground1"
		    Position		    [255, 95, 275, 115]
		    BackgroundColor	    "yellow"
		    ShowName		    off
		    }
		    Block {
		    BlockType		    Memory
		    Name		    "Memory"
		    Position		    [120, 400, 150, 430]
		    BackgroundColor	    "yellow"
		    ShowName		    off
		    X0			    "1"
		    }
		    Block {
		    BlockType		    Mux
		    Name		    "Mux"
		    Ports		    [2, 1]
		    Position		    [510, 191, 515, 229]
		    BackgroundColor	    "yellow"
		    ShowName		    off
		    Inputs		    "2"
		    DisplayOption	    "bar"
		    }
		    Block {
		    BlockType		    SubSystem
		    Name		    "Observer-\nController"
		    Ports		    [1, 1]
		    Position		    [540, 189, 600, 231]
		    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_y.a|ssobsctrl_y.b|ssobs"
"ctrl_y.c|ssobsctrl_y.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		    RelationalOperator
		    Name		    "Relational\nOperator"
		    Position		    [250, 177, 280, 208]
		    BackgroundColor	    "yellow"
		    ShowName		    off
		    Operator		    ">"
		    InputSameDT		    off
		    }
		    Block {
		    BlockType		    RelationalOperator
		    Name		    "Relational\nOperator1"
		    Position		    [250, 52, 280, 83]
		    BackgroundColor	    "yellow"
		    ShowName		    off
		    Operator		    "<"
		    InputSameDT		    off
		    }
		    Block {
		    BlockType		    RelationalOperator
		    Name		    "Relational\nOperator2"
		    Position		    [290, 362, 320, 393]
		    BackgroundColor	    "yellow"
		    ShowName		    off
		    Operator		    ">"
		    InputSameDT		    off
		    }
		    Block {
		    BlockType		    RelationalOperator
		    Name		    "Relational\nOperator3"
		    Position		    [290, 442, 320, 473]
		    BackgroundColor	    "yellow"

⌨️ 快捷键说明

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