Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
102
Добавлен:
26.05.2014
Размер:
2 Кб
Скачать
{ џ§лЄ Turbo-Pascal, Borland-Pascal, Delphi }

{-------------------------------------------------------}
{ ќв®в ¬®¤г«м Ўл« б®§¤ ­  Ї ЄҐв®¬ "Ђ­ «Ё§ ‘Ёб⥬ 3"     }
{ (c) …ўбвЁЈ­ҐҐў „.‚.                                   }
{-------------------------------------------------------}
{ ђ бзЁв ­® ¤«п в Єв  а Ў®вл 0.003 ᥪ }

{**********************************************************}
{ ЏаЁ¬Ґа ЁбЇ®«м§®ў ­Ёп ¬®¤г«п ў д ©«Ґ EXAMPLE.PAS          }
{ ќв®в д ©« ЇаЁ« Ј Ґвбп Є Ї ЄҐвг "Ђ­ «Ё§ бЁб⥬"           }
{**********************************************************}

Unit Ctrl;
interface

{$N+}              { ЁбЇ®«м§®ў вм б®Їа®жҐбб®а }

Type
  Float = Single;  { нв®в вЁЇ Ўг¤Ґв ЁбЇ®«м§®ў вмбп, Є Є вЁЇ б Ї« ў о饩 § Їпв®© }

  Procedure Initialization;  { Їа®жҐ¤га  Ё­ЁжЁ «Ё§ жЁЁ }
  Procedure Controller(Input0, Input1 : Float; var Output0 : Float); { дг­ЄжЁп Є®­ва®««Ґа  }

Implementation

var NDSum0:Float;
var Propor1:Float;
var Integrator2:Float;
var Integrator2Sum:Float;
var Integrator2Old:Float;
var Diff3:Float;
var Diff3Old:Float;
var Sum4:Float;
var Limit5:Float;

{ €­ЁжЁ жЁп }
Procedure initialization;
Begin
  Integrator2Sum := 0.00000;
  Integrator2Old := 0.00000;
  Diff3Old := 0.00000;
End; { Initialization }

Procedure Controller;
Begin
  { NDSum0 }
  NDSum0 := Input0;
  NDSum0 := NDSum0 - Input1;
  { Propor1 }
  Propor1 := NDSum0;
  Propor1 := Propor1 * 1.43478261;
  { Integrator2 }
  Integrator2 := NDSum0;
  Integrator2 := Integrator2 + Integrator2Old;
  Integrator2 := Integrator2 * 0.00652174;
  Integrator2Sum := Integrator2Sum + Integrator2;
  Integrator2 := Integrator2Sum;
  Integrator2Old := NDSum0;
  { Diff3 }
  Diff3 := NDSum0;
  Diff3 := Diff3 - Diff3Old;
  Diff3Old := NDSum0;
  Diff3 := Diff3 * 13.04347826;
  { Sum4 }
  Sum4 := Propor1;
  Sum4 := Sum4 + Integrator2;
  Sum4 := Sum4 + Diff3;
  { Limit5 }
  Limit5 := Sum4;
  If Limit5 > 50 then
  Begin
    Limit5 := 50;
  End
  Else
  Begin
    If Limit5 < -50 then
    Begin
      Limit5 := -50;
    End;
  End;
  Output0 := Limit5;
End; { Controller }

End.
Соседние файлы в папке PASCAL