56 ИСПОЛЬЗОВАНИЕ ПАКЕТА SIMULINK/MATLAB ДЛЯ ИССЛЕДОВАНИЯ СИСТЕМ УПРАВЛЕНИЯ

ВВЕДЕНИЕ

 

В последние годы созданы пакеты моделирования  динамических систем Vissim, Scilab, Simulink, которые позволяют осуществлять так называемое визуальное программирование (моделирование) при создании блок-схем (моделей) систем управления с обратной связью. Эти пакеты содержат набор (библиотеку) блоков, являющихся моделями элементов структурной схемы системы управления. Используя данные наборы блоков, пользователь с помощью мыши переносит нужные блоки в рабочую площадь модельного окна пакета и соединяет линиями связи входы и выходы блоков. Таким образом создается блок-схема системы управления.

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

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

В данном пособии приводятся основные (начальные) сведения о пакете моделирования динамических систем Simulink, который интегрирован с популярным математическим пакетом  MATLAB [1,2,8].  В настоящее время эти пакеты являются одними из мощных инструментов исследования систем управления различного вида. Поэтому не случайно в издаваемых учебниках и монографиях [4,6,7], посвященных теории систем с обратной связью, сделан акцент как раз на эти  программные продукты. Тем не менее, не надо недооценивать достоинства других пакетов моделирования динамических систем, в особенности пакета Vissim [5], который, по мнению автора этого пособия, значительно проще решает проблемы моделирования несложных систем управления и главное,  занимает очень мало места на жестком диске.

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

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

 

  1. 1. ЗАПУСК ПРОГРАММЫ

Чтобы запустить Simulink:

а) запустите прежде всего MATLAB. В версии MATLAB R12 появляется рабочая среда (окно MATLAB), которая наряду с другими элементами содержит  командное окно Command Window (рис.1);

 

 

Рис. 1

 

б) сделайте одно из двух:

- на панели инструментов окна MATLAB щелкните   ;

 

- введите в командное окно Command Window после символа >> (двух ломаных скобок) готовности MATLAB к работе команду simulink и нажмите клавишу Enter.

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

 

 

 

Рис. 2

 

  1. 2. СОЗДАНИЕ БЛОК-СХЕМ

 

В пакете Simulink вы строите модель системы в виде блок-схемы, выбирая блоки из окна Simulink Library Browsers, перенося их в рабочую площадь модельного окна и затем связывая их между собой с помощью мыши. Однажды связав блоки с другими блоками, вы можете их перемещать по экрану, поворачивая на 90° и 180° градусов, а также помещать в составной блок (подсистему), не нарушая  и не теряя существующих связей. Удобный редактор блок-схем, основанный на использовании возможностей графического интерфейса пользователя, делает ваши модели простыми для понимания и сохранения.

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

Вы можете использовать информацию этих указаний в сочетании с примерами построения блок-схем, включенными в окно MATLAB Demo Window, которое вы открываете, дважды щелкнув на кнопку Demos в библиотечном окне Library:simulink3 (рис. 3). Последнее окно можно вызвать, вводя в командное окно команду simulink3 и нажимая затем клавишу Enter.

 

 

 

Рис. 3

2.1. Создание новой блок-схемы

 

Вы можете создать новую блок-схему в любой момент в процессе работы в Simulink.

2.1.1. Чтобы создать новую блок-схему:

сделайте одно из двух:

-  из панели инструментов окна библиотеки блоков Simulink Library Browser щелкните на кнопку      ;

- из меню File окна библиотеки блоков Simulink Library Browser выберите подменю New (новая) и затем команду Model (блок-схема). Появляется пустое модельное окно под титулом untitled (без названия) (рис. 4).Это окно содержит строку меню, панель инструментов, строку состояния и рабочую площадь (поле) для создания блок-схем. Строка меню включает перечень шести основных меню модельного окна,  представляемых Simulink:

  • File (команды работы с файлами, имеющими расширение .mdl);
  • Edit (команды редактирования блок-схем);
  • View (команды изменения вида окна: показать/убрать панель        инструментов   и  строку  состояния);

 

 

 

 

Рис. 4

 

  • Simulation (команды управления динамическим моделированием (симуляцией));
  • Format (команды изменения внешнего вида блоков схемы и блок-схемы в целом);
  • Tools (команду открытия графического интерфейса пользователя Simulink LTI Viewer для просмотра результатов анализа и синтеза систем, в частности для линеаризации и построения  временных и частотных характеристик);
  • Help (команды открытия справочника Simulink с разделами Simulink Help, Block (описание блоков), Shortcuts (использование мыши и клавиатуры), Demos (демонстрация примеров) и другими).

Строка инструментов (рис.5) обеспечивает простой доступ к часто используемым командам. Первые семь значков строки инструментов   содержат

 

 

 

Рис. 5

общепринятые для Windows-приложений команды, так что мы их здесь не будем рассматривать. Отметим лишь, что с помощью второго значка можно открыть окно Open, содержащее список сохранённых в папке work ранее созданных блок-схем, и затем вызвать в модельное окно из этого списка выбранную вами блок-схему.  Остальные значки играют следующую роль:

8 и 9 соответствуют командам отменить (Undo) /восстановить (Redo) предыдущую команду редактирования;

10 обеспечивает доступ к библиотечному окну Simulink Library Browser;

11 открывает окно Model Browser (просмотр блок-схем), содержащее в данном случае название создаваемой блок-схемы untitled;

12 обеспечивает доступ к родительским системам;

13 вызывает  окно редактора/отладчика  Simulink debugger: untitled;

14 и 15 позволяют соответственно запустить блок-схему (команда Start) и закончить моделирование (команда Stop). Заметим, что после запуска модели на изображении кнопки Start появляется символ II и этой кнопке уже соответствует команда Pause (приостановить моделирование).

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

Строка состояний отображает информацию о готовности блок-схемы к  началу динамического моделирования (Ready) или о его текущем выполнении (Running). В последнем случае она дает сведения о текущем значении времени моделирования. Кроме того, строка состояний указывает вид используемого алгоритма численного интегрирования (по умолчанию ode45).

Укажем еще один способ открытия модельного окна:

а) введите в командное окно Command Windows команду simulink3 и нажмите Enter. Появляется окно библиотеки блоков Library:simulink3 (рис.3);

б) выберите из меню File этого окна подменю New и затем команду Model.

2.1.2.Чтобы изменить название модельного окна:

а) выберите из меню Fail этого окна команду Save as и введите в текстовое поле Имя файла появляющегося одноименного диалогового окна выбранное вами название исследуемой системы, например  sys;

б) нажмите кнопку  Сохранить.

 

2.2. Выбор и размещение блоков

 

Библиотека блоков Simulink насчитывает свыше 100 линейных, нелинейных, логических и другого вида блоков. Список основных блоков, используемых для построения блок-схем систем управления,  приведен в Приложении. Категории блоков, как уже говорилось, представлены в библиотеке блоков Simulink Library Browser (рис.2.) в виде специальных значков с расположенными рядом названиями категории. Когда вы дважды щелкните значок той или иной категории на правой панели библиотечного окна, появляется палитра (набор), включающая все блоки, входящие в эту категорию. Каждый блок в палитре  изображен, как правило, в виде  прямоугольника с размещенным внутри его характерным рисунком или математическим знаком (математической функцией). Кроме того, рядом с изображением прямоугольника находится название блока.

Размещение блоков в модельном окне требует, чтобы на экране дисплея были открыты два окна  Simulink Library Browser и untitled,  расположенные рядом (рис.6.).

 

Рис. 6

2.2.1. Чтобы поместить блок (точнее его копию) в модельное окно:

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

 

1 способ:

  • щелкните на левой панели окна Simulink Library Browser на узел                Simulink, чтобы раскрыть значки пиктограммы всех категорий;
  • щелкните на значок категории,  например Nonlinear. При этом на правой панели появляется набор всех блоков, входящих в эту категорию;
  • укажите курсором мыши на значок интересующего вас блока, например укажите курсором на блок Dead Zone и щелкните мышью, чтобы выбрать
  • блок Dead Zone (зона нечувствительности). При этом в поле Simulink Library Browser ниже его панели инструментов появляются справочные сведения о выбранном блоке, например о блоке Dead Zone.

2 способ:

  • щелкните в библиотечном окне Library:simulink3 на значок интересующей вас категории блоков, например Nonlinear;
  • укажите курсором мыши на значок блока, входящего  в отображаемую в появляющемся окне Library: simulink3/Nonlinear палитру, и щелкните мышью,          например  укажите курсором на блок Dead Zone и щелкните мышью, чтобы выделить блок Dead Zone;

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

Можно воспользоваться более удобным, по мнению автора, путем копирования интересующего вас блока, а именно с помощью окна Library: simulink3.

2.2.2. Чтобы поместить блок в модельное окно с помощью окна Library: simulink3:

а) щелкните правой клавишей мыши в окне Simulink Library Browser

на узел      или узел      , соответствующие названию Simulink;

б) выберите команду Open theSimulinkLibrary (открыть библиотеку). Открывается библиотечное окно Library:simulink3 с изображением категорий блоков, представленных в Simulink;

в) дважды щелкните на категорию (точнее, значок категории блоков), например на категорию Sources (генераторы сигналов). Появляется окно Library: simulink3/Sources, которое содержит значки всех блоков, входящих в категорию Sources;

г) переместите интересующий вас блок, например Step (скачок), из окна Library: simulink3/Sources в модельное окно.

 

2.3. Соединение блоков

 

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

Замечание. Два вида связи существуют в Simulink: скалярные и векторные. По вашему желанию векторные связи могут отображаться толстыми линиями по сравнению со скалярными.

2.3.1. Чтобы связать блоки между собой:

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

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

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

2.3.2. Чтобы удалить (стереть) ошибочно введенную связь между блоками:

а) если надо отсоединить (стереть) линию связи от входной петли соответствующего блока, то:

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

б) сделайте одно из трех:

-         выберите команду Clear из меню Edit модельного окна;

-         щелкните в панели инструментов модельного окна значком с изображением ножниц (Cut);

-         щелкните на выделенную линию правой клавишей мыши, чтобы получить меню, содержащее команды Cut, Copy, Clear, Signal Properties, и выберите команду Cut или Clear, чтобы стереть линию связи.

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

2.3.3. Чтобы осуществить разветвление сигнала:

а) соедините линией связи выход выбранного вами блока с входом одного из блоков-приемников сигнала. Эту линию назовем базовой;

б) укажите курсором на расположенную на базовой линии точку,  которую вы хотите видеть в качестве точки разветвления;

в) нажмите клавишу Ctrl;

г) нажмите клавишу мыши, курсор примет форму крестика;

д) удерживая в нажатом состоянии клавиши Ctrl и  мыши, перенесите курсор с выбранной вами точки разветвления сигнала на входную петлю (входной порт) второго блока-приемника сигнала. Курсор примет форму двойного крестика;

е) отпустите клавишу мыши и клавишу  Ctrl . Simulink соединит точку разветвления сигнала с входным портом второго блока-приемника сигнала.

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

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

б) укажите курсором на входную петлю связи (входной порт) еще не присоединенного блока-приемника сигнала и нажмите клавишу мыши. Курсор примет форму крестика, а петля связи – черной стрелки;

в) переместите курсор, прочерчивая при этом будущую линию связи, в точку, лежащую на базовой линии, т.е. будущую точку разветвления сигнала. Курсор примет форму двойного креста;

г) отпустите клавишу мыши. На базовой линии появляется точка разветвления сигнала.

2.4. Изменение конфигурации линий связи

 

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

2.4.1. Чтобы перенести отрезок прямой, являющийся частью прочерченной Simulink линии связи:

а) укажите курсором на отрезок прямой, который вы хотите перенести параллельно самому себе;

б) нажмите левую клавишу мыши. Курсор принимает форму креста со стрелками на концах образующих его линий;

в) перенесите курсор, не отпуская клавишу мыши, в желаемую точку модельного окна;

г) отпустите клавишу мыши. Редактируемый отрезок прямой проходит через желаемую точку.

2.4.2. Чтобы изменить длину отрезков прямых, образующих ломаную линию связи:

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

б) укажите курсором на интересующую вас угловую точку, фактически на черный квадратик, соответствующей этой точке. Курсор примет форму белой окружности, в которой располагается черный квадратик;

в) нажмите левую клавишу мыши и, не отпуская ее, переместите курсор в желаемом направлении (горизонтальном или вертикальном), другими словами, потяните отрезок прямой за "ручку";

г) отпустите клавишу мыши.

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

2.4.3. Чтобы выбрать желаемую конфигурацию линии связи:

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

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

в) отпустите клавишу. Simulink соединит выходную петлю связи (выходной порт) блока-передатчика сигнала с выбранной вами точкой, которая играет роль первой угловой точки (излома).  Курсор сохраняет форму крестика;

г) нажмите клавишу мыши и перенесите курсор в следующую вторую, выбранную вами угловую точку желаемой ломаной линии связи;

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

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

2.5. Обозначение (метка) сигнала

 

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

2.5.1. Чтобы обозначить сигнал:

а) дважды щелкните на линию связи, по которой передается интересующий вас сигнал, появляется текстовый курсор (прямоугольник с курсором в виде вертикальной мерцающей черты);

б) введите выбранное вами обозначение (метку) сигнала;

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

 

2.6. Выделение блоков

 

Команды редактирования большинства блоков требуют, чтобы вы прежде всего выделили блок, который собираетесь редактировать. Команды  модельного блока Copy (копировать), Cut (вырезать), Clear (очистить), Create Subsystem (создать основной блок (подсистему)) из меню Edit и команды  модельного окна Flip Block (повернуть блок на 180°), Rotate Block (повернуть блок на 90°по часовой стрелке) из меню Format , наконец, установка и изменение параметров блока требуют выделения блоков.