microbik.ru
1 2 3

ОСНОВЫ ТЕОРИИ УПРАВЛЕНИЯ

Лабораторная работа № 3



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



Барнаул 2008

краткие теоретические сведения


Создание моделей в Simulink

Пакет Simulink предназначен для моделирования систем. Вся модель строится из блоков, имеющих входы и выходы. Существует библиотека стандартных блоков, кроме того, можно создавать свои собственные блоки любой сложности. Существует две группы специальных устройств – источники сигналов (Sources) и устройства вывода (Sinks).

Блоки имеют названия. Для того, чтобы изменить название, надо щелкнуть по нему ЛКМ и отредактировать текст1.

Каждый блок имеет свои настраиваемые свойства. Для их изменения надо дважды щелкнуть на блоке и изменить нужные значения в диалоговом окне.

Для того, чтобы повернуть блок на 90 градусов, надо выделить его и нажать клавиши Ctrl+R. Комбинация Ctrl+I позволяет выполнить зеркальное отражение входов и выходов.

Верхнее меню Format предназначено для изменения оформления выделенного блока. Также для этой цели можно использовать контекстное меню ПКМ – Format. Для выделенного блока можно изменить цвет текста и линий (Foreground color), цвет фона (Background color), вывести тень (Show drop shadow), переместить название на другую сторону (Flip name).

Для выделения одного блока или соединительной линии надо щелкнуть ЛКМ по нужному элементу. Для того, чтобы выделить несколько блоков, надо «обвести» их при нажатой ЛКМ. Клавиша Delete удаляют выделенную часть. Чтобы скопировать блок (или выделенную часть), надо перетащить его при нажатой правой кнопке мыши (ПКМ).

Блоки соединяются линиями связи, по которым распространяются сигналы. Для того, чтобы соединить блоки, надо щелкнуть ЛКМ по источнику сигнала и затем, при нажатой клавише Ctrl, по блоку-приемнику. Можно также протянуть мышкой линию связи между нужными выходом и входом.

Чтобы подать один сигнал на два блока (сделать «развилку»), надо сначала создать одну линию обычным способом. Чтобы провести вторую линию, следует нажать правую кнопку мыши на линии в точке развилки и протащить линию ко второму блоку.

Модель можно скопировать в буфер обмена в виде растрового рисунка. Для этого в окне модели надо выбрать в верхнем меню пункт EditCopy model to clipboard. Предварительно лучше уменьшить размеры окна до минимальных, чтобы не было белых полей.

Для того, чтобы запустить моделирование, надо щелкнуть ЛКМ по кнопке на панели инструментов. Эта же кнопка позволяет остановить моделирование при необходимости.

Параметры моделирования (метод интегрирования, обработка ошибок) устанавливаются с помощью окна SimulationParameters. Самые важные параметры – это время моделирования (Stop time) и метод численного интегрирования уравнений (Solver options).

Основные источники сигналов (Sources)



Constant – сигнал постоянной величины.



Step – ступенчатый сигнал, меняется время скачка (Step Time), начальное (Initial Value) и конечное значение (Final Value).



Ramp – линейно возрастающий сигнал с заданным наклоном (Slope). Можно задать также время начала изменения сигнала (Start Time) и начальное значение (Initial Value).



Pulse Generator – генератор прямоугольных импульсов, задаются амплитуда (Amplitude), период (Period), ширина (Pulse Width, в процентах от периода), фаза (Phase Delay).



Repeating Sequenceпоследовательность импульсов, их форма задается в виде пар чисел (время; величина сигнала)



Sine Wave – синусоидальный сигнал, задается амплитуда (Amplitude), частота (Frequency), фаза (Phase) и среднее значение (Bias).



Signal Builder – построитель сигналов, позволяющий задавать форму сигнала, перетаскивая мышью опорные точки.



Random Number – случайные числа с нормальным (гауссовым) распределением. Можно задать среднее значение (Mean Value), дисперсию (Variance), период изменения сигнала (Sample Time).



Uniform Random Number – случайные числа с равномерным распределением в заданном интервале от Minimum до Maximum.



Band Limited White Noise – случайный сигнал, ограниченный по полосе белый шум (имеющий равномерный спектр до некоторой частоты). Блок используется как источник белого шума для моделей непрерывных систем. Задается интенсивность (Noise Power) и интервал дискретизации (Sample Time), в течение которого удерживается постоянное значение сигнала. Чем меньше интервал, тем точнее моделирование, однако больше вычислительные затраты.

Основные устройства вывода (Sinks)



Display – цифровой дисплей, показывает изменение входного сигнала в цифровом виде.



Scopeосциллограф, показывает изменение сигнала в виде графика, позволяет передавать данные в рабочую область Matlab для последующей обработки и оформления.

Линейные системы (Continuous)



Transfer Fcn – передаточная функция, в параметрах задаются числитель (Numerator) и знаменатель (Denominator) в виде полиномов.



State Space – модель в пространстве состояний, в параметрах задается четверка матриц, определяющих модель, и начальные условия для вектора состояния (Initial conditions).



Zero-Pole – модель в форме «нули-полюса», в параметрах задаются массивы нулей (Zeros), полюсов (Poles), а также коэффициент усиления (Gain).



Integrator – интегратор с возможностью установки начальных условий (Initial condition), а также пределов насыщения (Lower saturation limit и Upper saturation limit). Когда сигнал выхода выходит за границы, определяемые этими пределами, интегрирование прекращается.

Другие часто используемые блоки

Math Operations



Gain – усилитель, задается коэффициент усиления (Gain).



Sum – сумматор, используется для сложения и вычитания входов. Параметр List of signs задает количество входов, их знаки («+» для сложения и «» для вычитания). Промежутки между входами (обозначаются знаком |).



Trigonometric Function – тригонометрическая функция.

Signal Routing



Manual Switch – ручной переключатель, позволяет двойным щелчком переключать выход на один из двух входных сигналов.



Mux – мультиплексор, объединяет несколько сигналов в один «жгут» (векторный сигнал), в параметрах задается число входов (Number of Inputs).



Demux – демультиплексор, позволяет «разбить» векторный сигнал на несколько скалярных, в параметрах задается число выходов (Number of Outputs).

Блок Scope

В окне блока Scope изображается график изменения входного сигнала. Если вход соединен с выходом мультиплексора, сразу строится несколько графиков (по размерности входного «жгута»).

По умолчанию на оси ординат используется диапазон от -5 до 5. Если этот вариант не подходит, выбрать масштаб автоматически (так, чтобы весь график был виден) можно с помощью кнопки . Соседняя кнопка сохраняет эти настройки для следующих запусков.

Кнопка открывает окно настроек, причем наиболее важные данные содержатся на вкладке Data history. Если не сбросить флажок Limit data points, в памяти будет сохраняться только заданное число точек графика, то есть, при большом времени моделирования начало графика будет потеряно.

Отметив на этой же странице флажок Save data to workspace можно сразу передать результаты моделирования в рабочую область Matlab для того, чтобы их можно было дальше обрабатывать, выводить на графики и сохранять в файле. Поле Variable name задает имя переменной в рабочей области, в которой сохраняются данные. В простейшем случае выбирается формат Array (в списке Format). Это означает, что данные будут сохраняться в массиве из нескольких столбцов (первый столбец – время, второй – первый сигнал, третий – второй сигнал и т.д., по порядку входов мультиплексора).

Оформление графиков

Для создания нового окна для рисунка в Matlab используется команда

>> figure(1);

Вместо единицы можно ставить любой номер рисунка. Если рисунок с таким номером уже есть, он становится активным и выводится на первый план. Если такого рисунка нет, он создается и становится активным.

В Matlab есть возможность строить несколько графиков на одном рисунке. Иначе говоря, рисунок можно разбить на «клетки», в каждой из которых строится отдельный график. Для этого надо сделать активным нужный рисунок и применить команду

>> subplot(2, 1, 1);

Первое число в команде subplot показывает количество «строк» в такой матрице, второе – количество столбцов, третье – какой по счету график сделать активным (считая по строкам, справа налево и сверху вниз). Все дальнейшие команды (plot, title, xlabel, ylabel, legend и др.) относятся к этому «подграфику».

В командах можно передавать в качестве аргументов не целые массивы, а их части. Например, по команде

>> plot(x(1:20), y(11:30));

строится график, на котором по оси абсцисс откладываются значения элементов массива x с номерами от 1 до 20, а по оси ординат – соответствующие им значения из массива y с номерами от 11 до 30.

Двоеточие означает «все строки» или «все столбцы». Например, по команде

>> plot(x(:,1), x(:,2));

строится зависимость между первым и вторым столбцами массива x (здесь двоеточие вместо первого индекса обозначает «все строки»).

С помощью команды plot (а также и других подобных – semilogx, semilogy, loglog) можно строить несколько линий на одном графике. Для этого среди аргументов перечисляются пары массивов:

>> plot(x, y, v, z);

Первая линия будет показывать зависимость y от x, а вторая – зависимость z от v. массивы в каждой паре должны быть одинаковой длины. При желании можно указать цвета для каждой линии, Например,

>> plot(x, y, 'b', v, z, 'g');

Первая линия (зависимость y от x) будет синей, вторая (зависимость z от v) – зеленой. Можно использовать следующие цвета

b синий (blue)

g зеленый (green)

r красный (red)

c голубой (cyan)

m фиолетовый (magenta)

y желтый (yellow)

k черный (black)

По умолчанию первая линия – синяя, вторая – зеленая и т.д. в порядке перечисления цветов в списке. Дополнительно можно указать тип линии

- сплошная

: точечная

-. штрих-пунктирная

-- штриховая

Например,

>> plot(x, y, 'b:', v, z,'g--');

Первая линия – точечная синего цвета, вторая – штриховая зеленого цвета. По умолчанию все линии сплошные.

Для оформления графика также используются команды

title заголовок графика

xlabel название оси абсцисс

ylabel название оси ординат

У всех этих команд обязателен один аргумент – текст в апострофах.

Команда legend служит для вывода легенды графика. Легенда нужна, если на графике есть несколько линий и надо показать, что обозначает каждая из них. Параметрами команды legend являются символьные строки, их должно быть столько, сколько построено линий.

В надписях можно использовать некоторые команды системы ТеХ2. Например, греческие буквы записываются в виде «\alpha», «\beta» и т.д. Верхний индекс (степень) обозначается знаком «^», Например, запишется как «a^2». Для обозначения индекса используют нижнее подчеркивание, например, кодируется как «a_{22}».

Компенсация постоянных возмущений

На любое судно в реальных условиях действуют возмущающие силы, вызванные ветром, морским волнением и другими причинами. Некоторые из них (например, влияние ветра) содержат постоянную составляющую, т.е., их среднее значение не равно нулю. Тем не менее, система управления должна поддерживать заданный курс судна даже в таких условиях. Возмущающие силы и моменты приложены непосредственно к входу объекта управления, т.е., структурная схема имеет такой вид:



Подавление возмущений (обозначенных на схеме через ) определяется передаточной функцией системы по возмущению, т.е., передаточной функцией от входа w к выходу :

.

Если она содержит нуль в точке , соответствующая АЧХ равна нулю на нулевой частоте, т.е., постоянные возмущения в установившемся режиме компенсируются полностью. Для этого требуется, чтобы интегратор входил в модель привода, обратной связи или регулятора. Таким образом, если регулятор содержит интегральный канал (И-канал), в системе нет статической ошибки при постоянном возмущении.


следующая страница >>