Синтез цифровых систем автоматизированного управления методом аналогового прототипа

Алгоритм составления модели инерционного звена. Исследование цифровой САУ способом дискретизации непрерывного регулятора. Разработка программы моделирования переходных процессов в САУ с помощью ЭВМ. Способы дискретизации непрерывного регулятора.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.