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

📄 testbcirobot.mdl

📁 simulink real-time workshop for dragon12 development board from
💻 MDL
📖 第 1 页 / 共 4 页
字号:
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"A4"
	PaperUnits		"centimeters"
	ZoomFactor		"100"
	Block {
	  BlockType		  Inport
	  Name			  "In1"
	  Position		  [30, 20, 50, 40]
	  FontSize		  12
	}
	Block {
	  BlockType		  "S-Function"
	  Name			  "Digital Output SFcn"
	  Tag			  "MC9S12target"
	  Ports			  [1]
	  Position		  [255, 81, 380, 119]
	  List {
	    ListType		    RTWdata
	    portStr		    "PORTA"
	    ddrStr		    "DDRA"
	    pinMask		    "64"
	    pinStr		    "6"
	  }
	  FontSize		  12
	  FunctionName		  "digOut_sfcn_9S12"
	  Parameters		  "sampletime, port, pins, Von, Voff"
	}
	Block {
	  BlockType		  Mux
	  Name			  "Mux"
	  Ports			  [1, 1]
	  Position		  [165, 40, 170, 220]
	  ShowName		  off
	  Inputs		  "1"
	  DisplayOption		  "bar"
	}
	Line {
	  SrcBlock		  "Mux"
	  SrcPort		  1
	  Points		  [0, -30]
	  DstBlock		  "Digital Output SFcn"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "In1"
	  SrcPort		  1
	  Points		  [95, 0]
	  DstBlock		  "Mux"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "left stepper motor driver"
      Ports		      [1, 2]
      Position		      [295, 71, 420, 129]
      NamePlacement	      "alternate"
      TreatAsAtomicUnit	      off
      MaskDescription	      "The block sample time (seconds) is used to cloc"
"k the digital motor driver algorithm. Smaller values lead to slower pulse seq"
"uences.\n"
      MaskPromptString	      "Maximum number of pulses per second (Nmax)|Numb"
"er of increments (Ninc = 1 ... Nmax)|Sample time"
      MaskStyleString	      "edit,edit,edit"
      MaskTunableValueString  "on,on,on"
      MaskCallbackString      "||"
      MaskEnableString	      "on,on,on"
      MaskVisibilityString    "on,on,on"
      MaskToolTipString	      "on,on,on"
      MaskVarAliasString      ",,"
      MaskVariables	      "Nmax=@1;Ninc=@2;Ts=@3;"
      MaskInitialization      "Nmax = floor(abs(Nmax));\nNinc = max(1, floor(a"
"bs(Ninc)));\nif (Ninc > Nmax)\n	error(['Stepper motor driver: Invalid "
"number of increments (Ninc = ' num2str(Ninc) '; value must be smaller or equa"
"l to Nmax = ' num2str(Nmax) ')'])\nend\n\n% work out pulse length\nTpulse_ = "
"1/Nmax/2;\n%disp(['Pulse length: ' num2str(1000*Tpulse_) ' ms.'])\n\n% ensure"
" that sample time is fixed multiple of 'Ts'\nTpulse = ceil(Tpulse_/Ts)*Ts;\ni"
"f (Tpulse > Tpulse_)\n	disp('Decreasing maximum number of pulses per s"
"econd to ensure that the pulse duration is an integer multiple of ''Ts''')\n"
"	\n	% adjust Nmax\n	Nmax = floor(1/Tpulse/2);\n	d"
"isp(['New Nmax: ' num2str(Nmax) ' pulses per second.'])\nend\n	\n% wor"
"k out quantization interval\ndQ = floor(Nmax/Ninc);"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "200|20|2e-3"
      System {
	Name			"left stepper motor driver"
	Location		[115, 151, 1014, 474]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"A4"
	PaperUnits		"centimeters"
	ZoomFactor		"100"
	Block {
	  BlockType		  Inport
	  Name			  "VelocityIn [-1 to 1]"
	  Position		  [825, 223, 855, 237]
	  Orientation		  "left"
	}
	Block {
	  BlockType		  Saturate
	  Name			  "0 ... 1"
	  Position		  [525, 215, 555, 245]
	  Orientation		  "left"
	  UpperLimit		  "1"
	  LowerLimit		  "0"
	}
	Block {
	  BlockType		  Abs
	  Name			  "Abs"
	  Position		  [575, 215, 605, 245]
	  Orientation		  "left"
	  ShowName		  off
	  SaturateOnIntegerOverflow off
	}
	Block {
	  BlockType		  Constant
	  Name			  "Constant"
	  Position		  [190, 40, 220, 70]
	  Orientation		  "left"
	  ShowName		  off
	  Value			  "0"
	}
	Block {
	  BlockType		  Constant
	  Name			  "Constant1"
	  Position		  [40, 85, 70, 115]
	  ShowName		  off
	}
	Block {
	  BlockType		  Constant
	  Name			  "Constant3"
	  Position		  [525, 175, 555, 205]
	  Orientation		  "left"
	  ShowName		  off
	}
	Block {
	  BlockType		  Constant
	  Name			  "Constant4"
	  Position		  [665, 180, 695, 210]
	  Orientation		  "left"
	  ShowName		  off
	  Value			  "0"
	}
	Block {
	  BlockType		  Constant
	  Name			  "Constant5"
	  Position		  [250, 260, 280, 290]
	  ShowName		  off
	  Value			  "Nmax"
	}
	Block {
	  BlockType		  Constant
	  Name			  "Constant6"
	  Position		  [350, 180, 380, 210]
	  Orientation		  "left"
	  ShowName		  off
	}
	Block {
	  BlockType		  DataTypeConversion
	  Name			  "Data Type Conversion"
	  Position		  [730, 86, 785, 114]
	  ShowName		  off
	  DataType		  "double"
	}
	Block {
	  BlockType		  DataTypeConversion
	  Name			  "Data Type Conversion1"
	  Position		  [730, 146, 785, 174]
	  ShowName		  off
	  DataType		  "double"
	}
	Block {
	  BlockType		  Gain
	  Name			  "Gain"
	  Position		  [400, 213, 445, 247]
	  Orientation		  "left"
	  Gain			  "Nmax"
	}
	Block {
	  BlockType		  Quantizer
	  Name			  "Quantizer"
	  Position		  [350, 215, 380, 245]
	  Orientation		  "left"
	  QuantizationInterval	  "dQ"
	}
	Block {
	  BlockType		  RelationalOperator
	  Name			  "Relational\nOperator"
	  Position		  [350, 82, 380, 113]
	  ShowName		  off
	  InputSameDT		  off
	  LogicOutDataTypeMode	  "Specify via dialog"
	}
	Block {
	  BlockType		  RelationalOperator
	  Name			  "Relational\nOperator1"
	  Position		  [250, 222, 280, 253]
	  Orientation		  "left"
	  ShowName		  off
	  Operator		  "=="
	  InputSameDT		  off
	  LogicOutDataTypeMode	  "Specify via dialog"
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum"
	  Ports			  [2, 1]
	  Position		  [105, 90, 125, 110]
	  NamePlacement		  "alternate"
	  ShowName		  off
	  IconShape		  "round"
	  Inputs		  "++|"
	  InputSameDT		  off
	  OutDataTypeMode	  "Inherit via internal rule"
	  SaturateOnIntegerOverflow off
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum1"
	  Ports			  [2, 1]
	  Position		  [480, 220, 500, 240]
	  Orientation		  "left"
	  NamePlacement		  "alternate"
	  ShowName		  off
	  IconShape		  "round"
	  Inputs		  "+-|"
	  InputSameDT		  off
	  OutDataTypeMode	  "Inherit via internal rule"
	  SaturateOnIntegerOverflow off
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum2"
	  Ports			  [2, 1]
	  Position		  [225, 125, 245, 145]
	  Orientation		  "left"
	  NamePlacement		  "alternate"
	  ShowName		  off
	  IconShape		  "round"
	  Inputs		  "|++"
	  InputSameDT		  off
	  OutDataTypeMode	  "Inherit via internal rule"
	  SaturateOnIntegerOverflow off
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum3"
	  Ports			  [2, 1]
	  Position		  [305, 185, 325, 205]
	  Orientation		  "up"
	  ShowName		  off
	  IconShape		  "round"
	  Inputs		  "|++"
	  InputSameDT		  off
	  OutDataTypeMode	  "Inherit via internal rule"
	  SaturateOnIntegerOverflow off
	}
	Block {
	  BlockType		  Switch
	  Name			  "Switch"
	  Position		  [190, 75, 220, 105]
	  Criteria		  "u2 > Threshold"
	  InputSameDT		  off
	  SaturateOnIntegerOverflow off
	}
	Block {
	  BlockType		  UnitDelay
	  Name			  "Unit Delay"
	  Position		  [245, 73, 280, 107]
	  ShowName		  off
	  SampleTime		  "Tpulse"
	}
	Block {
	  BlockType		  RelationalOperator
	  Name			  "compare"
	  Position		  [665, 142, 695, 173]
	  ShowName		  off
	  InputSameDT		  off
	  LogicOutDataTypeMode	  "Specify via dialog"
	}
	Block {
	  BlockType		  Outport
	  Name			  "PulseOut"
	  Position		  [825, 93, 855, 107]
	}
	Block {
	  BlockType		  Outport
	  Name			  "Sign"
	  Position		  [825, 153, 855, 167]
	  Port			  "2"
	}
	Line {
	  SrcBlock		  "Constant1"
	  SrcPort		  1
	  DstBlock		  "Sum"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Sum3"
	  SrcPort		  1
	  Points		  [0, -75]
	  DstBlock		  "Relational\nOperator"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Constant6"
	  SrcPort		  1
	  DstBlock		  "Sum3"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Relational\nOperator1"
	  SrcPort		  1
	  Points		  [-10, 0]
	  DstBlock		  "Sum2"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Sum2"
	  SrcPort		  1
	  Points		  [-60, 0; 0, -45]
	  DstBlock		  "Switch"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Constant5"
	  SrcPort		  1
	  Points		  [10, 0]
	  DstBlock		  "Relational\nOperator1"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "0 ... 1"
	  SrcPort		  1
	  DstBlock		  "Sum1"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Sum1"
	  SrcPort		  1
	  DstBlock		  "Gain"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Abs"
	  SrcPort		  1
	  DstBlock		  "0 ... 1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Constant3"
	  SrcPort		  1
	  Points		  [-30, 0]
	  DstBlock		  "Sum1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "VelocityIn [-1 to 1]"
	  SrcPort		  1
	  Points		  [-105, 0; -80, 0]
	  Branch {
	    Points		    [0, -80]
	    DstBlock		    "compare"
	    DstPort		    1
	  }
	  Branch {
	    DstBlock		    "Abs"
	    DstPort		    1
	  }
	}
	Line {
	  SrcBlock		  "Gain"
	  SrcPort		  1
	  DstBlock		  "Quantizer"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Quantizer"
	  SrcPort		  1
	  Points		  [0, 0; -30, 0]
	  Branch {
	    DstBlock		    "Sum3"
	    DstPort		    1
	  }
	  Branch {
	    DstBlock		    "Relational\nOperator1"
	    DstPort		    1
	  }
	}
	Line {
	  SrcBlock		  "Constant4"
	  SrcPort		  1
	  Points		  [-15, 0; 0, -30]
	  DstBlock		  "compare"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "compare"
	  SrcPort		  1
	  DstBlock		  "Data Type Conversion1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Constant"
	  SrcPort		  1
	  Points		  [-20, 0; 0, 25]
	  DstBlock		  "Switch"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Sum"
	  SrcPort		  1
	  DstBlock		  "Switch"
	  DstPort		  3
	}
	Line {
	  SrcBlock		  "Relational\nOperator"
	  SrcPort		  1
	  Points		  [0, 0; 25, 0]
	  Branch {
	    Points		    [0, 35]
	    DstBlock		    "Sum2"
	    DstPort		    1
	  }
	  Branch {
	    DstBlock		    "Data Type Conversion"
	    DstPort		    1
	  }
	}
	Line {
	  SrcBlock		  "Unit Delay"
	  SrcPort		  1
	  Points		  [30, 0]
	  Branch {
	    Points		    [0, -60; -200, 0]
	    DstBlock		    "Sum"
	    DstPort		    1
	  }
	  Branch {
	    DstBlock		    "Relational\nOperator"
	    DstPort		    1
	  }
	}
	Line {
	  SrcBlock		  "Switch"
	  SrcPort		  1
	  DstBlock		  "Unit Delay"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Data Type Conversion"
	  SrcPort		  1
	  DstBlock		  "PulseOut"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Data Type Conversion1"
	  SrcPort		  1
	  DstBlock		  "Sign"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "right stepper motor driver"
      Ports		      [1, 2]
      Position		      [295, 256, 420, 314]
      TreatAsAtomicUnit	      off
      MaskDescription	      "The block sample time (seconds) is used to cloc"
"k the digital motor driver algorithm. Smaller values lead to slower pulse seq"
"uences.\n"
      MaskPromptString	      "Maximum number of pulses per second (Nmax)|Numb"
"er of increments (Ninc = 1 ... Nmax)|Sample time"

⌨️ 快捷键说明

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