📄 helicopt.mdl
字号:
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 + -