📄 nonlinear_car.mdl
字号:
SamplingMode "auto"
LatchByDelayingOutsideSignal off
LatchByCopyingInsideSignal off
Interpolate on
}
Block {
BlockType Integrator
ExternalReset "none"
InitialConditionSource "internal"
InitialCondition "0"
LimitOutput off
UpperSaturationLimit "inf"
LowerSaturationLimit "-inf"
ShowSaturationPort off
ShowStatePort off
AbsoluteTolerance "auto"
IgnoreLimit off
ZeroCross on
}
Block {
BlockType MinMax
Function "min"
Inputs "1"
InputSameDT on
OutDataTypeMode "Inherit via internal rule"
OutDataType "sfix(16)"
OutScaling "2^0"
LockScale off
RndMeth "Floor"
SaturateOnIntegerOverflow on
ZeroCross on
SampleTime "-1"
}
Block {
BlockType Mux
Inputs "4"
DisplayOption "none"
UseBusObject off
BusObject "BusObject"
NonVirtualBus off
}
Block {
BlockType Outport
Port "1"
UseBusObject off
BusObject "BusObject"
BusOutputAsStruct off
PortDimensions "-1"
SampleTime "-1"
DataType "auto"
OutDataType "sfix(16)"
OutScaling "2^0"
SignalType "auto"
SamplingMode "auto"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Scope
ModelBased off
TickLabels "OneTimeTick"
ZoomMode "on"
Grid "on"
TimeRange "auto"
YMin "-5"
YMax "5"
SaveToWorkspace off
SaveName "ScopeData"
LimitDataPoints on
MaxDataPoints "5000"
Decimation "1"
SampleInput off
SampleTime "-1"
}
Block {
BlockType SubSystem
ShowPortLabels on
Permissions "ReadWrite"
PermitHierarchicalResolution "All"
SystemSampleTime "-1"
RTWFcnNameOpts "Auto"
RTWFileNameOpts "Auto"
SimViewingDevice off
DataTypeOverride "UseLocalSettings"
MinMaxOverflowLogging "UseLocalSettings"
}
Block {
BlockType Sum
IconShape "rectangular"
Inputs "++"
InputSameDT on
OutDataTypeMode "Same as first input"
OutDataType "sfix(16)"
OutScaling "2^0"
LockScale off
RndMeth "Floor"
SaturateOnIntegerOverflow on
SampleTime "-1"
}
}
AnnotationDefaults {
HorizontalAlignment "center"
VerticalAlignment "middle"
ForegroundColor "black"
BackgroundColor "white"
DropShadow off
FontName "arial"
FontSize 10
FontWeight "normal"
FontAngle "normal"
}
LineDefaults {
FontName "arial"
FontSize 9
FontWeight "normal"
FontAngle "normal"
}
System {
Name "nonlinear_car"
Location [217, 121, 871, 499]
Open on
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
ReportName "simulink-default.rpt"
Block {
BlockType Clock
Name "Clock in"
Position [660, 200, 680, 220]
Orientation "left"
Decimation "10"
}
Block {
BlockType Constant
Name "Constant"
Position [280, 310, 310, 340]
Orientation "left"
}
Block {
BlockType Display
Name "Display"
Ports [1]
Position [495, 315, 585, 345]
Orientation "left"
FontSize 10
Decimation "1"
Lockdown off
}
Block {
BlockType Fcn
Name "Fh"
Position [565, 235, 625, 265]
Orientation "left"
Expr "30*sin(0.0001*u)"
Port {
PortNumber 1
Name "Fh"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Fcn
Name "Fw"
Position [490, 185, 550, 215]
Orientation "left"
Expr "0.001*(u[1]+20*sin(0.01*u[2]))^2"
Port {
PortNumber 1
Name "Fw"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Gain
Name "Gain"
Position [495, 110, 545, 140]
Gain "0.01"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
Port {
PortNumber 1
Name "x''"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Integrator
Name "Integrator"
Ports [1, 1]
Position [580, 110, 610, 140]
IgnoreLimit off
Port {
PortNumber 1
Name "x'"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Integrator
Name "Integrator1"
Ports [1, 1]
Position [660, 110, 690, 140]
IgnoreLimit off
Port {
PortNumber 1
Name "x"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Gain
Name "Ke"
Position [170, 255, 200, 285]
Gain "50"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
Port {
PortNumber 1
Name "Fc"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType MinMax
Name "Low Limits"
Ports [2, 1]
Position [370, 58, 400, 142]
Function "max"
Inputs "2"
InputSameDT off
SaturateOnIntegerOverflow off
}
Block {
BlockType Constant
Name "Max Brake"
Position [310, 65, 340, 95]
Value "-2000"
}
Block {
BlockType Constant
Name "Max Thrust"
Position [180, 85, 210, 115]
Value "1000"
}
Block {
BlockType Mux
Name "Mux"
Ports [2, 1]
Position [610, 181, 615, 219]
Orientation "left"
ShowName off
Inputs "2"
DisplayOption "bar"
}
Block {
BlockType Scope
Name "Scope"
Ports [1]
Position [670, 314, 700, 346]
Floating off
Location [294, 251, 618, 490]
Open off
NumInputPorts "1"
List {
ListType AxesTitles
axes1 "%<SignalLabel>"
}
YMin "55"
YMax "65"
DataFormat "StructureWithTime"
SampleTime "0"
}
Block {
BlockType Reference
Name "Slider Gain"
Ports [1, 1]
Position [190, 307, 255, 343]
Orientation "left"
SourceBlock "simulink/Math\nOperations/Slider\nGain"
SourceType "Slider Gain"
ShowPortLabels on
low "0"
gain "62.5"
high "100"
Port {
PortNumber 1
Name "xc'"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Sum
Name "Sum"
Ports [3, 1]
Position [440, 87, 460, 163]
ShowName off
Inputs "+--"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [125, 239, 145, 301]
ShowName off
Inputs "-+"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType MinMax
Name "Up Limits"
Ports [2, 1]
Position [255, 78, 285, 162]
Function "min"
Inputs "2"
InputSameDT off
SaturateOnIntegerOverflow off
}
Line {
SrcBlock "Max Thrust"
SrcPort 1
Points [0, 0]
DstBlock "Up Limits"
DstPort 1
}
Line {
SrcBlock "Max Brake"
SrcPort 1
Points [10, 0]
DstBlock "Low Limits"
DstPort 1
}
Line {
SrcBlock "Up Limits"
SrcPort 1
Points [65, 0]
DstBlock "Low Limits"
DstPort 2
}
Line {
SrcBlock "Low Limits"
SrcPort 1
Points [0, 0]
DstBlock "Sum"
DstPort 1
}
Line {
SrcBlock "Sum"
SrcPort 1
Points [15, 0]
DstBlock "Gain"
DstPort 1
}
Line {
Name "x''"
Labels [0, 0]
SrcBlock "Gain"
SrcPort 1
Points [0, 0]
DstBlock "Integrator"
DstPort 1
}
Line {
Name "x'"
Labels [0, 0]
SrcBlock "Integrator"
SrcPort 1
Points [0, 0; 20, 0]
Branch {
DstBlock "Integrator1"
DstPort 1
}
Branch {
Points [0, 65]
DstBlock "Mux"
DstPort 1
}
Branch {
Points [0, -75]
Branch {
Points [-540, 0; 0, 205]
DstBlock "Sum1"
DstPort 1
}
Branch {
Labels [1, 0]
Points [95, 0; 0, 235; -105, 0; 0, 45]
Branch {
DstBlock "Display"
DstPort 1
}
Branch {
DstBlock "Scope"
DstPort 1
}
}
}
}
Line {
SrcBlock "Mux"
SrcPort 1
Points [-40, 0]
DstBlock "Fw"
DstPort 1
}
Line {
Name "x"
Labels [0, 0]
SrcBlock "Integrator1"
SrcPort 1
Points [15, 0; 0, 125]
DstBlock "Fh"
DstPort 1
}
Line {
Name "Fw"
Labels [2, 1]
SrcBlock "Fw"
SrcPort 1
Points [-60, 0]
DstBlock "Sum"
DstPort 3
}
Line {
Name "Fh"
Labels [3, 0]
SrcBlock "Fh"
SrcPort 1
Points [-145, 0; 0, -125]
DstBlock "Sum"
DstPort 2
}
Line {
SrcBlock "Sum1"
SrcPort 1
Points [0, 0]
DstBlock "Ke"
DstPort 1
}
Line {
Name "Fc"
Labels [0, 0]
SrcBlock "Ke"
SrcPort 1
Points [15, 0; 0, -130]
DstBlock "Up Limits"
DstPort 2
}
Line {
Name "xc'"
Labels [0, 0]
SrcBlock "Slider Gain"
SrcPort 1
Points [-90, 0; 0, -40]
DstBlock "Sum1"
DstPort 2
}
Line {
SrcBlock "Clock in"
SrcPort 1
DstBlock "Mux"
DstPort 2
}
Line {
SrcBlock "Constant"
SrcPort 1
DstBlock "Slider Gain"
DstPort 1
}
Annotation {
Name "Fe"
Position [418, 93]
UseDisplayTextAsClickCallback off
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -