📄 hdd2.mdl
字号:
ActionType "else"
}
Block {
BlockType Outport
Name "Out1"
Position [325, 78, 355, 92]
}
Line {
SrcBlock "In1"
SrcPort 1
DstBlock "Out1"
DstPort 1
}
}
}
Block {
BlockType Merge
Name "Merge"
Ports [2, 1]
Position [580, 150, 620, 190]
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [855, 235, 875, 255]
ShowName off
IconShape "round"
Inputs "|++"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
}
Block {
BlockType Sum
Name "Sum2"
Ports [2, 1]
Position [255, 115, 275, 135]
ShowName off
IconShape "round"
Inputs "|+-"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
}
Block {
BlockType Sum
Name "Sum4"
Ports [2, 1]
Position [720, 160, 740, 180]
ShowName off
IconShape "round"
Inputs "|++"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
Port {
PortNumber 1
Name "xD"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
DataLogging off
DataLoggingNameMode "SignalName"
DataLoggingDecimateData off
DataLoggingDecimation "2"
DataLoggingLimitDataPoints off
DataLoggingMaxPoints "5000"
}
}
Block {
BlockType UnitDelay
Name "Unit Delay"
Position [195, 105, 230, 145]
SampleTime "0.01"
}
Block {
BlockType UnitDelay
Name "Unit Delay1"
Position [792, 190, 828, 230]
Orientation "down"
NamePlacement "alternate"
SampleTime "-1"
Port {
PortNumber 1
Name "f_error"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
DataLogging off
DataLoggingNameMode "SignalName"
DataLoggingDecimateData off
DataLoggingDecimation "2"
DataLoggingLimitDataPoints off
DataLoggingMaxPoints "5000"
}
}
Block {
BlockType ZeroOrderHold
Name "Zero-Order\nHold"
Position [195, 171, 230, 209]
SampleTime "0.01"
}
Block {
BlockType ZeroOrderHold
Name "Zero-Order\nHold1"
Position [720, 331, 755, 369]
SampleTime "0.01"
}
Block {
BlockType Outport
Name "Out"
Position [910, 238, 940, 252]
}
Line {
SrcBlock "Unit Delay"
SrcPort 1
DstBlock "Sum2"
DstPort 1
}
Line {
SrcBlock "Sum2"
SrcPort 1
Points [0, 0; 10, 0]
Branch {
Points [0, -55]
DstBlock "If"
DstPort 1
}
Branch {
Points [0, 0]
DstBlock "If Action\nSubsystem"
DstPort 1
}
}
Line {
SrcBlock "If"
SrcPort 1
Points [75, 0]
DstBlock "If Action\nSubsystem"
DstPort ifaction
}
Line {
SrcBlock "Constant"
SrcPort 1
DstBlock "If Action\nSubsystem1"
DstPort 1
}
Line {
SrcBlock "If"
SrcPort 2
Points [20, 0; 0, 95; 55, 0]
DstBlock "If Action\nSubsystem1"
DstPort ifaction
}
Line {
SrcBlock "If Action\nSubsystem"
SrcPort 1
Points [20, 0; 0, 35]
DstBlock "Merge"
DstPort 1
}
Line {
SrcBlock "If Action\nSubsystem1"
SrcPort 1
Points [20, 0; 0, -30]
DstBlock "Merge"
DstPort 2
}
Line {
SrcBlock "Merge"
SrcPort 1
DstBlock "Gain1"
DstPort 1
}
Line {
SrcBlock "Gain2"
SrcPort 1
DstBlock "Sum4"
DstPort 2
}
Line {
SrcBlock "Gain1"
SrcPort 1
DstBlock "Sum4"
DstPort 1
}
Line {
Name "xD"
Labels [0, 0]
SrcBlock "Sum4"
SrcPort 1
Points [65, 0]
DstBlock "Unit Delay1"
DstPort 1
}
Line {
Name "f_error"
Labels [2, 0]
SrcBlock "Unit Delay1"
SrcPort 1
Points [0, 0; 0, 10]
Branch {
DstBlock "Gain2"
DstPort 1
}
Branch {
DstBlock "Sum1"
DstPort 1
}
}
Line {
SrcBlock "Zero-Order\nHold"
SrcPort 1
Points [30, 0]
DstBlock "Sum2"
DstPort 2
}
Line {
SrcBlock "In"
SrcPort 1
Points [0, 0; 95, 0]
Branch {
Points [0, -5]
DstBlock "Unit Delay"
DstPort 1
}
Branch {
Points [0, 60]
DstBlock "Zero-Order\nHold"
DstPort 1
}
}
Line {
SrcBlock "Constant1"
SrcPort 1
DstBlock "Zero-Order\nHold1"
DstPort 1
}
Line {
SrcBlock "Sum1"
SrcPort 1
DstBlock "Out"
DstPort 1
}
Line {
SrcBlock "Zero-Order\nHold1"
SrcPort 1
Points [105, 0]
DstBlock "Sum1"
DstPort 2
}
}
}
Block {
BlockType Constant
Name "DC Drive signal"
Position [465, 195, 495, 225]
Orientation "left"
Value "2"
}
Block {
BlockType SubSystem
Name "DocBlock"
Ports []
Position [92, 480, 132, 519]
ShowName off
List {
ListType RTWdata
document_text01 "Simple model of a hard disk drive spin contro"
"ller"
}
CopyFcn "docblock('breaklink',gcb);"
DeleteFcn "docblock('close_document',gcb);"
PreSaveFcn "docblock('save_document',gcb);"
OpenFcn "docblock('edit_document',gcb);"
TreatAsAtomicUnit off
MaskType "DocBlock"
MaskDescription "Use this block to save long descriptive text wi"
"th the model. Double-clicking the block will open an editor."
MaskPromptString "E Coder Flag|Document Type"
MaskStyleString "edit,popup(Text|RTF|HTML)"
MaskTunableValueString "off,off"
MaskCallbackString "|"
MaskEnableString "on,on"
MaskVisibilityString "on,off"
MaskToolTipString "on,on"
MaskVarAliasString ","
MaskVariables "ECoderFlag=&1;DocumentType=&2;"
MaskDisplay "plot([.8 0 0 1 1 .8 .8 1],[1 1 0 0 .8 1 .8 .8])"
";\ntext(.5,.5,'DOC','horizontalalignment','center');\n"
MaskIconFrame off
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "|Text"
System {
Name "DocBlock"
Location [480, 85, 980, 386]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType SubSystem
Name "EmptySubsystem"
Ports []
Position [115, 50, 145, 80]
TreatAsAtomicUnit off
System {
Name "EmptySubsystem"
Location [146, 180, 902, 673]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
}
}
}
}
Block {
BlockType DiscretePulseGenerator
Name "Friction disturbance"
Position [605, 483, 650, 517]
Orientation "left"
AttributesFormatString "A = %<Amplitude>"
PulseType "Time based"
Amplitude "0.01"
Period "200"
PulseWidth "50"
PhaseDelay "100"
Port {
PortNumber 1
Name "disturb"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
DataLogging off
DataLoggingNameMode "SignalName"
DataLoggingDecimateData off
DataLoggingDecimation "2"
DataLoggingLimitDataPoints off
DataLoggingMaxPoints "5000"
}
}
Block {
BlockType Constant
Name "Friction/back emf coeff"
Position [500, 530, 530, 560]
Orientation "up"
NamePlacement "alternate"
Value "-0.1"
}
Block {
BlockType From
Name "From1"
Position [750, 190, 810, 210]
CloseFcn "tagdialog Close"
GotoTag "friction"
Port {
PortNumber 1
PropagatedSignals "friction"
ShowPropagatedSignals "on"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
DataLogging off
DataLoggingNameMode "SignalName"
DataLoggingDecimateData off
DataLoggingDecimation "2"
DataLoggingLimitDataPoints off
DataLoggingMaxPoints "5000"
}
}
Block {
BlockType From
Name "From3"
Position [470, 455, 535, 475]
Orientation "left"
CloseFcn "tagdialog Close"
GotoTag "ang_vel"
Port {
PortNumber 1
PropagatedSignals "ang vel"
ShowPropagatedSignals "on"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
DataLogging off
DataLoggingNameMode "SignalName"
DataLoggingDecimateData off
DataLoggingDecimation "2"
DataLoggingLimitDataPoints off
DataLoggingMaxPoints "5000"
}
}
Block {
BlockType Gain
Name "Gain"
Position [480, 240, 510, 270]
Orientation "left"
Gain "lgain"
}
Block {
BlockType Goto
Name "Goto"
Position [365, 594, 425, 616]
Orientation "left"
GotoTag "friction"
TagVisibility "local"
}
Block {
BlockType Goto
Name "Goto1"
Position [705, 129, 765, 151]
GotoTag "ang_vel"
TagVisibility "local"
}
Block {
BlockType Product
Name "Product"
Ports [2, 1]
Position [395, 476, 440, 509]
Orientation "left"
InputSameDT off
Port {
PortNumber 1
Name "Friction proportional to ang vel"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
DataLogging off
DataLoggingNameMode "SignalName"
DataLoggingDecimateData off
DataLoggingDecimation "2"
DataLoggingLimitDataPoints off
DataLoggingMaxPoints "5000"
}
}
Block {
BlockType Reference
Name "RMS"
Ports [2, 1]
Position [830, 317, 905, 353]
SourceBlock "dspstat3/RMS"
SourceType "RMS"
run on
reset_popup "Rising edge"
}
Block {
BlockType Scope
Name "Scope"
Ports [3]
Position [905, 141, 1005, 259]
Location [1, 49, 1025, 739]
Open off
NumInputPorts "3"
List {
ListType AxesTitles
axes1 "%<SignalLabel>"
axes2 "%<SignalLabel>"
axes3 "%<SignalLabel>"
}
List {
ListType SelectedSignals
axes1 ""
axes2 ""
axes3 ""
}
TimeRange "200"
YMin "0~-0.11~-0.03"
YMax "25~-0.08~0.03"
DataFormat "StructureWithTime"
LimitDataPoints off
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [505, 490, 525, 510]
Orientation "left"
ShowName off
IconShape "round"
Inputs "|++"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
Port {
PortNumber 1
Name "friction"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
DataLogging off
DataLoggingNameMode "SignalName"
DataLoggingDecimateData off
DataLoggingDecimation "2"
DataLoggingLimitDataPoints off
DataLoggingMaxPoints "5000"
}
}
Block {
BlockType Sum
Name "Sum3"
Ports [2, 1]
Position [385, 200, 405, 220]
Orientation "left"
ShowName off
IconShape "round"
Inputs "|+-"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
}
Block {
BlockType ToWorkspace
Name "To Workspace"
Position [945, 395, 1005, 425]
VariableName "meanerror"
MaxDataPoints "1"
SampleTime "-1"
SaveFormat "Array"
}
Block {
BlockType Display
Name "error"
Ports [1]
Position [605, 330, 695, 360]
Decimation "1"
}
Block {
BlockType Display
Name "meanerror"
Ports [1]
Position [930, 320, 1020, 350]
Decimation "1"
}
Block {
BlockType Reference
Name "motor forces\ndrive and friction"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -