📄 hdd_noinst.mdl
字号:
DataLoggingMaxPoints "5000"
}
}
Block {
BlockType Reference
Name "RMS"
Ports [2, 1]
Position [585, 307, 660, 343]
SourceBlock "dspstat3/RMS"
SourceType "RMS"
run on
reset_popup "Rising edge"
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [505, 480, 525, 500]
Orientation "left"
ShowName off
IconShape "round"
Inputs "|++"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
}
Block {
BlockType Sum
Name "Sum3"
Ports [2, 1]
Position [385, 190, 405, 210]
Orientation "left"
ShowName off
IconShape "round"
Inputs "|+-"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
}
Block {
BlockType ToWorkspace
Name "To Workspace"
Position [700, 310, 760, 340]
VariableName "meanerror"
MaxDataPoints "1"
SampleTime "-1"
SaveFormat "Array"
}
Block {
BlockType Reference
Name "axle"
Ports [0, 0, 0, 0, 0, 2, 2]
Position [137, 130, 188, 185]
Orientation "up"
NamePlacement "alternate"
SourceBlock "mblibv1/Joints/Revolute"
SourceType "msb"
PhysicalDomain "mechanical"
SubClassName "Unknown"
PortType "blob"
LConnTagsString "__newl0|SA1"
RConnTagsString "__newr0|SA1"
NumSAPorts "2"
CutJoint "off"
MarkAsCut "off"
Primitives "revolute"
PrimitiveProps "R1$WORLD$[0 0 1]$revolute"
ClassName "Joint"
DialogClass "JointBlock"
}
Block {
BlockType Reference
Name "platter"
Ports [0, 0, 0, 0, 0, 1]
Position [52, 80, 248, 100]
Orientation "up"
NamePlacement "alternate"
SourceBlock "mblibv1/Bodies/Body"
SourceType "msb"
PhysicalDomain "mechanical"
SubClassName "Unknown"
PortType "workingframe"
LConnTagsString "CS1"
ClassName "Body"
DialogClass "MechanicalBodyBlock"
Mass "0.01"
MassUnits "kg"
InertiaUnits "kg*m^2"
Inertia "eye(3)"
Shape "Cylinder"
ShapeDims "[1 1]"
ShapeUnits "m"
ShapeUse "false"
Density "1"
DensityUnits "kg/m^3"
DensityUse "false"
CG "Left$CG$[0 0 0]$WORLD$WORLD$m$[0 0 0]$Euler X-Y"
"-Z$deg$WORLD$false"
WorkingFrames "Left$CS1$[0 0 0]$CG$CG$m$[0 0 0]$Euler X-Y-Z$de"
"g$WORLD$true"
}
Block {
BlockType SubSystem
Name "preamp"
Ports [0, 1, 0, 0, 0, 1]
Position [340, 86, 415, 144]
TreatAsAtomicUnit off
System {
Name "preamp"
Location [137, 137, 662, 270]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Goto
Name "Goto1"
Position [180, 48, 245, 72]
GotoTag "ang_vel"
TagVisibility "global"
}
Block {
BlockType Reference
Name "Platter Sensor"
Tag "__orphan__"
Ports [0, 2, 0, 0, 0, 1]
Position [80, 30, 120, 70]
SourceBlock "mblibv1/Sensors & \nActuators/Joint Sensor"
SourceType "msb"
PortType "blob"
PhysicalDomain "Mechanical"
Muxed "off"
Pose "off"
Angle "on"
AngleUnits "deg"
ArcVelocity "on"
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 "[ 1 1 ]"
ClassName "JointSensor"
DialogClass "MechanicalSensorBlock"
Primitive "R1"
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"
Port {
PortNumber 1
Name "angle"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
DataLogging off
DataLoggingNameMode "SignalName"
DataLoggingDecimateData off
DataLoggingDecimation "2"
DataLoggingLimitDataPoints off
DataLoggingMaxPoints "5000"
}
Port {
PortNumber 2
Name "ang vel"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
DataLogging off
DataLoggingNameMode "SignalName"
DataLoggingDecimateData off
DataLoggingDecimation "2"
DataLoggingLimitDataPoints off
DataLoggingMaxPoints "5000"
}
}
Block {
BlockType Sum
Name "Sum"
Ports [2, 1]
Position [255, 30, 275, 50]
ShowName off
IconShape "round"
Inputs "|++"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
}
Block {
BlockType Constant
Name "convert angle to LUT index"
Position [250, 80, 280, 110]
Orientation "up"
NamePlacement "alternate"
Value "180"
}
Block {
BlockType Lookup2D
Name "stored bits"
Position [390, 27, 445, 78]
InitFcn "COLINBITS=[-ones(1,180) ; ones(1,180)];\nCO"
"LINBITS = reshape(COLINBITS, 360, 1);\nCOLINBITS=[COLINBITS COLINBITS]; "
" "
RowIndex "[1:360]"
ColumnIndex "[1:2]"
OutputValues "COLINBITS"
ShowAdditionalParam on
LookUpMeth "Use Input Nearest"
InputSameDT off
Port {
PortNumber 1
Name "bits"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
DataLogging off
DataLoggingNameMode "SignalName"
DataLoggingDecimateData off
DataLoggingDecimation "2"
DataLoggingLimitDataPoints off
DataLoggingMaxPoints "5000"
}
}
Block {
BlockType Constant
Name "track number:\nthe arm motion\nwould drive "
"here"
Position [330, 50, 360, 80]
}
Block {
BlockType PMIOPort
Name "head"
Position [25, 43, 55, 57]
Port "1"
Side "left"
}
Block {
BlockType Outport
Name "Out"
Position [470, 48, 500, 62]
}
Line {
Name "angle"
Labels [0, 0]
SrcBlock "Platter Sensor"
SrcPort 1
DstBlock "Sum"
DstPort 1
}
Line {
SrcBlock "track number:\nthe arm motion\nwould drive "
"here"
SrcPort 1
DstBlock "stored bits"
DstPort 2
}
Line {
SrcBlock "Sum"
SrcPort 1
DstBlock "stored bits"
DstPort 1
}
Line {
SrcBlock "convert angle to LUT index"
SrcPort 1
DstBlock "Sum"
DstPort 2
}
Line {
Name "ang vel"
Labels [0, 0]
SrcBlock "Platter Sensor"
SrcPort 2
DstBlock "Goto1"
DstPort 1
}
Line {
LineType "Connection"
SrcBlock "head"
SrcPort RConn1
DstBlock "Platter Sensor"
DstPort LConn1
}
Line {
Name "bits"
Labels [0, 0]
SrcBlock "stored bits"
SrcPort 1
DstBlock "Out"
DstPort 1
}
}
}
Block {
BlockType DiscretePulseGenerator
Name "reset after transient 25s"
Position [480, 318, 525, 352]
AttributesFormatString "A = %<Amplitude>"
Period "100000"
PulseWidth "98000"
PhaseDelay "2000"
SampleTime "0.01"
}
Line {
LineType "Connection"
SrcBlock "Ground"
SrcPort RConn1
DstBlock "axle"
DstPort LConn1
}
Line {
LineType "Connection"
SrcBlock "platter"
SrcPort LConn1
DstBlock "axle"
DstPort RConn1
}
Line {
LineType "Connection"
SrcBlock "Joint Stiction Actuator"
SrcPort RConn1
DstBlock "axle"
DstPort LConn2
}
Line {
LineType "Connection"
SrcBlock "axle"
SrcPort RConn2
DstBlock "preamp"
DstPort LConn1
}
Line {
SrcBlock "preamp"
SrcPort 1
Points [230, 0]
DstBlock "CDR"
DstPort 1
}
Line {
Name "disturb"
Labels [0, 0]
SrcBlock "Friction disturbance"
SrcPort 1
DstBlock "Sum1"
DstPort 1
}
Line {
SrcBlock "Friction/back emf coeff"
SrcPort 1
DstBlock "Sum1"
DstPort 2
}
Line {
Name "Friction proportional to ang vel"
Labels [1, 0]
SrcBlock "Product"
SrcPort 1
Points [-35, 0; 0, -275]
DstBlock "Joint Stiction Actuator"
DstPort 2
}
Line {
SrcBlock "DC Drive signal"
SrcPort 1
DstBlock "Sum3"
DstPort 1
}
Line {
SrcBlock "Sum3"
SrcPort 1
DstBlock "Joint Stiction Actuator"
DstPort 1
}
Line {
SrcBlock "Gain"
SrcPort 1
Points [-80, 0]
DstBlock "Sum3"
DstPort 2
}
Line {
SrcBlock "Ground1"
SrcPort 1
Points [-10, 0; 0, -45]
Branch {
Points [0, -10]
Branch {
DstBlock "Joint Stiction Actuator"
DstPort 3
}
Branch {
DstBlock "Joint Stiction Actuator"
DstPort 4
}
}
Branch {
DstBlock "Joint Stiction Actuator"
DstPort 5
}
}
Line {
Name "component level"
Labels [2, 0]
SrcBlock "CDR"
SrcPort 1
Points [0, 0; -10, 0]
Branch {
DstBlock "Gain"
DstPort 1
}
Branch {
Points [0, 70]
DstBlock "RMS"
DstPort 1
}
}
Line {
Labels [0, 0]
SrcBlock "From3"
SrcPort 1
Points [-10, 0]
DstBlock "Product"
DstPort 1
}
Line {
SrcBlock "Sum1"
SrcPort 1
DstBlock "Product"
DstPort 2
}
Line {
SrcBlock "RMS"
SrcPort 1
DstBlock "To Workspace"
DstPort 1
}
Line {
SrcBlock "reset after transient 25s"
SrcPort 1
DstBlock "RMS"
DstPort 2
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -