📄 motora_control.mdl
字号:
}
Block {
BlockType DiscreteStateSpace
Name "Discrete State-Space"
Position [180, 32, 300, 68]
A "A"
B "B"
C "C"
D "D"
X0 "x0"
SampleTime "Ts"
Realization "auto"
}
Block {
BlockType Saturate
Name "Saturation"
Position [130, 35, 160, 65]
UpperLimit "12"
LowerLimit "-12"
LinearizeAsGain on
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [325, 40, 345, 60]
ShowName off
IconShape "round"
Inputs "|+-"
SaturateOnIntegerOverflow on
}
Block {
BlockType ZeroOrderHold
Name "Zero-Order\nHold"
Position [75, 31, 110, 69]
SampleTime "Ts"
}
Block {
BlockType ZeroOrderHold
Name "Zero-Order\nHold1"
Position [365, 31, 400, 69]
SampleTime "Ts"
}
Block {
BlockType Outport
Name "v"
Position [435, 43, 465, 57]
Port "1"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Outport
Name "u1"
Position [435, 113, 465, 127]
Port "2"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Line {
SrcBlock "u"
SrcPort 1
DstBlock "Zero-Order\nHold"
DstPort 1
}
Line {
SrcBlock "Saturation"
SrcPort 1
Points [0, 0]
Branch {
DstBlock "Discrete State-Space"
DstPort 1
}
Branch {
Points [0, 70]
DstBlock "u1"
DstPort 1
}
}
Line {
SrcBlock "Discrete State-Space"
SrcPort 1
DstBlock "Sum1"
DstPort 1
}
Line {
SrcBlock "Sum1"
SrcPort 1
DstBlock "Zero-Order\nHold1"
DstPort 1
}
Line {
SrcBlock "disturbance"
SrcPort 1
Points [280, 0]
DstBlock "Sum1"
DstPort 2
}
Line {
SrcBlock "Zero-Order\nHold"
SrcPort 1
DstBlock "Saturation"
DstPort 1
}
Line {
SrcBlock "Zero-Order\nHold1"
SrcPort 1
DstBlock "v"
DstPort 1
}
}
}
Block {
BlockType Mux
Name "Mux"
Ports [2, 1]
Position [395, 31, 400, 69]
ShowName off
Inputs "2"
DisplayOption "bar"
}
Block {
BlockType RandomNumber
Name "Random\nNumber"
Position [20, 110, 50, 140]
Mean "0"
Variance "1"
Seed "0"
SampleTime "0"
VectorParams1D on
}
Block {
BlockType Scope
Name "Scope"
Ports [1]
Position [500, 35, 520, 65]
Floating off
Location [8, 65, 237, 237]
Open on
NumInputPorts "1"
TickLabels "OneTimeTick"
ZoomMode "on"
List {
ListType AxesTitles
axes1 "%<SignalLabel>"
}
Grid "on"
TimeRange "0.8"
YMin "0"
YMax "8"
SaveToWorkspace off
SaveName "ScopeData"
DataFormat "StructureWithTime"
LimitDataPoints on
MaxDataPoints "50000"
Decimation "1"
SampleInput off
SampleTime "0"
}
Block {
BlockType Step
Name "Step"
Position [15, 25, 40, 55]
Time "0"
Before "0"
After "4"
SampleTime "Ts"
VectorParams1D on
}
Block {
BlockType Sum
Name "Sum"
Ports [2, 1]
Position [150, 30, 170, 50]
ShowName off
IconShape "round"
Inputs "|+-"
SaturateOnIntegerOverflow on
}
Block {
BlockType ToWorkspace
Name "To Workspace\nRPM"
Position [470, 85, 490, 105]
VariableName "y"
MaxDataPoints "inf"
Decimation "1"
SampleTime "-1"
SaveFormat "Array"
}
Block {
BlockType ToWorkspace
Name "To Workspace2"
Position [380, 140, 405, 170]
VariableName "t"
MaxDataPoints "inf"
Decimation "1"
SampleTime "-1"
SaveFormat "Array"
}
Block {
BlockType ZeroOrderHold
Name "Zero-Order\nHold"
Position [315, 136, 350, 174]
SampleTime "Ts"
}
Block {
BlockType Outport
Name "Out1"
Position [235, 128, 265, 142]
Port "1"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Outport
Name "Out2"
Position [80, 78, 110, 92]
Port "2"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Outport
Name "Out3"
Position [515, 148, 545, 162]
Port "3"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Outport
Name "Out4"
Position [400, 78, 430, 92]
Port "4"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Outport
Name "NCD Outport"
Position [390, 205, 445, 265]
DropShadow on
OpenFcn "optblock"
Port "5"
OutputWhenDisabled "held"
InitialOutput "0"
MaskType "NCD Outport"
MaskDisplay "plot([0:10],[-.5 1.5 .6 1.3 .8 1.1 .95 1.02 .99"
" 1 1]);\ndisp('\\n\\n NCD\\n OutPort 5'); "
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
}
Line {
SrcBlock "Clock"
SrcPort 1
DstBlock "Zero-Order\nHold"
DstPort 1
}
Line {
SrcBlock "Step"
SrcPort 1
Points [5, 0]
Branch {
DstBlock "Gain1"
DstPort 1
}
Branch {
Points [0, 45]
DstBlock "Out2"
DstPort 1
}
}
Line {
SrcBlock "Sum"
SrcPort 1
Points [0, 5]
Branch {
Points [0, 30]
Branch {
DstBlock "Discrete-Time\nIntegrator"
DstPort 1
}
Branch {
Points [0, 60]
DstBlock "Out1"
DstPort 1
}
}
Branch {
Points [20, 0; 0, -10]
DstBlock "FLC Subsystem"
DstPort 1
}
}
Line {
SrcBlock "Discrete-Time\nIntegrator"
SrcPort 1
Points [0, -15]
DstBlock "FLC Subsystem"
DstPort 2
}
Line {
SrcBlock "Gain2"
SrcPort 1
Points [130, 0]
DstBlock "Motor speed\nSubsystem"
DstPort 2
}
Line {
SrcBlock "Motor speed\nSubsystem"
SrcPort 1
Points [5, 0; 0, 25; 5, 0]
Branch {
DstBlock "Mux"
DstPort 2
}
Branch {
Points [0, 45]
Branch {
Points [-220, 0]
Branch {
DstBlock "Sum"
DstPort 2
}
Branch {
Points [0, 55]
DstBlock "Gain4"
DstPort 1
}
}
Branch {
Points [35, 0]
DstBlock "Gain6"
DstPort 1
}
}
}
Line {
SrcBlock "FLC Subsystem"
SrcPort 1
DstBlock "Motor speed\nSubsystem"
DstPort 1
}
Line {
SrcBlock "Random\nNumber"
SrcPort 1
DstBlock "Gain2"
DstPort 1
}
Line {
SrcBlock "Zero-Order\nHold"
SrcPort 1
DstBlock "To Workspace2"
DstPort 1
}
Line {
SrcBlock "Gain1"
SrcPort 1
Points [0, 0]
Branch {
DstBlock "Sum"
DstPort 1
}
Branch {
Points [0, -25; 250, 0]
DstBlock "Mux"
DstPort 1
}
}
Line {
SrcBlock "Mux"
SrcPort 1
DstBlock "Gain3"
DstPort 1
}
Line {
SrcBlock "Gain3"
SrcPort 1
Points [0, 0]
Branch {
DstBlock "Scope"
DstPort 1
}
Branch {
Points [0, 20; -30, 0]
DstBlock "To Workspace\nRPM"
DstPort 1
}
}
Line {
SrcBlock "Gain4"
SrcPort 1
Points [20, 0; 0, 75]
DstBlock "Gain5"
DstPort 1
}
Line {
SrcBlock "Gain5"
SrcPort 1
DstBlock "NCD Outport"
DstPort 1
}
Line {
SrcBlock "Gain6"
SrcPort 1
DstBlock "Out3"
DstPort 1
}
Line {
SrcBlock "Motor speed\nSubsystem"
SrcPort 2
Points [0, 25]
DstBlock "Out4"
DstPort 1
}
Annotation {
Position [123, 224]
Text "Motora_control.mdl\nPenChen Chou, Aug. 4, 2001."
"\nRun ex631conv before simulation"
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -