예제 #1
0
 /// <summary>
 /// Optimize a controller for a specific control loop
 /// </summary>
 /// <param name="control_loop">The PT2-control (with damping bigger 1) loop in your Schematic</param>
 /// <param name="controller">The PI-controller you want to optimize</param>
 public static void Controller(PT2_wdb1 control_loop, Controller_PI controller)
 {
     if((control_loop._T1 / control_loop._T2)<=4.0f)       //Absolute Optimum  (BO)
     {
         controller._Vr = control_loop._T1 / (2 * control_loop._T2 * control_loop._Vs);
         controller._Tn = control_loop._T1;
     }
     else                                                  //Symmetry Optimum  (SO)
     {
         controller._Vr = control_loop._T1 / (2 * control_loop._T2 * control_loop._Vs);
         controller._Tn = 4*control_loop._T2;
     }
     controller.recalc_coefficients();
 }
예제 #2
0
 /// <summary>
 /// Optimize a controller for a specific control loop
 /// </summary>
 /// <param name="control_loop">The PT2-control (with damping bigger 1) loop in your Schematic</param>
 /// <param name="controller">The P-controller you want to optimize</param>
 public static void Controller(PT2_wdb1 control_loop, Controller_P controller)
 {
     controller._Vr = control_loop._T1 / (2 * control_loop._T2*control_loop._Vs);
     controller.recalc_coefficients();
 }