Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Практическая работа в MATLAB. Учебное пособие
.pdf
2.2. Моделирование основных элементов динамических систем
Рис. 2.2
а
б
Рис. 2.3.
Большинство реальных динамических процессов могут быть описаны в
первом приближении (при малых отклонениях переменных от рабочей точки)
линейными дифференциальными уравнениями с постоянными
коэффициентами. Модели динамических непрерывных систем могут
формироваться в виде структурных схем, включающих блоки: Const
(Константа), Display (Дисплей), Scope (Осциллограф), Gain
(Коэффициент), Sum (Сумматор), Mux (Объединение), Demux (Разделение),
Derivative (Дифференцирование) и Integrator (Интегратор) и др.
Рассмотрим примеры работы с этими блоками.
2.2.1. Блок Constant (Константа)
Блок Constant вырабатывает постоянный во времени сигнал x (рис. 2.2).
Двойным щелчком на блоке Constant вызовите его окно, в котором задайте
величину сигнала x = 1 в поле Constant value и его тип (single
(вещественный), int (целый), boolean (булевский 0 или 1) с помощью
вкладки Signal data types в поле Output data type mode.
2.2.2. Блоки Display (Дисплей) и Scope (Осциллограф)
Блок Display (рис. 2.3, а) служит для числового представления сигнала
x, а блок Scope (рис. 2.3, б) для графического представления функции у от х.
Для проверки работы данных перетащите из библиотеки Commonly Used
Blocks в окно модели (untitled) два блока Constant, блок Scope и из
библиотеки Sinks блок Display. Соедините блоки согласно схеме на рис.
2.4, а, б. Дважды щелкните над стрелкой рис. 2.4, в (появится текстовый
41

курсор) и введите обозначение переменной x. Аналогичным образом сделайте
Рис. 2.5
а
Рис. 2.4.
б в г
надпись х над стрелкой рис. 2.4, г. Двойным щелчком на блоке Constant
откройте его окно, в поле Constant value введите 3 и установите тип
данных single. Аналогичным образом введите 4 в блок Constant1.
Чтобы отобразить значения переменной х в блоке Display (х = 3) и блоке
Scope (х = 4) нажмите на кнопку Start simulation. Дважды
щелкните на блоке Scope и в его открывшемся окне увидите прямую
линию на высоте, равной четырем единицам.
2.2.3. Блок Gain
На выходе блока Gain значение переменной y равно произведению
входной величины x на коэффициент усиления k:
y = k x.
Составьте исходную схему (рис. 2.5), которая состоит из блока Const,
вырабатывающего значение x, блока Gain, умножающего x на коэффициент k и
блока Display вывода значения y.
П.2.1.2. В левом подокне окна Simulink Library Browser откройте
библиотеки блоков щелчком на кнопке Simulink . Выделите библиотеку
Commonly Used Blocks, в правом подокне найдите блок Constant,
42

установите на нем курсор, нажмите левую кнопку мыши и, удерживая ее
Рис. 2.6
нажатой, перетащите блок Const в окно модели untitled.
Аналогичным образом перетащите из библиотеки Commonly Used
Blocks в окно модели блок Gain.
П. 2.1.3. В левом подокне выделите библиотеку Sinks, а из правого
подокна блок Display перетащите в окно модели.
П. 2.1.4. Соедините блоки Constant и Gain, в которых элементы > и >
указывают на начало и конец соединяющей стрелки.
Установите курсор на элементе > блока Constant (курсор превратится в
знак +), нажмите левую кнопку мыши и, удерживая ее нажатой, проведите
стрелку от элемента > блока Constant до элемента > блока Gain.
Аналогичным образом соедините стрелкой блоки Gain и Display.
П. 2.1.5. Используя команду File, Save As, сохраните полученную
модель под именем fig_ish.
На рис. 2.6 показана реализация схемы на рис. 2.5 в окне модели,
сохраненной под именем fig_ish. Теперь добавьте поясняющие надписи на
стрелках и выполните вычисления.
П. 2.1.6. Двойным щелчком левой клавиши мыши над первой (слева)
стрелкой активизируйте текстовый курсор и введите x. Аналогичным образом
над второй стрелкой введите y, чтобы надписи отражали связь надписей x, y с
уравнением y = k x. Двойным щелчком на блоке Constant откройте его окно и
43

задайте тип сигнала x щелчком на опции Signal data types, выбирая в
б
а
Рис. 2.9.
Рис. 2.7
Рис. 2.8
поле Output data type mode тип сигнала single (вещественное число).
Щелкните на опции Main и в поле Constant value задайте величину
3.5 входного сигнала x. Откройте окно блока Gain и в поле Gain введите
равную 2 величину коэффициента k. Для вычисления y нажмите на кнопку
Start simulation и получите результат, показанный на рис. 2.7.
Самостоятельно постройте схему на рис. 2.8, используя правую клавишу мыши
для вычерчивания линии отвода, и выполните вычисление функций
y1 = k1 x, y2 = k2 x
при x = 2, k1 = 3, k2 = 4.
2.2.4. Блок Sum (Сумматор)
Блок Sum служит для нахождения алгебраической суммы y двух x1, x
трех x1, x2, x
входных переменных. Каждой входной переменной присваивается
3
или
2
знак операции (знак сложения + или вычитания –). Для блока, показанного на
рис. 2.9, а, справедливо выражение
y = x1 – x2.
44

Перетащите из библиотеки Commonly Used Blocks один блок Sum и
Рис. 2.10
Рис. 2.11
а)
б)
три блока Constant, а из библиотеки Sinks блок Display. Щелчком на
блоке Sum откройте его окно и в поле List of sings введите три знака + –
+. Соедините блок Sum с остальными блоками согласно рис. 2.9, б, для
получения алгебраической суммы:
y = x1 – x2 + x3.
Введите поясняющие надписи: x1 над первой, x2 над второй, x3 над
третьей входными стрелками и y над стрелкой, выходящей из сумматора.
В блоках Constant, Constant 1, Constant 2 введите значения
6, 7 и 2, соответственно, и нажмите кнопку Start simulation.
Самостоятельно повторите вычисления с противоположными знаками на
сумматоре (– + –).
2.2.5. Блоки объединения Mux и разделения Demux сигналов
Блок Mux предназначен для объединения (мультиплексирования)
рис. 2.11, а, б.
скалярных сигналов, например x1, x2, x3 в векторную
переменную x = (x1, x2, x3), а блок Demux – для разделения
(демультиплексирования) векторной переменной x на
составляющие x1, x2 и x
, как показано на рис. 2.10.
3
Проверьте работу блоков Mux и Demux для двух схем на
В окно модели из библиотеки Commonly Used Blocks перетащите
блоки Mux и Demux. Щелкните дважды на блоке Mux и в поле Number of
45

inputs (число входов) открывшегося окна введите 3. Аналогичным образом
dt
dx
y
откройте окно блока Demux и в поле Number of outputs (число выходов)
введите 3.
Из этой же библиотеки перетащите три блока Constant и в каждом из
них установите значения 1, 2, 3 согласно рис. 2.11, а. Из библиотеки Sinks в
окно модели перетащите три блока Display и соедините все блоки согласно
схеме на рис. 2.11, а.
Нажмите на кнопку Start simulation и проанализируйте
результаты, выведенные на экранах дисплеев.
Из библиотеки Commonly Used Blocks перетащите три блока
Constant и установите в них значения 1, 2, 3, блок Mux и установите в нем
три входа, а также блок Scope. Соедините эти блоки согласно схеме на рис.
2.11, б и нажмите кнопку Start simulation. Щелкните дважды на
Scope и увидите три линии, отстоящие от линии абсциссы на
соответствующих значениях 1, 2, 3.
2.2.6. Блок Derivative (Дифференцирование)
Блок Derivative (рис. 2.12, а) производит вычисление производной y
по времени от входной переменной x
.
Рассмотрим действие операции дифференцирования на синусоидальный
входной сигнал, вырабатываемый блоком Sine Wave.
Перетащите в окно модели из библиотеки Commonly Used Blocks
осциллограф Scope, панель Mux для входа двух сигналов, из библиотеки
Continuos блок Derivative, а из библиотеки Sources блок Sine Wave,
вырабатывающий синусоидальный сигнал x.
46

t
t
dxtyty
0
)()()(
0
а
б
Рис. 2.12
в
Соедините эти блоки и измените их поясняющие надписи согласно рис.
2.12, б. Нажмите кнопку Start simulation, а затем дважды щелкните
на осциллографе Scope появятся два графика синусоидальных функций (рис.
2.12, в): начинающийся с нуля – это x = sint и не с нуля – это y = dx/dt = cost.
2.2.7. Блок Integrator (Интегратор)
Блок Integrator реализует уравнение
,
где x(t), y(t) – входная и выходная переменные блока, y(t0) – начальное значение
выхода в момент времени t0.
На рис. 2.13, а показано графическое изображение операции
интегрирования.
Из библиотеки Sources перетащите в окно модели два блока-источника
ступенчатого воздействия Step, из библиотеки Commonly Used Blocks
блоки Sum, Integrator, Mux и Scope. Введите поясняющие надписи на
стрелках и соедините блоки согласно рис. 2.13, б.
47

t 2 1
dx
t
–
+
4
4
2 1 x2 –4 0 4 x
1 ≡
4
Рис. 2.14
а
б
Рис. 2.13
в
Два блока Step, Step1 и сумматор формируют импульсное
воздействие на вход интегратора y согласно рис. 2.13 б. Чтобы получить
импульсное воздействие согласно рис. 2.14, откройте окно блока Step в поле
Final value установите 4. Откройте окно блока Step1, в поле Step time
установите 2, а в поле Final value – 4.
Нажмите на кнопку Start simulation, а затем дважды щелкните
на осциллографе Scope. На графике (рис. 2.13, в) видны входной импульс и
реакция интегратора на импульсное воздействие, именуемая импульсной
переходной функцией.
Внимание: Чтобы повернуть блок на 90о, надо выделить его мышью и в
окне модели выполнить команду Format, Rotate Block.
48

2.3. Моделирование динамических объектов, описываемых
yyty 128)(148
y
Рис. 2.15.
а
б
линейными дифференциальными уравнениями
С помощью блоков SIMULINK составьте линейную модель объекта,
описываемую неоднородным линейным дифференциальным уравнением (1.15),
приведенным к виду
(2.1)
при нулевых начальных условиях y(0) = 0,
(0) = 0.
Его входом является единичная ступенчатая функция 1(t),
вырабатываемая блоком Step. Наберите в окне модели схему на рис. 2.15, а,
реализующую
решение дифференциального уравнения (2.1), в правой части которого
находится единичная ступенчатая функция 1(t). Из библиотеки Commonly
Used Blocks перетащите в окно модели три блока Gain, два блока
Integrator, блок Sum и блок Scope, а из библиотеки Sources – блок
Step. Соедините эти блоки согласно схеме на рис. 2.15, а и установите 8 в
блоке Gain, 12 в блоке Gain1 и 48 в блоке Gain2. В сумматоре Sum
установите соответствующие схеме расположение и количество знаков + и –.
Нажмите на кнопку Start simulation и двойным щелчком на блоке
Scope откройте его окно с графиком (рис. 2.15, б), который представляет собой
49

решение дифференциального уравнения (2.1) и является реакцией
Рис. 2.16.
динамического объекта на единичную ступенчатую функцию 1(t).
Согласно выданному варианту из табл. 1.3 подставьте коэффициенты a в
Gain, b в Gain1 и c в Gain2 (рис. 2.15, а), получите реакцию
динамического объекта на импульсное воздействие, а затем на единичную
ступенчатую функцию 1(t). Сохраните последнюю схему под именем Plant.
2.4. Формирование подсистем
Формирование подсистем или блок-схем дает возможность представить
достаточно сложную структурную схему, например, динамического объекта, в
виде блока с соответствующим числом входов и выходов. Таким образом
соединение сложных схем можно заменить последовательностью достаточно
простых блоков. В настоящем разделе рассматривается формирование блок-
схемы системы автоматического регулирования (САР), состоящей из блоков
линейного пропорционально-интегрально-дифференциального (PID)
регулятора и объекта (Plant), описываемого линейным дифференциальным
уравнением второго порядка, и охваченных отрицательной обратной связью
(рис. 2.16). Ошибка
е, поступающая на вход PID регулятора, образуется на выходе сумматора
e = y0 – y, где y0, y – заданное и текущее значение выхода. В зависимости от
ошибки e регулятор PID вырабатывает такое управление u, которое приводит
выход объекта Plant y к заданному значению y0.
50
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
