📄 slcpp1.mdl
字号:
OutDataType "sfix(16)"
OutScaling "2^0"
LockScale off
RndMeth "Floor"
SaturateOnIntegerOverflow on
SampleTime "-1"
}
Block {
BlockType If
NumInputs "1"
IfExpression "u1 > 0"
ShowElse on
ZeroCross on
SampleTime "-1"
}
Block {
BlockType Inport
UseBusObject off
BusObject "BusObject"
BusOutputAsStruct off
PortDimensions "-1"
SampleTime "-1"
DataType "auto"
OutDataType "sfix(16)"
OutScaling "2^0"
SignalType "auto"
SamplingMode "auto"
Interpolate on
}
Block {
BlockType Integrator
ExternalReset "none"
InitialConditionSource "internal"
InitialCondition "0"
LimitOutput off
UpperSaturationLimit "inf"
LowerSaturationLimit "-inf"
ShowSaturationPort off
ShowStatePort off
AbsoluteTolerance "auto"
IgnoreLimit off
ZeroCross on
}
Block {
BlockType Math
Operator "exp"
OutputSignalType "auto"
SampleTime "-1"
OutDataTypeMode "Same as first input"
OutDataType "sfix(16)"
OutScaling "2^0"
LockScale off
RndMeth "Floor"
SaturateOnIntegerOverflow on
}
Block {
BlockType Merge
Inputs "2"
InitialOutput "[]"
AllowUnequalInputPortWidths off
InputPortOffsets "[]"
}
Block {
BlockType Mux
Inputs "4"
DisplayOption "none"
UseBusObject off
BusObject "BusObject"
NonVirtualBus off
}
Block {
BlockType Outport
Port "1"
UseBusObject off
BusObject "BusObject"
BusOutputAsStruct off
PortDimensions "-1"
SampleTime "-1"
DataType "auto"
OutDataType "sfix(16)"
OutScaling "2^0"
SignalType "auto"
SamplingMode "auto"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Product
Inputs "2"
Multiplication "Element-wise(.*)"
InputSameDT on
OutDataTypeMode "Same as first input"
OutDataType "sfix(16)"
OutScaling "2^0"
LockScale off
RndMeth "Zero"
SaturateOnIntegerOverflow on
SampleTime "-1"
}
Block {
BlockType Reference
}
Block {
BlockType RelationalOperator
Operator ">="
InputSameDT on
LogicOutDataTypeMode "Logical (see Configuration Parameters: Optimiza"
"tion)"
LogicDataType "uint(8)"
ZeroCross on
SampleTime "-1"
}
Block {
BlockType "S-Function"
FunctionName "system"
SFunctionModules "''"
PortCounts "[]"
}
Block {
BlockType SignalGenerator
WaveForm "sine"
TimeSource "Use simulation time"
Amplitude "1"
Frequency "1"
Units "Hertz"
VectorParams1D on
}
Block {
BlockType SubSystem
ShowPortLabels on
Permissions "ReadWrite"
PermitHierarchicalResolution "All"
SystemSampleTime "-1"
RTWFcnNameOpts "Auto"
RTWFileNameOpts "Auto"
SimViewingDevice off
DataTypeOverride "UseLocalSettings"
MinMaxOverflowLogging "UseLocalSettings"
}
Block {
BlockType Sum
IconShape "rectangular"
Inputs "++"
InputSameDT on
OutDataTypeMode "Same as first input"
OutDataType "sfix(16)"
OutScaling "2^0"
LockScale off
RndMeth "Floor"
SaturateOnIntegerOverflow on
SampleTime "-1"
}
Block {
BlockType Switch
Criteria "u2 >= Threshold"
Threshold "0"
InputSameDT on
OutDataTypeMode "Inherit via internal rule"
RndMeth "Floor"
SaturateOnIntegerOverflow on
ZeroCross on
SampleTime "-1"
}
Block {
BlockType Terminator
}
}
AnnotationDefaults {
HorizontalAlignment "center"
VerticalAlignment "middle"
ForegroundColor "black"
BackgroundColor "white"
DropShadow off
FontName "Helvetica"
FontSize 10
FontWeight "normal"
FontAngle "normal"
}
LineDefaults {
FontName "Helvetica"
FontSize 9
FontWeight "normal"
FontAngle "normal"
}
System {
Name "slcpp1"
Location [341, 97, 924, 520]
Open on
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
ReportName "simulink-default.rpt"
Block {
BlockType "S-Function"
Name "Animation"
Ports [1]
Position [460, 37, 515, 73]
FunctionName "animcpp1"
}
Block {
BlockType SubSystem
Name "Cart & Parallel Poles\nDynamics"
Ports [2, 6]
Position [270, 160, 330, 220]
ShowPortLabels off
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
MaskType "Differential Equation Editor (DEE)"
MaskDescription "Inverted Pendulum (cart & two poles)"
MaskPromptString "Initial Conditions (a1, av1, a2, av2, x, v):|Ph"
"ysical Specifications (M, g):"
MaskStyleString "edit,edit"
MaskTunableValueString "on,on"
MaskCallbackString "|"
MaskEnableString "on,on"
MaskVisibilityString "on,on"
MaskToolTipString "on,on"
MaskVarAliasString ","
MaskInitialization "init_cond = @1; specs = @2;M=specs(1);g=specs(2"
");"
MaskDisplay "plot(-4,-1,4,6,[0 3 2.8 -0.2 0]+0.5,[1 5 5.15 1"
".15 1],[0 0.2 -0.5 -0.7 0]-0.5, [1 1.2 2.7 2.5 1],[-1 -1 1 1 -1],[1 0 0 1 1],"
"[-3.5 3.5],[0 0])"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "[-0.07 0 0.1 0 0 0]|[1.0, 9.8]"
MaskTabNameString ","
System {
Name "Cart & Parallel Poles\nDynamics"
Location [341, 77, 1164, 858]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "SysInport1"
Position [275, 290, 295, 310]
Port "1"
IconDisplay "Port number"
LatchInput off
}
Block {
BlockType Inport
Name "in_2"
Position [105, 390, 125, 410]
Port "2"
IconDisplay "Port number"
LatchInput off
}
Block {
BlockType Gain
Name "Gain"
Position [160, 415, 195, 445]
Gain "0.1"
}
Block {
BlockType Gain
Name "Gain1"
Position [205, 385, 240, 415]
Gain "0.5"
}
Block {
BlockType Gain
Name "Gain2"
Position [160, 505, 195, 535]
Gain "0.1"
}
Block {
BlockType Gain
Name "Gain3"
Position [205, 475, 240, 505]
Gain "0.5"
}
Block {
BlockType Integrator
Name "Integ1"
Ports [1, 1]
Position [605, 195, 635, 215]
InitialCondition "init_cond(1)"
}
Block {
BlockType Integrator
Name "Integ2"
Ports [1, 1]
Position [605, 245, 635, 265]
InitialCondition "init_cond(2)"
}
Block {
BlockType Integrator
Name "Integ3"
Ports [1, 1]
Position [605, 295, 635, 315]
InitialCondition "init_cond(3)"
}
Block {
BlockType Integrator
Name "Integ4"
Ports [1, 1]
Position [605, 370, 635, 390]
InitialCondition "init_cond(4)"
}
Block {
BlockType Integrator
Name "Integ5"
Ports [1, 1]
Position [605, 420, 635, 440]
InitialCondition "init_cond(5)"
}
Block {
BlockType Integrator
Name "Integ6"
Ports [1, 1]
Position [605, 470, 635, 490]
InitialCondition "init_cond(6)"
}
Block {
BlockType Constant
Name "Length\nof pole 2"
Position [95, 480, 115, 500]
}
Block {
BlockType Mux
Name "SysMux"
Ports [11, 1]
Position [405, 294, 455, 356]
Inputs "11"
}
Block {
BlockType Fcn
Name "x1"
Position [505, 195, 535, 215]
Expr "u(3) "
" "
" "
" "
}
Block {
BlockType Fcn
Name "x2"
Position [505, 245, 535, 265]
Expr "-3/4*(3*u(11)*cos(u(4))*g*sin(u(4))*cos(u(2"
"))-4*u(11)*u(10)*sin(u(4))*u(5)^2*cos(u(2))+4*sin(u(2))*g*M+4*sin(u(2))*g*u(9"
")+4*sin(u(2))*g*u(11)-3*sin(u(2))*g*u(11)*cos(u(4))^2-4*u(1)*cos(u(2))-4*u(9)"
"*u(8)*sin(u(2))*u(3)^2*cos(u(2)))/u(8)/(3*u(11)*cos(u(4))^2-4*u(9)-4*u(11)-4*"
"M+3*u(9)*cos(u(2))^2) "
}
Block {
BlockType Fcn
Name "x3"
Position [505, 295, 535, 315]
Expr "u(5) "
" "
" "
" "
}
Block {
BlockType Fcn
Name "x4"
Position [505, 370, 535, 390]
Expr "-3/4*(4*g*sin(u(4))*u(9)+4*g*sin(u(4))*u(11"
")-4*u(11)*u(10)*sin(u(4))*u(5)^2*cos(u(4))+4*g*sin(u(4))*M-3*g*sin(u(4))*u(9)"
"*cos(u(2))^2+3*cos(u(4))*cos(u(2))*sin(u(2))*g*u(9)-4*cos(u(4))*u(1)-4*cos(u("
"4))*u(9)*u(8)*sin(u(2))*u(3)^2)/u(10)/(3*u(11)*cos(u(4))^2-4*u(9)-4*u(11)-4*M"
"+3*u(9)*cos(u(2))^2) "
}
Block {
BlockType Fcn
Name "x5"
Position [505, 420, 535, 440]
Expr "u(7) "
" "
" "
" "
}
Block {
BlockType Fcn
Name "x6"
Position [505, 470, 535, 490]
Expr "(3*cos(u(2))*sin(u(2))*g*u(9)+3*u(11)*cos(u"
"(4))*g*sin(u(4))-4*u(1)-4*u(9)*u(8)*sin(u(2))*u(3)^2-4*u(11)*u(10)*sin(u(4))*"
"u(5)^2)/(3*u(11)*cos(u(4))^2-4*u(9)-4*u(11)-4*M+3*u(9)*cos(u(2))^2) "
" "
" "
}
Block {
BlockType Outport
Name "Port1"
Position [710, 195, 730, 215]
IconDisplay "Port number"
InitialOutput "0"
}
Block {
BlockType Outport
Name "Port2"
Position [710, 245, 730, 265]
Port "2"
IconDisplay "Port number"
InitialOutput "0"
}
Block {
BlockType Outport
Name "Port3"
Position [710, 295, 730, 315]
Port "3"
IconDisplay "Port number"
InitialOutput "0"
}
Block {
BlockType Outport
Name "Port4"
Position [710, 370, 730, 390]
Port "4"
IconDisplay "Port number"
InitialOutput "0"
}
Block {
BlockType Outport
Name "Port5"
Position [710, 420, 730, 440]
Port "5"
IconDisplay "Port number"
InitialOutput "0"
}
Block {
BlockType Outport
Name "Port6"
Position [710, 470, 730, 490]
Port "6"
IconDisplay "Port number"
InitialOutput "0"
}
Line {
SrcBlock "Integ6"
SrcPort 1
Points [10, 0]
Branch {
DstBlock "Port6"
DstPort 1
}
Branch {
Points [0, -20; -265, 0; 0, -130]
DstBlock "SysMux"
DstPort 7
}
}
Line {
SrcBlock "Integ5"
SrcPort 1
Points [10, 0]
Branch {
DstBlock "Port5"
DstPort 1
}
Branch {
Points [0, -20; -270, 0; 0, -85]
DstBlock "SysMux"
DstPort 6
}
}
Line {
SrcBlock "Integ4"
SrcPort 1
Points [10, 0]
Branch {
DstBlock "Port4"
DstPort 1
}
Branch {
Points [0, -20; -275, 0; 0, -40]
DstBlock "SysMux"
DstPort 5
}
}
Line {
SrcBlock "Integ3"
SrcPort 1
Points [10, 0]
Branch {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -