Основы работы с прикладной программой Simulink
Цель работы: Ознакомление с основными блоками прикладного пакета Simulink, используемыми для структурного моделирования систем автоматики.
Теоретические сведения
Прикладной пакет Simulink, работающий под управлением программы MATLAB, широко используется для исследования систем автоматического регулирования по их структурным схемам. Для запуска Simulink необходимо запустить программу MATLAB. В данных методических указаниях рассмотрены приёмы работы пакета Simulink, работающей под управлением программы MATLAB версии 6.5.
После вызова программы MATLAB 6.5 на экране появится окно MATLAB, показанное на рисунке 1.1. В верхней части окна (под заголовком) располагается строка меню. Для того, чтобы открыть какое-либо меню, следует установить на нем курсор и нажать на левую кнопку мыши.
В окне MATLAB могут отображаться несколько окон. Главным из них является Командное окноMATLAB. В командном окне появляются символы команд, которые набираются пользователем с клавиатуры, отображаются результаты выполнения этих команд, текст исполняемой программы и информация об ошибках выполнения программы, распознанных системой.
Рисунок 1.1 – Окно MATLAB 6.5
Признаком того, что программа MATLAB готова к восприятию и выполнению очередной команды, является наличие на последней строке командного окна знака », справа от которого расположен мигающий курсор.
Одной из наиболее привлекательных особенностей системы MATLAB является наличие в ней наглядного и эффективного средства составления программных моделей – пакета визуального программирования Simulink.
Пакет Simulink позволяет осуществлять исследование (моделирование во времени) поведения динамических линейных и нелинейных систем, причем составление системы и ввод её характеристик можно производить путем сборки на экране схемы соединений элементарных звеньев. В результате такой сборки получается модель системы, которая сохраняется в файле с расширением .mdl.
Начать работу с пакетом Simulink можно из командного окна MATLAB, щелкнув для этого на соответствующей кнопке панели инструментов, показанной на рисунке 1.2 стрелкой.
Рисунок 1.2 – Окно MATLAB (раздел Simulink)
Откроется окно Simulink library browser, изображенное на рисунке 1.3. В левой половине окна браузера приведен перечень библиотек, а в правой – изображения блоков соответствующего раздела.
Чтобы ознакомиться с составом какой-либо из библиотек, нужно дважды щелкнуть на ее имени. Библиотеку можно открыть и в отдельном окне. Для этого следует щелчком правой кнопки мыши на имени библиотеки вызвать контекстное меню и выбрать команду открытия.
Чтобы начать сборку структурной схемы, необходимо в окне Simulink library browser (рисунок 1.3) вызвать команду
File→ New → Model,
или нажать в этом же окне на кнопку Create a new model (см. рисунок 1.3, стрелка).
Рисунок 1.3 – Окно Simulink library browser
После этого на экране появится новое окно untitled, называемое модельным окном (рисунок 1.4), в котором и будет осуществляться сборка модели.
Рисунок 1.4 – Модельное окно
Окно имеет строку меню, панель инструментов и рабочее поле. Меню File (Файл) содержит команды, предназначенные для работы с mdl-файлами; меню Edit (Правка) – команды редактирования схемы; меню View (Вид) – команды изменения внешнего вида окна; меню Simulation (Моделирование) – команды управления процессом моделирования; меню Format (Формат) – команды редактирования формата (то есть команды, позволяющие изменить внешний вид отдельных блоков и блок-схемы в целом). Меню Tools (Инструменты) включает некоторые дополнительные сервисные средства, предназначенные для работы с моделью.
Сборка модели заключается в том, что графические изображения выбранных блоков с помощью мыши перетаскиваются из окна раздела библиотеки в модельное окно, а затем выходы одних блоков в модельном окне соединяются с входами других блоков (также с помощью мыши) в соответствии с имеющейся структурной схемой. Соединение блоков выполняется следующим образом: указатель мыши подводят к определенному выходу нужного блока (при этом указатель должен приобрести форму крестика), нажимают левую кнопку и, не отпуская её, перемещают указатель к нужному входу другого блока, после чего отпускают кнопку. Если соединение выполнено верно, то линия соединения блоков будет изображена черным цветом.
Любая моделируемая система должна включать в себя один или несколько блоков-источников, генерирующих сигналы, которые вызывают срабатывание моделируемой системы, и один или несколько блоков-приёмников, которые позволяют получить информацию о выходных сигналах этой системы (увидеть результаты моделирования).
Библиотека блоков Simulink – это набор визуальных объектов, из которых можно составить структурную схему любого устройства или системы.
Если с помощью контекстного меню вызвать библиотеку Simulink, на экране появится окно Library: simulink, в котором представлены графические обозначения разделов этой библиотеки (рисунок 1.5).
Рисунок 1.5 – Окно Library: simulink
Из всех разделов библиотеки Simulink познакомимся с основными разделами, необходимыми для создания структурных схем линейных и нелинейных систем: Sources(источники сигналов); Math Operations (математические операции); Continuous(непрерывные элементы); Sinks(приемники сигналов), Signal Routing (пересылка сигналов).
Блоки, входящие в раздел Sources, предназначены для формирования сигналов, обеспечивающих работу системы:
![]() | – постоянный сигнал. Блок обеспечивает формирование постоянного скалярного или векторного сигнала в момент запуска моделирующей программы. Чтобы открыть диалоговое окно настройки блока, необходимо щёлкнуть по самому блоку. Блок характеризуется единственным численным параметром Constant Value. Его можно задать с клавиатуры. Окно настройки параметров этого блока показано на рисунке 1.6. В моделях блок может использоваться для создания ступенчатого входного воздействия. |
Рисунок 1.6 – Диалоговое окно настройки блока Constant
![]() | – единичный ступенчатый сигнал. Этот блок обеспечивает создание ступенчатого сигнала. В отличие от блока, рассмотренного выше, здесь имеется возможность изменять не только конечный, но и начальный уровень входного сигнала, а также время задержки подачи воздействия с момента пуска моделирующей программы. В диалоговом окне настройки блока Step, изображенном на рисунке 1.7, устанавливаются следующие параметры: Step time – длительность задержки скачка сигнала; Initial value – начальное значение (уровень сигнала до скачка); Final value – конечное значение (уровень сигнала после скачка); Sample time – эталонное время (параметр задает шаг изменения модельного времени). |
Параметры ступенчатого сигнала изображены на рисунке 1.8.
Рисунок 1.7 – Диалоговое окно настройки блока Step
В диалоговом окне настройки, изображенном на рисунке 1.7, установлены параметры по умолчанию, которые можно изменять с клавиатуры.
Рисунок 1.8 – Параметры ступенчатого воздействия Step
![]() | – генератор гармонических колебаний. Предназначен для формирования синусоидального сигнала с заданными параметрами. Здесь сами параметры блока зависят от типа используемых технических расчетов (Sine type). Возможны два варианта: |
Time Based – основанный на времени (используется при непрерывных сигналах); Sample Based – основанный на числе дискретов времени. В процессе проведения лабораторных работ будут использоваться только непрерывные функции, поэтому рассмотрим только Time Based. В диалоговом окне настройки Time Based, изображенном на рисунке 1.9, для непрерывных функций введены следующие параметры: Amplitude – амплитуда синусоидального сигнала; Bias – смещение относительно оси Х; Frequency – частота колебаний (радиан в секунду); Phase – начальная фаза (в радианах). |
Рисунок 1.9 – Диалоговое окно настройки блока Sine Wave
Параметры синусоидального сигнала приведены на рисунке 1.10. В диалоговом окне настройки данного блока можно изменять параметры сигнала с клавиатуры.
Рисунок 1.10 – Параметры синусоидального сигнала
В разделе Math Operations (математические операции) содержат блоки, которые реализуют некоторые встроенные функции системы MATLAB (рисунок 1.11).
Рисунок 1.11 – Блоки раздела Math Operations
Они объединены в 4 группы. В первую группу, Math Operations, входят блоки, осуществляющие математические преобразования входных величин:
![]() | – Sum. Блок суммирует поступающие на него входные сигналы (в том числе с разными знаками). Диалоговое окно блока изображено на рисунке 1.12. Для управления работой блока используются параметры Icon Shape (Форма изображения: round – круглый, rectangular – прямоугольный) и List of sings (Список знаков). Например, если заданы знаки + – + (без пробелов), сумматор будет иметь три входа, причём сигналы со знаками «плюс» будут суммироваться, а сигнал со знаком «минус» – вычитаться. Положение вертикальных чёрточек около знаков определяет взаимное положение входов – расстояние между входами, знаки которых разделены чёрточками, больше, чем между входами, знаки которых располагаются рядом. |
Рисунок 1.12 – Диалоговое окно настройки блока Sum
![]() | – блок, выполняющий умножение или деление нескольких входных сигналов. Диалоговое окно настройки содержит два параметра: Number of inputs (количество входов) и Multiplication (умножение – скалярное или матричное). |
![]() | – блок, осуществляющий умножение двух входных величин, если они скалярные, или определяющий сумму произведений элементов двух входных векторов одинаковой длины. |
![]() | – усилитель входного сигнала. Единственный параметр – это коэффициент усиления (задаётся в диалоговом окне). В структурных схемах этот усилитель – пропорциональное безынерционное звено. |
![]() | – блок, позволяющий выбрать функцию для преобразования входного сигнала. |
Вторая группа каталога Math Operations, Vector Operations, содержит блоки, осуществляющие векторные операции. В состав третьей группы, Logic Operations, входят блоки, осуществляющие логические операции. Четвертая группа, Complex Vector Conversions, содержит блоки, осуществляющие преобразования комплексных векторных величин. Для моделирования линейных (и многих нелиненейных) систем достаточна только группа Math Operations.
Наиболее широко используемые для структурного моделирования линейных систем звенья представлены в разделе Continuous (непрерывные элементы). Блоки Continuousреализуют динамические звенья, описываемые линейными дифференциальными уравнениями с постоянными коэффициентами, то есть линейные стационарные звенья (рисунок 1.13).
Для составления структурных схем линейных САР чаще всего используются звенья:
![]() | – идеальное интегрирующее звено с единичным передаточным коэффициентом. |
![]() | – идеальное дифференцирующее звено с единичным передаточным коэффициентом. |
![]() | – блок, позволяющий задать линейное звено с произвольной передаточной функцией (при условии, что степень числителя не больше степени знаменателя). |
Блоки позволяют моделировать звенья с передаточными функциями
В MATLAB оператор дифференцирования .
Рисунок 1.13 – Блоки раздела Continuous
Наиболее универсален блок Transfer Fcn, позволяющий моделировать линейное звено с произвольной передаточной функцией. Для задания передаточной функции в верхней строке (Numerator) диалогового окна (рисунок 1.14) записываются числовые значений коэффициентов числителя передаточной функции, в нижней строке (Denominator) – числовые значения коэффициентов (постоянных времени) знаменателя передаточной функции (дробные значения записываются через точку). Все параметры заключаются в квадратные скобки, а каждый из коэффициентов отделяется друг от друга пробелом. Местоположение коэффициента определяет степень производной при этом коэффициенте. Например, чтобы задать 0,1р + 1, следует в соответствующей строке диалогового окна задать коэффициенты [0.1 1], а для задания 0,5р2 + 1 следует набрать [0.5 0 1] (коэффициенты записываются через пробел).
Рисунок 1.14 – Диалоговое окно настройки блока Transfer Fcn
Блоки разделаSinks(рисунок 1.15)позволяют оценить правильность работы моделируемой системы. Наиболее часто используются 3 блока:
Рисунок 1.15 – Блоки раздела Sinks
![]() | – предназначен для отображения числовых значений измеряемой величины; |
![]() | – используется для вывода графика изменения выходной величины во времени (осциллограф); |
![]() | – двухвходовой осциллограф. |
Блок Display используется в тех случаях, когда интерес представляют только численные значения измеряемых параметров (например, при снятии статических характеристик).
Блок Scope (осциллограф) удобен при исследовании динамических свойств систем и звеньев, например, при снятии переходных характеристик. График переходного процесса выводится на экран осциллографа, вид которого показан на рисунке 1.16.
Рисунок 1.16 – Внешний вид окна осциллографа
Некоторые параметры осциллографа можно поменять через кнопку «Parameters» в его меню. На вкладке «General» в строке Number of axes можно задать желаемое количество входов осциллографа, следовательно, и количество отображаемых переходных процессов (каждый процесс будет отображаться в своём окне). Время развёртки осциллографа задаётся в строке Time range. На вкладке Data history задаётся количество запоминаемых осциллографом точек из полученной осциллограммы – если график переходного процесса будет состоять из большего, чем задано в параметрах осциллографа точек, на экране сохранится только «хвост» осциллограммы.
Блок XY Graf удобен при построении фазовых портретов нелинейных систем. При этом на вход Х подаётся сама выходная переменная, а на вход Y – её производная по времени.
В раздел Signals Routing (рисунок 1.17) включены блоки, обеспечивающие разного рода пересылки сигналов, такие как переключения сигналов, объединение нескольких сигналов в шину, разделение сигналов шины.
Рисунок 1.17 – Блоки раздела Signal Routing
Из всех блоков данного раздела чаще используют шины Mux и Demux, количество входов и выходов которых численно изменяется в диалоговом окне соответствующего блока. Блок Mux позволяет объединять несколько сигналов в одну шину без операций над этими сигналами. Часто это используется для подачи нескольких сигналов на один экран осциллографа (при увеличении числа входов осциллографа увеличивается и число его экранов). Блок Demux позволяет разделить один сигнал по нескольким шинам.
Над блоками и структурными схемами в модельном окне можно производить различные операции, обеспечивающие удобство работы с ними. При нажатии на блоке правой кнопкой мыши, появляется меню Format (форматирование элемента). В этом меню:
· Font – шрифт блока;
· Flip name – зеркальное отображение надписи;
· Hide name – скрыть имя блока;
· Flip block – зеркальное отображение блока;
· Rotate block – поворот блока на 90°.
Скопировать элемент, фрагмент или всю структурную схему можно путём выделения нужных объектов (щелчком по ним левой кнопкой мыши или обведением их курсором) и перетаскиванием мышью при нажатой клавише Ctrl, либо копированием и вставкой через вкладку меню Edit.
Задание № 1.
1 Составить структурную схему, изображенную на рисунке 1.18.
Рисунок 1.18 – Структурная схема
Практические советы:
· при перетаскивании указателя мыши при нажатой левой кнопке от выхода одного блока к входу другого (или наоборот) указатель приобретает форму крестика. Кнопку можно отпускать, когда указатель примет вид двойного крестика;
· блоки в схеме можно перетаскивать, а форму стрелок изменять без изменений в схеме. Для этого достаточно выделить щелчком мыши нужный блок и выполнить необходимые манипуляции при нажатой левой кнопке мыши;
· конец выделенной стрелки можно «отодвинуть» от блока – блок будет отключён;
· точку ветвления удобней получать перемещением указателя мыши от входа блока до нужной стрелки. Соединение будет выполнено при появлении двойного крестика.
2 Запустить систему.
Для запуска системы необходимо нажать на кнопку Start Simulation – это «черный треугольник» в модельном окне, или с помощью пункта меню Simulation → Start.
Дважды щёлкните на блоке Scope, появится окно «Scope» с кривой переходного процесса (рисунок 1.19). Чтобы увидеть полностью переходный процесс нажмите на Autoscale ( ). В окне Scope предусмотрены функции увеличения полностью всего графика, увеличения по осям Х и У (
).
Рисунок 1.19 – График переходного процесса
Практический совет: для увеличения любого фрагмента осциллограммы нужно при нажатой правой кнопке мыши выделить прямоугольником этот фрагмент.
Чтобы вернуться к первоначальному виду, нажмите на .
Для изменения времени моделирования (не путать со временем развёртки осциллографа) в меню модельного окна untitled откройте каталог Simulation, затем вкладку Simulation parameters. В появившемся окне Simulation parameters: untitled (рисунок 1.20) задаются начальное время моделирования (Start time) и конечное время моделирования (Stop time).
Задание № 2.
Cоставить и промоделировать в модельном окне структурные схемы, приведённые на рисунке 1.21 (установить время моделирования 2 с).
Рисунок 1.20 – Окно Simulation parameters: untitled
Задать параметры блока Sine Wave: амплитуда – 2 мм; смещение – 1 мм; частота колебаний – 20 рад/с, а блока Step: задержка времени – 1,5 с, начальное значение сигнала – минус 1, конечное значение – 2.
1)
2)
3) задать параметры блока Constant в скалярной и векторной формах
Рисунок 1.21 – Структурные схемы к заданию № 2
Отчёт по лабораторной работе должен содержать схемы по заданиям №1 и №2 и полученные при выполнении заданий осциллограммы.
Лабораторная работа № 2