Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

16 řádky
8.9KB

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <Document>
  3. <Model version="4.8" build="4.8.2.10124">
  4. <Sidops>
  5. <![CDATA[stepper_control 584 336 description '<Information>
  6. <Description>
  7. <Version>4.8</Version>
  8. <IsMainModel>1</IsMainModel>
  9. <LibraryPath>Motor\stepper_control.emx</LibraryPath>
  10. <TimeStamp>2020-7-22 15:25:26</TimeStamp>
  11. </Description>
  12. </Information>'; type Submodel ports signal in setpoint {rad} ; signal out output {rad} ; end; implementation bg submodels Acceleration_int 648 336 description '<Information> <Description> <Version>4.3</Version> <IsMainModel>1</IsMainModel> <KeepParameterValues>False</KeepParameterValues> <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath> <TimeStamp>2013-3-8 14:47:42</TimeStamp> </Description> </Information>'; type Integrate ports signal in input; signal out output; end; icon bg bottom figures rectangle 632 320 664 352 color 0 fill 15132390; text '∫' 648 336.3 color 16711680 'Lucida Sans' 21 italic; end; implementation eq parameters real initial = 0; // initial value equations output = int (input, initial); implementation_end; Acceleration_limit 568 336 description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues> <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath> <TimeStamp>2007-9-26 12:47:40</TimeStamp> </Description>'; type 'SignalLimiter-Limit' ports signal in input; signal out output; end; icon bg bottom figures group rectangle 552 320 584 352 color 0 fill 15132390; line 567.9 324.5 567.9 349 color 0 fill 15132390; line 555 336.2 580.7 336.2 color 0 fill 15132390; spline 561.9 343.1 573.9 329.4 color 16711680 fill 15132390 width 2; spline 573.3 330.2 581.9 329.8 color 16711680 fill 15132390 width 2; spline 555 343.6 561.9 343.1 color 16711680 fill 15132390 width 2; end; end; implementation eq parameters real maximum = 200; real minimum = -200; equations output = limit (input, minimum, maximum); implementation_end; plug setpoint 136 336; plug output 791 336; PlusMinus1 240 336 description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues> <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath> <TimeStamp>2007-9-27 10:15:13</TimeStamp> </Description>'; knot PlusMinus ports signal knot duplicatable in plus [1]; signal knot duplicatable in minus [1]; signal knot out output [1]; end; icon bg ellipse figures ellipse 232 328 248 344 color 0 fill 16777215; end; implementation eq equations output = sum (collect (plus)) - sum (collect (minus)); implementation_end; PlusMinus2 432 336 description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues> <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath> <TimeStamp>2007-9-27 10:15:13</TimeStamp> </Description>'; knot PlusMinus ports signal knot duplicatable in plus [1]; signal knot duplicatable in minus [1]; signal knot out output [1]; end; icon bg ellipse figures ellipse 424 328 440 344 color 0 fill 16777215; end; implementation eq equations output = sum (collect (plus)) - sum (collect (minus)); implementation_end; Position_control 296 336 description '<Description> <Version>4.0</Version> <IsMainModel>1</IsMainModel> <KeepParameterValues>False</KeepParameterValues> <LibraryPath>Signal\Control\PID Control\Continuous\PD.emx</LibraryPath> <TimeStamp>2008-1-17 10:49:7</TimeStamp> </Description>'; type PD ports signal in error; signal out output; end; icon bg bottom figures rectangle 280 320 312 352 color 0 fill 15132390; text 'PD' 296.5 336.1 color 16711680 18 bold; end; implementation eq parameters real kp = 4 {}; // Proportional gain real tauD = 100 {s}; // Derivative time constant: tauD > 0 real beta = 0.4 {}; // Tameness constant: 0 < beta << 1 real maximum = 25; variables real state, rate; equations rate = (kp * error - output) / (beta * tauD); state = int (rate); output = state + kp * error / beta; implementation_end; Splitter3 688 336 description '<Description><Version>4.0</Version> <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath> <TimeStamp>2008-01-17 11:28:29</TimeStamp> <IsMainModel>1</IsMainModel> <KeepParameterValues>False</KeepParameterValues> </Description>'; knot Splitter ports signal knot duplicatable out output [1]; signal knot in input [1]; end; icon bg ellipse figures ellipse 684.8 332.8 691.2 339.2 color -1 fill 0; ellipse 683.7 331.7 692.3 340.3 color -1; terminals input 688 336 fixed; end; implementation eq equations collect (output) = input; implementation_end; Splitter4 752 336 description '<Description><Version>4.0</Version> <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath> <TimeStamp>2008-01-17 11:28:29</TimeStamp> <IsMainModel>1</IsMainModel> <KeepParameterValues>False</KeepParameterValues> </Description>'; knot Splitter ports signal knot duplicatable out output [1]; signal knot in input [1]; end; icon bg ellipse figures ellipse 748.8 332.8 755.2 339.2 color -1 fill 0; ellipse 747.7 331.7 756.3 340.3 color -1; terminals input 752 336 fixed; end; implementation eq equations collect (output) = input; implementation_end; Velocity_control 480 336 description '<Description> <Version>4.0</Version> <IsMainModel>1</IsMainModel> <KeepParameterValues>False</KeepParameterValues> <LibraryPath>Signal\Control\PID Control\Continuous\PD.emx</LibraryPath> <TimeStamp>2008-1-17 10:49:7</TimeStamp> </Description>'; type PD ports signal in error; signal out output; end; icon bg bottom figures rectangle 464 320 496 352 color 0 fill 15132390; text 'PD' 480.5 336.1 color 16711680 18 bold; end; implementation eq parameters real kp = 12 {}; // Proportional gain real tauD = 10 {s}; // Derivative time constant: tauD > 0 real beta = 0.4 {}; // Tameness constant: 0 < beta << 1 real maximum = 100; variables real state, rate; equations rate = (kp * error - output) / (beta * tauD); state = int (rate); output = state + kp * error / beta; implementation_end; Velocity_int 720 336 description '<Information> <Description> <Version>4.3</Version> <IsMainModel>1</IsMainModel> <KeepParameterValues>False</KeepParameterValues> <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath> <TimeStamp>2013-3-8 14:47:42</TimeStamp> </Description> </Information>'; type Integrate ports signal in input; signal out output; end; icon bg bottom figures rectangle 704 320 736 352 color 0 fill 15132390; text '∫' 720 336.3 color 16711680 'Lucida Sans' 21 italic; end; implementation eq parameters real initial = 0; // initial value equations output = int (input, initial); implementation_end; Velocity_limit 376 336 description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues> <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath> <TimeStamp>2007-9-26 12:47:40</TimeStamp> </Description>'; type 'SignalLimiter-Limit' ports signal in input; signal out output; end; icon bg bottom figures group rectangle 360 320 392 352 color 0 fill 15132390; line 375.9 324.5 375.9 349 color 0 fill 15132390; line 363 336.2 388.7 336.2 color 0 fill 15132390; spline 369.9 343.1 381.9 329.4 color 16711680 fill 15132390 width 2; spline 381.3 330.2 389.9 329.8 color 16711680 fill 15132390 width 2; spline 363 343.6 369.9 343.1 color 16711680 fill 15132390 width 2; end; end; implementation eq parameters real maximum = 25; real minimum = -25; equations output = limit (input, minimum, maximum); implementation_end; end; connections Acceleration_int\output -> Splitter3\input; Acceleration_limit\output -> Acceleration_int\input; PlusMinus1\output -> Position_control\error; PlusMinus2\output -> Velocity_control\error; Position_control\output -> Velocity_limit\input; setpoint -> PlusMinus1\plus; Splitter3\output -> PlusMinus2\minus 688 288 432 288; Splitter3\output -> Velocity_int\input; Splitter4\output -> output; Splitter4\output -> PlusMinus1\minus 752 400 240 400; Velocity_control\output -> Acceleration_limit\input; Velocity_int\output -> Splitter4\input; Velocity_limit\output -> PlusMinus2\plus; end; implementation_end; ]]>
  13. </Sidops>
  14. </Model>
  15. </Document>