📄 ship_fin.mdl
字号:
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Saturate
UpperLimit "0.5"
LowerLimit "-0.5"
LinearizeAsGain on
ZeroCross on
SampleTime "-1"
}
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 "S-Function"
FunctionName "system"
SFunctionModules "''"
PortCounts "[]"
}
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"
}
Block {
BlockType Switch
Criteria "u2 >= Threshold"
Threshold "0"
InputSameDT on
OutDataTypeMode "Inherit via internal rule"
RndMeth "Floor"
SaturateOnIntegerOverflow on
ZeroCross on
SampleTime "-1"
}
Block {
BlockType ToFile
Filename "untitled.mat"
MatrixName "ans"
Decimation "1"
SampleTime "-1"
}
Block {
BlockType TransferFcn
Numerator "[1]"
Denominator "[1 2 1]"
AbsoluteTolerance "auto"
Realization "auto"
}
}
AnnotationDefaults {
HorizontalAlignment "center"
VerticalAlignment "middle"
ForegroundColor "black"
BackgroundColor "white"
DropShadow off
FontName "Helvetica"
FontSize 10
FontWeight "normal"
FontAngle "normal"
}
LineDefaults {
FontName "Helvetica"
FontSize 9
FontWeight "normal"
FontAngle "normal"
}
System {
Name "ship_fin"
Location [2, 70, 1022, 717]
Open on
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
ReportName "simulink-default.rpt"
Block {
BlockType Gain
Name "Gain"
Position [690, 375, 720, 405]
Orientation "left"
NamePlacement "alternate"
Gain "3.6"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "Gain1"
Position [120, 375, 150, 405]
Orientation "left"
NamePlacement "alternate"
Gain "0.2564"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "Kd"
Position [475, 375, 505, 405]
Orientation "left"
NamePlacement "alternate"
Gain "2.90"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "Ki"
Position [475, 300, 505, 330]
Orientation "left"
NamePlacement "alternate"
Gain "53.54"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "Kp"
Position [530, 455, 560, 485]
Orientation "left"
NamePlacement "alternate"
Gain "33.14"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Reference
Name "Manual Switch"
Ports [2, 1]
Position [355, 182, 385, 218]
SourceBlock "simulink/Signal\nRouting/Manual Switch"
SourceType "Manual Switch"
ShowPortLabels on
sw "0"
action "0"
}
Block {
BlockType Reference
Name "Manual Switch1"
Ports [2, 1]
Position [872, 295, 908, 325]
Orientation "down"
NamePlacement "alternate"
SourceBlock "simulink/Signal\nRouting/Manual Switch"
SourceType "Manual Switch"
ShowPortLabels on
sw "1"
action "0"
}
Block {
BlockType Scope
Name "Scope"
Ports [1]
Position [935, 189, 965, 221]
Floating off
Location [23, 322, 641, 728]
Open off
NumInputPorts "1"
List {
ListType AxesTitles
axes1 "%<SignalLabel>"
}
YMin "-0.8"
YMax "0.8"
DataFormat "StructureWithTime"
LimitDataPoints off
}
Block {
BlockType Scope
Name "Scope1"
Ports [1]
Position [310, 524, 340, 556]
Floating off
Location [5, 45, 1029, 737]
Open off
NumInputPorts "1"
List {
ListType AxesTitles
axes1 "%<SignalLabel>"
}
YMin "-22.5"
YMax "22.5"
SaveName "ScopeData1"
DataFormat "StructureWithTime"
LimitDataPoints off
}
Block {
BlockType Scope
Name "Scope2"
Ports [1]
Position [475, 109, 505, 141]
Floating off
Location [13, 40, 613, 447]
Open off
NumInputPorts "1"
List {
ListType AxesTitles
axes1 "%<SignalLabel>"
}
SaveName "ScopeData2"
DataFormat "StructureWithTime"
LimitDataPoints off
}
Block {
BlockType Sum
Name "Subtract"
Ports [2, 1]
Position [445, 177, 475, 208]
Inputs "+-"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
OutScaling "2^-10"
SaturateOnIntegerOverflow off
}
Block {
BlockType Sum
Name "Sum"
Ports [3, 1]
Position [410, 357, 430, 423]
Orientation "left"
NamePlacement "alternate"
ShowName off
Inputs "+++"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType TransferFcn
Name "Transfer Fcn"
Position [550, 177, 610, 213]
Denominator "[3.6473 0.5538 1]"
}
Block {
BlockType TransferFcn
Name "Transfer Fcn1"
Position [790, 372, 850, 408]
Orientation "left"
NamePlacement "alternate"
Numerator "[0.1 0]"
Denominator "[0.00025 0.02 1]"
}
Block {
BlockType TransferFcn
Name "Transfer Fcn2"
Position [310, 372, 370, 408]
Orientation "left"
NamePlacement "alternate"
Numerator "[550]"
Denominator "[1 15 225]"
}
Block {
BlockType Saturate
Name "angle saturation1"
Position [250, 375, 280, 405]
Orientation "left"
UpperLimit "22"
LowerLimit "-22"
}
Block {
BlockType ToFile
Name "data of rolling"
Position [930, 245, 990, 275]
Filename "D:\\simulation model\\rolling_angle.mat"
}
Block {
BlockType ToFile
Name "data of fin angle"
Position [300, 465, 360, 495]
Filename "D:\\simulation model\\fin_angle.mat"
}
Block {
BlockType TransferFcn
Name "differential"
Position [535, 372, 595, 408]
Orientation "left"
NamePlacement "alternate"
Numerator "[0.064 0]"
Denominator "[0.0115 0.244 1]"
}
Block {
BlockType TransferFcn
Name "integral"
Position [530, 297, 590, 333]
Orientation "left"
NamePlacement "alternate"
Denominator "[25 1]"
}
Block {
BlockType FromFile
Name "random wave"
Position [255, 93, 320, 117]
FileName "D:\\simulation model\\wave_slope.mat"
}
Line {
SrcBlock "Transfer Fcn"
SrcPort 1
Points [285, 0; 0, 10]
Branch {
DstBlock "Scope"
DstPort 1
}
Branch {
Points [0, 55]
Branch {
DstBlock "data of rolling"
DstPort 1
}
Branch {
DstBlock "Manual Switch1"
DstPort 2
}
}
}
Line {
SrcBlock "Transfer Fcn1"
SrcPort 1
DstBlock "Gain"
DstPort 1
}
Line {
SrcBlock "random wave"
SrcPort 1
Points [100, 0; 0, 20]
Branch {
Points [0, 60]
DstBlock "Subtract"
DstPort 1
}
Branch {
DstBlock "Scope2"
DstPort 1
}
}
Line {
SrcBlock "Manual Switch"
SrcPort 1
DstBlock "Subtract"
DstPort 2
}
Line {
SrcBlock "Gain"
SrcPort 1
Points [-60, 0]
Branch {
DstBlock "differential"
DstPort 1
}
Branch {
Points [0, 10]
Branch {
Points [0, 70]
DstBlock "Kp"
DstPort 1
}
Branch {
Points [0, -85]
DstBlock "integral"
DstPort 1
}
}
}
Line {
SrcBlock "Gain1"
SrcPort 1
Points [-40, 0; 0, -200]
DstBlock "Manual Switch"
DstPort 1
}
Line {
SrcBlock "Subtract"
SrcPort 1
DstBlock "Transfer Fcn"
DstPort 1
}
Line {
SrcBlock "Manual Switch1"
SrcPort 1
Points [0, 60]
DstBlock "Transfer Fcn1"
DstPort 1
}
Line {
SrcBlock "Transfer Fcn2"
SrcPort 1
DstBlock "angle saturation1"
DstPort 1
}
Line {
SrcBlock "Ki"
SrcPort 1
Points [-15, 0; 0, 55]
DstBlock "Sum"
DstPort 1
}
Line {
SrcBlock "Kd"
SrcPort 1
DstBlock "Sum"
DstPort 2
}
Line {
SrcBlock "Kp"
SrcPort 1
Points [-65, 0; 0, -60]
DstBlock "Sum"
DstPort 3
}
Line {
SrcBlock "integral"
SrcPort 1
DstBlock "Ki"
DstPort 1
}
Line {
SrcBlock "differential"
SrcPort 1
DstBlock "Kd"
DstPort 1
}
Line {
SrcBlock "Sum"
SrcPort 1
DstBlock "Transfer Fcn2"
DstPort 1
}
Line {
SrcBlock "angle saturation1"
SrcPort 1
Points [-35, 0]
Branch {
DstBlock "Gain1"
DstPort 1
}
Branch {
Points [0, 85]
Branch {
Points [0, 5]
DstBlock "data of fin angle"
DstPort 1
}
Branch {
Points [0, 65]
DstBlock "Scope1"
DstPort 1
}
}
}
Annotation {
Name "Fin"
Position [139, 424]
UseDisplayTextAsClickCallback off
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -