Структурная схема моделируемой системы управления. Система управления, структурная схема. Математическое описание исходных данных, страница 5

Y0:=Nil;

X:=Nil;

Yro:=Nil;

end;

procedure TForm1.Button3Click(Sender: TObject);

Var

C1,C2:REAL;

f:TextFile;

NameFile:string;

I,N1,N2:Integer;

begin

//проверка существования расчета

if stringgrid1.Cells[0,1]=''then begin

messagedlg('Нет расчета переходного процесса по управлению !',mtError,[mbOK],0);

exit;

end;//2

if stringgrid2.Cells[0,1]=''then begin

messagedlg('Нет расчета переходного процесса по возмущению !',mtError,[mbOK],0);

exit;

end;//2

N1:=StrToInt(ComboBox1.text);

N2:=StrToInt(ComboBox3.text);

if OpenDialog1.execute then begin//3

NameFile:=OpenDialog1.FileName;

AssignFile(f,NameFile);

Rewrite(f);

Writeln(f,' РЕЗУЛЬТАТЫ МОДЕЛИРОВАНИЯ ПЕРЕХОДНЫХ ПРОЦЕССОВ');

if (C1=0) and (C2=0) then begin

writeln(f,'                  ЛИНЕЙНАЯ СИСТЕМА');

end

else begin

writeln(f,'                  НЕЛИНЕЙНАЯ СИСТЕМА');

writeln(f,'                  Тип нелинейности: "Зона нечевствительности"');

writeln(f,'                  Правое ограничение зоны = ', edit11.text );

writeln(f,'                  Левое ограничение зоны = ', edit12.text);

end;

Writeln(f);

Writeln(f,'            Передаточная функция объекта:');

Writeln(f);

Writeln(f,'                            K      ');

Writeln(f,'              Wo(p)=-------------');

Writeln(f,'                    (1+T1p)*(1+T2p)');

Writeln(f);

Writeln(f,'              где:');

Writeln(f,'               коэффициент передачи К=',Edit1.text);

Writeln(f,'               постоянная времени 1  Т1=',Edit2.text);

Writeln(f,'               постоянная времени 2  Т2=',Edit3.text);

Writeln(f,'               Запаздывание   Tau=',Edit4.text);

Writeln(f);

Writeln(f,'----------------------------------------------------------');

Writeln(f,'            Передаточная функция объекта по каналу возмущения:');

Writeln(f);

Writeln(f,'                        Kf      ');

Writeln(f,'              Wo(p)= ---------');

Writeln(f,'                      1+Tfp');

Writeln(f);

Writeln(f,'              где:');

Writeln(f,'               коэффициент передачи по каналу возмущения Кf=',Edit13.text);

Writeln(f,'               постоянная времени по каналу возмущения  Тf=',Edit14.text);

Writeln(f);

Writeln(f,'----------------------------------------------------------');

Writeln(f);

Writeln(f,'            Настройки ПИ-регулятора:');

Writeln(f,'                     К1=',Edit6.text);

Writeln(f,'                     К2=',Edit7.text);

Writeln(f);

Writeln(f,'---------------------------------------------------------');

Writeln(f);

Writeln(f,'   Задающее воздействие - ступенчатеое = ',edit8.text);

Writeln(f);

Writeln(f,'---------------------------------------------------------');

Writeln(f,'           Возмущающее воздействие - ступенчатое:');

Writeln(f);

Writeln(f,'              Yf = C');

Writeln(f);

Writeln(f,'               где:');

Writeln(f,'               C=',Edit15.text);

Writeln(f);

Writeln(f,'---------------------------------------------------------');

Writeln(f);

Writeln(f,'       Коэффициенты передачи элементов системы:');

Writeln(f,'         регулирующий орган Кро=',Edit10.text);

Writeln(f,'         исполнительный механизм Ким=',Edit9.text);

Writeln(f,'         датчик Кд=',Edit5.text);

Writeln(f);

Writeln(f,'---------------------------------------------------------');

Writeln(f);

Writeln(f,'        Дискретность работы системы Т0=',ComboBox2.text);

Writeln(f);

Writeln(f,'---------------------------------------------------------');

Writeln(f,'       ПЕРЕХОДНЫЙ ПРОЦЕСС ПО УПРАВЛЯЮЩЕМУ ВОЗДЕЙСТВИЮ');

With StringGrid1 do

For I:=0 to N1 do

Writeln(f,'      ',cells[0,I],'   ',cells[1,I],'    ',cells[2,I],'     ',cells[3,I],'      ',cells[4,I],'      ',cells[5,I]);

end;

Writeln(f,'---------------------------------------------------------');

Writeln(f,'       ПЕРЕХОДНЫЙ ПРОЦЕСС ПО ВОЗМУЩАЮЩЕМУ ВОЗДЕЙСТВИЮ');

With StringGrid2 do

For i:=0 to N2 do

Writeln(f,'      ',cells[0,I],'   ',cells[1,I],'    ',cells[2,I],'     ',cells[3,I],'      ',cells[4,I],'      ',cells[5,I]);

CloseFile(f);