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

RowCount:=RowCount+1;

end; //3

//построение графиков

Series5.AddXY(N, f2, ' ',clteecolor);

Series6.AddXY(N, S, ' ',clteecolor);

Series7.AddXY(N, U[n], ' ',clteecolor);

Series8.AddXY(N, Y[n], ' ',clteecolor);

end;//2

//освобождение памяти

U:=NIL;

X:=NIL;

Y:=NIL;

Y1:=NIL;

end;

procedure TForm1.Edit1Change(Sender: TObject);

Var N,N1,N2:integer;

begin

N1:=StrToint(ComboBox1.Text);

N2:=StrToint(ComboBox2.Text);

Series1.Clear;

Series2.Clear;

Series3.Clear;

Series4.Clear;

Series5.Clear;

Series6.Clear;

Series7.Clear;

Series8.Clear;

For N:=0 to N1 Do

With StringGrid1 do

begin

Cells[0,N]:=' ';

Cells[1,N]:=' ';

Cells[2,N]:=' ';

Cells[3,N]:=' ';

Cells[4,N]:=' ';

Cells[5,N]:=' ';

Cells[6,N]:=' ';

RowCount:=2;

end;

For N:=0 to N2 Do

With StringGrid2 do

begin

Cells[0,N]:=' ';

Cells[1,N]:=' ';

Cells[2,N]:=' ';

Cells[3,N]:=' ';

Cells[4,N]:=' ';

Cells[5,N]:=' ';

Cells[6,N]:=' ';

RowCount:=2;

end;

end;

procedure TForm1.Button1Click(Sender: TObject);

var

f:textfile;//запись в текстовый файл

namefile:string;

N,N1,N2:integer;

b1,b2:real;

begin

if StringGrid1.Cells[0,1]='' then

Begin

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

exit;

end;

N1:=strtoint(ComboBox1.text);

b1:=StrToFloat(Edit13.Text);

b2:=StrToFloat(Edit14.Text);

if opendialog1.execute then

begin

namefile:=opendialog1.filename;

assignfile(f,namefile);

rewrite (f);

Writeln(f);

Writeln(f,'    Результаты имитационного моделирования  ');

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

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

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,'    Коэффициент передачи k= ',Edit1.text);

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

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

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

Writeln(f);

Writeln(f,'     Возмущение f2:  ');

Writeln(f);

Writeln(f,'      f2(t)=Cf2exp(-Alf*t)    ');

Writeln(f);

Writeln(f,'    Параметры  ');

Writeln(f,'    Cf2 = ',Edit9.text);

Writeln(f,'    Alf = ',Edit16.text);

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

Writeln(f);

Writeln(f,'    ПИ - регулятор ');

Writeln(f,'    Настройка К1 = ',edit7.text);

Writeln(f,'    Настройка К2 = ',edit8.text);

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

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

Writeln(f,'    Коэффициент ИМ kim = ',edit6.text);

Writeln(f,'    Коэффициент РО kro = ',edit12.text);

Writeln(f,'    Период дискретности T0 = ',edit15.text);

Writeln(f);

writeln(f,'  Параметры НЭ  ');

writeln(f);

writeln(f,'  Граница b1 = ',edit13.text);

writeln(f,'  Граница b2 = ',edit14.text);

writeln(f);

If (b1=0) and (b2=0) then

Begin

Writeln(f,'  Переходный процесс по задающему воздействию (линейная система)')

end

else

Writeln(f,'  Переходный процесс по задающему воздействию (нелинейная система)');

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

Writeln(f);

Writeln(f,'Такт   Задание   Вход РО   Выход РО  Система  ');

with stringgrid2 do

for N:=1 to N1 do

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

closefile(f);

messagedlg('Расчет Переходного процесса по заданию записан!!!',mtInformation,[mbOk],0);

end;

begin

if StringGrid2.Cells[0,1]='' then

Begin

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

exit;

end;

N2:=strtoint(ComboBox2.text);

b1:=StrToFloat(Edit13.Text);