Санкт-петербургский государственный университет информационных технологий механики и оптики.
кафедра систем управления и информатики
Отчет по Лабораторной работе №5
«Анализ системы автоматического управления»
По курсу Программирование и основы алгоритмизации.
Вариант 3.
Выполнил студент: Годгильдиев Александр
Группа №: 3145.
Преподаватель: Болтунов Г.И
Санкт-петербург.
2006 год.
1. Описание задачи.
Создать программу анализа системы автоматического управления (САУ). Система 3-го порядка задается в виде передаточной функции (ПФ):
(1)
Изменение параметров K, T1, T2, T3 осуществляется с помощью:
T3 - поля edit (E);
T2 - слайдера (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;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.