/// <summary>
 /// Converting Interactive to Noninteractive Controller Algorithm.
 /// Only for P or PI controller.
 /// </summary>
 /// <param name="ctr">Interactive Controller Algorithm </param>
 public void Convert(ControllerInteractive ctr)
 {
     if (ctr.D == 0)
     {
         P = ctr.P;
         I = ctr.I;
         D = 0;
     }
 }
 /// <summary>
 /// Converting Interactive to CentumPID Controller Algorithm.
 /// </summary>
 /// <param name="ctr">Interactive Controller Algorithm </param>
 public void Convert(ControllerInteractive ctr)
 {
     P = 100 * ctr.I / (ctr.P * (ctr.I + ctr.D));
     I = ctr.I + ctr.D;
     D = ctr.I * ctr.D / (ctr.I + ctr.D);
 }
Example #3
0
 /// <summary>
 /// Converting Interactive to Parallel Controller Algorithm.
 /// </summary>
 /// <param name="ctr">Interactive Controller Algorithm </param>
 public void InterToParallelr(ControllerInteractive ctr)
 {
     P = ctr.P * (1 + ctr.D / ctr.I);
     I = ctr.P / ctr.I;
     D = ctr.P * ctr.D;
 }
 /// <summary>
 /// Converting Interactive to Noninteractive Controller Algorithm.
 /// </summary>
 /// <param name="ctr">Interactive Controller Algorithm </param>
 public void Convert(ControllerInteractive ctr)
 {
     P = ctr.P * (1 + ctr.D / ctr.I);
     I = ctr.I + ctr.D;
     D = ctr.I * ctr.D / (ctr.I + ctr.D);
 }