📄 scdlens_control.mdl
字号:
"eze(r)));\n"
MaskDisplay "plot(log10(f),r,log10(f(1)),-10,log10(f(1))"
",20)\ntext(log10(f(end*3/4)),-5,'*K')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "1|100|100"
MaskTabNameString ",,"
System {
Name "Lead Lag Z"
Location [420, 366, 640, 454]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000]
TiledPageScale 1
ShowPageBoundaries off
ZoomFactor "100"
Block {
BlockType Inport
Name "In1"
Position [25, 38, 55, 52]
IconDisplay "Port number"
}
Block {
BlockType TransferFcn
Name "Transfer Fcn"
Position [80, 27, 140, 63]
Numerator "[1/(2*pi*omn) 1]*K"
Denominator "[1/(2*pi*omd) 1]"
}
Block {
BlockType Outport
Name "Out1"
Position [165, 38, 195, 52]
IconDisplay "Port number"
BusOutputAsStruct off
}
Line {
SrcBlock "In1"
SrcPort 1
Points [0, 0]
DstBlock "Transfer Fcn"
DstPort 1
}
Line {
SrcBlock "Transfer Fcn"
SrcPort 1
Points [0, 0]
DstBlock "Out1"
DstPort 1
}
}
}
Block {
BlockType DiscretePulseGenerator
Name "Pulse X"
Ports [0, 1]
Position [145, 13, 190, 47]
PulseType "Time based"
Amplitude "2e-3"
Period ".01"
PulseWidth "50"
VectorParams1D off
Port {
PortNumber 1
Name "Ref X"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType DiscretePulseGenerator
Name "Pulse Z"
Ports [0, 1]
Position [145, 173, 190, 207]
PulseType "Time based"
Amplitude "2e-3"
Period ".01"
PulseWidth "50"
PhaseDelay ".0025"
VectorParams1D off
Port {
PortNumber 1
Name "Ref Z"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType TransferFcn
Name "Y - Lead Controller"
Position [340, 142, 400, 178]
Numerator "0"
Denominator "1"
}
Block {
BlockType Sum
Name "errorX"
Ports [2, 1]
Position [300, 70, 320, 90]
ShowName off
IconShape "round"
Inputs "+-|"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
Port {
PortNumber 1
Name "Error X"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Sum
Name "errorX1"
Ports [2, 1]
Position [490, 70, 510, 90]
ShowName off
IconShape "round"
Inputs "++|"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Sum
Name "errorZ"
Ports [2, 1]
Position [300, 230, 320, 250]
ShowName off
IconShape "round"
Inputs "+-|"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
Port {
PortNumber 1
Name "Error Z"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Constant
Name "offset X"
Position [200, 47, 240, 63]
Value "-1e-3"
VectorParams1D on
SamplingMode "Sample based"
OutDataTypeMode "Inherit from 'Constant value'"
OutDataType "sfix(16)"
ConRadixGroup "Use specified scaling"
OutScaling "2^0"
SampleTime "inf"
FramePeriod "inf"
}
Block {
BlockType Constant
Name "offset Z"
Position [200, 207, 240, 223]
Value "2e-3"
VectorParams1D on
SamplingMode "Sample based"
OutDataTypeMode "Inherit from 'Constant value'"
OutDataType "sfix(16)"
ConRadixGroup "Use specified scaling"
OutScaling "2^0"
SampleTime "inf"
FramePeriod "inf"
}
Block {
BlockType Sum
Name "refX"
Ports [2, 1]
Position [245, 20, 265, 40]
ShowName off
IconShape "round"
Inputs "|++"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
Port {
PortNumber 1
Name "Ref X"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Sum
Name "refZ"
Ports [2, 1]
Position [245, 180, 265, 200]
ShowName off
IconShape "round"
Inputs "|++"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
Port {
PortNumber 1
Name "Ref Z"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Outport
Name "X"
Position [540, 73, 570, 87]
IconDisplay "Port number"
BusOutputAsStruct off
}
Block {
BlockType Outport
Name "Y"
Position [540, 153, 570, 167]
Port "2"
IconDisplay "Port number"
BusOutputAsStruct off
}
Block {
BlockType Outport
Name "Z"
Position [540, 233, 570, 247]
Port "3"
IconDisplay "Port number"
BusOutputAsStruct off
}
Line {
SrcBlock "Demux"
SrcPort 2
DstBlock "Y - Lead Controller"
DstPort 1
}
Line {
Name "Error Z"
Labels [0, 0]
SrcBlock "errorZ"
SrcPort 1
DstBlock "Lead Lag Z"
DstPort 1
}
Line {
Name "Measured X"
Labels [0, 0]
SrcBlock "Demux"
SrcPort 1
DstBlock "errorX"
DstPort 2
}
Line {
Name "Error X"
Labels [0, 0]
SrcBlock "errorX"
SrcPort 1
DstBlock "Lead Lag X"
DstPort 1
}
Line {
SrcBlock "Lens"
SrcPort 1
Points [0, 0]
DstBlock "Demux"
DstPort 1
}
Line {
SrcBlock "Y - Lead Controller"
SrcPort 1
DstBlock "Y"
DstPort 1
}
Line {
SrcBlock "Lead Lag Z"
SrcPort 1
DstBlock "Z"
DstPort 1
}
Line {
Name "Measured Z"
Labels [0, 0]
SrcBlock "Demux"
SrcPort 3
DstBlock "errorZ"
DstPort 2
}
Line {
Name "Ref Z"
Labels [0, 0]
SrcBlock "Pulse Z"
SrcPort 1
DstBlock "refZ"
DstPort 1
}
Line {
SrcBlock "offset Z"
SrcPort 1
DstBlock "refZ"
DstPort 2
}
Line {
Name "Ref Z"
Labels [0, 0]
SrcBlock "refZ"
SrcPort 1
Points [40, 0]
DstBlock "errorZ"
DstPort 1
}
Line {
Name "Ref X"
Labels [0, 0]
SrcBlock "Pulse X"
SrcPort 1
DstBlock "refX"
DstPort 1
}
Line {
SrcBlock "offset X"
SrcPort 1
DstBlock "refX"
DstPort 2
}
Line {
Name "Ref X"
Labels [0, 0]
SrcBlock "refX"
SrcPort 1
Points [40, 0]
DstBlock "errorX"
DstPort 1
}
Line {
SrcBlock "Lead Lag X"
SrcPort 1
DstBlock "errorX1"
DstPort 2
}
Line {
SrcBlock "errorX1"
SrcPort 1
Points [0, 0]
DstBlock "X"
DstPort 1
}
Line {
Name "Dist X"
Labels [0, 0]
SrcBlock "Constant"
SrcPort 1
Points [60, 0]
DstBlock "errorX1"
DstPort 1
}
}
}
Block {
BlockType Reference
Name "Forces"
Ports [0, 0, 0, 0, 0, 2, 1]
Position [275, 111, 325, 164]
DialogController "MECH.DynMechDlgSource"
SourceBlock "mblibv1/Joints/Bushing"
SourceType "msb"
PhysicalDomain "mechanical"
SubClassName "Unknown"
LeftPortType "blob"
RightPortType "blob"
LConnTagsString "__newl0|SA1"
RConnTagsString "__newr0"
NumSAPorts "1"
CutJoint "off"
MarkAsCut "off"
Primitives "prismatic_prismatic_prismatic_revolute_revolute"
"_revolute"
PrimitiveProps "P1$WORLD$[1 0 0]$prismatic#P2$WORLD$[0 1 0]$pri"
"smatic#P3$WORLD$[0 0 1]$prismatic#R1$WORLD$[1 0 0]$revolute#R2$WORLD$[0 1 0]$"
"revolute#R3$WORLD$[0 0 1]$revolute"
ClassName "Joint"
DialogClass "JointBlock"
P1Axis "[1 0 0]"
P2Axis "[0 1 0]"
P3Axis "[0 0 1]"
R1Axis "[1 0 0]"
R2Axis "[0 1 0]"
R3Axis "[0 0 1]"
}
Block {
BlockType Reference
Name "Lens"
Ports [0, 1, 0, 0, 0, 1]
Position [655, 120, 695, 160]
DialogController "MECH.DynMechDlgSource"
SourceBlock "mblibv1/Sensors & \nActuators/Body 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 "on"
Pose "off"
Angle "on"
AngleUnits "deg"
ArcVelocity "off"
ArcVelocityUnits "deg/s"
ArcAcceleration "off"
ArcAccelerationUnits "deg/s^2"
CoordPosition "on"
CoordPositionUnits "m"
Velocity "off"
VelocityUnits "m/s"
Acceleration "off"
AccelerationUnits "m/s^2"
Quaternion "on"
QuaternionDT "off"
QuaternionDDT "off"
QuaternionUnits "off"
OutputVector "[ 3 ]"
ActiveIO "on"
Width "3"
ClassName "BodySensor"
DialogClass "MechanicalSensorBlock"
ReferenceFrame "Absolute (World)"
}
Block {
BlockType Reference
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -