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

Страницы работы

15 страниц (Word-файл)

Содержание работы

1.  Структурная схема моделируемой системы управления

Рис.1. Структурная схема системы.

2.  Математическое описание исходных данных

Моделируемая система

D(z)= - дискретная передаточная функция ПИ-регулятора;

Wим(р)=kим – передаточная функция исполнительного механизма;

Wpo(p)=kpo – передаточная функция регулирующего органа;

Wo(p)= - передаточная функция объекта по каналу управления;

Wд(р)=kд – передаточная функция датчика;

Wf(p)= - передаточная функция объекта по каналу возмущения;

Wфэ(p)=- передаточная функция фиксатора нулевого порядка.

A(t)=A*1[t] – сигнал задающего воздействия

Af(p)= - сигнал возмущения на вход объекта управления

Нелинейный элемент.

В моделируемой системе нелинейная характеристика присутствует в дискретном регуляторе. Вид нелинейности – «реальное ограничение». (рис.2.)

Задана нелинейность дискретного регулятора, которая имеет вид:

Рис.2. Вид нелинейности – “реальное ограничение”

c:=(b/x[n])+a;

If (R[n]<a) and (R[n]>-a) Then Un[n]:=0;

If R[n]<-a then Un[n]:=(R[n]+a)*Kpo;

If R[n]<-c then Un[n]:=-b;

If R[n]>c then Un[n]:=b;

U[n]:=Kum*Kpo*Un[n]

 
 


3. Определение дискретной модели непрерывной части системы и

соответствующего разностного  уравнения.

1. Нахождение дискретной передаточной функции объекта управления:

Запишем разное уравнение, которые описывают работу объекта по каналу управления: 

y0[n]=y0[n-1]*d - k0*U[n-m-1]-k0*d*U[n-m-1];

4. Определение непрерывной и дискретной модели нелинейной характеристики заданного элемента системы.

В моделируемой системе нелинейная характеристика присутствует в дискретном регуляторе. Вид нелинейности – «реальное ограничение». (рис.2.)

Задана нелинейность дискретного регулятора, которая имеет вид:

Рис.2. Вид нелинейности – “реальное ограничение”

c:=(b/x[n])+a;

If (R[n]<a) and (R[n]>-a) Then Un[n]:=0;

If R[n]<-a then Un[n]:=(R[n]+a)*Kpo;

If R[n]<-c then Un[n]:=-b;

If R[n]>c then Un[n]:=b;

U[n]:=Kum*Kpo*Un[n]

5.Составление системы разностных уравнений, описывающих работу замкнутой системы управления. Анализ полученной системы уравнений для определения типа и первоначальных значений переменных

Для программирования данной системы необходимо перейти от дискретных функций элементов системы к разностным уравнениям.

1. Получим разностное уравнение для ПИ – регулятора:

y0[n]=y0[n-1]*d - k0*U[n-m-1]-k0*d*U[n-m-1

2. Уравнение возмущения на вход объекта

yf[n]=(cf*kf*(1-exp(-n*Tdis/Tf)))

3.Сумматор

4. Уравнение датчика

4.Сигнал ошибки рассогласования

5 .Уравнение регулятора

6.Уравнение исполнительного механизма

S[n] = Kим*R[n]

7.Уравнение регулирующего органа

U[n] = Kpo*S[n]

Анализируя все переменные, которые присутствуют в цикле, можно сделать вывод, что на все переменные должны задаваться массивом.

определяем в массив, так как используются в расчете их     предыдущее     значение в текущем такте.

 
n – текущий такт расчета;

y0[n]        

x[n]

U[n]

Задаем как простые переменные, так как рассчитываются только в текущем такте.

 
 


yf[n]

y[n]

6.Эскизы формы

Форма имеет четыре закладки:

1. «Схема системы»:

2. «Вид нелинейности»

3. «График нелинейности»

4. «Элементы системы»

7.Коды программы

procedure TForm1.FormCreate(Sender:TObject);

Begin

With stringgrid2 do

begin

cells[0,0]:='Такт';

cells[1,0]:='Система';

cells[2,0]:='Выход нел.';

cells[3,0]:='Вход нел.';

Rowcount:=2;

end;

End;

procedure TForm1. Edit1Change(Sender: TObject);

Var

N,I:Integer;

Begin

Series1.Clear;

N:=StrToInt(ComboBox3.Text);

For I:=1 to N do

With StringGrid2 do

Begin

Cells[0,0]:='  ';

Cells[1,0]:='  ';

Cells[2,0]:='  ';

Cells[3,0]:='  ';

RowCount:=3;

End;

End;

procedure TForm1.Button2Click(Sender: TObject);

begin

Close;

end;

procedure TForm1.Edit2Change(Sender: TObject);

Var

N,I:Integer;

Begin

Series1.Clear;

N:=StrToInt(ComboBox3.Text);

For I:=1 to N do

With StringGrid2 do

Begin

Cells[0,0]:='  ';

Cells[1,0]:='  ';

Cells[2,0]:='  ';

Cells[3,0]:='  ';

RowCount:=3;

End;

End;

//Расчет системы

procedure TForm1.Button3Click(Sender: TObject);

Var

K1,K2,K,T,Tau,Tdis,Kum,Kpo,Kd,Sig,a,b,c,y,y1,yf,cf,kf,tf,r,un,un0:real;

i,n,m:Integer;

U:array of real;

Yo:array of real;

X:array of real;

Begin

a:=StrToFloat(Edit1.Text);

b:=StrToFloat(Edit2.Text);

K1:=StrToFloat(Edit7.Text);

if k1=0 then

begin

messagedlg('Неправильно введены настройки регулятора: к1',mterror,[mbok],0);

exit;

end;

K2:=StrToFloat(Edit8.Text);

if k2=0 then

begin

messagedlg('Неправильно введены настройки регулятора: к2',mterror,[mbok],0);

exit;

end;

K:=StrToFloat(Edit9.Text);

if k=0 then

begin

messagedlg('Неправильно введены параметры объекта: к',mterror,[mbok],0);

exit;

end;

Tau:=StrToFloat(Edit10.Text);

if tau=0 then

begin

messagedlg('Неправильно введены параметры объекта: тау',mterror,[mbok],0);

exit;

end;

t:=strtofloat(edit13.Text);

if t=0 then

begin

messagedlg('Неправильно введены параметры объекта: Т',mterror,[mbok],0);

exit;

end;

kf:=strtofloat(edit3.text);

Tf:=strtofloat(edit4.text);

Cf:=strtofloat(edit14.text);

Kum:=StrToFloat(Edit5.Text);

if Kum=0 then

begin

messagedlg('Неправильно введены параметры системы: Ким',mterror,[mbok],0);

Похожие материалы

Информация о работе