- •Лекция № 21
- •2. Обзор пакетов расширения Matlab Пакет моделирования динамических систем (Simulink)
- •Генераторы отчетов (Report Generator для matlab и Simulink)
- •Пакет теории нечетких множеств (Fuzzy Logic Toolbox)
- •Пакет для работы со сплайнами (Spline Toolbox)
- •Пакет решения оптимизационных задач и нелинейных уравнений (Optimization Toolbox)
- •Пакет для постановки и решения задач линейного программирования (lmi Control Toolbox)
- •Пакет для построения и моделирования телекоммуникационных устройств (Communications Toolbox)
- •Пакеты для обработки сигналов и изображений (Signal Processing Toolbox, Higher-Order Spectral Analysis Toolbox, Image Processing Toolbox)
- •Пакет исследования многомерных нестационарных явлений с помощью вейвлетов (Wavelet Toolbox)
- •Пакет по финансово-экономическим расчетам (Financial Toolbox)
- •Пакет для анализа географических данных, отображения карт (Mapping Toolbox)
- •Пакет моделирования энергетических систем (Power System Blockset)
- •Пакеты для получения данных от устройств (Data Acquisition Toolbox и Instrument Control Toolbox)
- •Пакет для обеспечения обмена информацией с системами управления базами данных (Database toolbox)
- •Пакет трехмерной анимации (Virtual Reality Toolbox)
- •Matlab Compiler
- •3. Назначение пакета Simulink
- •4. Библиотека компонентов пакета Simulink
4. Библиотека компонентов пакета Simulink
Запуск Simulink. Для запуска программы необходимо предварительно запустить пакет Matlab. После открытия основного окна программы Matlab нужно запустить программу Simulink. Это можно сделать одним из трех способов:
— нажать кнопку (Simulink) на панели инструментов командного окна Matlab;
— в командной строке главного окна Matlab напечатать Simulink и нажать клавишу Enter на клавиатуре;
— выполнить команду Open… в меню File и открыть файл модели (mdl-файл). Этот вариант удобно использовать для запуска уже готовой и отлаженной модели, когда требуется лишь провести расчеты и не нужно добавлять новые блоки в модель.
Использование первого и второго способов приводит к открытию окна обозревателя разделов библиотеки Simulink (рис. 1).
Рис. 1. Окно обозревателя разделов библиотеки Simulink
Обозреватель разделов библиотеки Simulink. Окно обозревателя библиотеки блоков содержит следующие элементы:
Заголовок, с названием окна — Simulink Library Browser.
Меню, с командами File, Edit, View, Help.
Панель инструментов, с ярлыками наиболее часто используемых команд.
Окно комментария для вывода поясняющего сообщения о выбранном блоке.
Список разделов библиотеки, реализованный в виде дерева.
Окно содержимого раздела библиотеки (список вложенных разделов библиотеки или блоков)
Строка состояния, содержащая подсказку по выполняемому действию.
При выборе соответствующего раздела библиотеки в правой части окна отображается его содержимое (рис. 2).
Рис. 2. Окно обозревателя с набором блоков раздела библиотеки
Основные разделы библиотеки:
Continuous — линейные непрерывные компоненты;
Discontinuous — нелинейные компоненты;
Discrete — дискретных компоненты;
Math Operation — математические компоненты;
Ports & Subsystems — компоненты для создания подсистем;
Signal Routing — компоненты для разделения сигналов;
Sinks — регистрирующие компоненты;
Sources — источники сигналов и воздействий;
User-Defined Function — компоненты для создания функций пользователя.
Если два раза щелкнуть левой кнопкой мыши на каком-нибудь блоке в окне библиотек, то открывается окно параметров блока, где отображаются установки параметров по умолчанию. Как правило, они нормализованы — например, задана единичная частота, единичная амплитуда, нулевая фаза и так далее. Возможность изменения параметров в этом случае отсутствует. Она появляется после переноса графических элементов в окно подготовки и редактирования функциональных схем (для его открытия необходимо выбрать иконку на панели инструментов илиFileNewModel).
Подробно рассмотрим наиболее используемые разделы библиотеки.
Линейные непрерывные компоненты (Continuous). Линейные компоненты играют важную роль в создании математических моделей многих устройств. Имеются следующие типы линейных компонентов: Derivative — аналоговое дифференцирующее устройство; Integrator — аналоговый интегратор; State-Space — модель в пространстве состояний; Transfer Fcn — передаточные функции, и ряд других устройств.
Нелинейные компоненты (Discontinuous). Simulink предназначен главным образом для моделирования нелинейных динамических систем. Среди нелинейных компонентов следует отметить компоненты с типичными нелинейностями, например, вида abs(u), с характеристиками, описанными типовыми математическими функциями, компонентами вида идеальных и неидеальных ограничителей и так далее. Представлены и такие сложные компоненты, как квантователи, блоки нелинейности, моделирующие нелинейные петли гистерезиса, временные задержки и ключи-переключатели.
Saturation – насыщение, в параметрах задаются верхний и нижний пределы (Upper limit и Lower limit). | |
Dead zone – нечувствительность, «мертвая зона». В параметрах задаются пределы нечувствительности (Start of dead zone и End of dead zone). | |
Rate Limiter – ограничитель скорости изменения сигнала, в параметрах задаются пределы на скорость увеличения (Rising slew rate) и на скорость уменьшения (Falling slew rate). | |
Relay – реле, в параметрах задаются точки переключения (Switch on point и Switch off point), в также величины сигналов в режимах «включено» (Output when on) и «выключено» (Output when off). | |
Backlash – люфт, «мертвый ход». В параметрах задаются величина мертвого хода (Deadband width) и начальное значение выхода (Initial output). | |
Coulomb and Viscous Friction – кулоновское и вязкое трение. |
Дискретные компоненты (Discrete). Дискретные компоненты включают в себя устройства задержки, дискретно-временной интегратор, дискретный фильтр и т. д. Дискретные блоки аналогичные непрерывным блокам:
Среди них есть два блока, не имеющих аналога среди непрерывных блоков. Это блок задержки Unit delay и блок Discrete Filter — дискретный фильтр, который определяет рациональную функцию от оператора задержки z / 1 .
Математические компоненты (Math Operation). Окно Math Operation позволяет задавать множество математических компонентов с описываемыми пользователями свойствами, имеет решающее значение для выполнения прозрачного для пользователя математического моделирования как простых, так и сложных устройств и систем. Некоторые из них:
Компоненты для создания подсистем (Ports & Subsystems). В случае если моделируемая система имеет сложную схему, удобным может быть объединение нескольких элементов в один с помощью блока Subsystem. При этом для задания требуемого количества входов и выходов нового элемента используются блоки In1 и Out1.
Компоненты для разделения сигналов (Signal Routing). Иногда для большей наглядности необходимо отобразить несколько графиков в одном окне, для этого может быть использован блок Mux из библиотеки Signal Routing, который объединяет любое количество входных воздействий в один выходной сигнал, представляющий собой вектор. С помощью блока Demux выполняется обратная операция — разъединение одного сигнала (вектора) на несколько.
|
Manual Switch — ручной переключатель, позволяет двойным щелчком переключать выход на один из двух входных сигналов. |
|
Mux — мультиплексор, объединяет несколько сигналов в один «жгут» (векторный сигнал), в параметрах задается число входов (Number of Inputs). |
|
Demux — демультиплексор, позволяет «разбить» векторный сигнал на несколько скалярных, в параметрах задается число выходов (Number of Outputs). |
Регистрирующие элементы (Sinks). Устройства наблюдения за процессами на выходах звеньев схемы сосредоточены в библиотеке приемников сигналов Sinks. Приемники сигналов оформлены в виде блоков, имеющих только входы (один или несколько).
На схеме можно разместить несколько приемников, воспринимающих сигналы на выходах различных звеньев, в том числе и непосредственно от источников сигналов.
Наиболее простым устройством для отображения процесса является Scope, имитирующий осциллограф. Он имеет один вход, и соответственно одно окно для отображения результата. Если необходимо вывести несколько графиков, то на панели инструментов графика выбирается ParametrsGeneral и в поле Number of axes выставляется количество осей, которому будет соответствовать количество входов блока Scope.
В окне блока Scope изображается график изменения входного сигнала. Если вход соединен с выходом мультиплексора, сразу строится несколько графиков (по размерности входного «жгута»).
По умолчанию на оси ординат используется диапазон от -5 до 5. Если этот вариант не подходит, выбрать масштаб автоматически (так, чтобы весь график был виден) можно с помощью кнопки . Соседняя кнопкасохраняет эти настройки для следующих запусков.
Кнопка открывает окно настроек, причем наиболее важные данные содержатся на вкладкеData history. Если не сбросить флажок Limit data points, в памяти будет сохраняться только заданное число точек графика, то есть, при большом времени моделирования начало графика будет потеряно.
Отметив на этой же странице флажок Save data to workspace можно сразу передать результаты моделирования в рабочую область Matlab для того, чтобы их можно было дальше обрабатывать, выводить на графики и сохранять в файле. Поле Variable name задает имя переменной в рабочей области, в которой сохраняются данные. В простейшем случае выбирается формат Array (в списке Format). Это означает, что данные будут сохраняться в массиве из нескольких столбцов (первый столбец – время, второй – первый сигнал, третий – второй сигнал и т.д., по порядку входов мультиплексора).
Блок XY Scope применяется при необходимости построения фазовых портретов и статических характеристик.
Display – цифровой дисплей, показывает изменение входного сигнала в цифровом виде. | |
|
Scope – осциллограф, показывает изменение сигнала в виде графика. |
|
To File — передача данных в файл untilited.mat. |
|
To Workspace — сохранение данных в переменной simout и передача в Workspace. |
Источники сигналов и воздействий (Sources). Окно Sources содержит графические элементы — источники воздействий. В электро- и радиотехнике их принято называть источниками сигналов, но в механике и в других областях науки и техники такое название не очень подходит — природа воздействий может быть самой разнообразной, например, в виде перепада давления или температуры, механического перемещения, звуковой волны и так далее.
Большинство элементов содержит рисунок, представляющий временную зависимость воздействий, например, перепад для блока Step, синусоиду для блока Sine Wave и т. д.
Набор блоков содержит практически все часто используемые при моделировании источники воздействий с самой различной функциональной и временной зависимостью. Возможно задание произвольного воздействия из файла — блок From File.
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), в течение которого удерживается постоянное значение сигнала. Чем меньше интервал, тем точнее моделирование, однако больше вычислительные затраты. |
Компоненты для создания функций пользователя (User-Defined Function).
Fcn — задание функции преобразования входного сигнала. | |
Matlab Fcn — вызов файла-функции Matlab (в параметрах блока указывается имя файла). | |
S-function S-Function Builder — создание S-функции. |
Построение схемы и проведение имитации. После того как все необходимые для построения модели устройства блоки перенесены на рабочий лист пакета Simulink, их соединяют линиям связи, по которым распространяются сигналы. Для этого надо щелкнуть левой кнопкой мыши по источнику сигнала и затем, при нажатой клавише Ctrl, по блоку-приемнику. Можно также протянуть мышкой линию связи между нужными выходом и входом.
Для выделения одного блока или соединительной линии надо щелкнуть левой кнопкой мыши по нужному элементу. Для того чтобы выделить несколько блоков, надо «обвести» их при нажатой левой кнопки мыши. Клавиша Delete удаляют выделенную часть. Чтобы скопировать блок (или выделенную часть), надо перетащить его при нажатой правой кнопке мыши.
Для изменения оформления выделенного блока предназначено меню Format на верхней панели инструментов. Также для этой цели можно использовать контекстное меню Format при нажатии на блоке правой кнопкой мыши. Для выделенного блока можно изменить цвет текста и линий (Foreground color), цвет фона (Background color), вывести тень (Show drop shadow), переместить название на другую сторону (Flip name).
Для имитационного моделирования следует отредактировать «параметры» имитации и запустить процесс.
Команда из меню SimulationParameters раскрывает диалоговое поле редактирования параметров имитации, что подразумевает выбор алгоритма численного интегрирования уравнений и задание числовых параметров:
— Start Time — время начала процесса (обычно равно 0);
— Stop Time — время окончания процесса имитации;
— Min Step Size — минимальная величина шага интегрирования;
— Max Step Size — максимальная величина шага интегрирования;
— Tolerance — допуск (допустимая погрешность).
Величину минимального шага следует назначать с учетом скорости протекания процессов в системе. Максимальный шаг интегрирования можно принять на один или два порядка большим.
Использование переменных для задания параметров блоков. Параметры блоков Simulink можно задавать не только как числовые параметры, но и как имена переменных. Значения переменных необходимо задать перед началом расчета в командном окне Matlab или в m-файле. Такой способ задания параметров удобен, если требуется проводить расчеты для множества вариантов параметров блоков модели.