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);
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.