⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sldemo_absbrake_digest7.mdl

📁 如何利用SIMULINK进行精确的建模
💻 MDL
📖 第 1 页 / 共 4 页
字号:
		  Name			  "Constant"
		  Position		  [65, 105, 85, 125]
		  Value			  "0"
		  VectorParams1D	  on
		  SamplingMode		  "Sample based"
		  OutDataTypeMode	  "Inherit from 'Constant value'"
		  OutDataType		  "sfix(16)"
		  ConRadixGroup		  "Use specified scaling"
		  OutScaling		  "2^0"
		  SampleTime		  "inf"
		  FramePeriod		  "inf"
		}
		Block {
		  BlockType		  DataTypeConversion
		  Name			  "Data Type Conversion1"
		  Position		  [210, 36, 265, 64]
		  ShowName		  off
		  OutDataTypeMode	  "double"
		}
		Block {
		  BlockType		  DataTypeConversion
		  Name			  "Data Type Conversion2"
		  Position		  [210, 96, 265, 124]
		  ShowName		  off
		  OutDataTypeMode	  "double"
		}
		Block {
		  BlockType		  RelationalOperator
		  Name			  "Relational\nOperator"
		  Position		  [140, 32, 170, 63]
		  Operator		  ">"
		}
		Block {
		  BlockType		  RelationalOperator
		  Name			  "Relational\nOperator1"
		  Position		  [140, 92, 170, 123]
		  Operator		  "<"
		}
		Block {
		  BlockType		  Sum
		  Name			  "Sum"
		  Ports			  [2, 1]
		  Position		  [305, 64, 325, 91]
		  Inputs		  "+-"
		}
		Block {
		  BlockType		  Outport
		  Name			  "out_1"
		  Position		  [360, 70, 380, 90]
		  IconDisplay		  "Port number"
		  BusOutputAsStruct	  off
		  InitialOutput		  "0"
		}
		Line {
		  SrcBlock		  "Data Type Conversion2"
		  SrcPort		  1
		  Points		  [20, 0]
		  DstBlock		  "Sum"
		  DstPort		  2
		}
		Line {
		  SrcBlock		  "Data Type Conversion1"
		  SrcPort		  1
		  Points		  [20, 0]
		  DstBlock		  "Sum"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "Sum"
		  SrcPort		  1
		  DstBlock		  "out_1"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "Relational\nOperator"
		  SrcPort		  1
		  DstBlock		  "Data Type Conversion1"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "Relational\nOperator1"
		  SrcPort		  1
		  DstBlock		  "Data Type Conversion2"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "Constant"
		  SrcPort		  1
		  Points		  [20, 0]
		  Branch {
		    Points		    [0, -60]
		    DstBlock		    "Relational\nOperator"
		    DstPort		    2
		  }
		  Branch {
		    DstBlock		    "Relational\nOperator1"
		    DstPort		    2
		  }
		}
		Line {
		  SrcBlock		  "in_1"
		  SrcPort		  1
		  Points		  [35, 0]
		  Branch {
		    Points		    [0, 60]
		    DstBlock		    "Relational\nOperator1"
		    DstPort		    1
		  }
		  Branch {
		    DstBlock		    "Relational\nOperator"
		    DstPort		    1
		  }
		}
	      }
	    }
	    Block {
	      BlockType		      Integrator
	      Name		      "Brake\npressure"
	      Ports		      [1, 1]
	      Position		      [240, 70, 280, 100]
	      LimitOutput	      on
	      UpperSaturationLimit    "PBmax"
	      LowerSaturationLimit    "0"
	      IgnoreLimit	      off
	    }
	    Block {
	      BlockType		      Gain
	      Name		      "Force &\ntorque"
	      Position		      [310, 67, 350, 103]
	      Gain		      "Kf"
	      Port {
		PortNumber		1
		Name			"brake torque"
		RTWStorageClass		"Auto"
		DataLoggingNameMode	"SignalName"
		DataLoggingName		"%<SignalLabel>"
	      }
	    }
	    Block {
	      BlockType		      TransferFcn
	      Name		      "Hydraulic Lag "
	      Position		      [160, 67, 215, 103]
	      Numerator		      "[100]"
	      Denominator	      "[TB 1]"
	    }
	    Block {
	      BlockType		      MinMax
	      Name		      "MinMax"
	      Ports		      [2, 1]
	      Position		      [385, 142, 415, 173]
	      Function		      "min"
	      Inputs		      "2"
	      InputSameDT	      off
	      SaturateOnIntegerOverflow	off
	    }
	    Block {
	      BlockType		      Relay
	      Name		      "Relay"
	      Position		      [495, 235, 520, 265]
	      Orientation	      "left"
	      OnSwitchValue	      "1"
	      OffSwitchValue	      "-1"
	      ZeroCross		      off
	    }
	    Block {
	      BlockType		      Sum
	      Name		      "Sum"
	      Ports		      [2, 1]
	      Position		      [485, 75, 505, 95]
	      ShowName		      off
	      IconShape		      "round"
	      Inputs		      "|-+"
	    }
	    Block {
	      BlockType		      Switch
	      Name		      "Switch"
	      Position		      [440, 70, 470, 100]
	      Criteria		      "u2 ~= 0"
	      InputSameDT	      off
	      SaturateOnIntegerOverflow	off
	    }
	    Block {
	      BlockType		      Integrator
	      Name		      "Wheel\nSpeed"
	      Ports		      [1, 1]
	      Position		      [580, 64, 610, 106]
	      InitialCondition	      "v0/Rr"
	      LimitOutput	      on
	      UpperSaturationLimit    "1000"
	      LowerSaturationLimit    "0"
	      IgnoreLimit	      off
	      Port {
		PortNumber		1
		Name			"Ww"
		RTWStorageClass		"Auto"
		DataLoggingNameMode	"SignalName"
		DataLoggingName		"%<SignalLabel>"
	      }
	    }
	    Block {
	      BlockType		      Outport
	      Name		      "WheelSpeed"
	      Position		      [690, 78, 720, 92]
	      IconDisplay	      "Port number"
	      BusOutputAsStruct	      off
	    }
	    Line {
	      SrcBlock		      "1/I"
	      SrcPort		      1
	      DstBlock		      "Wheel\nSpeed"
	      DstPort		      1
	    }
	    Line {
	      Labels		      [0, 0]
	      SrcBlock		      "Sum"
	      SrcPort		      1
	      DstBlock		      "1/I"
	      DstPort		      1
	    }
	    Line {
	      Name		      "brake torque"
	      SrcBlock		      "Force &\ntorque"
	      SrcPort		      1
	      Points		      [15, 0]
	      Branch {
		Labels			[-1, 1]
		Points			[0, -10]
		DstBlock		"Switch"
		DstPort			1
	      }
	      Branch {
		DstBlock		"MinMax"
		DstPort			1
	      }
	    }
	    Line {
	      SrcBlock		      "Brake\npressure"
	      SrcPort		      1
	      Points		      [0, 0]
	      DstBlock		      "Force &\ntorque"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "Bang-bang\ncontroller"
	      SrcPort		      1
	      DstBlock		      "1/I1"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "Hydraulic Lag "
	      SrcPort		      1
	      DstBlock		      "Brake\npressure"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "BrakeSignal"
	      SrcPort		      1
	      DstBlock		      "Bang-bang\ncontroller"
	      DstPort		      1
	    }
	    Line {
	      Name		      "Ww"
	      Labels		      [0, 0]
	      SrcBlock		      "Wheel\nSpeed"
	      SrcPort		      1
	      Points		      [45, 0]
	      Branch {
		DstBlock		"WheelSpeed"
		DstPort			1
	      }
	      Branch {
		Points			[5, 0; 0, 165]
		DstBlock		"Relay"
		DstPort			1
	      }
	    }
	    Line {
	      Labels		      [0, 0]
	      SrcBlock		      "Tire Torque"
	      SrcPort		      1
	      Points		      [0, 0]
	      Branch {
		Points			[125, 0]
		DstBlock		"Sum"
		DstPort			2
	      }
	      Branch {
		DstBlock		"MinMax"
		DstPort			2
	      }
	    }
	    Line {
	      SrcBlock		      "Switch"
	      SrcPort		      1
	      DstBlock		      "Sum"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "MinMax"
	      SrcPort		      1
	      Points		      [0, -65]
	      DstBlock		      "Switch"
	      DstPort		      3
	    }
	    Line {
	      SrcBlock		      "1/I1"
	      SrcPort		      1
	      DstBlock		      "Hydraulic Lag "
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "Relay"
	      SrcPort		      1
	      Points		      [-175, 0; 0, -115; 85, 0; 0, -50]
	      DstBlock		      "Switch"
	      DstPort		      2
	    }
	    Annotation {
	      Name		      "If wheel speed is zero, break torque is"
" equal in magnitude but opposite tire torque"
	      Position		      [494, 10]
	      UseDisplayTextAsClickCallback off
	    }
	  }
	}
	Block {
	  BlockType		  Constant
	  Name			  "Desired\nrelative\nslip"
	  Position		  [25, 27, 55, 53]
	  Value			  "0.2"
	  VectorParams1D	  on
	  SamplingMode		  "Sample based"
	  OutDataTypeMode	  "Inherit from 'Constant value'"
	  OutDataType		  "sfix(16)"
	  ConRadixGroup		  "Use specified scaling"
	  OutScaling		  "2^0"
	  SampleTime		  "inf"
	  FramePeriod		  "inf"
	}
	Block {
	  BlockType		  Gain
	  Name			  "Gain"
	  Position		  [305, 170, 335, 200]
	  ShowName		  off
	  Gain			  "-1"
	  ParameterDataTypeMode	  "Inherit via internal rule"
	  OutDataTypeMode	  "Inherit via internal rule"
	  SaturateOnIntegerOverflow off
	}
	Block {
	  BlockType		  Mux
	  Name			  "Mux"
	  Ports			  [3, 1]
	  Position		  [635, 30, 640, 260]
	  BackgroundColor	  "black"
	  ShowName		  off
	  Inputs		  "3"
	  Port {
	    PortNumber		    1
	    Name		    "yout"
	    PropagatedSignals	    "Ww, Vs, Sd"
	    TestPoint		    on
	    RTWStorageClass	    "Auto"
	    DataLogging		    on
	    DataLoggingNameMode	    "SignalName"
	    DataLoggingName	    "yout"
	  }
	}
	Block {
	  BlockType		  Constant
	  Name			  "No Brake"
	  Position		  [180, 82, 210, 108]
	  Value			  "-1"
	  VectorParams1D	  on
	  SamplingMode		  "Sample based"
	  OutDataTypeMode	  "Inherit from 'Constant value'"
	  OutDataType		  "sfix(16)"
	  ConRadixGroup		  "Use specified scaling"
	  OutScaling		  "2^0"
	  SampleTime		  "inf"
	  FramePeriod		  "inf"
	}
	Block {
	  BlockType		  Product
	  Name			  "Product"
	  Ports			  [2, 1]
	  Position		  [365, 144, 390, 166]
	  ShowName		  off
	  InputSameDT		  off
	  OutDataTypeMode	  "Inherit via internal rule"
	  SaturateOnIntegerOverflow off
	}
	Block {
	  BlockType		  Fcn
	  Name			  "Relative Slip"
	  Position		  [270, 272, 435, 298]
	  Orientation		  "left"
	  Expr			  "1.0 - u(1)/(u(2) + (u(2)==0)*eps)"
	  Port {
	    PortNumber		    1
	    Name		    "slp"
	    TestPoint		    on
	    RTWStorageClass	    "Auto"
	    DataLogging		    on
	    DataLoggingNameMode	    "SignalName"
	  }
	}
	Block {
	  BlockType		  Relay
	  Name			  "Relay"
	  Position		  [260, 170, 285, 200]
	  OffSwitchValue	  "-eps"
	}
	Block {
	  BlockType		  Gain
	  Name			  "Rr"
	  Position		  [325, 67, 365, 103]
	  ShowName		  off
	  Gain			  "-Rr"
	  Port {
	    PortNumber		    1
	    Name		    "tire torque"
	    RTWStorageClass	    "Auto"
	    DataLoggingNameMode	    "SignalName"
	    DataLoggingName	    "%<SignalLabel>"
	  }
	}
	Block {
	  BlockType		  Integrator
	  Name			  "Stopping distance"
	  Ports			  [1, 1]
	  Position		  [560, 201, 590, 239]
	  UpperSaturationLimit	  "1000"
	  LowerSaturationLimit	  "0"
	  IgnoreLimit		  off
	  Port {
	    PortNumber		    1
	    Name		    "Sd"
	    RTWStorageClass	    "Auto"
	    DataLoggingNameMode	    "SignalName"
	  }
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum1"
	  Ports			  [2, 1]
	  Position		  [90, 30, 110, 50]
	  ShowName		  off
	  IconShape		  "round"
	  Inputs		  "|+-"
	}
	Block {
	  BlockType		  Switch
	  Name			  "Switch"
	  Position		  [245, 35, 275, 65]
	  Threshold		  ".5"
	  InputSameDT		  off
	  SaturateOnIntegerOverflow off
	  Port {
	    PortNumber		    1
	    Name		    "BrakeSignal"
	    RTWStorageClass	    "Auto"
	    DataLoggingNameMode	    "SignalName"
	  }
	}
	Block {
	  BlockType		  Gain
	  Name			  "Vehicle speed\n(angular)"
	  Position		  [555, 127, 595, 163]
	  Gain			  "1/Rr"
	  Port {
	    PortNumber		    1
	    Name		    "Vs"
	    RTWStorageClass	    "Auto"
	    DataLoggingNameMode	    "SignalName"
	  }
	}
	Block {
	  BlockType		  Gain
	  Name			  "Weight"
	  Position		  [200, 133, 245, 167]
	  Gain			  "m*g/4"
	  Port {
	    PortNumber		    1
	    Name		    "Ff"
	    RTWStorageClass	    "Auto"
	    DataLoggingNameMode	    "SignalName"
	    DataLoggingName	    "%<SignalLabel>"
	  }
	}
	Block {
	  BlockType		  Lookup
	  Name			  "mu-slip\nfriction curve"
	  Position		  [140, 135, 175, 165]
	  InputValues		  "slip"
	  OutputValues		  "mu"
	}
	Block {
	  BlockType		  Outport
	  Name			  "BrakingForce"
	  Position		  [455, 148, 485, 162]
	  IconDisplay		  "Port number"
	  BusOutputAsStruct	  off
	}
	Line {
	  Name			  "yout"
	  Labels		  [1, 0]
	  SrcBlock		  "Mux"
	  SrcPort		  1
	  Points		  [50, 0; 0, 140]
	  DstBlock		  "Relative Slip"
	  DstPort		  1
	}
	Line {
	  Name			  "Vs"
	  Labels		  [0, 0]
	  SrcBlock		  "Vehicle speed\n(angular)"
	  SrcPort		  1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -