Краткая инструкция по работе в программе Simulink

Огурцов Евгений Васильевич

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

Скачать:

ВложениеРазмер
Файл kratkaya_instruktsiya_simulink.docx521.87 КБ

Предварительный просмотр:

     Введение

     Настоящие методическое пособие предназначено для изучения раздела «Автоматика» междисциплинарного комплекса МДК 03.01.,  дисциплин «Основы автоматика», «Системы автоматического управления»

    В пособии рассматриваются методы цифрового моделирования систем автоматического управления и программные средства для их проведения, рассматриваются способы построения математических моделей.

 В первой части  инструкции (Часть 1) приведен способ описания систем дифференциальными уравнениями. В следующей части (Часть 2) инструкции будет представлен способ описания систем как совокупности множества передаточных функций.

     Для иллюстрации примера использована версия 7.11 программы MATLAB.

Работа с другими версиями MATLAB аналогична, за исключением вида «окон».

Мы постарались максимально упростить инструкцию и в доступной форме показать как можно пользоваться Simulink

   Часть 1.  Общие сведения о системе Simulink

     Программа Simulink является приложением к пакету MATLAB.

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

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

Simulink является достаточно самостоятельным инструментом и при работе с ним совсем не требуется знать сам MATLAB и остальные его приложения. С другой стороны доступ к функциям MATLAB и другим его инструментам остается открытым и их можно использовать в Simulink. Часть входящих в состав пакетов имеет инструменты, встраиваемые в Simulink (например, LTI-Viewer приложения Control System Toolbox – пакета для разработки систем управления).

     Имеются также дополнительные библиотеки блоков для разных областей применения (например, Power System Blockset – моделирование электротехнических устройств, Digital Signal Processing Blockset – набор блоков для разработки цифровых устройств и т.д).

     При работе с Simulink пользователь имеет возможность модернизировать библиотечные блоки, создавать свои собственные, а также составлять новые библиотеки блоков.

     При моделировании пользователь может выбирать метод решения дифференциальных уравнений, а также способ изменения модельного времени

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

     Преимущество Simulink заключается также в том, что он позволяет пополнять библиотеки блоков с помощью подпрограмм написанных как на языке MATLAB, так и на языках С++, Fortran и Ada.

     Для запуска программы необходимо предварительно запустить пакет MATLAB. Основное окно пакета MATLAB показано на рисунке 1. Там же показана подсказка, появляющаяся в окне при наведении указателя мыши на ярлык Simulink в панели инструментов.

     После открытия основного окна программы MATLAB нужно запустить программу Simulink. Это можно сделать одним из трех способов:

       

                             Рисунок 1-  Основное окно программы MATLAB

     ∙ Нажать кнопку (Simulink) на панели инструментов командного окна MATLAB.

     ∙ В командной строке главного окна MATLAB напечатать Simulink и нажать клавишу Enter на клавиатуре.

     ∙ Выполнить команду Open... в меню File и открыть файл модели (mdl - файл).

Последний вариант удобно использовать для запуска уже готовой и отлаженной модели, когда требуется лишь провести расчеты и ненужно добавлять новые блоки в модель. Использование первого и второго способов приводит к открытию окна библиотеки Simulink (рисунок 2).

           

Рисунок 2-  Окно библиотеки Simulink.

Цифрами обозначены: 1 –строка поиска компонентов, 2 – дерево библиотек Simulink, 3 –содержимое библиотеки (разделы или компоненты библиотеки)

     На рисунке 2 выделена основная библиотека Simulink (в левой части окна) и показаны ее разделы (в правой части окна). Библиотека Simulink в MATLAB 2010 содержит следующие основные разделы:

     0. Commonly Used Blocks – часто используемые компоненты из различных разделов основной библиотеки Simulink.

     1. Continuous – компоненты для моделирования систем в непрерывном времени.

     2. Discontinuities – компоненты для моделирования негладких и разрывных нелинейных функций.

     3. Discrete – компоненты для моделирования систем в дискретном времени.

     4. Logic and Bit Operations – компоненты для моделирования ло-

гических (двоичных) операций.

     5. Lookup Tables – компоненты для моделирования функциональных и табличных зависимостей.

     6. Math Operations – компоненты для моделирования математических операций.

     7. Model Verification – компоненты для тестирования и верификации поведения моделей.

     8. Model-Wide Utilities – вспомогательные компоненты для документирования и линеаризации моделей.

     9. Ports & Subsystems – блоки построения иерархических моделей и подсистем.

     10. Signal Attributes – компоненты для преобразования типов сигналов в моделях.

     11. Signal Routing – компоненты для коммутации и объединения/разъединения сигналов.

     12. Sinks – компоненты для отображения и сохранения сигналов.

     13. Sources – источники сигналов и воздействий.

     14. User-Defined Functions – компоненты для создания пользовательских функций, реализованных на языке MATLAB.

     Список разделов библиотеки Simulink представлен в виде дерева, и правила работы с ним являются общими для списков такого вида:

     ∙ Пиктограмма свернутого узла дерева содержит символ+, а пиктограмма развернутого содержит символ −.

     ∙ Для того чтобы развернуть или свернуть узел дерева, достаточно щелкнуть на его пиктограмме левой клавишей мыши.

     При выборе соответствующего раздела библиотеки в правой части окна отображается его содержимое (рисунок 3).

               

Рисунок 3-  Компоненты библиотеки Simulink / Continuous.

      Пример построения модели в Simulink

     В качестве примера использования Simulink для моделирования систем рассмотрим отопление в жилом индивидуальном доме. Пусть для простоты, дом состоит из всего лишь одного помещения, в котором установлено отопление суммарной тепловой мощностью 𝑃. Температура внутри этого дома 𝑇𝑖 градусов, температура за окном – 𝑇𝑜 градусов. Нас интересует каким образом изменяется температура 𝑇𝑖 при изменении мощности 𝑃 (рисунок 4).

Рисунок 4-  Модель отапливаемого помещения по входу-выходу.

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

параметрами модели является:

     ∙ температура за окном 𝑇𝑜 – чем меньше она, тем больше тепла

уходит из дома и тем больше нужна мощность нагревателя, чтобы достичь заданной температуры внутри 𝑇𝑖;

     ∙ качество теплоизоляции – чем хуже теплоизоляция, тем больше тепла выходит наружу;

     ∙ масса воздуха внутри дома – чем больше воздуха, тем дольше его нужно нагревать до заданной температуры и тем дольше будет остывать дом при отключении отопления.

     В теплотехнике существуют множество моделей, с разной степенью точности моделирующие процессы нагревания и охлаждения тел. Далее мы рассмотрим самый простой из них. Для этого необходимо ввести понятие количества теплоты – энергии, необходимой для изменения термодинамического состояния тела (например, температуры). Из курса физики хорошо известно, что для того, чтобы нагреть тело массой 𝑚 и теплоемкостью 𝑐 от температуры 𝑇1 до 𝑇2 необходимо затратить количество теплоты 𝑄, равное

                                                           𝑄 = 𝑐𝑚(𝑇2 − 𝑇1)

      Количество теплоты 𝑄𝑖, которое поступает от нагревателя мощностью 𝑃 за время 𝜏 – это просто интеграл по времени:

                                                   𝑄𝑖(𝜏 ) =

 

     Для того, чтобы понять сколько тепла ушло на улицу, необходимо воспользоваться понятием теплового потока 𝑄0(t)– количество теплоты, проходящей через поверхность за единицу времени. Если считать, что теплопроводность внутри двух соприкасающихся сред больше, чем теплопроводность между ними, то тепловой поток пропорционален разности их температур:

                                        𝑄0(t)= -k(Ti (t)–T0)

                                        𝑄0(𝜏 ) =(Ti (t)–T0)dt

Запишем уравнение теплового баланса:

                                                  𝑄 = 𝑄𝑖 + 𝑄𝑜

продифференцировав обе части по времени, можно записать дифференциальное уравнение, связывающее динамику изменения температуры 𝑇𝑖(𝑡) от мощности нагревателя:

                                        𝑐𝑚 = 𝑘(𝑇𝑜 − 𝑇𝑖(𝑡)) + 𝑃(𝑡)

     Обозначив коэффициент 𝑐𝑚 = a и разделив переменные для интегрирования, можно записать:

                                    𝑇𝑖(𝑡)=  (𝑘(𝑇𝑜 − 𝑇𝑖(𝑡)) + 𝑃(𝑡)) dt

     Последнее выражение – есть простейшая модель процесса теплообмена при отоплении помещения. Рассмотрим как осуществить моделирование этой системы с помощью Simulink.

     Для создания модели в среде Simulink необходимо последовательно выполнить ряд действий.

     Для начала необходимо создать новый файл модели с помощью команды File / New / Model, или используя кнопку на панели инструментов (здесь и далее, с помощью символа /, указаны пункты меню программы, которые необходимо последовательно выбрать для  выполнения указанного действия). Вновь созданное окно модели показано на рисунке 5.

                 

              Рисунок 5-  Пустое окно модели.

     Далее расположим компоненты библиотеки Simulink в окне модели. Для этого необходимо открыть соответствующий раздел библиотеки (например, Sources – Источники). Далее, указав курсором на требуемый блок и, нажав на левую клавишу мыши, перетащить блок в созданное окно модели. Клавишу мыши нужно держать нажатой.

     Рассматривая дифференциальное уравнение модели, можно составить следующий список компонентов, которые изменяют сигналы модели:

          ∙ в модель необходимо ввести параметр 𝑇𝑜, который в начале будет

константой – используем компонент библиотеки Simulink /Commonly Used Blocks / Constant или Simulink / Sources / Constant (это один и тот же компонент);

         ∙ чтобы получить разность температур 𝑇𝑜 − 𝑇𝑖(𝑡) необходимо использовать сумматор (в режиме вычитателя) – компонент библиотеки Simulink / Commonly Used Blocks / Sum или Simulink /

Math Operations / Sum (также один и тот же компонент);

         ∙ для того, чтобы вычислить произведение разности температур на коэффициент  𝑘 ・ (𝑇𝑜 − 𝑇𝑖(𝑡)), необходимо использовать блок

усилитель, поскольку такое произведение равнозначно усилению сигнала разности в  𝑘  раз ставим компонент библиотеки Simulink/ Commonly Used Blocks / Gain или Simulink / Math Operations/ Gain;

         ∙ чтобы получить сумму мощностей 𝑘(𝑇𝑜 − 𝑇𝑖(𝑡)) + 𝑃(𝑡) под интегралом необходимо использовать сумматор – компонент библиотеки Simulink / Commonly Used Blocks / Sum или Simulink /Math Operations / Sum;

         ∙ чтобы получить количество теплоты из суммы мощностей с помощью интегрирования

                        𝑇𝑖(𝑡)=  (𝑘(𝑇𝑜 − 𝑇𝑖(𝑡)) + 𝑃(𝑡)) dt

необходимо использовать интегратор – компонент библиотеки Simulink / Commonly Used Blocks / Integrator или Simulink / Continuous / Integrator;

         ∙ для формирования сигнала внутренней температуры 𝑇𝑖(𝑡) из интеграла мощности необходимо использовать блок усилитель, домножающий значение интеграла на 1/𝑎 – компонент библиотеки

Simulink / Commonly Used Blocks / Gain или Simulink / Math Operations / Gain;

     Кроме того, нам необходимо визуализировать зависимость 𝑇𝑖(𝑡), для этого мы используем осциллограф – компонент библиотеки Simulink / Commonly Used Blocks / Scope или Simulink / Sinks / Scope. А также мы задаем зависимость мощности от времени𝑃(𝑡) как единичный ступенчатый сигнал с помощью компонента библиотеки Simulink /Sources / Step.

           

            Рисунок 6-  Окно модели, содержащее необходимые блоки

     На рисунке 6 показано окно модели, содержащее установленные блоки.

Для удаления блока необходимо выбрать блок (указать курсором на его изображение и нажать левую клавишу мыши), а затем нажать клавишу Delete на клавиатуре.

      Для изменения размеров блока требуется выбрать блок, установить курсор в один из углов блока и, нажав левую клавишу мыши, изменить размер блока (курсор при этом превратится в двухстороннюю стрелку).

             

Рисунок 7-  Блок, моделирующий интегратор и окно редактирования параметров блока

     Следующий шаг – настройка параметров каждого блока. Для этого необходимо дважды щелкнуть левой клавишей мыши, указав курсором на изображение блока.      Откроется окно редактирования параметров данного блока. При задании численных параметров следует иметь в виду, что в качестве десятичного разделителя должна использоваться точка, а не запятая. После внесения изменений нужно закрыть окно кнопкой OK. На рисунке 7 в качестве примера показаны блок, моделирующий интегратор и окно редактирования параметров данного блока.

В рассматриваемой модели необходимо установить следующие параметры блоков:

     ∙ блок Integrator: параметр Initial condition = 20 – интегрирование осуществляется с начальной температуры в помещении 20 градусов;

     ∙ блок Sum1 (нижний из двух сумматоров): List of signs = |+- – превращает сумматор в  вычитатель;

Параметры 𝑎 и 𝑘 модели пока не будем задавать, положив 𝑎 = 1 и 𝑘 = 1. После установки на схеме всех блоков из требуемых библиотек нужно выполнить соединение элементов схемы с помощью сигналов.

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

     С целью удобства понимания модели, можно задать имена не только блокам, но и сигналам. Для этого необходимо дважды щелкнуть по сигналу и ввести имя. Обозначим сигналы, соответствующие переменным 𝑃, 𝑇𝑜, 𝑇𝑖, P, To и Ti.

     Схема модели, в которой выполнены все соединения между блоками и их настройка, показана на рисунке 8.

             

                               Рисунок 8-  Окончательная схема модели.

     После составления модели необходимо сохранить ее в виде файла на диске, выбрав пункт меню File/Save As... в окне схемы и указа папку и имя файла. При последующем редактировании схемы можно пользоваться пунктом меню File/Save. При повторных запусках программы Simulink загрузка схемы осуществляется с помощью меню File/Open... в окне обозревателя библиотеки или из основного окна MATLAB.

     Запуск моделирования выполняется с помощью выбора пункта меню Simulation/Start или нажатием кнопки с треугольником (воспроизведение) на панели инструментов. Рядом в поле ввода указана продолжительность моделирования системы, по умолчанию моделирование останавливается при достижении модельного времени 𝑡 𝑠𝑡𝑜𝑝 = 10. Процесс расчета можно завершить досрочно, выбрав пункт меню Simulation/Stop или кнопку с квадратом (стоп). Расчет также можно остановить (Simulation/Pause) и затем продолжить (Simulation/Continue).

     Запустим моделирование. После окончания, дважды щелкнем на блок осциллографа (Scope).  На нем должна отображается зависимость 𝑇𝑖(𝑡)

 (рисунок 9). Если графика не видно, то необходимо щелкнуть правой кнопкой по черной зоне и выбрать из меню Autoscale, что приведет к автоматическому масштабированию осей графика.

                           

                           Рисунок 9-  Результат моделирования при 𝑃 = 1.

     Видно, что температура внутри падает от 20 градусов до температуры, которая выше уличной 𝑇𝑜 = 1, моделируемой блоком Constant.

Таким образом сказывается действие нагревателя.

Установим в параметрах блока Step, моделирующего зависимость 𝑃(𝑡), большую мощность нагрева. Блок Step выдает на своем выходе константное значение, задаваемое его параметром Final value, и происходит это во время, задаваемое параметром Step time. До этого момента значение на выходе компонента Step равно 0. Установив параметр Final value = 10, запустим моделирование еще раз. Получим зависимость 𝑇𝑖(𝑡), показанную на рисунке 10.

                               

                          Рисунок 10-  Результат моделирования при 𝑃 = 10.

     Отчетливо видно, что температура падает до включения нагревателя при 𝑡 = 1, после чего растет до достижения постоянного значения, соответствующего термодинамическому равновесию между теплом, подводимым нагревателем и отводимым наружу.

Литература

1. А. Борисевич , Теория автоматического управления: элементарное введение

с применением MATLAB , Изд. МГУ , 2011г.

2. А. Ф. Дащенко, В. Х. Кириллов, Л. В. Коломиец, В. Ф. Оробей

MATLAB В ИНЖЕНЕРНЫХ И НАУЧНЫХ РАСЧЕТАХ

Одесса «Астропринт» 2003

3. В. П. Дьяконов MATLAB 7.*/R2006/R2007 Самоучитель

Москва, ДМК, 2008