Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
65
Добавлен:
17.02.2016
Размер:
387.07 Кб
Скачать

5. Среда моделирования Simulink

Абсолютно все функции среды Matlab могут быть выполнены с использованием текстовых М-Файлов, но для облегчения сложных задач математического моделирования и проведения экспериментов на моделях разработан специальный пакет Simulink. Для его запуска достаточно ввести команду simulink в окне команд либо запустить его кнопкой расположенной в панели инструментов Matlab. При этом запускается Навигатор библиотек Simulink. Его основное окно представлено на рисунке 11.

Рисунок 11- Навигатор библиотек Simulink

Работа в среде моделирования Simulink начинается с создания новой модели. Для этого нужно щелкнуть по кнопке в панели инструментов навигатора библиотек. Новое окно модели представлено на рисунке 12.

Рисунок 12 – Окно модели

Рассмотрим простой пример, система управления с обратной связью состоящая из 3-блоков (два в прямой цепи и один блок в цепи обратной связи). Из подгруппы «Continuous» группы «Simulink» перенесем мышью три блока типа «Transfer Fcn» в окно модели. Затем из подгруппы «Math» перенесем блок типа «Sum». Затем из подгруппы «Sources» перенесем блок типа «Step» и из подгруппы «Sinks» блок типа «Scope». Расставим блоки, так как показано на рисунке 13.

Рисунок 13 – первый этап создания модели в Simulink

Соединим между собой блоки, находящиеся в прямой цепи. Для этого подводим мышь к выходу блока, нажимаем левую кнопку и ведем до входа следующего блока, затем отпускаем, при этом должна автоматически отобразится направленная линия (с жирной стрелкой). Для того чтобы построить цепь обратной связи необходимо развернуть блок, находящийся в этой цепи, по ходу движения сигнала. Для этого, щелкаем на нем правой кнопкой мыши и выбираем «Format – Flip Block» как показано на рисунке 14.

Рисунок 14 – Разворот блока по ходу сигнала

Затем замыкаем обратную связь. Полученная блок-схема системы управления представлена на рисунке 15.

Рисунок 15- Блок схема системы управления

Затем нужно задать реальные значения для блоков нашей системы.

Пусть:

Для того, чтобы определить параметры передаточной функции, нужно дважды щелкнуть по ней мышью, а затем ввести значения коэффициентов при степенях числителя и знаменателя, как показано на рисунке 16 для .

Рисунок 16 – Определение параметров передаточной функции

Затем нужно задать порядок следования знаков сумматора, для получения системы с отрицательной обратной связью. Для этого дважды щелкаем по сумматору и в поле «List of signes» заносим “+ -“ как показано на рисунке 17.

Рисунок 17 – Задание знаков сумматора

Аналогично можно изменить и параметры ступенчатого входного сигнала, но мы оставим параметры по умолчанию. Для запуска симуляции нужно щелкнуть по кнопке «Start simulation» в панели инструментов модели. После этого Matlab производит вычисление одним из численных методов. Результаты вычисления можно посмотреть, дважды щелкнув по элементу «Scope», как показано на рисунке 18.

Рисунок 18 – Реакция системы на единичный ступенчатый сигнал

Simulink не является обособленным приложением. Все переменные, полученные при выполнении команд в Matlab, доступны в Simulink и наоборот. Рассмотрим, как перенести данные из simulink в Matlab. Добавим в нашу модель элемент «To Workspace» из подгруппы «Sinks» группы «Simulink», как показано на рисунке 19.

Рисунок 19 – Перенос данных из Simulink в рабочую область Matlab

Дважды щелкнем по этому элементу, чтобы определить в какую переменную и в каком формате будут записываться данные, как показано на рисунке 20.

Рисунок 20 – Задание параметров обмена Simulink и Matlab

В данном случае данные сохраняются в переменной «simout» в формате «array». Возможен также вариант сохранения их в виде структуры (structure). После запуска симуляции данные с выхода системы будут перенесены в рабочую область Matlab. И если мы в командной строке Matlab введем simout, то выход будет выглядеть примерно следующим образом:

0.1671

0.1670

>>

В случае, если исследуемая система имеет сложную структуру, работать с ней одном окне будет весьма затруднительно, для этой цели в Simulink имеется способ объединения нескольких блоков в так называемую «подсистему» (subsystem). Рассмотрим простой пример: исследуем реакцию нашей системы одновременно на ступенчатый и на линейно нарастающий сигналы. Для этого отсоединим генератор сигнала и осциллограф, как показано на рисунке 21.

Рисунок 21 – Построение подсистемы (этап 1)

Затем из подгруппы «Sources» выберем элемент типа «in», а из подгруппы «Sinks» элемент типа «out» и подключим их соответственно ко входу и выходу системы как показано на рисунке 22.

Рисунок 22 – Построение подсистемы (этап 2)

Затем выделим мышью все элементы, которые мы хотим включить в подсистему, щелкнем правой кнопкой мыши и выберем пункт меню «Create subsystem». После выполнения этой команды блоки нашей системы будут объединены в один блок с одним входом и выходом, как показано на рисунке 23.

Рисунок 23 – Создание подсистемы (завершающий этап)

Для просмотра содержимого подсистемы достаточно дважды щелкнуть по ее блоку мышью. Теперь, подключив вместо блоков «in» и «out» в основном окне модели генератор сигнала и осциллограф, мы можем провести симуляцию. Для решения поставленной проблемы нам нужно еще извлечь из подгруппы «Sources» генератор линейно нарастающего сигнала «Ramp» а также из подгруппы «Signals & Systems» элемент типа «Mux» (мультиплексор). Соединим их так, как показано на рисунке 24.

Рисунок 24 – Использование подсистем

Запустим симуляцию. При этом на осциллографе мы получим отображение сразу двух сигналов, как показано на рисунке 25.

Рисунок 25 – Отображение нескольких сигналов с помощью элемента типа «Scope»