📄 servo_demo1.mdl
字号:
Points [-185, 0]
DstBlock "Relational\nOperator2"
DstPort 1
}
}
}
}
}
Block {
BlockType Gain
Name "mass"
Position [230, 30, 260, 60]
Gain "1/m"
}
Block {
BlockType Sum
Name "net force"
Ports [5, 1]
Position [165, 13, 190, 77]
Inputs "++---"
}
Block {
BlockType Constant
Name "spring preload"
Position [140, 139, 175, 161]
Orientation "left"
Value "Fs0"
}
Block {
BlockType Gain
Name "spring rate"
Position [200, 170, 230, 200]
Orientation "left"
Gain "Ks"
}
Block {
BlockType Outport
Name "stroke"
Position [455, 23, 485, 37]
IconDisplay "Port number"
BusOutputAsStruct off
InitialOutput "0"
}
Line {
SrcBlock "mass"
SrcPort 1
DstBlock "double integrator"
DstPort 1
}
Line {
SrcBlock "Fball"
SrcPort 1
DstBlock "net force"
DstPort 1
}
Line {
SrcBlock "Fsol"
SrcPort 1
Points [20, 0; 0, -30]
DstBlock "net force"
DstPort 2
}
Line {
SrcBlock "spring rate"
SrcPort 1
Points [-105, 0; 0, -140]
DstBlock "net force"
DstPort 3
}
Line {
SrcBlock "spring preload"
SrcPort 1
Points [-20, 0; 0, -95]
DstBlock "net force"
DstPort 4
}
Line {
SrcBlock "damping"
SrcPort 1
Points [-125, 0; 0, -60]
DstBlock "net force"
DstPort 5
}
Line {
SrcBlock "double integrator"
SrcPort 2
Points [20, 0; 0, 65]
DstBlock "damping"
DstPort 1
}
Line {
SrcBlock "net force"
SrcPort 1
DstBlock "mass"
DstPort 1
}
Line {
SrcBlock "double integrator"
SrcPort 1
Points [35, 0]
Branch {
Points [0, 155]
DstBlock "spring rate"
DstPort 1
}
Branch {
DstBlock "stroke"
DstPort 1
}
}
Annotation {
Name "armature motion"
Position [249, 249]
UseDisplayTextAsClickCallback off
FontName "Arial"
FontSize 16
FontWeight "bold"
}
}
}
Block {
BlockType SubSystem
Name "cylinder pressurization"
Ports [3, 1]
Position [700, 135, 765, 195]
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
MaskHideContents off
Port {
PortNumber 1
Name "control\npressure"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
System {
Name "cylinder pressurization"
Location [285, 112, 791, 391]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "qnet"
Position [25, 68, 55, 82]
IconDisplay "Port number"
}
Block {
BlockType Inport
Name "xp"
Position [30, 183, 60, 197]
Port "2"
IconDisplay "Port number"
}
Block {
BlockType Inport
Name "xpdot"
Position [25, 138, 55, 152]
Port "3"
IconDisplay "Port number"
}
Block {
BlockType Gain
Name "Volume"
Position [160, 170, 195, 210]
Gain "Ap"
}
Block {
BlockType Gain
Name "bulk\nmodulus"
Position [215, 65, 250, 105]
NamePlacement "alternate"
Gain "beta"
}
Block {
BlockType Gain
Name "dVolume/dt"
Position [90, 125, 125, 165]
Gain "Ap"
}
Block {
BlockType Sum
Name "effective\nflow"
Ports [2, 1]
Position [160, 67, 190, 98]
Inputs "+-"
}
Block {
BlockType Integrator
Name "pressure"
Ports [1, 1]
Position [370, 85, 400, 115]
LimitOutput on
LowerSaturationLimit "0"
IgnoreLimit off
}
Block {
BlockType Product
Name "quotient"
Ports [2, 1]
Position [295, 74, 325, 121]
Inputs "*/"
}
Block {
BlockType Outport
Name "pc"
Position [445, 93, 475, 107]
IconDisplay "Port number"
BusOutputAsStruct off
InitialOutput "0"
}
Line {
SrcBlock "xpdot"
SrcPort 1
DstBlock "dVolume/dt"
DstPort 1
}
Line {
SrcBlock "dVolume/dt"
SrcPort 1
Points [10, 0; 0, -55]
DstBlock "effective\nflow"
DstPort 2
}
Line {
SrcBlock "bulk\nmodulus"
SrcPort 1
DstBlock "quotient"
DstPort 1
}
Line {
SrcBlock "quotient"
SrcPort 1
DstBlock "pressure"
DstPort 1
}
Line {
SrcBlock "effective\nflow"
SrcPort 1
DstBlock "bulk\nmodulus"
DstPort 1
}
Line {
SrcBlock "xp"
SrcPort 1
DstBlock "Volume"
DstPort 1
}
Line {
SrcBlock "Volume"
SrcPort 1
Points [45, 0; 0, -80]
DstBlock "quotient"
DstPort 2
}
Line {
SrcBlock "qnet"
SrcPort 1
DstBlock "effective\nflow"
DstPort 1
}
Line {
SrcBlock "pressure"
SrcPort 1
DstBlock "pc"
DstPort 1
}
Annotation {
Name "cylinder pressurization"
Position [254, 249]
UseDisplayTextAsClickCallback off
FontName "Arial"
FontSize 16
FontWeight "bold"
}
}
}
Block {
BlockType SubSystem
Name "piston motion"
Ports [1, 2]
Position [820, 126, 870, 204]
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
MaskHideContents off
Port {
PortNumber 1
Name "piston\nposition"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
System {
Name "piston motion"
Location [140, 455, 656, 659]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "pc"
Position [25, 93, 55, 107]
IconDisplay "Port number"
}
Block {
BlockType Sum
Name "Sum"
Ports [2, 1]
Position [155, 77, 185, 108]
ShowName off
Inputs "-+"
}
Block {
BlockType Gain
Name "area"
Position [90, 80, 125, 120]
Gain "Ap"
}
Block {
BlockType SubSystem
Name "double integrator"
Ports [1, 2]
Position [290, 67, 340, 123]
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
MaskHideContents off
MaskPromptString "initial position|minimum position|maximum p"
"osition|initial velocity|minimum velocity|maximum velocity"
MaskStyleString "edit,edit,edit,edit,edit,edit"
MaskTunableValueString "on,on,on,on,on,on"
MaskCallbackString "|||||"
MaskEnableString "on,on,on,on,on,on"
MaskVisibilityString "on,on,on,on,on,on"
MaskToolTipString "on,on,on,on,on,on"
MaskVarAliasString ",,,,,"
MaskVariables "x0=@1;xmin=@2;xmax=@3;xdot0=@4;xdotmin=@5;x"
"dotmax=@6;"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "xpmin|xpmin|xpmax|0|-Inf|Inf"
MaskTabNameString ",,,,,"
System {
Name "double integrator"
Location [512, 724, 1272, 1020]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "xdotdot"
Position [15, 63, 45, 77]
IconDisplay "Port number"
}
Block {
BlockType Constant
Name "Constant"
Position [505, 220, 550, 240]
Orientation "left"
ShowName off
Value "xmax"
}
Block {
BlockType Constant
Name "Constant1"
Position [505, 175, 550, 195]
Orientation "left"
ShowName off
Value "xmin"
}
Block {
BlockType Constant
Name "Constant2"
Position [360, 41, 390, 59]
ShowName off
Value "0"
}
Block {
BlockType Constant
Name "Constant3"
Position [90, 96, 120, 114]
ShowName off
Value "0"
}
Block {
BlockType Constant
Name "Constant4"
Position [95, 171, 125, 189]
ShowName off
Value "0"
}
Block {
BlockType Integrator
Name "Integrator1"
Ports [2, 1]
Position [515, 52, 545, 83]
ShowName off
ExternalReset "rising"
InitialCondition "xdot0"
UpperSaturationLimit "xdotmax"
LowerSaturationLimit "xdotmin"
IgnoreLimit off
}
Block {
BlockType Integrator
Name "Integrator2"
Ports [1, 2]
Position [605, 51, 635, 84]
ShowName off
InitialCondition "x0"
LimitOutput on
UpperSaturationLimit "xmax"
LowerSaturationLimit "xmin"
ShowSaturationPort on
IgnoreLimit off
}
Block {
BlockType Logic
Name "Logical\nOperator"
Ports [2, 1]
Position [230, 92, 260, 123]
ShowName off
}
Block {
BlockType Logic
Name "Logical\nOperator1"
Ports [2, 1]
Position [290, 127, 320, 158]
ShowName off
}
Block {
BlockType Logic
Name "Logical\nOperator2"
Ports [2, 1]
Position [360, 102, 390, 133]
ShowName off
Operator "OR"
}
Block {
BlockType RelationalOperator
Name "Relational\nOperator"
Position [435, 207, 465, 238]
Orientation "left"
ShowName off
}
Block {
BlockType RelationalOperator
Name "Relational\nOperator1"
Position [140, 82, 170, 113]
ShowName off
Operator ">"
}
Block {
BlockType RelationalOperator
Name "Relational\nOperator2"
Position [435, 162, 465, 193]
Orientation "left"
ShowName off
Operator "<="
}
Block {
BlockType RelationalOperator
Name "Relational\nOperator3"
Position [155, 157, 185, 188]
ShowName off
Operator "<"
}
Block {
BlockType Switch
Name "Switch"
Position [435, 45, 465, 75]
Threshold "0.5"
}
Block {
BlockType Outport
Name "x"
Position [715, 53, 745, 67]
IconDisplay "Port number"
BusOutputAsStruct off
InitialOutput "0"
}
Block {
BlockType Outport
Name "xdot"
Position [715, 13, 745, 27]
Port "2"
IconDisplay "Port number"
BusOutputAsStruct off
InitialOutput "0"
}
Line {
SrcBlock "Integrator2"
SrcPort 1
Points [25, 0]
Branch {
Points [0, 110]
Branch {
DstBlock "Relational\nOperator2"
DstPort 1
}
Branch {
Points [
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -