Синтез цифровых систем автоматизированного управления методом аналогового прототипа
Алгоритм составления модели инерционного звена. Исследование цифровой САУ способом дискретизации непрерывного регулятора. Разработка программы моделирования переходных процессов в САУ с помощью ЭВМ. Способы дискретизации непрерывного регулятора.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 22.10.2017 |
Размер файла | 220,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство образования Российской Федерации
Уфимский государственный авиационный технический университет
Кафедра технической кибернетики
Синтез цифровых систем автоматизированного управления методом аналогового прототипа
Уфа - 2003
Задание
дискретизация регулятор программа цифровой
«Синтез цифровых САУ методом аналогового прототипа»
Структурная схема непрерывной САУ:
Здесь
Порядок выполнения задания:
Методом ЛАХ синтезировать САУ с заданными параметрами: tрег; у;
Разработать программу моделирования переходных процессов в САУ с помощью ЭВМ;
Построить переходный процесс по координате x(t) для g(t)=1(t);
Используя 3 способа дискретизации непрерывного регулятора, полученного в процесс синтеза, исследовать соответствующую цифровую САУ:
- преобразование Тастина:
- преобразование методом прямоугольников:
- стандартное z-преобразование:
где Z{…} - символ z-преобразования.
В процессе исследования определить максимальный период дискретизации цифровой САУ T0, при котором удовлетворяются заданные требования к САУ; построить переходные процессы по координате x(t) для g(t)=1(t).
Сделать выводы, сопоставив результаты, полученные в процессе указанных способов преобразования (1 - 3).
№ варианта |
Wоу(s) |
Wим(s) |
tрег [c] |
у [%] |
|||
k0 |
T0 |
kим |
Tим |
||||
2 |
1 |
0,4 |
0,3 |
0,3 |
2,5 |
15 |
Оглавление
1. Синтез САУ графическим методом используя ЛАХ
2. Моделирование аналоговой САУ
2.1 Алгоритм составления модели инерционного звена
2.2 Моделирование изодромного звена
3. Построение переходного процесса
4. Исследование цифровой САУ способом дискретизации непрерывного регулятора
4.1 Исследование САУ с дискретизацией регулятора по способу Тастина
4.2 Исследование САУ с дискретизацией регулятора методом прямоугольников
4.3 Аналоговая САУ с цифровым корректирующим устройством, полученным стандартным z-преобразованием
Выводы
Список использованной литературы
Приложение
1. Синтез САУ графическим методом используя ЛАХ
К данной САУ предъявляются требования указанные в условии:: время регулирования не должно превышать 2,5 с, перерегулирование 15%.
Для синтеза САУ с необходимыми параметрами воспользуемся графическим методом построения желаемой ЛАХ.
Определим передаточную функцию не скорректированной системы:
Построим желаемую ЛАХ для разомкнутой системы.
Для этого необходимо определить частоту среза низкочастотной части желаемой ЛАХ воспользуемся формулой:
При =15% b=1.7
у, % |
10 |
15 |
20 |
25 |
30 |
35 |
|
b |
1,5 |
1,7 |
2,2 |
3,0 |
4,0 |
5,0 |
Получаем
.из графика
Для получения ЛАХ корректирующего устройства вычтем графически из желаемой ЛАХ, ЛАХ нескорректированной системы.
По ЛАХ корректирующего устройства определим её передаточную функцию:
в итоге получаем передаточную функцию для корректирующего звена
2. Моделирование аналоговой САУ
Для составления программы переходного процесса необходимо сначала промоделировать систему, применив различные методы.
Моделирование аналоговой САУ будем проводить последовательным моделированием начиная с первого звена и кончая последним при этом будем учитывать входные выходные сигналы а так же цепь обратной связи.
Для моделирования каждого звена из его передаточной функции выведем дифференциальное уравнение. Полученное дифференциальное уравнение приведём к нормальной форме Коши. Для решения дифференциальных уравнений воспользуемся методом приближённого интегрирования - методом трапеций (модифицированным методом Эйлера-Хьюна).
2.1 Алгоритм составления модели инерционного звена
Передаточная функция инерционного звена имеет вид:
из принципа пропускания сигнала приравняем данное звено к отношению сигналов выхода к входу.
,
где - сигнал на выходе;
- сигнал на входе.
Представим выражение в следующем виде:
Получим следующее дифференциальное уравнение:
,
где - производная выходного сигнала по времени.
Проинтегрируем дифференциальное уравнение:
.
Представим решение в нормальной форме Коши:
.
При моделировании системы непрерывное течение процессов в реальной системе заменяется дискретным течением процессов в её модели. Значения функций вычисляются в моменты времени, кратные шагу времени.
Чтобы получить значение функции x, которая является фазовой координатой звена(промежуточным состояние системы), воспользуемся методом трапеций (модифицированным методом Эйлера).
2.2 Моделирование изодромного звена
Передаточная функция изодромного звена имеет вид:
.
Приравняем передаточную функцию к отношению сигналов на входе и на выходе:
,
где - сигнал на выходе;
- сигнал на входе.
Представим выражение в следующем виде:
Получим следующее дифференциальное уравнение:
где - производная выходного сигнала по времени.
- производная входного сигнала по времени.
Проинтегрируем дифференциальное уравнение:
.
Представим решение в нормальной форме Коши:
Используя полученные модели напишем программу, используя среду Turbo Pascal, для построения переходного процесса.
3. Построение переходного процесса
Для проверки правильности работы программы(Приложение) сравним результаты работы моделирующей программы с результатами моделирования в Simulink.
Аналоговая система и результаты её моделирования в пакете MatLab-Simulink.
Схема модели
Аналоговая САР Turbo Pascal Шаг времени Т=0,015
Simulink
4. Исследование цифровой САУ способом дискретизации непрерывного регулятора
4.1 Исследование САУ с дискретизацией регулятора по способу Тастина
Для этого найдем передаточную функцию цифрового корректирующего устройства, воспользовавшись преобразованием Тастина для дискретизации непрерывного регулятора.
Приравняем передаточную функцию к отношению сигналов на входе и на выходе:
где - сигнал на выходе;
- сигнал на входе.
Выведем формулу необходимую для расчета выходного сигнала цифрового звена.
Где ,
Получаем формулу в которой для расчета выходного сигнала достаточно знать текущее значение сигнала на входе, предыдущее значение входного сигнала и предыдущее значение выходного сигнала. Расчеты по данной формуле реализуем с помощью языка программирования Turbo Pascal.
Сравним результаты работы программы Turbo Pascal (приложение) с результатами моделирования в пакете MatLab(Simulink.)
Turbo Pascal Шаг времени - 0,001 с. Диапазон времени моделирования - 0..6 с.
T0=0,0008 преобразование Тастина.
Simulink
4.2 Исследование САУ с дискретизацией регулятора методом прямоугольников
Для нахождения передаточной функции дискретизации непрерывного регулятора цифрового корректирующего устройства, воспользуемся преобразованием прямоугольников смысл которого заключается в следующем.
Приравняем передаточную функцию к отношению сигналов на входе и на выходе:
,
где - сигнал на выходе;
- сигнал на входе.
Выведем рекуррентную формулу для цифрового звена.
Где кванты времени
Получаем формулу в которой для расчета выходного сигнала достаточно знать текущее значение сигнала на входе, предыдущее значение входного сигнала и предыдущее значение выходного сигнала. Расчеты по данной формуле реализуем с помощью языка программирования Turbo Pascal.
Сравним результаты моделирующей программы с результатами моделирования в пакете MatLab-Simulink.
Аналоговая система с цифровым корректирующим устройством, полученным преобразованием прямоугольников и результаты её моделирования в пакете MatLab(Simulink.),Turbo Pascal.
Turbo Pascal T0=0,001с (преобразование прямоугольников
Simulink
4.3 Аналоговая САУ с цифровым корректирующим устройством, полученным стандартным z-преобразованием
Найдем передаточную функцию цифрового корректирующего устройства, воспользовавшись стандартным z-преобразованием для дискретизации непрерывного регулятора.
Воспользуемся свойством линейности Z-преобразования:
Воспользуемся таблицей z-преобразований:
Приравняем передаточную функцию к отношению сигналов на входе и на выходе:
,
где - сигнал на выходе;
- сигнал на входе.
Выведем рекуррентную формулу для цифрового звена.
Где ,
Следовательно для вычисления значения выходного сигнала для данного звена достаточно знать текущее значение сигнала на входе, предыдущее значение входного сигнала и предыдущее значение выходного сигнала.
Сравним результаты моделирующей программы с результатами моделирования в пакете MatLab-Simulink.
Аналоговая система с цифровым КУ, полученным стандартным z-преобразованием и результаты её моделирования в пакете MatLab-Simulink.
Стандартным преобразованием Turbo Pascal T0=0,0008с (стандартное z-преобразование)
Simulink
Выводы
Вывод: В результате нахождения максимального периода дискретизации получили следующие результаты:
Для цифрового корректирующего устройства, полученного при помощи преобразования Тастина, максимальный период дискретизации T0 равен 0,0008 с.
Для цифрового корректирующего устройства, полученного при помощи преобразования прямоугольников, максимальный период дискретизации T0 равен 0,001 с.
Для цифрового корректирующего устройства, полученного с помощью стандартного z-преобразования, максимальный период дискретизации T0 равен 0,008 с.
Из полученных результатов работы можно сделать общий вывод
Наибольший период дискретизации, при сохранении заданных требований к переходному процессу в данной САУ наблюдался у корректирующего устройства, полученного с помощью преобразования прямоугольников. Поэтому корректирующее устройство, полученное с помощью преобразований прямоугольников является наиболее приемлемым для данной САУ, так как требует менее частой корректировки состояния объекта управления при соблюдении заданных требований к переходному процессу.
Список использованной литературы
1. Основы теории многосвязных систем автоматического управления летательными аппаратами: Учеб. Пособие / С.Ф. Бабак, В.И. Васильев, Б.Г. Ильясов и др.; Под ред. М.Н. Красильщикова. - М.: Изд-во МАИ, 1995. - 188 с.
2. Смит Дж.М. Математическое и цифровое моделирование для инженеров и исследователей. М., Машиностроение, 1980.
3. Изерман Р. Цифровые системы управления. Пер. с англ. М.: Мир, 1984. 541 с.
4. Многоуровневое управление динамическими объектами / В.И. Васильев, Ю.М. Гусев, В.Н. Ефанов и др. Под ред. В.Ю. Рутковского и С.Д. Землякова. - М.: Наука, 1987. 309 с.
5. Теория линейных систем автоматического регулирования и управления Попов Е.П. М.: Наука 1989.
Приложение
Листинг программы.
Текст программы на языке Turbo Pascal для построения переходных процессов САУ.
UNIT MDrawFun;
INTERFACE
USES Graph;
TYPE
Float=Single;
PROCEDURE DrawFun(N:Integer;VAR x,y:ARRAY OF Float;
WMinX,WMinY,WMaxX,WMaxY:Integer;Text:STRING;Color:Integer);
IMPLEMENTATION
CONST
{Максимальные высота и ширина одной буквы шрифта графика}
CharMaxWidth=8;
CharMaxHeight=8;
MaxStringChars=5;
Delta:Float=0.000001;
VAR
xScale,yScale,xOrigin,yOrigin:Float;
WindowMinX,WindowMinY,WindowMaxX,WindowMaxY:Integer;
xMin,yMin,xMax,yMax:Extended;
{Специальное округление, для выбора шага масштабной сетки}
FUNCTION MyRound(x:Float):Float;
BEGIN
IF x>0.0
THEN MyRound:=Trunc(x+0.9)
ELSE MyRound:=Trunc(x-0.1)
END;
{Выбор масштаба графика,
Ввод:
координаты окна (WindowMinX,WindowMinY,WindowMaxX,WindowMaxY:Integer;)
минимумы и максимумы функции (xMin,yMin,xMax,yMax:Extended)
Вывод:
множители и смещения (xScale,yScale,xOrigin,yOrigin:Extended;)
}
PROCEDURE DrawFunZoom;
BEGIN
IF xMax-xMin>Delta THEN xScale:=(WindowMaxX-WindowMinX)/(xMax-xMin);
IF yMax-yMin>Delta THEN yScale:=(WindowMaxY-WindowMinY)/(yMax-yMin);
IF xScale<Delta THEN xScale:=yScale;
IF yScale<Delta THEN yScale:=xScale;
IF (yScale<Delta) AND (xScale<Delta)
THEN
BEGIN
xScale:=1.0;
yScale:=1.0
END;
{Закоментирован выбор одинакового масштаба по осям.}
{IF xScale<yScale
THEN yScale:=xScale
ELSE xScale:=yScale;}
xOrigin:=(WindowMinX+WindowMaxX-(xMax+xMin)*xScale)/2.0;
yOrigin:=(WindowMinY+WindowMaxY+(yMax+yMin)*yScale)/2.0
END;
{Расчёт экранной координаты точки по X,
ввод:
координата X точки (параметр x:Extended)
вывод:
экранная координата X точки
}
FUNCTION DrawFunX(x:Extended):Integer;
BEGIN
DrawFunX:=Round(xOrigin+x*xScale)
END;
{Расчёт экранной координаты точки по Y,
ввод:
координата Y точки (параметр y:Extended)
вывод:
экранная координата Y точки
}
FUNCTION DrawFunY(y:Extended):Integer;
BEGIN
DrawFunY:=Round(yOrigin-y*yScale)
END;
PROCEDURE DrawFun(N:Integer;VAR x,y:ARRAY OF Float;
WMinX,WMinY,WMaxX,WMaxY:Integer;Text:STRING;Color:Integer);
VAR
I:Integer;
yStep,yStepCur,yStepMin,yStepMax:Float;
xStep,xStepCur,xStepMin,xStepMax:Float;
xText,yText:Integer;
S:STRING;
BEGIN
xMin:=x[0];
xMax:=x[0];
yMin:=y[0];
yMax:=y[0];
FOR I:=1 TO N-1 DO
BEGIN
IF x[I]<xMin
THEN xMin:=x[I];
IF x[I]>xMax
THEN xMax:=x[I];
IF y[I]<yMin
THEN yMin:=y[I];
IF y[I]>yMax
THEN yMax:=y[I]
END;
{Теперь найдём область окна, где будет нарисован сам график.}
WindowMinX:=WMinX;
WindowMaxX:=WMaxX;
WindowMinY:=WMinY;
WindowMaxY:=WMaxY;
{Над графиком может быть надпись. Если она есть, отсекаем
верхнюю прямоугольную область окна на высоту шрифта.}
IF Text<>''
THEN WindowMinY:=WindowMinY+CharMaxHeight;
{Если ось X проходит в верхней части графика, значения X
будем проставлять наверху и т.д.}
IF (Abs(yMin)>Abs(yMax))
THEN WindowMinY:=WindowMinY+MaxStringChars*CharMaxHeight
ELSE WindowMaxY:=WindowMaxY-MaxStringChars*CharMaxHeight;
{Если ось Y проходит в правой части графика, значения Y
будем проставлять справа и т.д.}
IF (Abs(xMin)<Abs(xMax))
THEN WindowMinX:=WindowMinX+MaxStringChars*CharMaxWidth
ELSE WindowMaxX:=WindowMaxX-MaxStringChars*CharMaxWidth;
DrawFunZoom;
SetColor(White);
xStep:=CharMaxWidth/xScale;
xStep:=exp(MyRound(ln(xStep)/ln(10.0))*ln(10.0));
xStepMin:=Trunc(xMin/xStep)*xStep;
xStepMax:=Trunc(xMax/xStep+1.0-delta)*xStep;
xStepCur:=xStepMin;
SetTextStyle(0,1,1);
{Если ось Y проходит в правой части графика, значения Y
будем проставлять справа и т.д.}
IF (Abs(yMin)>Abs(yMax))
THEN
BEGIN
SetTextJustify(CenterText,BottomText);
yText:=DrawFunY(yMax)
END
ELSE
BEGIN
SetTextJustify(CenterText,TopText);
yText:=DrawFunY(yMin)
END;
WHILE (xStepCur<xStepMax) DO
BEGIN
IF (Abs(xStepCur)<Delta)
THEN SetLineStyle(SolidLn,0,NormWidth)
ELSE SetLineStyle(DottedLn,0,NormWidth);
Line(DrawFunX(xStepCur),DrawFunY(yMin),
DrawFunX(xStepCur),DrawFunY(yMax));
Str(xStepCur:0:2,S);
OutTextXY(DrawFunX(xStepCur),yText,S);
xStepCur:=xStepCur+xStep
END;
yStep:=CharMaxHeight/yScale;
yStep:=exp(MyRound(ln(yStep)/ln(10.0))*ln(10.0));
yStepMin:=Trunc(yMin/yStep)*yStep;
yStepMax:=Trunc(yMax/yStep+1.0-delta)*yStep;
yStepCur:=yStepMin;
SetTextStyle(0,0,1);
{Если ось X проходит в верхней части графика, значения X
будем проставлять наверху и т.д.}
IF (Abs(xMin)>Abs(xMax))
THEN
BEGIN
SetTextJustify(LeftText,CenterText);
xText:=DrawFunX(xMax)
END
ELSE
BEGIN
SetTextJustify(RightText,CenterText);
xText:=DrawFunX(xMin)
END;
WHILE (yStepCur<yStepMax) DO
BEGIN
IF (Abs(yStepCur)<Delta)
THEN SetLineStyle(SolidLn,0,NormWidth)
ELSE SetLineStyle(DottedLn,0,NormWidth);
Line(DrawFunX(xMin),DrawFunY(yStepCur),
DrawFunX(xMax),DrawFunY(yStepCur));
Str(yStepCur:0:2,S);
OutTextXY(xText,DrawFunY(yStepCur),S);
yStepCur:=yStepCur+yStep
END;
SetColor(Color);
SetTextStyle(0,0,1);
SetTextJustify(CenterText,TopText);
OutTextXY((WMaxX+WMinX) DIV 2,WMinY,Text);
SetLineStyle(SolidLn,0,ThickWidth);
MoveTo(DrawFunX(x[0]),DrawFunY(y[0]));
FOR I:=1 TO N-1 DO
LineTo(DrawFunX(x[I]),DrawFunY(y[I]))
END;
BEGIN
WriteLn('MDrawFun 19-05-2003 by Stupin W.A.');
END.
Исходный текст программы на языке Pascal для моделирования САУ
PROGRAM TAUKurs;
USES CRT,Graph,MDrawFun;
CONST
TimeStep=0.001; {Шаг времени}
NumberPoints=3000; {Число шагов}
T0=0.01; {Период дискретизации для цифровых САУ}
VAR
GD,GM,Method,I:Integer;
time,g,e,v,u,x:Float;
KUX0,KUX1,KUTime,
IMX,IMXDot,
OUX,OUXDot:Float;
AnalogXVector,
TastinXVector,
RectangleXVector,
StandartZXVector,
TimeVector:ARRAY [0..NumberPoints-1] OF Float;
PROCEDURE TrapeziodalIntegral(VAR X,XDot:Float;NextXDot,step:Float);
BEGIN
X:=X+(XDot+NextXDot)*step/2.0;
XDot:=NextXDot
END;
{PROCEDURE RectangularIntegral(VAR X:Float;XDot,step:Float);
BEGIN
X:=X+XDot*step;
END;}
{Инерционное звено. (Апериодическое звено 1-го порядка.)
W(S)= K/ T*S+1
Out= K*Int-Out/ T
=>
X= K*Int-Out/ T
Out=X
K и T - параметры звена,
X, XDot - текущее состояние звена
(производная нужна для вычисления интеграла методом трапеций),
Int - значение входного сигнала.
Функция вычисляет новое внутреннее состояние звена
и сигнал на выходе.
Шаг интегрирования общий для всей программы - TimeStep.
}
FUNCTION Inertion(K,T:Float;
VAR X,XDot:Float;
Int:Float):Float;
BEGIN
TrapeziodalIntegral(X,XDot,(K*Int-X)/T,timeStep);
Inertion:=X
END;
{Изодромное звено.
W(S)=K*( T*S+1)/S
Out=K*(T*IntDot+Int)
=>
X=Int
Out=K*(T*Int+X)
K и T - параметры звена,
X, XDot - текущее состояние звена
(производная нужна для вычисления интеграла методом трапеций),
Int - значение входного сигнала.
Функция вычисляет новое внутреннее состояние звена
и сигнал на выходе.
Шаг интегрирования общий для всей программы - TimeStep.
}
FUNCTION Isodrome(K,T:Float;
VAR X,XDot:Float;
Int:Float):Float;
BEGIN
TrapeziodalIntegral(X,XDot,Int,timeStep);
Isodrome:=K*(T*Int+X)
END;
{Цифровой аналог изодромного звена (преобразование Тастина).
W(z)=K*T+K*T0/ 2*z+1/ z-1
Out=PrevOut+K*(T0/2+T)*Int+K*(T0/2-T)*PrevInt
K и T - параметры звена,
PrevInt, PrevOut - предыдущие значения входа и выхода,
PrevTime - время предыдущего срабатывания звена,
Int - текущее значение сигнала на входе.
Функция запоминает значения сигналов на входе и выходе
и вычисляет новое значение сигнала на выходе.
Текущее время общее для всей программы - time.
}
FUNCTION TastinIsodrome(K,T,T0:Float;
VAR PrevInt,PrevOut,PrevTime:Float;
Int:Float):Float;
VAR
Out:Float;
BEGIN
IF (time>=PrevTime+T0)
THEN
BEGIN
Out:=PrevOut+K*(T0/2.0+T)*Int+K*(T0/2.0-T)*PrevInt;
PrevInt:=Int;
PrevOut:=Out;
PrevTime:=PrevTime+T0;
TastinIsodrome:=PrevOut
END
ELSE
TastinIsodrome:=PrevOut
END;
{Цифровой аналог изодромного звена (преобразование прямоугольников).
Функция вычисляет новое внутреннее состояние звена и сигнал на выходе.
W(z)=K*T+K*T0*--- z/ z-1
Out=PrevOut+K*(T+T0)*Int-K*T*PrevInt
K и T - параметры звена,
PrevInt, PrevOut - предыдущие значения входа и выхода,
PrevTime - время предыдущего срабатывания звена,
Int - текущее значение сигнала на входе.
Функция запоминает значения сигналов на входе и выходе
и вычисляет новое значение сигнала на выходе.
Текущее время общее для всей программы - time.
}
FUNCTION RectangleIsodrome(K,T,T0:Float;
VAR PrevInt,PrevOut,PrevTime:Float;
Int:Float):Float;
VAR
Out:Float;
BEGIN
IF (time>=PrevTime+T0)
THEN
BEGIN
Out:=PrevOut+K*(T+T0)*Int-K*T*PrevInt;
PrevInt:=Int;
PrevOut:=Out;
PrevTime:=PrevTime+T0;
RectangleIsodrome:=PrevOut
END
ELSE
RectangleIsodrome:=PrevOut
END;
{Цифровой аналог изодромного звена (стандартное z-преобразование).
W(z)=K*T+K*T0/ z-1
Out=PrevOut+K*T*Int+K*(T0-T)*PrevInt
K и T - параметры звена,
PrevInt, PrevOut - предыдущие значения входа и выхода,
PrevTime - время предыдущего срабатывания звена,
Int - текущее значение сигнала на входе.
Функция запоминает значения сигналов на входе и выходе
и вычисляет новое значение сигнала на выходе.
Текущее время общее для всей программы - time.
}
FUNCTION StandartZIsodrome(K,T,T0:Float;
VAR PrevInt,PrevOut,PrevTime:Float;
Int:Float):Float;
VAR
Out:Float;
BEGIN
IF (time>=PrevTime+T0)
THEN
BEGIN
Out:=PrevOut+K*T*Int+K*(T0-T)*PrevInt;
PrevInt:=Int;
PrevOut:=Out;
PrevTime:=PrevTime+T0;
StandartZIsodrome:=PrevOut
END
ELSE
StandartZIsodrome:=PrevOut
END;
{--------------Начало программы------------------}
BEGIN
WriteLn('TAUKurs 27,29,30-05-2003, 1-06-2003 by Stupin W.A.');
GD:=Detect;
InitGraph(GD,GM,'d:\bp\bgi');
IF GraphResult<>GrOk
THEN
BEGIN
WriteLn('Ошибка инициализации графики.');
Exit;
END;
FOR Method:=0 TO 3 DO
BEGIN
{Задаём начальное состояние "линий",
т.е. входов и выходов звеньев}
g:=0.0;
e:=0.0;
v:=0.0;
u:=0.0;
x:=0.0;
{Задаём начальное состояние звеньев}
KUX0:=0.0; KUX1:=0.0; {аналоговое или цифровое}
KUTime:=-T0; {корректирующее устройство}
IMX:=0.0; IMXDot:=0.0; {исполнительный механизм}
OUX:=0.0; OUXDot:=0.0; {объект управления}
FOR I:=0 TO NumberPoints-1 DO
BEGIN
time:=I*TimeStep;
TimeVector[I]:=time;
{Порядок вычисления соответствует "течению" сигнала по системе}
{Единичное ступенчатое воздействие}
g:=1.0;
{Сравнивающий элемент}
e:=g-x;
{Корректирующее устройство}
CASE Method OF
0: BEGIN
AnalogXVector[I]:=x;
v:=Isodrome(133.0,0.2,KUX0,KUX1,e)
END;
1: BEGIN
TastinXVector[I]:=x;
v:=TastinIsodrome(133.0,0.2,T0,KUX0,KUX1,KUTime,e)
END;
2: BEGIN
RectangleXVector[I]:=x;
v:=RectangleIsodrome(133.0,0.2,T0,KUX0,KUX1,KUTime,e)
END;
3: BEGIN
StandartZXVector[I]:=x;
v:=StandartZIsodrome(133.0,0.2,T0,KUX0,KUX1,KUTime,e)
END
END;
{Исполнительный механизм}
u:=Inertion(0.1,0.1,IMX,IMXDot,v);
{Объект управления}
x:=Inertion(0.5,0.2,OUX,OUXDot,u)
END
END;
DrawFun(NumberPoints,TimeVector,AnalogXVector,0,0,GetMaxX,GetMaxY DIV 4,
'Аналоговая система - x(t)',LightRed);DrawFun(NumberPoints,TimeVector,TastinXVector,0,GetMaxY DIV 4,GetMaxX,GetMaxY DIV 2,
'Аналоговая система с цифровым КУ по преобразованию Тастина - x(t)',Yellow);
DrawFun(NumberPoints,TimeVector,RectangleXVector,0,GetMaxY DIV 2,GetMaxX,3*GetMaxY DIV 4,
'Аналоговая система с цифровым КУ по преобразованию прямоугольников - x(t)',LightGreen);
DrawFun(NumberPoints,TimeVector,StandartZXVector,0,3*GetMaxY DIV 4,GetMaxX,GetMaxY,
'Аналоговая система с цифровым КУ по стандартному z-преобразованию - x(t)',LightBlue);
ReadKey;
CloseGraph
END.
Размещено на Allbest.ru
...Подобные документы
Описание процесса нахождения оптимальных параметров ПИД регулятора. Овладение методами математического описания систем. Рассмотрение и применение методов синтеза непрерывных и дискретных систем автоматического управления с помощью MATLAB Simulink.
курсовая работа [1,7 M], добавлен 23.12.2015Разработка алгоритма оптимизации коэффициентов дискретного регулятора с законом ПИД по минимуму интегрального квадратичного критерия. Расчёт оптимальных параметров регулятора на основе описанных алгоритмов. Анализ переходных процессов в замкнутой системе.
практическая работа [1,4 M], добавлен 25.12.2011Разработка цифровой модели системы управления в среде Мathcad с учетом ограничений на фазовую координату X3. Исследование системы методом цифрового моделирования. Проведение параметрической оптимизации управления. Линейная комбинация фазовых координат.
курсовая работа [246,8 K], добавлен 30.10.2014Моделирование имитационной модели системы управления, состоящей из ПИ-регулятора и инерционного объекта второго порядка. Прогон и оптимизация модели на системе имитационного моделирования ИМОДС. Оценка параметров системы до и после оптимизации.
курсовая работа [1,3 M], добавлен 17.02.2013Исследование принципа работы основных логических элементов цифровых устройств. Описания вычислительных машин непрерывного и дискретного действия. Инверсия конъюнкции, дизъюнкции и равнозначности. Разработка программы, реализующей логические операции.
практическая работа [230,8 K], добавлен 25.03.2015Особенности моделирования биологических систем с использованием программы "AnyLogic". Влияние различных факторов на популяции жертв и хищников. Принципы имитационного моделирования и его общий алгоритм с помощью ЭВМ. Анализ результатов моделирования.
курсовая работа [922,2 K], добавлен 30.01.2016Построение модели объекта управления. Получение модели "вход-состояние-выход". Методика определения параметров регулятора. Схема имитационного моделирования системы и статистического анализа во временной области. Анализ случайных величин и процессов.
курсовая работа [2,5 M], добавлен 23.04.2013Расчет параметров регулятора и компенсатора для непрерывных и дискретных систем для объекта и возмущающего воздействия в пакете Matlab. Вид передаточных функций. Моделирование систем управления. Оценка переменных состояния объекта с помощью наблюдателя.
курсовая работа [712,5 K], добавлен 04.12.2014Определение передаточных функций разомкнутой и замкнутой системы Расчет статических характеристик по управлению и возмущению, параметров регулятора, обеспечивающего качество системы. Построение графиков переходных процессов с помощью Matlab и Simulink.
курсовая работа [3,7 M], добавлен 16.01.2015Понятие и способы дискретизации аналоговых сигналов. Ознакомление с примерами аналого-цифрового преобразование звука. Изучение способов кодирования цифровых изображений, видеоданных и текста. Рассмотрение теоремы Котельникова и теории информации.
презентация [1,2 M], добавлен 15.04.2014Разработка алгоритма и программы на персональном компьютере двухслойной нейросети, аналогичной программы на микроконтроллере STM32F407VG. Этапы реализации обучения нейросети и передачи весовых коэффициентов на микроконтроллер по интерфейсу связи UART.
курсовая работа [1,4 M], добавлен 21.02.2016Получение дискретной передаточной функции и создание модели импульсной системы автоматического управления. Билинейное преобразование и определение граничного коэффициента. Влияние периода квантования. Синтез и анализ главных параметров регулятора.
курсовая работа [951,2 K], добавлен 11.06.2015Анализ основных этапов решения задачи синтеза регуляторов в классе линейных стационарных систем. Нахождение оптимальных настроек регулятора и передаточной функции замкнутой системы. Изучение состава и структуры системы автоматизированного управления.
контрольная работа [3,0 M], добавлен 11.05.2012Идентификация объекта управления на основе экспериментальных данных. Синтез информационно-управляющей системы и анализ ее характеристик: аналогового регулятора Смита и его цифровое перепроектирование, адаптация. Выбор микропроцессорного контроллера.
курсовая работа [683,3 K], добавлен 16.10.2013Метод сетевого оператора и его применение в задачах управления. Исследование на основе вычислительного эксперимента синтезируемой системы автоматизированного управления космического аппарата, методом интеллектуальной эволюции. Алгоритм пчелиного роя.
дипломная работа [1,8 M], добавлен 17.09.2013Составление и анализ математической модели объекта управления и структурной схемы системы. Построение областей устойчивости, требуемой точности и быстродействия статического регулятора. Анализ замкнутой системы управления с непрерывным регулятором.
курсовая работа [1,2 M], добавлен 12.04.2012Модель и задачи искусственного нейрона. Проектирование двуслойной нейронной сети прямого распространения с обратным распространением ошибки, способной подбирать коэффициенты ПИД-регулятора, для управления движения робота. Комплект “LEGO Mindstorms NXT.
отчет по практике [797,8 K], добавлен 13.04.2015Проведение аналитического конструирования оптимальных регуляторов для систем с распределенными параметрами. Синтез распределенного регулятора для системы управления температурным полем многослойной пластинки. Анализ работы замкнутой системы управления.
курсовая работа [461,2 K], добавлен 20.12.2014Общие принципы построения цифровых систем передачи, их иерархия и достоинства. Организация управления сетью оборудования связи с помощью персонального компьютера по интерфейсу серии F. Оборудование гибкого мультиплексирования ОГМ-30Е, принцип его работы.
дипломная работа [1,1 M], добавлен 28.10.2013Разработка базы данных хранения значений технологических параметров с системой управления, графическое отображение значений технологических параметров. Синтез цифровой комбинированной системы регулирования. Расчет оптимальных настроек регулятора.
курсовая работа [1,3 M], добавлен 13.10.2012