Анализ системы автоматического управления (система 3-го порядка задается в виде передаточной функции)

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

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

Санкт-петербургский государственный университет информационных технологий механики и оптики.

кафедра систем управления и информатики

Отчет по Лабораторной работе №5

«Анализ системы автоматического управления»

По курсу Программирование и основы алгоритмизации.

Вариант 3.

Выполнил студент: Годгильдиев Александр

Группа №: 3145.

Преподаватель: Болтунов Г.И

Санкт-петербург.

2006 год.

1.  Описание задачи.

Создать программу анализа системы автоматического управления (САУ). Система 3-го порядка задается в виде передаточной функции (ПФ):

 (1)

Изменение параметров K, T1, T2, T3 осуществляется с помощью:

T3 - поля edit (E);

T- слайдера (S);

K, T1 - поля edit и слайдера (ES).

Результаты анализа представляются в виде графиков:

1.   амплитудно-фазовой частотной характеристики (АФЧХ);

2.   логарифмической амплитудной характеристики (ЛАХ);

Программа реализуется в среде пакета MatLab 6.5 for Windows.

В окне приложения должны быть представлены:

1.   График 1;

2.   График 2;

3.   Формула объекта (1-7), параметры которой представлены в виде полей Text или Edit;

4.   Слайдер(ы).

При любом изменении параметра он должен быть выведен с новым значением в полях text, edit и на слайдере, после чего должны быть пересчитаны и перерисованы необходимые графики. Расположение формулы объекта, элементов управления и графиков на экране представлено в таблице, где ЛВ - слайдер, ПВ – график 2, ЛН - формула, ПН –график 1.

2. ТекстПрограммы:

function lab5sus(src,evt);

action='0';

if nargin<1,  action='start';  end;

if strcmp(action,'start') 

dw=0.01; wk=10;

k=1; T1=1; T2=1; T3=1; w=0:dw:wk;

kmin=-20;kmax=20;t1min=0;t1max=10;t2min=0;t2max=10;t3min=0;t3max=10;

W=k./(-T1*T2*T3*j.*(w.^3)-(T1*T2+T1*T3+T2*T3).*(w.^2)+(T1+T2+T3)*j.*w+1);

fax = [.05  .05  .4  .4];

cax = [.55  .10  .4  .35];

lax = [.55  .60  .4  .35];

screen=get(0,'ScreenSize');

lab=figure('Position',[100 100 screen(3)*0.75 screen(4)*0.75],...

'Name','Analysys of ACS','Resize','off');

ch=axes('position',cax);

afch=plot(real(W),imag(W),'EraseMode','xor'); grid;

xlabel('U');

ylabel('V');

wk=1000; w=0:dw:wk;

W=k./(-T1*T2*T3*j.*(w.^3)-(T1*T2+T1*T3+T2*T3).*(w.^2)+(T1+T2+T3)*j.*w+1);

L=20.*log10(abs(W));

lh=axes('position',lax);

lah=plot(log10(w),L,'EraseMode','xor'); grid;

xlabel('lg w');

ylabel('A');

form=axes('position',fax,'visible', 'off');

axis([0 100 0 100]);

text(5,50,'W(p)=','FontSize',15);

line([27 100],[50 50],'Color','k');

text(60,55,'k','FontSize',15);

text(30,40,'(T_1p+1)(T_2p+1)(T_3p+1)','FontSize',15);

px1=.05;px2=.1;px3=.42;px4=.25;le=.03;ls=.3;py=.95;d=.03;we=.05;

%----k---uicontrol('Style','text','Position',[px4 py le le],...

'Units','normalized','BackgroundColor','red',...

'ForegroundColor','white','String','k');

uicontrol('Style','text','Position',[px1 py-d-le le le],...

'Units','normalized','BackgroundColor','black',...

'ForegroundColor','white','String',kmin);

uicontrol('Style','text','Position',[px3 py-d-le le le],...

'Units','normalized','BackgroundColor','black',...

'ForegroundColor','white','String',kmax);

k_sl=uicontrol('Style','slider','Position',[px2 py-d-le ls le],...

'Units','normalized','Value',k,'Max',kmax,'Min',kmin,'Callback',@lab5sus);

k_ed=uicontrol('Style','edit','Position',[px4 py-2*(d+le) we le],...

'Units','normalized','BackgroundColor','black',...

'ForegroundColor','white','String',k,'Callback',@lab5sus);

%-----T1------uicontrol('Style','text','Position',[px4 py-3*(d+le) le le],...

'Units','normalized','BackgroundColor','red',...

'ForegroundColor','white','String','T1');

uicontrol('Style','text','Position',[px1 py-4*(d+le) le le],...

'Units','normalized','BackgroundColor','black',...

'ForegroundColor','white','String',t1min);

uicontrol('Style','text','Position',[px3 py-4*(d+le) le le],...

'Units','normalized','BackgroundColor','black',...

'ForegroundColor','white','String',t1max);

t1_sl=uicontrol('Style','slider','Position',[px2 py-4*(d+le) ls le],...

'Units','normalized','Value',T1,'Max',t1max,'Min',t1min,'Callback',@lab5sus);

t1_ed=uicontrol('Style','edit','Position',[px4 py-5*(d+le) we le],...

'Units','normalized','BackgroundColor','black',...

'ForegroundColor','white','String',T1,'Callback',@lab5sus);

%------T2----uicontrol('Style','text','Position',[px4 py-6*(d+le) le le],...

'Units','normalized','BackgroundColor','red',...

'ForegroundColor','white','String','T2');

uicontrol('Style','text','Position',[px1 py-7*(d+le) le le],...

'Units','normalized','BackgroundColor','black',...

'ForegroundColor','white','String',t2min);

uicontrol('Style','text','Position',[px3 py-7*(d+le) le le],...

'Units','normalized','BackgroundColor','black',...

'ForegroundColor','white','String',t2max);

t2_sl=uicontrol('Style','slider','Position',[px2 py-7*(d+le) ls le],...

'Units','normalized','Value',T2,'Max',t2max,'Min',t2min,'Callback',@lab5sus);

t2_t=uicontrol('Style','text','Position',[px4 py-8*(d+le) we le],...

'Units','normalized','BackgroundColor','black',...

'ForegroundColor','white','String',T2,'Callback',@lab5sus);

%-----T3----uicontrol('Style','text','Position',[px4 py-9*(d+le) le le],...

'Units','normalized','BackgroundColor','red',...

'ForegroundColor','white','String','T3');

t3_ed=uicontrol('Style','edit','Position',[px4 py-10*(d+le) we le],...

'Units','normalized','BackgroundColor','black',...

'ForegroundColor','white','String',T3,'Callback',@lab5sus);

%-------------global param;

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

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