4.8 0 False Motor\stepper.emx 2020-7-22 10:04:43 '; type Mainmodel end; implementation bg submodels stepper 464 224 description ' 4.8 1 False True Motor\stepper2.emx 2020-7-22 10:04:39 '; type Submodel ports signal in angle; rotation out p; end; icon bg bottom figures rectangle 432 208 496 240 color 0 fill 15132390; text 'name' 464 224 color 0 'Clear Sans' 16; end; implementation bg submodels I 560 104 description ' 4.2 1 False Bond Graph\I.emx 2011-11-29 15:55:55 '; type I ports power in p; signal out state; restrictions causality preferred in p; end; icon bg bottom figures text 'I' 560 104 color 0 18 bold; end; implementation eq parameters real global I_phase; equations state = int(p.e); p.f = state / I_phase; implementation_end; I1 608 328 description ' 4.2 1 False Bond Graph\I.emx 2011-11-29 15:55:55 '; type I ports power in p; signal out state; restrictions causality preferred in p; end; icon bg bottom figures text 'I' 608 328 color 0 18 bold; end; implementation eq parameters real global I_phase; equations state = int(p.e); p.f = state / I_phase; implementation_end; I2 752 160 description ' 4.2 1 False Bond Graph\I.emx 2011-11-29 15:55:55 '; type I ports power in p; signal out state; restrictions causality preferred in p; end; icon bg bottom figures text 'I' 752 160 color 0 18 bold; end; implementation eq parameters real i = 8e-5 {kg.m2}; real global RotorInertia; equations state = int(p.e); p.f = state / (i+RotorInertia); implementation_end; MGY_a 656 160 description ' 4.2 1 False Bond Graph\MGY.emx 2011-11-29 16:03:53 '; type MGY ports power in p1; power out p2; signal in r; restrictions causality constraint equal p1 p2; end; icon bg bottom figures text 'MGY' 656 160 color 0 18 bold; end; implementation eq equations p1.e = r * p2.f; p2.e = r * p1.f; implementation_end; MGY_b 656 272 description ' 4.2 1 False Bond Graph\MGY.emx 2011-11-29 16:03:53 '; type MGY ports power in p1; power out p2; signal in r; restrictions causality constraint equal p1 p2; end; icon bg bottom figures text 'MGY' 656 272 color 0 18 bold; end; implementation eq equations p1.e = r * p2.f; p2.e = r * p1.f; implementation_end; MSe_a 512 160 description ' 4.2 1 False Bond Graph\MSe.emx 2011-11-29 16:12:33 '; type MSe ports electric out p; signal in effort; restrictions causality fixed out p; end; icon bg bottom figures text 'MSe' 512 160 color 0 18 bold; end; implementation eq variables real flow; equations p.e = effort; flow = p.f; implementation_end; MSe_b 512 272 description ' 4.2 1 False Bond Graph\MSe.emx 2011-11-29 16:12:33 '; type MSe ports electric out p; signal in effort; restrictions causality fixed out p; end; icon bg bottom figures text 'MSe' 512 272 color 0 18 bold; end; implementation eq variables real flow; equations p.e = effort; flow = p.f; implementation_end; plug angle 406.3 216; plug p 896.6 216; OneJunction 840 216 description ' 4.2 1 False Bond Graph\OneJunction.emx 2011-11-29 16:17:51 '; knot OneJunction ports rotation knot duplicatable none p [1]; signal knot out flow [1]; restrictions causality constraint one_out p; end; icon bg figures text '1' 840 216 color 0 18 bold; end; implementation eq equations sum (direct (p.e)) = 0; equal (collect (p.f)); flow = first (p.f); implementation_end; OneJunction1 584 160 description ' 4.2 1 False Bond Graph\OneJunction.emx 2011-11-29 16:17:51 '; knot OneJunction ports electric knot duplicatable none p [1]; signal knot out flow [1]; restrictions causality constraint one_out p; end; icon bg figures text '1' 584 160 color 0 18 bold; end; implementation eq equations sum (direct (p.e)) = 0; equal (collect (p.f)); flow = first (p.f); implementation_end; OneJunction2 584 272 description ' 4.2 1 False Bond Graph\OneJunction.emx 2011-11-29 16:17:51 '; knot OneJunction ports electric knot duplicatable none p [1]; signal knot out flow [1]; restrictions causality constraint one_out p; end; icon bg figures text '1' 584 272 color 0 18 bold; end; implementation eq equations sum (direct (p.e)) = 0; equal (collect (p.f)); flow = first (p.f); implementation_end; OneJunction3 752 216 description ' 4.2 1 False Bond Graph\OneJunction.emx 2011-11-29 16:17:51 '; knot OneJunction ports rotation knot duplicatable none p [1]; signal knot out flow [1]; restrictions causality constraint one_out p; end; icon bg figures text '1' 752 216 color 0 18 bold; end; implementation eq equations sum (direct (p.e)) = 0; equal (collect (p.f)); flow = first (p.f); implementation_end; R 608 104 description ' 4.2 1 False Bond Graph\R.emx 2011-11-29 16:35:37 '; type R ports power in p; end; icon bg bottom figures text 'R' 608 104 color 0 18 bold; end; implementation eq parameters real global R_phase; equations p.e = R_phase * p.f; implementation_end; R1 560 328 description ' 4.2 1 False Bond Graph\R.emx 2011-11-29 16:35:37 '; type R ports power in p; end; icon bg bottom figures text 'R' 560 328 color 0 18 bold; end; implementation eq parameters real global R_phase; equations p.e = R_phase * p.f; implementation_end; R2 824 264 description ' 4.2 1 False Bond Graph\R.emx 2011-11-29 16:35:37 '; type R ports power in p; end; icon bg bottom figures text 'R' 824 264 color 0 18 bold; end; implementation eq parameters real r = 1.0e-3; equations p.e = r * p.f; implementation_end; RotorAngle 656 216 description '4.0 Template\Submodel-Equation.emx 1 False 2007-11-1 22:32:1 False '; type Submodel ports signal out output_b; signal out output_a; signal in omega {rad/s} ; signal out output_d; end; icon bg figures rectangle 616 200 696 232 color 0 fill 15132390; text 'name' 656 216 color 0 'Clear Sans' 16; end; implementation eq parameters real global fluxLinkage; real global detentTorque; variables real global p; real angle {rad}; equations angle = int(omega); output_a = -p * fluxLinkage * sin(p * angle); output_b = p * fluxLinkage * sin(p * angle - pi / 2); output_d = detentTorque * sin(2 * p * angle); implementation_end; Se 752 272 description ' 4.2 1 False Bond Graph\MSe.emx 2011-11-29 16:12:33 '; type MSe ports power out p; signal in effort; restrictions causality fixed out p; end; icon bg bottom figures text 'MSe' 752 272 color 0 18 bold; end; implementation eq variables real flow; equations p.e = effort; flow = p.f; implementation_end; Splitter1 720 216 description '4.0 Signal\Block Diagram\Splitter.emx 2008-01-17 11:28:29 1 False '; knot Splitter ports signal knot duplicatable out output [1]; signal knot in input [1]; end; icon bg ellipse figures ellipse 716.8 212.8 723.2 219.2 color -1 fill 0; ellipse 715.7 211.7 724.3 220.3 color -1; terminals input 720 216 fixed; end; implementation eq equations collect (output) = input; implementation_end; Submodel2 512 216 description '4.0 Template\Submodel-Equation.emx 1 False 2007-11-1 22:32:1 False '; type 'Submodel-Equation' ports signal in angle; signal out a; signal out b; end; implementation eq parameters real global u_max {V}; real global angle_step; real max_a {m/s2}; variables real current_angle; real c,s; real global p; boolean hidden eventa, eventb; equations if time < 10 then a = u_max * -sign (cos (p*angle)); eventa = event(a); b = u_max * sign (sin (p*angle)); eventb = event(b); current_angle = angle; else a = u_max * -sign (cos (p*current_angle)); eventa = event(a); b = u_max * sign (sin (p*current_angle)); eventb = event(b); end; implementation_end; end; connections angle -> Submodel2\angle; I2\p <= OneJunction3\p; MGY_a\p2 => OneJunction3\p; MGY_b\p2 => OneJunction3\p; MSe_a\p => OneJunction1\p; MSe_b\p => OneJunction2\p; OneJunction\p => p; OneJunction1\p => I\p; OneJunction1\p => MGY_a\p1; OneJunction1\p => R\p; OneJunction2\p => I1\p; OneJunction2\p => MGY_b\p1; OneJunction2\p => R1\p; OneJunction3\flow -> Splitter1\input; OneJunction3\p => OneJunction\p; OneJunction3\p => R2\p; RotorAngle\output_a -> MGY_a\r; RotorAngle\output_b -> MGY_b\r; RotorAngle\output_d -> Se\effort; Se\p => OneJunction3\p; Splitter1\output -> RotorAngle\omega; Submodel2\a -> MSe_a\effort; Submodel2\b -> MSe_b\effort; end; implementation_end; end; connections end; implementation_end; ]]> Experiment 1 4.8 angle_step 0 detentTorque 0 fluxLinkage 0 I_phase 0 R_phase 0 RotorInertia 0 Submodel2\max_a m/s2 0 u_max V 0 Stepper\I1\state_initial 0 Stepper\I2\state_initial 0 Stepper\I\state_initial 0 Stepper\RotorAngle\angle_initial 0 time GraphPlot 1 false 16777215 true true 15780518 12624260 0 10 10 10 false 16777215 true 1 Stepper true Arial 12 34 400 0 0 0 0 Arial 12 34 400 0 0 0 0 Arial 10 34 400 0 0 0 0 Arial 12 34 400 0 0 0 0 true true false 0.0 10.0 true 3 0.0 10.0 true 2 3355111 1 3355111 0 true 1 1 1 true true time true 0 16777215 1 true Window 1 0 1 Base 0.130729 0.114815 0.9375 0.896296 0.0 10.0 false false false false 0.1 1.0e-6 1.0e-7 false true Euler 0.01 false BackwardEuler 1.0e-5 1.0e-5 1.0e-5 1.0e-5 0.01 1.0 AdamsBashforth 0.01 false RungeKutta2 0.01 false RungeKutta4 0.01 false RungeKutta8 false 0.001 false 1.0 1.0e-6 1.0e-6 0.9 0.33 6.0 0.0 false 100000 false 1000 RungeKuttaFehlberg false 0.001 false 1.0 1.0e-6 1.0e-6 VodeAdams false 0.001 false 1.0 1.0e-6 1.0e-6 true true BDFMethod 1.0e-5 1.0e-5 1.0e-5 1.0e-5 false 0.001 false 1.0 MeBDFiMethod 1.0e-5 1.0e-5 1.0e-5 1.0e-5 false 0.001 false 1.0 8 10 false true true false true 0 0.0 true MultipleRun true UseEndValue 0.001 BroydonFletcherGoldfarbShanno true true true true false