📄 scdlens_control.mdl
字号:
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Reference
Name "Joint Actuator"
Ports [1, 0, 0, 0, 0, 0, 1]
Position [130, 115, 170, 155]
DialogController "MECH.DynMechDlgSource"
SourceBlock "mblibv1/Sensors & \nActuators/Joint"
" Actuator"
SourceType "msb"
ShowPortLabels on
SystemSampleTime "-1"
FunctionWithSeparateData off
RTWMemSecFuncInitTerm "Inherit from model"
RTWMemSecFuncExecute "Inherit from model"
RTWMemSecDataConstants "Inherit from model"
RTWMemSecDataInternal "Inherit from model"
RTWMemSecDataParameters "Inherit from model"
PhysicalDomain "Mechanical"
PortType "blob"
ActuationStyle "Force"
AngleUnits "deg"
ArcVelocityUnits "deg/s"
ArcAccelerationUnits "deg/s^2"
CoordPositionUnits "m"
VelocityUnits "m/s"
AccelerationUnits "m/s^2"
ForceUnits "N"
TorqueUnits "N-m"
ActiveIO "on"
Width "1"
ClassName "JointActuator"
DialogClass "MechanicalActuatorBlock"
Primitive "P1"
ReferenceFrame "Absolute (INERTIAL)"
}
Block {
BlockType Reference
Name "Joint Sensor"
Ports [0, 2, 0, 0, 0, 1]
Position [300, 120, 340, 160]
DialogController "MECH.DynMechDlgSource"
SourceBlock "mblibv1/Sensors & \nActuators/Joint"
" Sensor"
SourceType "msb"
ShowPortLabels on
SystemSampleTime "-1"
FunctionWithSeparateData off
RTWMemSecFuncInitTerm "Inherit from model"
RTWMemSecFuncExecute "Inherit from model"
RTWMemSecDataConstants "Inherit from model"
RTWMemSecDataInternal "Inherit from model"
RTWMemSecDataParameters "Inherit from model"
PhysicalDomain "Mechanical"
PortType "blob"
Muxed "off"
Pose "off"
Angle "on"
AngleUnits "deg"
ArcVelocity "off"
ArcVelocityUnits "deg/s"
ArcAcceleration "off"
ArcAccelerationUnits "deg/s^2"
CoordPosition "on"
CoordPositionUnits "m"
Velocity "on"
VelocityUnits "m/s"
Acceleration "off"
AccelerationUnits "m/s^2"
Quaternion "on"
QuaternionDT "off"
QuaternionDDT "off"
QuaternionUnits "off"
OutputVector "[ 1 1 ]"
ActiveIO "on"
Width "2"
ClassName "JointSensor"
DialogClass "MechanicalSensorBlock"
Primitive "P1"
Force "off"
ForceUnits "N"
Torque "off"
TorqueUnits "N-m"
ReferenceFrame "Absolute (INERTIAL)"
ReactionSensedSide "Base"
ReactionReferenceFrame "Absolute (World)"
ReactionForce "off"
ReactionForceUnits "N"
ReactionMoment "off"
ReactionMomentUnits "N-m"
}
Block {
BlockType Gain
Name "Stiffness"
Position [205, 193, 270, 227]
Orientation "left"
Gain "-2e5"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Sum
Name "Sum"
Ports [2, 1]
Position [140, 200, 160, 220]
Orientation "left"
NamePlacement "alternate"
ShowName off
IconShape "round"
Inputs "|++"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType PMIOPort
Name "Conn1"
Position [25, 33, 55, 47]
Port "1"
Side "Left"
}
Block {
BlockType PMIOPort
Name "Conn2"
Position [410, 33, 440, 47]
Orientation "left"
Port "2"
Side "Right"
}
Line {
LineType "Connection"
SrcBlock "Conn1"
SrcPort RConn1
Points [0, 0]
DstBlock "Custom Joint"
DstPort LConn1
}
Line {
LineType "Connection"
SrcBlock "Conn2"
SrcPort RConn1
Points [0, 0]
DstBlock "Custom Joint"
DstPort RConn1
}
Line {
LineType "Connection"
SrcBlock "Joint Actuator"
SrcPort RConn1
Points [5, 0; 0, -70]
DstBlock "Custom Joint"
DstPort LConn2
}
Line {
LineType "Connection"
SrcBlock "Custom Joint"
SrcPort RConn2
Points [5, 0; 0, 75]
DstBlock "Joint Sensor"
DstPort LConn1
}
Line {
SrcBlock "Joint Sensor"
SrcPort 1
Points [35, 0; 0, 80]
DstBlock "Stiffness"
DstPort 1
}
Line {
SrcBlock "Joint Sensor"
SrcPort 2
Points [20, 0; 0, 125]
DstBlock "Damping"
DstPort 1
}
Line {
SrcBlock "Stiffness"
SrcPort 1
DstBlock "Sum"
DstPort 1
}
Line {
SrcBlock "Damping"
SrcPort 1
Points [-55, 0]
DstBlock "Sum"
DstPort 2
}
Line {
SrcBlock "Sum"
SrcPort 1
Points [-30, 0; 0, -75]
DstBlock "Joint Actuator"
DstPort 1
}
}
}
Block {
BlockType Reference
Name "Ground"
Ports [0, 0, 0, 0, 0, 0, 1]
Position [35, 165, 75, 205]
UserDataPersistent on
UserData "DataTag0"
DialogController "MECH.DynMechDlgSource"
SourceBlock "mblibv1/Bodies/Ground"
SourceType "msb"
ShowPortLabels on
SystemSampleTime "-1"
FunctionWithSeparateData off
RTWMemSecFuncInitTerm "Inherit from model"
RTWMemSecFuncExecute "Inherit from model"
RTWMemSecDataConstants "Inherit from model"
RTWMemSecDataInternal "Inherit from model"
RTWMemSecDataParameters "Inherit from model"
LeftPortType "env"
RightPortType "workingframe"
PhysicalDomain "Mechanical"
DialogClass "GroundBlock"
ClassName "Ground"
CoordPosition "[g(1) g(2) g(3)]"
CoordPositionUnits "mm"
StateVectorMgrId "-1"
MachineId "[0 0]"
ShowEnvPort off
}
Block {
BlockType Reference
Name "Reference\nGround"
Ports [0, 0, 0, 0, 0, 0, 1]
Position [35, 25, 75, 65]
UserDataPersistent on
UserData "DataTag1"
DialogController "MECH.DynMechDlgSource"
SourceBlock "mblibv1/Bodies/Ground"
SourceType "msb"
ShowPortLabels on
SystemSampleTime "-1"
FunctionWithSeparateData off
RTWMemSecFuncInitTerm "Inherit from model"
RTWMemSecFuncExecute "Inherit from model"
RTWMemSecDataConstants "Inherit from model"
RTWMemSecDataInternal "Inherit from model"
RTWMemSecDataParameters "Inherit from model"
LeftPortType "env"
RightPortType "workingframe"
PhysicalDomain "Mechanical"
DialogClass "GroundBlock"
ClassName "Ground"
CoordPosition "[0 0 0]"
CoordPositionUnits "mm"
StateVectorMgrId "-1"
MachineId "[0 0]"
ShowEnvPort off
}
Block {
BlockType PMIOPort
Name "Conn1"
Position [350, 188, 380, 202]
Orientation "left"
Port "1"
Side "Right"
}
Line {
LineType "Connection"
SrcBlock "Gimbal"
SrcPort RConn1
Points [0, 0]
DstBlock "Body"
DstPort LConn1
}
Line {
LineType "Connection"
SrcBlock "Bushing"
SrcPort RConn1
Points [55, 0; 0, 90]
DstBlock "Body"
DstPort RConn1
}
Line {
LineType "Connection"
SrcBlock "Body"
SrcPort RConn2
Points [0, 0]
DstBlock "Gimbal\nplus stiffness"
DstPort LConn1
}
Line {
LineType "Connection"
SrcBlock "Reference\nGround"
SrcPort RConn1
Points [10, 0; 0, 25]
DstBlock "Bushing"
DstPort LConn1
}
Line {
LineType "Connection"
SrcBlock "Flexure"
SrcPort LConn1
Points [5, 0; 0, -25]
DstBlock "Bushing"
DstPort LConn2
}
Line {
LineType "Connection"
SrcBlock "Ground"
SrcPort RConn1
Points [0, 0]
DstBlock "Gimbal"
DstPort LConn1
}
Line {
LineType "Connection"
SrcBlock "Conn1"
SrcPort RConn1
Points [0, 0]
DstBlock "Gimbal\nplus stiffness"
DstPort RConn1
}
}
}
Block {
BlockType SubSystem
Name "Wire 2"
Ports [0, 0, 0, 0, 0, 0, 1]
Position [470, 132, 550, 168]
Orientation "left"
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
FunctionWithSeparateData off
MaskHideContents off
MaskPromptString "Ground connection position [x,y,z]|Lens con"
"nection position [x,y,z]"
MaskStyleString "edit,edit"
MaskTunableValueString "on,on"
MaskCallbackString "|"
MaskEnableString "on,on"
MaskVisibilityString "on,on"
MaskToolTipString "on,on"
MaskVarAliasString ","
MaskVariables "g=@1;l=@2;"
MaskInitialization "f=(g(1)-l(1))/abs(g(2)-l(2));\nInertia=1e-3"
"*[cos(f) sin(f) 0 ; sin(f) .02*cos(f) 0 ; 0 0 1];\ncg=[l(1)+(g(1)-l(1))/2 l(2"
")+(g(2)-l(2))/2 l(3)+(g(3)-l(3))/2];\n"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "[6 -15 -1.5]|[5 0 -1.5]"
MaskTabNameString ","
System {
Name "Wire 2"
Location [50, 568, 527, 867]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
TiledPaperMargins [1.270000, 1.270000, 1.270000, 1.270000]
TiledPageScale 1
ShowPageBoundaries off
ZoomFactor "100"
Block {
BlockType Reference
Name "Body"
Ports [0, 0, 0, 0, 0, 1, 2]
Position [170, 165, 230, 205]
DialogController "MECH.DynMechDlgSource"
SourceBlock "mblibv1/Bodies/Body"
SourceType "msb"
PhysicalDomain "mechanical"
SubClassName "Unknown"
LeftPortType "workingframe"
RightPortType "workingframe"
LConnTagsString "CS1"
RConnTagsString "CS2|CS3"
ClassName "Body"
DialogClass "MechanicalBodyBlock"
Mass "10"
MassUnits "mg"
InertiaUnits "g*cm^2"
Inertia "Inertia"
Shape "Cylinder"
ShapeDims "[1 1]"
ShapeUnits "m"
ShapeUse "false"
Density "1"
DensityUnits "kg/m^3"
DensityUse "false"
CG "Left$CG$[cg(1) cg(2) cg(3)]$WORLD$WORLD"
"$mm$[0 0 0]$Euler X-Y-Z$deg$WORLD$false"
WorkingFrames "Left$CS1$[g(1) g(2) g(3)]$WORLD$WORLD$m"
"m$[0 0 0]$Euler X-Y-Z$deg$WORLD$true#Right$CS2$[0 0 0]$CS3$CS3$mm$[0 0 0]$Eul"
"er X-Y-Z$deg$WORLD$true#Right$CS3$[l(1) l(2) l(3)]$WORLD$WORLD$mm$[0 0 0]$Eul"
"er X-Y-Z$deg$WORLD$true"
CGPos "[cg(1) cg(2) cg(3)]"
CGRot "[0 0 0]"
CS0Pos "[]"
CS0Rot "[]"
CS1Pos "[g(1) g(2) g(3)]"
CS1Rot "[0 0 0]"
CS2Pos "[0 0 0]"
CS2Rot "[0 0 0]"
CS3Pos "[l(1) l(2) l(3)]"
CS3Rot "[0 0 0]"
CS4Pos "[]"
CS4Rot "[]"
CS5Pos "[]"
CS5Rot "[]"
CS6Pos "[]"
CS6Rot "[]"
CS7Pos "[]"
CS7Rot "[]"
CS8Pos "[]"
CS8Rot "[]"
CS9Pos "[]"
CS9Rot "[]"
CS10Pos "[]"
CS10Rot "[]"
CS11Pos "[]"
CS11Rot "[]"
CS12Pos "[]"
CS12Rot "[]"
CS13Pos "[]"
CS13Rot "[]"
CS14Pos "[]"
CS14Rot "[]"
CS15Pos "[]"
CS15Rot "[]"
CS16Pos "[]"
CS16Rot "[]"
CS17Pos "[]"
CS17Rot "[]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -