Создание нового файла

ВВЕДЕНИЕ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Строка инструментов (рис.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 ). В последнем случае она дает сведения о текущем значении времени моделирования. Кроме того, строка состояний указывает вид используемого алгоритма численного интегрирования (по умолчанию ode 45 ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

г) переместите интересующий вас блок, например Step (скачок), из окна Library : simulink 3/ 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 , наконец, установка и изменение параметров блока требуют выделения блоков.

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

2.6.1.Чтобы выделить один блок:

Щелкните выделяемый блок. Черные квадратики, так называемые "ручки" блока, появляются в углах выделенного блока. При этом все ранее выделенные вами объекты становятся невыделенными. Выделить один блок можно другим способом: нажать клавишу Shift и щелкнуть интересующий вас блок.

2.6.2.Чтобы выделить группу блоков поочередно:

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

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

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

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

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

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

2.6.4. Чтобы выделить все элементы, находящиеся в модельном окне:

Выберите команду Select all (выделить всё) из меню Edit модельного окна.

2.6.5. Чтобы отменить команду на выделение блоков:

Щелкните вне области, в которой находятся выделенные блоки.

2.7. Перемещение и копирование блоков

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

2.7.1. Чтобы переместить один блок в модельном окне:

а) укажите курсором на перемещаемый блок и нажмите на клавишу мыши;

б) перенесите блок в желаемое место модельного окна;

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

2.7.2. Чтобы переместить группу блоков в модельном окне:

а) выделите группу перемещаемых блоков;

б) укажите на один из выделенных блоков и нажмите клавишу мыши;

в) перенесите группу блоков в желаемое место модельного окна;

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

2.7.3. Чтобы скопировать один блок в модельном окне:

а) выделите копируемый блок;

б) нажмите на клавишу Ctrl и укажите курсором на копируемый блок. Внутри значка блока рядом с курсором появляется белый крестик;

в) перенесите блок в место, куда вы хотите поместить его копию;

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

Simulink дает название каждому скопированному блоку. Первая копия, перенесенная из библиотечного окна, получает название оригинального блока, например Transfer Fcn. Если ваша блок-схема уже содержит блок Transfer Fcn, то Simulink добавляет порядковый номер к каждой последующей копии, например Transfer Fcn1, Transfer Fcn2 и.т.д.

2.7.4. Чтобы скопировать блоки из окон библиотек блоков Simulink Library Browser или Library : simulink 3 или других блок-схем в создаваемую (исследуемую) блок-схему:

а) откройте окно соответствующей библиотеки блоков или блок-схемы;

б) укажите курсором на значок (изображение) копируемого блока;

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

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

д) отпустите мышь. Такое копирование требует присутствия на экране двух открытых окон: окна библиотеки или другой блок-схемы и окна создаваемой (исследуемой) блок-схемы.

2.7.5. Чтобы переместить или скопировать блоки в другое модельное окно, используя команду Cut и Copy :

а) выделите блоки, которые вы хотите переместить или скопировать;

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

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

Из меню Edit Cut ;

в) чтобы скопировать блоки, сделайте одно из двух:

Из панели инструментов выберите значок;

Из меню Edit модельного окна выберите команду Copy .

2.7.6. Чтобы перенести содержимое буфера Clipboard (в этом буфере оказываются блоки после операций, соответствующих пп. 2.7.5,б и пп. 2.7.5,в):

а) откройте с помощью команды Open из меню File другое модельное окно, в которое вам желательно перенести содержимое буфера Clipboard ;

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

Из панели инструментов другого модельного окна выберите значок

Из меню Edit другого модельного окна выберите команду Paste . Появляется группа блоков в выделенной форме. Укажите курсором на один из блоков, входящих в эту группу;

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

2.8. Установка и изменение параметров блока

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

2.8.1. Чтобы установить или изменить параметры блока:

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

Выделите блок, параметры которого вы хотите установить или изменить, и выберите команду Block Parameters (параметры блока) из меню Edit модельного окна;

Дважды щелкните изображение (значок) блока в модельном или библиотечном окнах. Появляется диалоговое окно настроек Block Parameters : … (свойства блока) с названием вместо точек, например Integrator , рассматриваемого блока;

б) введите или выберите новые значения параметров;

в) щелкните кнопкой ОК .

2.9. Удаление блоков

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

2.9.1. Чтобы удалить блоки:

а) выделите удаляемые блоки;

б) выберите из меню Edit команду Clear (очистить) или нажмите любую из клавиш Delete (удалить) или Backspace . Тот же результат получается, если после выделения блоков вы из панели инструментов щелкните на значок ножницы.

Если вы выделили блок или группу блоков с помощью клавиши Shift , то после выполнения п.2.9.1б все выделенные блоки удаляются, а все соединяющие их линии связи остаются неизменными. Таким образом, надо применять команду Shift для выделения блоков тогда, когда вы хотите заменить удаляемые блоки другими, сохраняя при этом вид имеющихся линий связи.

Вы можете использовать команду Undo из меню Edit модельного окна, чтобы вернуть удаленный блок на место.

2.10. Поворот блоков

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

2.10.1. Чтобы повернуть блок:

а) выделите поворачиваемый блок;

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

Выберите команду Flip Block из меню Format, чтобы повернуть блок на 180 ° градусов;

Выберите команду Rotate Block из меню Format, чтобы повернуть блок на 90 ° градусов по часовой стрелке;

б) щелкните мышью на пустое место экрана.

2.11. Изменение размеров блока

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

2.11.1. Чтобы изменить размеры блока:

а) выделите блок, размеры которого вы хотите изменить;

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

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

г) отпустите мышь. Блок изменит свои размеры.

2.12. Изменение названия блока

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

2.12.1. Чтобы изменить название блока, в том числе название по умолчанию:

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

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

в) введите выбранное вами название блока;

г) щелкните мышью в пустом месте экрана, чтобы убрать рамку.

2.12.2. Чтобы освободить блок, включенный в блок-схему, от всех связей с другими блоками:

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

2.13. Создание составных блоков (подсистем)

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

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

Simulink предоставляет вам два способа создания составных блоков (подсистем). Рассмотрим каждый из них в отдельности.

2.13.1. Чтобы создать составной блок (подсистему) с помощью команды Create subsystem (создать составной блок (подсистему)):

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

б) выберите команду Create subsystem из менюEdit модельного окна. Simulink заменяет выделенные блоки и связывающие их линии одним составным блоком (подсистемой). Если группа выделенных блоков имеет один внешний вход и один внешний выход, изображение составного блока выглядит так, как показано на рис.7, где указаны его вход In 1 и его выход Out 1 ;

в) щелкните мышью.

Рис. 7

2.13.2. Чтобы создать составной блок путем копирования блока Subsystem:

а) скопируйте блок Subsystem из категории Signal & Systems в модельное окно с названием untitled;

б) дважды щелкните изображение составного блока (подсистемы) SubSystem. Simulink открывает новое пустое модельное окно untitled1/Subsystem;

в) в новом пустом модельном окне untitled1/SubSystem создайте блок-схему вашего составного блока (подсистемы);

г) подсоедините к внешним входам составного блока (подсистемы) блоки In, а к внешним выходом блоки Out (их можно перенести из категории Signal & Systems). Например, составной блок (рис.8) включает блок Sum (сумматор), блоки типа вход In1, In2 и блок типа выход Out1 , которые представляют внешние входы и внешний выход этого составного блока;

д) закройте окно с блок-схемой нового составного блока (подсистемы), например окно untitled1/SubSystem. При этом для данного примера в модельном окне составной блок принимает вид, представленный на рис. 9;

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

Рис. 9

2.13.3. Чтобы раскрыть содержимое составного блока:


-укажите курсором на составной блок и дважды щелкните мышью. Появляется новое модельное окно с изображением блок-схемы составного блока, имеющей, например, название untitled 1 / SubSystem .

2.13.4. Чтобы свернуть схему назад в составной блок:

Щелкните левой (правой) клавишей мыши в любом пустом месте модельного окна.

2.13.5. Чтобы изменить стандартное название составного бока:

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

2.13.6. Чтобы изменить названия входных/выходных портов составного блока:

а) раскройте содержимое составного блока;

б) измените названия у блоков типа In/Out на желаемые названия входных/выходных портов (петлей связи) составного блока;

в) сверните блок-схему составного блока. Названия входов In1, In2 и выхода Out1 для данного примера изменяются на желаемые.

2.14. Маскирование составных блоков (подсистем)

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

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

Кроме того, маскирование позволяет:

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

Технологию маскирования составного блока рассмотрим на следующем примере. Пусть составной блок с названием zweno включает в себя блок-схему

апериодического звена (рис.10),описываемого передаточной функцией

и дифференциальным уравнением

где символы a=1/T, b=k/T назовем соответственно коэффициентами усиления прямой (feedforward gain) и обратной (feedback gain) связи. В исходном состоянии a=b=1.

2.14.1. Чтобы замаскировать составной блок, в данном случае модель апериодического звена :

а) выделите составной блок и выберите команду Mask subsystem… (маскировка составного блока (подсистемы)) из меню Edit модельного окна. Появляется диалоговое окно с названием Mask Editor: untitled/<имя подсистемы> (редактор маски), в данном случае с именем zweno;

б) выберите вкладку Initialization (инициализация) и введите соответственно в текстовые поля Prompt (комментарий) и Variable (переменная) название коэффициента прямой связи на английском языке feedforward gain и его обозначение b;

в) нажмите кнопку Add (дополнить), при этом из текстовых полей Prompt и Variable удаляются введенные в предыдущем пункте символы, а в информационном поле сообщение

feedforward gain: edit b

смещается на одну строку вниз и место первой строки занимает пустая полоса синего цвета;

г) введите соответственно в текстовые поля Prompt (комментарий) и Variable (переменная) название коэффициента обратной связи на английском языке feedback gain и его обозначение a;

д) в текстовое поле Mask type: введите название группы блоков, к которой вы будете в дальнейшем относить маскированный составной блок, в данном случае введите Masked Block (маскированный блок). При этом редактор маски принимает вид, изображенный на рис. 11;

е) нажмите на кнопку OK или Apply;

ж) щелкните дважды мышью над составным блоком с названием “звено”. Появляется диалоговое окно настройки параметров Block Parameters: zweno (рис.12), содержащее два пустых текстовых окна с названиями feedforward gain и feedback gain, что свидетельствует о создании маскированного составного блока. Заметим, что это диалоговое окно настройки параметров называют маской маскированного составного блока.

Теперь надо ввести в созданный маскированный блок сведения о требуемых значениях параметров a и b. Пусть такими значениями будут: a=3, b=2. Указанную информацию в маскированный составной блок можно ввести двумя путями.

2.14.2. Чтобы ввести численные значения параметров маскированного составного блока, в данном случае параметров a и b , используя первый путь:

а) введите требуемые значения параметров маскированного блока в командное окно MATLAB и затем с помощью команды save сохраните эти значения в рабочем поле, в данном случае введите команды

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

б) введите в текстовые окна с названиями feedforward gain и feedback gain диалогового окна настройки параметров Block Parameters: zweno символы b и a соответственно и нажмите кнопку Apply , после чего это диалоговое окно будет выглядеть так, как показано на рис. 13;

в) выделите маскированный составной блок, в данном случае блок zweno, и выберите команду Look under Mask (заглянуть под маску) из меню Edit модельного окна. Появляется окно с блок-схемой, которая содержится в маскированном составном блоке, в данном случае с блок-схемой, представленной справа на рис. 10;

г) введите в блоки этой схемы требуемые параметры маскированного составного блока с помощью окон настройки, открываемых за счет двойного щелчка над соответствующим блоком, в данном случае откройте окна настройки параметров блоков с названиями feedforward gain и feedback gain и

введите в них соответственно символы b и a. После этих действий блок-схема маскированного блока будет выглядеть так, как показано на рис. 14.

Второй путь введения параметров в маскированный составной блок отличается от первого тем, что надо ввести в текстовые окна с названиями feedforward gain и feedback gain диалогового окна настройки параметров Block Parameters: zweno не символы b и a, а их требуемые значения 2 и 3 соответственно. При этом нет необходимости использовать командное окно MATLAB.

Для редактирования параметров маскированного составного блока первый путь, по-видимому, более удобен, так как достаточно ввести в командное окно MATLAB новые значения параметров и сохранить их в рабочем поле, чтобы получить маскированный составной блок с измененными параметрами. При использовании второго пути с этой же целью надо открыть диалоговое окно настройки Block Parameters маскированного блока, ввести новые желаемые значения параметров вместо прежних значений в соответствующие текстовые окна, в данном случае в окна feedforward gain и feedback gain и нажать кнопку ОК.

Если параметры маскированного блока введены первым путем, то информацию о численном значении этих параметров можно получить, вводя в командное окно MATLAB обозначения (символы) упомянутых параметров, в данном случае вводя последовательно b и a.

Simulink позволяет устанавливать желаемый значок (пиктограмму) маскированного составного блока. Для этой цели предназначена вкладка Icon (значок) окна редактора маски Mask Editor: untitled/<имя подсистемы>, в данном случае с именем zweno (рис. 15). После создания маскированного блока редактор маски можно вызвать, выделяя этот блок и выполняя команду Edit из меню File модельного окна.

2.14.3.Чтобы изобразить маскированный составной блок в виде прямоугольника с надписью (text) внутри:

а) введите в текстовое окно Drawing command (команда создания значка блока) команду

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

disp("aperiodic zweno").

Если вы хотите, чтобы слова aperiodic и zweno были расположены каждое на своей строке, введите команду (рис. 15)

disp("aperiodic\n zweno");

б) нажмите кнопку OK или Apply. При этом маскированный блок принимает вид, изображенный на рис. 15 слева.

2.14.4.Чтобы использовать в качестве значка передаточную функцию блока, в данном случае, передаточную функцию 2/(p+3):

а) введите в текстовое окно Drawing command(рис. 16) команду

dpoly (,,"p").

Здесь p определяет желаемое обозначение комплексной переменной;

б) нажмите кнопку OK или Apply. При этом маскированный блок принимает вид, изображенный на рис. 16 слева.

Внутрь прямоугольника, изображающего маскированный блок для динамического звена системы управления, часто помещают упрощенный график переходной характеристики этого звена. С этой целью можно использовать команду plot(x, y), которая строит ломаную линию из отрезков прямых, соединяющих узловые точки с координатами [(xi,yi),i=1,2,…,n], заданными в векторах x= и y= .

2.14.5. Чтобы использовать в виде значка переходную характеристику апериодического звена:

а) введите в текстовое окно Drawing command на вкладке Icon редактора маски (рис.17) команды

plot(,);

plot(,);

plot(,);

Первые две команды рисуют оси координат, а третья команда соединяет прямой линией точки с координатами, соответствующими функции

б) нажмите кнопку OK или Apply. При этом маскированный блок принимает вид, изображенный на рис. 17 слева.

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

В текстовое окно Block Description (описание назначения блока) введено словесное описание блока, в данном случае блока zweno. Это описание после нажатия кнопки OK или Apply будет помещено вверху окна настройки параметров блока (рис. 19).

2.14.6. Чтобы убедиться в работоспособности созданного маскированного составного блока с названием zweno:

А) подключите к его входу блок Step из категории Sources , а к выходу – блок Scope из категории Sinks;

б) нажмите кнопку (Start). В окне Scope вы получите переходную характеристику апериодического звена с постоянной времени T=0,33 с. и коэффициентом усиления k=0,67.

2.15. Использование контекстно-зависимого меню правой клавиши мыши для введения команд

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

В контекстно-зависимом меню правой клавиши мыши для выделенного объекта можно найти команды, которые позволяют копировать (Copy), вырезать (Cut) и удалять (Clear) указанный блок, открывать (Block Parameters) окно настройки параметров этого блока. Подменю Format правой клавиши содержит ряд команд форматирования блока: замены шрифта и его стиля для названия блока (Font), удаления названия блока (Hide name), изменения расположения названия блока (Flip name), поворота блока на 180 (Flip block) и 90 градусов (Rotate Block), включения и отключения тени (Show Drop Shadow). Там же есть опции по изменению цвета общего фона.

Контекстно-зависимое меню правой клавиши мыши для выделенной линии связи включает в себя такие команды, как Cut, Copy, Clear, Signal Properties. Команда Signal Properties… открывает диалоговое окно Signal Properties, позволяющее, в частности, устанавливать метку (обозначение) сигнала (Signal Name) и его аннотацию (Descriptor).

Меню правой клавиши мыши составного блока содержит команды Open Block (раскрыть содержание (открыть блок-схему) составного блока), Mask Subsystem (вызвать редактор маски). Меню правой клавиши мыши для маскированного составного блока содержит команды: Edit Mask (открыть редактор маски для правки составного блока), Look under Mask (раскрыть содержание, иными словами, блок-схему маскированного составного блока), Mask parameters…(открыть окно Block parameters: Subsystem настроек параметров маскированного составного блока) и другие.

3. Построение блок-схем линейных систем управления

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

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

2) с помощью операционной структурной схемы, основанной на уравнениях в переменных состояния.

Рассмотрим каждый из этих способов в отдельности.

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

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

Первым из этих двух элементов в библиотеке Simulink соответствуют блоки Transfer Fcn (передаточная функция в обычной форме) и Sum (сумматор), которые реализуют операции, связанные с преобразованием и суммированием сигналов, поступающих на его вход. В блок-схеме звено структурной схемы может быть представлено также блоком Zero-Pole (передаточная функция в приведенном виде, определяемая значениями нулей и полюсов), удобным для использования в случае, если передаточная функция задана с помощью нулей и полюсов. Если передаточная функция звена равна постоянной величине k, т.е. W(p)=k, то удобно использовать блок Gain (усилитель) вместо блоков типа передаточной функции.

Третий основной элемент динамической структурной схемы (точка разветвления сигнала) реализуется в блок-схеме системы управления теми операциями, которые рассмотрены в п. 2.1.3, таким образом, если построена динамическая структурная схема исследуемой системы управления, то не представляет большого труда получить её фактическое отображение в модельном окне Simulink в виде соответствующей блок-схемы, составленной из блоков типа "передаточная функция" (Transfer Fcn или Zero-Pole) и блоков суммирования (Sum).

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

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

3.1.1. Создание блоков типа "передаточная функция" и блока типа сумматор

Блок Transfer Fcn (передаточная функция в обычной форме) моделирует линейное звено (систему) с одним входом и одним выходом, описываемое передаточной функцией в обычной форме:

N≥m,

где b и a– постоянные коэффициенты числителя и знаменателя. В инструментальном средстве MATLAB обычная форма называется tf - формой передаточной функции .

Примечание: в Simulink комплексная переменная p обозначается s.

3.1.1.1. Чтобы создать блок Transfer Fcn, реализующий звено с передаточной функцией в обычной форме:

а) из окна библиотеки Simulink Library Browsers или окна библиотеки Library: Simulink3 выберите категорию Continuous (непрерывные элементы) и перенесите в модельное окно блок Transfer Fcn;

б) дважды щелкните над ним мышью. Появляется диалоговое окно настроек Block Parameters: Transfer Fcn (рис. 20);

в) в текстовое поле Denominator (знаменатель) из группы полей Parameters (параметры) введите в квадратные скобки последовательно значения всех коэффициентов знаменателя передаточной функции, начиная с а, в том числе значения, равные нулю. Дело в том, что Simulink определяет порядок n знаменателя передаточной функции по числу n+1 коэффициентов, которые вы ввели. Для отделения между собой значений коэффициентов используйте пробелы. Не забывайте полученный вектор коэффициентов заключить в квадратные скобки.

г) в текстовое поле Numerator (числитель) из группы полей Parameters (параметры) введите последовательно значения всех коэффициентов числителя передаточной функции, начиная с b, в том числе значения, равные нулю. Simulink определяет порядок m числителя по числу m+1 введенных коэффициентов;

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

Щелкните кнопку Apply (применить) в окне настроек блока, чтобы измененные значения параметров вступили в силу. При этом окно настроек блока не закрывается;

Щелкните кнопкой ОК в окне настроек блока, чтобы измененные значения параметров вступили в силу и чтобы окно настроек блока закрылось.

При этом в модельном окне внутри прямоугольника, изображающего блок Transfer Fcn, высвечивается передаточная функция W(s).

Пример 1. Пусть передаточная функция W(p)=(2p+1)/p, n=m=1.

Введите в окно Denominator: , а в окно Numerator: . После команд Apply или ОК в блоке Transfer Fcn, изображенном в модельном окне, высвечивается передаточная функция.

Пример 2. W(p)=(p+2)/p, n=m=1, при этом в окне Denominator: установите , а в окне Numerator: .

Пример 3. Пусть W(p)=p 2 /(p 2 +2p+3), n=m=2. Тогда установите в окне Denominator: , а в окне Numerator: .

Пример 4. Пусть W(p)=p/(p+1), n=m=1, при этом в окне Denominator: установите , а в окне Numerator: .

Пример 5. Пусть W(p)=2/(p 2 +3p), n=2, m=0. Введите в окно Denominator: , а в окно Numerator: .

По умолчанию в окне настроек Block Parameters: Transfer Fcn в текстовых окнах Numerator: и Denominator: установлены и соответственно, а внутри прямоугольника, изображающего блок Transfer Fcn, высвечивается передаточная функция.

Блок Zero-Pole (передаточная функция в приведенном виде, определяемая значениями нулей и полюсов) моделирует линейное звено (систему) с одним входом и одним выходом, описываемое передаточной функцией

, n≥m,

где z i , s i – соответственно нули и полюсы, а – приведенный коэффициент звена (системы).

В MATLAB такая форма передаточной функции называется zpk-формой нулей, полюсов и коэффициента усиления или zpk-формой передаточной функции .

3.1.1.2. Чтобы создать блок Zero - Pole , реализующей звено с передаточной функцией в приведенном виде:

а) из окна библиотеки блоков Simulink Library Browsers или из окна библиотеки блоков Library:simulink3 выберите категорию Continuous (непрерывные элементы) и перенесите в модельное окно блок Zero-Pole;

б) дважды щелкните над ним мышью. Появляется диалоговое окно настроек Block Parameters: Zero-Pole (рис. 21);

в) в текстовое окно Zeros: (нули) в квадратные скобки введите все нули передаточной функции. Если нули отсутствуют (m=0), то надо ввести пустую матрицу . По умолчанию в это окно введён один нуль: 1;

г) в текстовое окно Poles (полюсы) в квадратные скобки введите полюсы передаточной функции, по умолчанию в это окно введены два полюса: 0 и –1;

д) в текстовое окно Gain (коэффициенты усиления) введите в квадратные скобки значение приведённого коэффициента усиления. По умолчанию приведённый коэффициент усиления равен 1;

е) щелкните кнопку Apply или кнопку ОК. При этом в модельном окне внутри прямоугольника, изображающего блок Zero-Pole, высвечивается передаточная функция W(p) в zpk-форме. По умолчанию высвечиваемая передаточная функция имеет вид

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

Пример 1. Пусть

так что z 1 =0; s 1 =2, s 2,3 =-2±3i, =-2. При этом в окне Zeros установите: , в окне Poles: , а в окне Gain: [-2]. После команд Аpply или ОК в блоке, изображенном в модельном окне, высвечивается передаточная функция

Пример 2. Пусть W(p)=5p 2 /(p+2)(p-3). При этом z 1 =z 2 =0; s 1 =-2, s 2 =3, =5.

Тогда установите в окне Zeros: , в окне Poles: [-2 3], в окне Gain: . В модельном окне появляется прямоугольник с передаточной функцией 5s 2 /(s+2)(s-3).

Пример 3. Введите в окно Zeros: , в окно Poles: , в окно Gain: . После команд Аpply или ОК в модельном окне внутри прямоугольника, изображающего блок Zero-Pole, высвечивается передаточная функция

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

Блок Sum (сумматор) реализует алгебраическое суммирование поступающих на его вход N сигналов v i , используя формулу

S=γ 1 v 1 +γ 2 v 2 +…+γ N v N ,

где коэффициенты γ i могут принимать значения, равные +1 или –1, в зависимости от того, что требуется: сложить сигнал с суммой сигналов в правой части или вычесть сигнал из этой суммы.

Следовательно, можно ввести в рассмотрение вектор или список знаков коэффициентов [знак γ 1 , знак γ 2 , …, знак γ N ], который полностью определяет при известных входных сигналах смысл операции, осуществляемой с помощью блока Sum. Хотя этот блок допускает алгебраическое сложение векторных и матричных сигналов, ограничимся рассмотрением случая, когда все входные сигналы являются скалярными.

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

а) из окна библиотеки блоков Simulink Library Browsers или из окна библиотеки блоков Library:simulink3 выберите категорию Math (математические элементы) и перенесите в модельное окно блок Sum;

б) дважды щелкните над ним мышью. Появляется окно настроек этого блока Block Parameters: Sum (рис. 22);

в) в текстовом окне Icon Shape (форма значка) с помощью раскрывающегося списка выберите форму изображения блока в модельном окне: в виде окружности (round) или прямоугольника (rectangular). При построении блок-схем систем управления рекомендуется использовать круглую (в виде окружности) форму блока Sum. Кстати, она установлена по умолчанию;

г) введите в текстовое поле List of Sings (список знаков) без квадратных скобок вектор знаков всех коэффициентов γ i . Число элементов N этого списка информирует Simulink о количестве входных сигналов, а знаки + и – сообщают о том, что надо делать с каждым из этих сигналов: складывать или вычитать.

д) щелкните кнопку ОК. В модельном окне высвечивается блок Sum с N входными петлями связи (входными портами) и одной выходной петлей связи (выходным портом). Внутри изображения блока Sum около каждой входной петли стоит знак + или - , показывающий, с каким знаком будет осуществляться сложение этого сигнала. Заметим, что между знаками, введёнными в поле List of Sings, не должно быть пробелов.

Блок Gain (усилитель) реализует операцию умножения входного сигнала v на заданный коэффициент усиления k:

3.1.1.4. Чтобы создать блок Gain, реализующий операцию умножения:

а) из окна библиотеки Simulink Library Browsers или окна библиотеки Library: simulink3 выберите категорию Math (математические элементы) и перенесите в модельное окно блок Gain;

б) дважды щелкните над ним мышью. Появляется окно настроек Block Parameters: Gain (рис. 23);

в) введите в текстовое поле Gain (коэффициент усиления) значение коэффициента усиления k;

г) щелкните кнопкой ОК. В модельном окне высвечивается изображение блока Gain в виде треугольника, внутри которого изображается введённое вами значение коэффициента усиления.

3.1.1.5. Чтобы построить блок-схему одноконтурной системы управления с неединичной обратной связью:

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

б) введите в модельное окно все блоки Transfer Fcn, Zero-Pole, Gain, соответствующие звеньям системы, расположенным в обратной связи. Выделите и затем поверните эти блоки на 180 градусов, используя команду Flip Block из меню Format, после чего установите их параметры в соответствии с заданными передаточными функциями и соедините между собой;

г) из окна библиотеки Simulink Library Browsers или из окна библиотеки Library:simulink3 выберите категорию Sources (генераторы сигналов) и введите в модельное окно один из блоков, входящих в эту категорию, например Constant (постоянный сигнал);

д) из окон тех же библиотек выберите категорию Sinks (регистраторы сигналов) и введите в модельное окно блок Scope (график);

е) соедините введённые в модельное окно блоки, как показано на рис.24.

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

Чтобы ввести отрицательную обратную связь, надо сменить знак + на знак – у петли связи сумматора, соединённого с блоком, имеющим название Transfer Fcn (q+1). Для этого дважды щелкните блок Sum, появляется окно настроек этого блока. В поле List оf Sings (список знаков) введите | + - и затем щелкните кнопкой ОК. Вертикальная черта обеспечивает удобное расположение входных портов этого блока: слева и внизу. Установите параметры блока Scope и параметры динамического моделирования из меню Simulation главного меню. Блок-схема системы управления готова к динамическому моделированию.

Пример. Пусть динамическая структурная схема исследуемой системы имеет вид, представленный на рис.25.

Построенная в модельном окне с помощью этой структурной схемы блок-схема системы управления (рис.26) отличается от первой лишь двумя элементами: блоком Constant и блоком Scope.

Упростим блок-схему. Выделим первые два звена с помощью рамки и создадим, используя команду Create subsystem (создать составной блок (подсистему)) из меню Edit модельного окна, составной блок. При этом получаем следующую блок-схему (рис. 27).

Если теперь дважды щелкнуть на изображение составного блока (подсистемы), то появляется новое модельное окно untitled/Subsystem, раскрывающее содержимое этого блока (рис.28).

Изменим названия входного In1 и выходного Out1 портов, щелкнув последовательно на ярлыки In1 и Out1 и введя в появляющиеся текстовые поля (рамки) соответственно буквы e и u. Используя такой же способ применительно к ярлыку Subsystem, изменим затем название составного блока на Compensator и в результате получим следующую блок-схему системы управления (рис.29). Чтобы "оттенить" составной блок, отразить его специфику

по сравнению с обычными блоками, здесь использована команда Show Drop Shadow (показать тень блока), входящая в подменю Format контекстно-зависимого меню правой клавиши мыши.

Замаскируйте составной блок compensator. Выделите его и, применив команду Mask subsystem (маскировать составной блок) из меню Edit, вызовите окно редактора Mask Editor: untitled/compensator (рис.30).

На этом рисунке изображено данное окно уже с введенными в него названиями и символьными обозначениями четырех коэффициентов числителей и знаменателей передаточных функций звеньев, которые образуют содержимое составного блока. Закройте окно редактора маски и дважды щелкните мышью на составной блок Compensator, чтобы открыть маску, другими словами, диалоговое окно настройки параметров Block Parameters: compensator. Это окно представлено на рис.31 с уже введенными числовыми значениями параметров.

Заметим, что названия параметров constnumij и constdenij соответственно представляют собой названия коэффициентов числителей и знаменателей передаточных функций блоков Transfer Fcn и Transfer Fcn1, изображенных на рис.28. Символ i определяет порядковый номер блока в последовательном соединении, а символ j – порядковый номер коэффициента в многочлене.

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

Первые два из них Discrete Transfer Fcn (дискретная передаточная функция в обычном виде) и Discrete Zero-Pole (дискретная передаточная функция в приведенном виде с нулями и полюсами) являются дискретными аналогами соответствующих непрерывных блоков Transfer Fcn и Zero-Pole, рассмотренных в пп. 3.1.1.1 и 3.1.1.2. При этом они соответственно реализуют дискретные фильтры (системы) с дискретными передаточными функциями:

В tf – форме

В zpk – форме

где n i и z i – соответственно нули и полюсы, -приведенный коэффициент усиления дискретного звена (системы).

Формально эти передаточные функции могут быть получены из выражений для соответствующих передаточных функций W(p) (пп.3.1.1.1, 3.1.1.2) путем замены комплексной переменной p на z. Поэтому создание блоков Discrete Transfer Fcn и Discrete Zero-Pole аналогично созданию блоков Transfer Fcn и Zero-Pole. Единственное отличие заключается в том, что первые из этих блоков характеризуются наряду с коэффициентами усиления, нулями и полюсами, еще одним параметром Т, называемым Sample Time (периодом дискретизации), значение которого должно быть введено в одноименное поле в диалоговых окнах настроек блоков Block Parameters: Discrete Transfer Fcn (рис.32) и Block Parameters: Discrete Zero-Pole (рис.33).

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

Третий блок Discrete Filter создает tf –модель дискретного фильтра (системы) в форме передаточной функции дискретного фильтра

Создание этого блока, в сущности, ничем не отличается от создания блока Discrete Transfer Fcn.

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

1) ключ, преобразующий непрерывный входной сигнал v(t)

в числовую последовательность v[i]=v(t)| t = iT , i=0,1,2,…;

2) дискретный фильтр (ДФ) с передаточной функцией W * (z), преобразующий числовую последовательность входа v[i] в соответствующую числовую последовательность выхода y[i];

3) фиксатор (Ф) или экстраполятор нулевого порядка, преобразующий выходную последовательность дискретного фильтра в кусочно-постоянный непрерывный сигнал

y(t)=y[i], iT≤t<(i+1)T, i=0,1,2,… .

Таким образом, каждый дискретный блок содержит на входе "встроенные" в него ключ, осуществляющий дискретизацию непрерывного входного сигнала v(t) с периодом T, и на выходе фиксатор, запоминающий каждое значение последовательности y[i] на период дискретизации. При этом, если дискретный блок, например Discrete Transfer Fcn, соединен с непрерывным блоком, например блоком Transfer Fcn, то на вход последнего блока поступает кусочно-постоянный сигнал ”лестничного” вида, а не числовая последовательность.

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

(рис. 35). Эта система состоит из цифрового регулятора с дискретной передаточной функцией

связывающей z-преобразования управляющей последовательности u[i] и последовательности ошибки e[i]=e(t)| t = iT (e(t)-ошибка управления); фиксатора с выходным непрерывным сигналом управления u(t) и объекта управления

с передаточной функцией

связывающей преобразование Лапласа управляемой величины y(t) и сигнала управления u(t). Сигнал v(t) представляет собой задающее воздействие.

3.1.4. Чтобы построить блок-схему цифровой системы управления, показанной на рис. 35:

а) введите в модельное окно блок Discrete Transfer Fcn из категории Discrete и установите его параметры в соответствии с известной передаточной функцией W * (z) и выбранным периодом дискретизации Т;

б) введите в модельное окно блок Transfer Fcn и установите его параметры в соответствии с известной непрерывной передаточной функцией объекта управления W 1 (p);

в) введите в модельное окно блок Sum;

г) введите на экран дисплея блоки Constant и Scope;

д) соедините блоки так, как показано на рис. 36, изображающем блок-схему цифровой системы управления для случая, когда l=2,r=3,m=1,n=4.

Например, если T=1c, то блок-схема

выглядит, как изображено на рис. 37.

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

3.2 Построение блок-схем систем управления с одним входом

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

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

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

то при m=n ее уравнения состояния можно записать в виде

где, представляют собой переменные состояния. При этом уравнение выхода имеет вид

Системе уравнений в переменных состояния соответствует операционная структурная схема, представленная на рис.38.

Если m

что приводит к упрощению операционной структурной схемы.

В пакете Simulink блок-схема моделирования, соответствующая структуре рис.38, может быть построена на основе блоков Sum (блок суммирования), блоков Integrator (интегрирующий блок), блоков Product (умножения/деления), блоков Goto (передать) и From (принять).

Пример. Пусть система второго порядка (n=m=2) представлена передаточной функцией

При этом ее уравнения состояния и выхода можно представить в виде

3.2.1. Чтобы построить блок-схему этой системы:

а) введите на экран дисплея два блока Sum (суммирование), шесть блоков Product (умножение/деление), два блока Integrator (интегратор), шесть блоков From (принять), блок Constant (постоянная), блок Scope (график);

б) добавьте по одному входу на каждый из блоков Sum и Sum 1, введя в список знаков (List of Signs) окон настроек этих блоков +-- и +++ соответственно;

в) установите параметр Number of Inputs блока Product равным */ для реализации операции умножения на 1/a 0 ;

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

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

соответствовать коэффициентам передаточной функции a i и b i ;

е) введите шесть блоков Constant (постоянная) и шесть блоков Goto (передать) и соедините их, как показано в нижней части рис.39;

ж) установите признаки (tag) всех блоков Goto, чтобы они соответствовали значениям коэффициентов a i и b i ;

з) установите в блоках Constant (постоянная) численные значения, соответствующие коэффициентам передаточной функции. На рис.39 коэффициенты a i и b i определяются значениями a 2 =1 и a 1 =0,2; a 0 =0,01; b 0 =b 1 =0; b 2 =1; т.е. блок-схема, представленная на рис. 39, является схемой моделирования системы с передаточной функцией

Полученная блок-схема удобна тем, что на ней отображаются значения коэффициентов a i и b i . Это позволяет в случае необходимости достаточно просто изменить их значения. Блоки Goto (передать) и From (принять) из категории Signal System позволяют передавать сигнал от одного блока к другому блоку (другим блокам) без использования линий связи между ними, как бы “по беспроволочному телеграфу” или как бы “по эфиру”. Если информация о значениях коэффициентов во время моделирования и динамического моделировании не нужна, то все блоки умножения/деления можно заменить блоками Gain (усиление), кроме блока с названием Product. Коэффициенты усиления этих блоков надо установить равными соответствующим значениям a i , и b i . Разумеется, при этом все блоки типа Goto и From, кроме блока с названием From, исключаются из блок-схемы и вместо блока From с названием a 0 вводится блок Constant (постоянная величина), и его параметр устанавливается равным численному значению коэффициента a 0 .

Аналогичным путем вы можете осуществить моделирование дискретных систем управления, описываемых дискретной передаточной функцией

связывающей z-преобразования y * (z)=z{y[i]} и v * (z)=z{v[i]} управляемой y[i] и задающей v[i] последовательностей. Этой передаточной функции при m=n соответствуют уравнения состояния

и уравнение выхода

Здесь x j [i], являются переменными состояния дискретной системы.

Используя полученные уравнения состояния и выхода, приходим к операционной структурной схеме (рис.40), которая подобна операционной структурной схеме непрерывной системы (рис.39). Отличие этих схем в том,

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

Следовательно, в пакете Simulink блок-схема (схема моделирования) дискретной системы также аналогична блок-схеме моделирования непрерывной системы. Однако блоки Integrator (блоки интегрирования) заменяются на блоки Unit Delay (блоки запаздывания на один период дискретизации).

Для случая n=2, m=0 результирующая блок-схема дискретной системы при a 0 =1, a 1 =-1,8; a 2 =0,81, b 0 =b 1 =0; b 2 =0,01 представлена на рис.41. Заметим, что окна настроек блоков Unit Delay содержат параметр Sample Time (период дискретизации), значение которого для всех этих блоков нужно установить одинаковым, например 0.1. Кроме того, надо упомянуть, что блоки Unit Delay входят в категорию Discrete (дискретные элементы).

3.3. Построение блок-схемы многомерной линейной системы управления с помощью блока State-Space (пространство состояний)

Блок State-Space служит для моделирования многомерной линейной системы и звеньев с несколькими входами и выходами, представленных уравнениями в переменных состояния следующего вида:

где – n-вектор состояния; – r- вектор входа; – l-вектор выхода. Здесь x i (t), называются переменными состояния; u i (t), входными сигналами, y i (t), выходными сигналами; A,B,C,D – матрицы соответственно с размерностью n×n, n×r, l×n, l×r.

3.3.1. Чтобы создать блок State - Space , моделирующий систему (звено), описываемую уравнениями в переменных состояния:

а) из окна библиотеки Simulink Library Browser выберите категорию Continuous (непрерывные элементы) и введите на экран дисплея блок State-Space;

б) щелкнув над ним мышью, вы получите изображение диалогового окна Block Parameters: State-Space (параметры блока пространства состояний) (рис.42);

в) введите значение элементов матриц A,B,C,D в группу окон Parameters (параметры), взяв за образец следующий пример

A: [-4 -1; 5 0.1]

В данном примере т.е. n=2, l=r=1;

г) введите в окно Initial Conditions (начальные значения переменных состояния) вектор , где x i 0 =x i (0), представляют собой начальные значения переменных состояния. Если для примера, рассмотренного в п. в), x 10 =1, x 20 =0, то в строку Initial Conditions следует ввести: ;

д) щелкните кнопкой ОК.

Аналогичным образом можно создать блок Discrete State-Space (пространство состояния дискретной системы), который служит для моделирования дискретных систем и звеньев, описываемых уравнениями в переменных состояния

x=Ax[i] + Bu[i],

y[i]=Cx[i] + Du,

где u[i] – векторный входной сигнал, x[i] – вектор состояния y[i] – векторный выход. Матрицы, входящие в эти уравнения, должны удовлетворять следующим условиям:

А – матрица с размерностью n×n, n – число переменных состояния;

В – матрица с размерностью n×r, где r – число входных сигналов;

C матрица с размерностью l×n, где l – число выходных сигналов;

D – матрица с размерностью l×r.

Ввод матриц A, B, C, D в окна A:, B:, C:, D: группы полей Parameters и начальных значений переменных состояния, в поле Initial Conditions диалогового окна Block Parameters: Discrete State-Space не отличается от настроек блока State-Space. Остается упомянуть, что блок Discrete State-Space относится к категории Discrete (дискретные элементы) и поэтому в поле Sample Time не забудьте ввести значения периода дискретизации.

3.4. Построение блок-схем многомерной системы управления

с обратной связью по состоянию

Пусть объект управления с одним и входом и одним выходом описывается уравнением в переменных состояния:

где матрица А размером n×n, матрица B размером n×l, матрица C размером l×n, – n-вектор состояния. Закон управления имеет вид u=v(t)-u f (t), где v(t) – l-векторное задающее воздействие, а l-вектор u f (t)=Kx(t) представляет собой обратную связь по состоянию. Здесь K – матрица обратной связи по состоянию размером l×n.

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

а) введите на экран блок с названием State-Space и матрицами вида A 1 =A, B 1 =B, C 1 =I - единичная матрица размером n×n, D – нулевая матрица размером l×l;

б) введите два блока Matrix Gain(матричный коэффициент усиления) из категории Math и установите их параметры;

Блок с названием Matrix Gain с матричным коэффициентом усиления, равным матрице C;

Блок с названием Matrix Gain1 с матричным коэффициентом усиления, равным матрице K. Затем поместите его под блоком State-Space и поверните на 180 градусов;

в) введите блок Mux (мультиплексор) из категории Signal & Systems, который преобразует l скалярных сигналов, поступающих на его вход, в векторный сигнал, элементами которого являются упомянутые скалярные сигналы. Установите параметр Number of Inputs (число входов) равным l, а параметр Display Option (форма изображения блока) выберите соответствующим опции noun;

г) введите блоки Sum, Scope и l блоков типа Step. Установите значения v 1 , v 2 ,…,v l для каждого из постоянных входных сигналов, используя окна настроек блоков Step;

д) соедините введенные вами блоки аналогично тому, как показано на рис.43 для l=3;

е) измените названия блока State-Space и блоков типа Matrix Gain. С этой целью укажите курсором на название блока State-Space и щелкните мышью. При этом название блока окажется заключенным в прямоугольную рамку, а курсор примет форму вертикальной мерцающей черты. Используя клавиатуру, удалите стандартное имя блока State-Space и замените его именем State. Щелкните вне текстовой области. Выделяющая рамка исчезнет. Выполните аналогичные действия с блоками Matrix Gain, Matrix Gain1 и замените их названия соответственно именами Output, Feedback;

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

з) объедините блоки Step и блок Mux в составной блок (подсистему). С этой целью выделите их с помощью рамки. После этого откройте меню Edit модельного окна и выберите команду Create Subsystem (создать составной блок (подсистему));

и) измените название подсистемы Subsystem на Step;

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

л) активизируйте команду Wide nonscalar lines (показать векторные линии связи толще скалярных) из меню Format модельного окна. Блок-схема примет вид, показанный на рис. 44.

3.5. Построение блок-схем нелинейных систем управления

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

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

Из сказанного следует, что построение блок-схем нелинейных систем управления в пакете Simulink по известным структурным схемам аналогично созданию блок-схем линейных систем управления. Поэтому все основные операции, выполняемые в процессе построения блок-схем линейных систем и рассмотренные в разделе 4, такие, как, например, выделение, соединение, копирование блоков и т.п. применимы при создании блок-схем нелинейных систем управления. Отличительная особенность последних − присутствие в их составе нелинейных блоков. Категории Nonlinear (нелинейные) и Math (математические) пакета Simulink включают свыше 30 блоков, наряду с другими операциями, позволяющих:

Моделировать типовые нелинейные звенья такие, например, как насыщение (блок Saturation), зона нечувствительности (блок Dead Zone), воздушный зазор (блок Backlash), сухое и вязкое трение (блок Coulomb & Friction), идеальное двухпозиционное реле (блок Sign) и другие;

Обеспечивать преобразование входного сигнала с помощью одной из тригонометрических и гиперболических функций (блок Trigonometric Function) или с помощью элементарных и нетригонометрических и не гиперболических функций, таких, как вычисление экспоненты, возведение в степень, извлечение квадратного корня и другие (блок Math Function);

Осуществлять умножение (деление) входных сигналов (блоки Dot Product, Product).

Категория Functions & Tables (функции и таблицы) включает в себя блок Fcn, позволяющий ввести любую скалярную функцию от одного (скалярного или векторного) аргумента, выражающуюся через стандартные функции MATLAB. Выражение функции вводится в окно настройки блока. Для обозначения входного сигнала (аргумента функции) используется символ u.

В качестве примера на рис. 45 приведена блок-схема автономной нелинейной системы, описываемой уравнениями в переменных состояния:

Эта структура содержит два нелинейных блока: 1) блок Fcn, осуществляющий вычисление выражения. В окно настроек этого блока в поле Expression (выражение) введена формула 1-u*u. Здесь учтено, что для обозначения входного сигнала используется символ u, а для операции умножения применяется оператор * ; 2) блок Product, позволяющий выполнить умножение двух входных символов и x 1 . С помощью блока XY Graf (графопостроителя из категории Sinks) вы можете после запуска модели наблюдать фазовый портрет автономной нелинейной системы, задавая различные начальные значения переменных состояния x 10 и x 20 .

4. ДИНАМИЧЕСКОЕ МОДЕЛИРОВАНИЕ

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

интегралы от входных сигналов блоков и образуются выходные сигналы, поступающие на другие связанные с ними блоки. Как правило, моделирование с переменным шагом используется для непрерывных систем, а моделирование с постоянным шагом – дискретных. С помощью окна настроек Simulation Parameters: <название системы> (рис. 46) процесса динамического моделирования (симуляции), открываемого с помощью команды Simulation Parameters… меню Simulation (симуляция) модельного окна, вы установите начало (Start time) и конец (Stop time) интервала моделирования, выберите вид используемого шага моделирования: постоянный (Fixed-step) или переменный (Variable-step), введете в зависимости от выбранного вида шага моделирования величину фиксированного (Fixed step size) или начального (Initial step size), минимально допустимого (Min step size) и максимально допустимого (Max step size) переменного шага, выберите метод численного интегрирования дифференциальных уравнений, например ode 45 (Метод Дорманда-Принса), а также введете при переменном шаге моделирования допустимые значения относительной (Relative tolerance) и абсолютной (Absolute tolerance) погрешностей вычислений. Если вы затем подадите выходные сигналы одного или нескольких блоков на входы блоков Scope (график) или XY Graph (графопостроитель) из категории Sinks (регистраторы сигналов), предварительно включив их в схему наряду с блоками из категории Source (генераторы сигналов), вы можете наблюдать после запуска блок-схемы и активизации по окончании сеанса моделирования блоков Scope и XY Graph результаты моделирования.

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

4.1.Чтобы начать динамическое моделирование блок-схемы:

а) из меню Simulation модельного окна выберите команду Parameters (параметры динамического моделирования);

б) сделайте соответствующий выбор в появляющемся диалоговом окне Simulation Parameters: <название системы>. При первом запуске можно ограничиться лишь установкой интервала моделирования, предположив, что вполне удовлетворительны установки по умолчанию других параметров динамического моделирования;

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

Из строки инструментов модельного окна щелкните значком;

Из меню Simulation модельного окна выберите Start.

5. НАГЛЯДНОЕ ПРЕДСТАВЛЕНИЕ РЕЗУЛЬТАТОВ

ДИНАМИЧЕСКОГО МОДЕЛИРОВАНИЯ

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

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

Блок Scope отображает как скалярный, так и векторный сигнал. У этого блока имеется лишь один вход и, если вам нужно отобразить несколько скалярных или векторных сигналов, надо включать в блок-схему блок Mux (мультиплексор) из категории Signal & Systems для объединения всех этих сигналов в один векторный сигнал (рис. 47). При этом для каждого скалярного сигнала строится отдельный график, показывающий, как изменяются значения данного сигнала во времени и сами графики различаются по цвету. В окне блока можно отобразить до 30 графиков, построенных в одной системе координат.

Окно блока Scope имеет панель инструментов (рис. 48), состоящую из 7 значков-кнопок, которые позволяют изменять масштаб осей графика (Zoom, первые три кнопки), устанавливать автоматически масштаб осей (Auto-Scale, 4 кнопка), сохранить установленный масштаб осей графика для использования в последующих симуляциях (Save axes setting, 5 кнопка), вызывать окно "Scope"

Properties настройки параметров блока Scope (Properties, 6 кнопка), печатать содержимое окна Scope (Print, 7 кнопка).

5.1. Чтобы увеличить размеры данных, отображенных в окне Scope , другими словами, чтобы увеличить масштаб графика по оси абсцисс и оси ординат:

а) нажмите первую кнопку на панели инструментов окна Scope;

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

в) нажмите на левую клавишу мыши, чтобы зацепить этот угол;

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

д) отпустите клавишу мыши. Прямоугольник увеличится до размеров окна.

5.2. Чтобы вернуться к нормальному размеру окна:

Щелкните клавишей мыши четвертую кнопку на панели инструментов окна.

Используя диалоговое окно настроек "Scope" Properties (рис. 49), можно

установить целый ряд параметров блока Scope. Рассмотрим некоторые из них.

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

5.3. Чтобы установить число y -осей:

а) введите выбранное вами число в текстовое поле Number of axes (число осей), расположенное на вкладке General (основные параметры)

диалогового окна "Scope" Properties (рис. 49). Например, введите число три и щелкните кнопкой ОК. В окне Scope появляются три подокна для отображения изменения каждого из входных сигналов на отдельном графике, а y блока Scope число входов увеличивается до трех. По умолчанию число y-осей равно числу сигналов, образующих векторный входной сигнал;

Б) введите в модельное окно перед блоком Scope блок Demux (демультиплексор) из категории Signal & Systems, чтобы векторный сигнал блока Scope разложить на три скалярных сигнала, и соедините выход блока Demux с входом блока Scope (рис. 50). На вход блока Demux подайте

векторный сигнал, приложенный до введения числа в поле Number of axes к блоку Scope (рис. 47);

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

5.4. Чтобы установить временной интервал, на котором блок Scope отображает (динамику) (поведение) входного сигнала, другими словами, верхнее ограничение оси x (оси времени):

введите в текстовое поле Time range (интервал) вкладки General окна "Scope" Properties требуемое число. Если интервал отображения входного сигнала (Time range) меньше интервала моделирования, установленного с помощью текстовых окон Start time и Stop time из окна настроек Simulation Parameters: <название системы> (рис. 46), то Simulink отображает лишь поведение входного сигнала в последний отрезок времени, равный значению, введенному в поле Time range. При этом в нижней части блока Scope появляется надпись Time offset (добавляемое время) с указанием числа секунд.

При этом ось времени начинается от 0 и занимает интервал отображения входного сигнала. Следовательно, чтобы определить истинное время, надо добавить к значению времени, которое отображается на оси x, добавляемое время.

По умолчанию интервал изображения входного сигнала выбирается автоматически, равным интервалу моделирования, о чем свидетельствует слово auto в поле Time range.

5.5. Чтобы выбрать шаг, с которым будет отображаться входной сигнал в окне Scope , другими словами, период дискретизации входного сигнала, используемый при его отображении в окне Scope :

а) выберите команду Sample Time, используя раскрывающийся список в левом поле группы полей Sampling вкладки General;

б) введите желаемое численное значение периода дискретизации входного сигнала в правое поле границы полей Sampling. Заметим, что при отображении входного сигнала его дискретные значения, полученные в результате дискретизации, фиксируются на период дискретизации, так что отображаемый сигнал имеет “ящичную” структуру, аналогичную той, которая имеет место на выходе дискретных элементов, входящих в категорию Discrete.

Мы ограничились рассмотрением лишь одного из способов анализа результатов моделирования, а именно использования блока Scope. Однако следует сказать, что Simulink позволяет применить и другие способы анализа, связанные, например, с использованием мощных графических средств MATLAB .

6. ПЕЧАТАНИЕ БЛОК-СХЕМ

Если вам требуется получить печатную копию блок-схемы, то, используя команду Print… из меню модельного окна File, вы имеете выбор, печатать ли текущий уровень (Current system) блок-схемы (все блоки, изображенные в модельном окне); текущий уровень и ниже (Current system and below), т.е. печатать содержимое всех составных блоков (подсистем) нижних уровней; текущий уровень и выше (Current system and above), т.е. печатать выбранную подсистему и все подсистемы более высокого уровня, в состав которых входит выбранная подсистема; печатать блок-схемы всех подсистем(All systems), входящих в состав блок-схемы системы.

6.1. Чтобы напечатать блок-схему:

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

Из панели инструментов модельного окна щелкните значком в виде

принтера;

Из меню File модельного окна выберите команду Print…;

б) выберите соответствующие параметры печатания;

в) щелкните кнопкой ОК.

7. СОХРАНЕНИЕ БЛОК-СХЕМ

Если в процессе моделирования вы вносите изменения в созданную вами блок-схему, то они носят временный характер. Чтобы закрепить эти изменения, вы должны записать их на диск, т.е. сохранить блок-схему со всеми внесенными вами изменениями.

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

Из панели инструментов щелкните значком;

Из меню File выберите команду Save.

Вы можете использовать команду Save as… из меню File, когда хотите сохранить измененную блок-схему под новым именем. Эта команда удобна тогда, когда вы хотите внести изменения в существующую на экране блок-схему, а затем сохранить их и в то же время не хотите потерять оригинальную (первоначальную) версию изменяемой блок-схемы. Заметим, что Simulink сохраняет блок-схему, используя модельный файл с расширением.mdl, который содержит блок-схему и свойства блоков, т.е. содержит всю информацию, необходимую для открытия блок-схемы в следующих сеансах работы в Simulink.

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

8. СОХРАНЕНИЕ ЗНАЧЕНИЙ СИГНАЛА

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

а) введите в модельное окно блок Out1 (выходной порт) из категории Signal & Systems и подайте на его вход сигнал, значения которого вы хотите сохранить, например сигнал y(t);

б) из меню Simulation модельного окна выберите команду Simulation parameters…. Открывается окно Simulation Properties настроек параметров моделирования;

в) на вкладке Workspace I/0 (рабочая область вход/выход) в группе полей Save to workspace (записать в рабочую область) активизируйте поле (строку) ввода Time, позволяющее указать имя вектора, в котором будут сохраняться значения моментов времени, используемых Simulink для вычисления исследуемого сигнала (по умолчанию вектор имеет имя tout);

г) на вкладке Workspace I/0 активизируйте в той же группе поле (строку) ввода Output, которое определяет возможность записи значений исследуемого сигнала, соответствующих вектору времени tout, в вектор с названием yout по умолчанию. Остальные параметры можно оставить без изменения;

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

8.2. Чтобы получить информацию о сигнале y (t ), используя рабочую область:

а) введите в командное окно после приглашения >> команду

Sim("название системы").

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

б) нажмите команду Enter. В командном окне появляются значения векторов t и y.

Во многих случаях желательно получить не только информацию о сохраненных значениях сигнала, например сигнала y(t), но и график изменения этого сигнала.

8.3. Чтобы получить график изменения сигнала y(t) (вектора yout), используя рабочую область MATLAB:

Введите в командное окно команду plot (tout, yout).

Появляется окно Fig.1, в котором изображен график зависимости y(t).

Приложение

Список основных блоков, используемых для построения

блок-схем линейных систем управления

Назначение

Step (скачок)

Sources (генераторы сигналов)

Генерирует ступенчатый сигнал

Constant (постоянная величина)

Генерирует постоянный сигнал

Transfer Fcn (передаточная функция в обычном виде)

Continuous (непрерывные системы)

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

Zero-Pole (передаточная функция, заданная нулями, полюсами и приведенными коэффициентами усиления)

Моделирует линейную систему с одним входом и одним выходом, заданную передаточной функцией, представленной нулями, полюсами и приведенным коэффициентом усиления

State-Space (пространство состояний)

Моделирует многомерную линейную систему, представленную уравнениями в переменных состояния

Integrator (интегратор)

Осуществляет численное интегрирование входного сигнала

Transport Delay (временное запаздывание)

Задерживает входной сигнал на установленное время

Discrete Transfer Fcn (передаточная функция дискретного фильтра в обычном виде)

Моделирует дискретный фильтр с одним входом и одним выходом, представленный передаточной функцией в обычном виде

Discrete Zero-Pole (передаточная функция дискретного фильтра, заданная нулями, полюсами и приведенным коэффициентом усиления)

Моделирует дискретный фильтр с одним входом и одним выходом, заданный передаточной функцией, представленной нулями, полюсами и приведенным коэффициентом усиления)

Discrete -Time Integrator (дискретный интегратор)

Осуществляет суммирование значений входной числовой последовательности

Discrete State-Space (пространство состояний дискретного фильтра)

Моделирует многомерный дискретный фильтр, представленный уравнениями в переменных состояния

Unit Delay (блок запаздывания)

Задерживает дискретный сигнал на один период дискретизации

Sum (сумматор)

Math (математические блоки)

Осуществляет алгебраическое суммирование двух и более входных сигналов

Gain (усилитель)

Умножает входной сигнал на постоянную величину

Produсt (умножитель)

Осуществляет умножение/деление нескольких входных сигналов

Inport (входной порт) и Outport (выходной порт)

Signal & Systems (сигналы и системы)

Обеспечивает обмен данными между подсистемами (составными блоками) блок-схемы, а также между блок-схемой и рабочей областью MATLAB

Mux (мультиплексор)

Signal & Systems

Объединяет входные сигналы в один векторный выходной сигнал

Demux (демультиплексор)

Signal & Systems

Разделяет входной векторный сигнал на скалярные выходные сигналы

Goto (передатчик)

и From (приемник)

Signal & Systems

Обеспечивают пересылку данных между блоками модели (блок-схемы)

Subsystem (подсистема)

Signal & Systems

Представляет собой заготовку для создания подсистемы

From Workspace (ввод из рабочей области (поля))

Sources (генераторы сигналов)

Осуществляет ввод в блок-схему данных непосредственно из рабочей области

From File (ввод из файла)

Осуществляет ввод в блок-схему данных, хранящихся в MAT-файле

Генерирует сигнал, изменяющийся с постоянной скоростью

Генерирует гармонический сигнал

Signal Generator (генератор сигнала)

Генерирует непрерывный сигнал произвольной формы

Scope (график)

Sinks (регистраторы сигналов)

Отображает графически результаты динамического моделирования

XY Graph (двумерный график)

Обеспечивает создание двумерных графиков в прямоугольной (декартовой) системе координат

To Workspace (запись в рабочую область)

Обеспечивает сохранение результатов моделирования в рабочей области

To File (запись в файл)

Обеспечивает сохранение результатов моделирования в MAT-файле

Fcn (функция)

Function & Tables

Вычисляет любое доступное для MATLAB выражение, аргументом которого является значение входного сигнала

Библиографический список

  1. Лазарев Ю.Ф. MATLAB 5.Х. К.: Издательская группа BNV, 2000. 384 с.
  2. Гультяев А.В. MATLAB 5.2. Имитационное моделирование в среде WINDOWS: Практическое пособие. СПб.: Корона Принт, 1999. 288 с.
  3. Гультяев А.В. Визуальное моделирование в среде MATLAB, учебный курс.СПб.: Питер, 2000. 432 с.
  4. Филлипс Ч., Харбор Р. Системы управления с обратной связью. М.: Лаборатория Базовых Знаний, 2001. 616 с.
  5. Использование пакета VISSIM для исследования систем управления (Построение блок-схем): Метод.указ./А.И.Бобиков. Рязан. гос. радиотехн. акад. Рязань, 2001. 24 с.
  6. Андриевский Б.Р. Избранные главы теории автоматического управления с примерами на языке MATLAB. СПб.: Наука, 1999. 467 с.
  7. Дорф Р., Бишоп Р., Современные системы управления. М.: Лаборатория Базовых Знаний, 2002. 832 с.

8. Дьяконов В. Simulink 4. Специальный справочник. СПб.: Питер, 2002.

Введение………………………………………………………………………3

1. Запуск программы………………………………………………………….....4

2. Создание блок-схем…………………………………………………………..5

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

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

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

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

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

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

2.7. Перемещение и копирование блоков…………………………………….15

2.8. Установка и изменение параметров блока………………………………16

2.9. Удаление блоков…………………………………………………………..17

2.10. Поворот блоков…………………………………………………………...17

2.11. Изменение размеров блока………………………………………………17

2.12. Изменение названия блока………………………………………………18

2.13. Создание составных блоков (подсистем)………………..……………..18

2.14.Маскирование составных блоков (подсистем)………………………….20

2.15. Использование контекстно-зависимого меню правой клавиши мыши для введения команд……………………………………………………….......28

3. Построение блок-схем линейных систем управления…………………….29

3.1.Построение блок-схем линейной системы управления с помощью динамической структурной схемы……………………………………………29

3.2. Построение блок-схем систем управления с одним входом и одним выходом с помощью операционной структурной схемы……………………43

3.3. Построение блок-схемы многомерной линейной системы управления с помощью блока State - Space (пространство состояний) ……………………48

3.4. Построение блок-схемы многомерной системы управления с обратной связью по состоянию……………………………………………………………49

3.5. Построение блок-схем нелинейных систем управления………………...51

4. Динамическое моделирование………………………………………………53

5. Наглядное представление результатов динамического моделирования…54

6. Печатание блок-схем…………………………………………………………58

7. Сохранение блок-схем……………………………………………………….58

8. Сохранение значений сигнала……………………………………………….59

Приложение……………………………………………………………………..60

2.3.1. Создание нового окна модели

Для создания окна новой модели нужно нажать кнопку Create a new model (см. рис.2.1, поз.1) в панели инструментов браузера библиотек Simulink либо выполнить соответствующую команду из командного меню. Пустое окно модели показано на рис. 2.16.

Рис.2.16. Пустое окно модели (окно для создания новой модели)

2.3.2. Панель инструментов

Окно модели имеет собственную панель инструментов, содержащую 15 кнопок (рис. 2.17).

Рис.2.17. Панель инструментов окна модели

Кнопки имеют следующее назначение:

1 – New model - создание новой модели (открытие нового окна модели);

3 – Save - сохранение текущей модели;

4 – Print - печать текущей модели;

5 – Cut - перенос выделенного объекта в буфер;

6 – Copy - копирование выделенного объекта в буфер;

7 – Paste - вставка объекта из буфера;

8 – Undo - отмена последней операции;

9 – Redo - восстановление последней отмененной операции;

10 – Library Browser - открытие браузера библиотек;

11 – Toggle model browser - открытие браузера модели (показывает наличие и состав подмоделей) в левой части окна модели;

12 – Go to parent system - переход в основную (родительскую систему), активно в случае работы в окне подмодели;

13 – Debug - переход в режим отладки модели;

14 – Start Simulation - запуск моделирования;

15 – Stop Simulation - остановка моделирования.

2.3.3. Командное меню

Несмотря на наличие панели инструментов, важная роль принадлежит командному меню окна модели Simulink. Оно дает более полный набор средств по управлению процессом моделирования. Меню (рис.2.18) содержит следующие пункты и подпункты (приведены лишь нужные для работы, с учетом целей данного учебного пособия):

Рис.2.18. Командное меню окна модели

1) File - операции с файлами S-моделей:

· New, Open и Close – стандартные операции создания, открытия и закрытия файла (окна) модели. Следует отдельно отметить возможность создания не только модели, но и раздела библиотеки, в который можно поместить как новые, так и уже существующие блоки (Ctrl+N, Ctrl+O и Ctrl+W соответственно);

· Print… – распечатать содержимое окна модели (структурную схему модели) (Ctrl+P);

· Print setup… – установки для печати;

· Exit MATLAB – выход из MATLAB, закрывает все открытые окна моделей и приложений системы, а также сам MATLAB (Ctrl+Q).



2) Edit - операции редактирования текущей модели:

· Can’t undo – отменить операцию отмены последнего действия (вместо слова ‘undo’ будет наименование последней операции) (Ctrl+Z);

· Can’t redo – операция, обратная предыдущей (Ctrl+Y);

· Cut, Copy и Paste – стандартные операции редактирования – вырезать в буфер, скопировать в буфер и вставить из буфера (работают с выделенными объектами в окне моделирования) (Ctrl+X, Ctrl+C и Ctrl+V соответственно);

· Clear – очистить (стереть) выделенный объект (Delete);

· Select All – выделить все объекты в окне (удобно для копирования или очистки окна модели или подмодели) (Ctrl+A);

· Copy model to clipboard - поместить модель в буфер обмена ОС Windows (удобно в случае, когда необходимо поместить модель в какой-либо электронный документ);

· Create subsystem – создать из выделенных в окне модели блоков подсистему (Ctrl+G).

3) View - управление видом окна модели:

· Go to parent - переход в предыдущую модель/подмодель;

· Toolbar – показать/убрать панель инструментов;

· Status bar – показать/убрать строку состояния;

· Show Library Browser – показать браузер библиотек;

· Zoom In/Out - увеличение/уменьшение размера блоков в окне модели (изменение масштаба изображения блоков);

· Fit system to view – выбрать оптимальный масштаб изображения;

· Normal (100%) – вернуть “нормальный” (заданный по умолчанию) масштаб изображения.

4) Simulation - операции запуска моделирования и его настройки:

· Start – запуск процесса моделирования (Ctrl+T);

· Stop – остановка процесса моделирования;

· Simulation parameters – параметры процесса моделирования (Ctrl+E).

5) Format - операции форматирования текущей модели (работают с выделенными блоками и надписями):

· Font… – выбор шрифта текста;

· Text alignment – операции выравнивания текста в текстовом окне;

· Flip name – поместить название блока над ним или под ним;

· Hide name – скрыть название блока;

· Flip block – изменить направление блока (вход-выход) (Ctrl+I);



· Rotate block – повернуть блок на 90 градусов по часовой стрелке (Ctrl+R);

· Show/Hide drop shadow – показать/скрыть отбрасываемую блоком тень;

· Show/Hide port labels – показать/скрыть метки портов для подсистем;

· Foreground color – выбрать цвет рамки, опоясывающей блок;

· Background color – выбрать цвет поля блока;

· Screen color – выбрать цвет заднего фона окна модели;

6) Tools - доступ к инструментальным средствам (зависит от комплекта установки системы):

· Linear analysis… – пакет дополнения “линейный анализ”.

7) Help - доступ к средствам справочной системы.

2.3.4. Размещение блоков в окне модели

Размещение блоков в окне модели производится следующим образом: в разделе библиотеки выбирается блок, который мы хотим поместить в окно создаваемой нами модели (выбор блока осуществляется одиночным нажатием на него левой кнопкой мыши). Затем, удерживая левую кнопку мыши, перетаскиваем блок в окно модели и отпускаем. В окне модели должна появиться пиктограмма этого блока. Либо нажав правую клавишу мыши на нужном нам блоке в библиотеке, выбираем в контекстном меню команду Add to ‘имя модели’.

2.3.5. Выделение блока или группы блоков в окне модели

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

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

Для выделения всех блоков модели можно воспользоваться командой Edit > Select All.

Выделенный блок или набор блоков можно перетаскивать мышью, удерживая ее левую кнопку. Отпустив левую кнопку мыши, можно увидеть блоки на новом месте.

2.3.6. Сохранение модели

Можно сохранить созданную модель для последующего применения, показа или модернизации. Для этого используется команда Save или Save As… меню File окна редактора моделей. Модель записывается в виде файла с расширением.mdl.

2.3.7. Установка параметров блоков, входящих в модель

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

2.3.8. Установка параметров моделирования

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

Рис.2.19. Окно задания параметров моделирования

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

К числу важнейших параметров решателя относится время моделирования - Simulation time. Оно задается начальным временем Start time (обычно 0) и конечным временем Stop time. Равенство Stop time бесконечности (inf) означает, что моделирование будет происходить бесконечно долго, пока мы не прервем его с помощью кнопки окна модели или команды Stop из командного меню. Однако в этом случае трудно получить различимые осциллограммы работы устройства, поэтому рекомендуется задавать конечные значения Stop time.

· Type – тип решателя и метод моделирования.

Тип решателя может быть: Variable step – с переменным шагом по времени и Fixed step – с постоянным шагом по времени (для дискретных систем).

Справа от типа решателя выбирается метод моделирования, возможен выбор следующих методов: discrete – дискретный, ode45 и ode5 – метод Дорманда-Принса, ode23 – три варианта, включая метод Розенброка и ode113 – метод Адамса, ode4 – метод Рунге-Кутта и др.

Следующая группа параметров изменяется от выбора типа решателя и для переменного шага моделирования содержит:

· Max step size – максимальное значение шага моделирования;

· Min step size – минимальное значение шага моделирования;

· Initial step size – начальный шаг моделирования.

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

· Relative tolerance – относительная погрешность моделирования;

· Absolute tolerance – абсолютная погрешность моделирования.

Для постоянного шага моделирования:

· Fixed step size – значение фиксированного шага моделирования (при значении auto устанавливается шаг, заданный источником сигнала, и если источников несколько – устанавливается наименьший шаг моделирования);

· Mode – режим работы (auto – выбрать автоматически; Single tasking – однозадачный режим; Multi tasking – многозадачный режим).

При моделировании сложных систем необходимо правильно устанавливать значение всех вышеописанных параметров, но при моделировании линейных САУ непрерывного действия (не дискретных) важно только установить конечное время моделирования, остальные параметры можно оставить установленными автоматически. Вышесказанное справедливо и для моделирования дискретных систем, необходимо лишь выбрать тип решателя – с постоянным шагом моделирования и указать шаг (при необходимости).

2.3.9. Добавление надписей и текстовых комментариев

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

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

Для изменения подписи к блокам моделей необходимо установить мышь в область надписи и щелкнуть левой кнопкой мыши - в подписи появится курсор ввода и ее можно будет редактировать.

Чтобы убрать надпись, нужно выделить ее (кстати, как и любой другой объект) и выполнить команду Edit > Clear или нажать клавишу Delete на клавиатуре.

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

2.3.10. Соединение блоков между собой

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

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

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

Особо стоит отметить возможность задания наклонных линий соединений при нажатой клавише Shift.

2.3.11. Создание отвода линий

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

При нажатой клавише Shift отвод строится наклонными линиями.

2.3.12. Удаление соединений

Для удаления соединительной линии достаточно выделить ее щелчком мыши и выполнить команду Clear или Cut (или нажать клавишу Delete на клавиатуре).

2.3.13. Изменение размеров блоков

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

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

2.3.14. Перемещение блоков и вставка блоков в соединение

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

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

2.3.15. Печать текущей модели

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

Команда Print Setup... в меню File окна Simulink открывает окно настройки принтера. Это окно операционной системы Windows, поэтому если она русифицирована, то не стоит удивляться появлению в окне русскоязычных надписей. Параметры этого окна очевидны. Кнопка «Свойства» открывает окно свойств выбранного принтера.

2.3.16. Вставка модели в текстовые редакторы

Для вставки модели в различные текстовые или графические редакторы необходимо выполнить команду Edit > Copy model to clipboard – модель скопируется в виде картинки в буфер обмена ОС Windows и может быть вставлена в любой текстовый или графический редактор путем нажатия клавиш Shift+Insert в открытом файле текстового редактора.

2.3.17. Создание простейшей модели

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

1) источник сигнала;

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

3) приемник сигнала.

Для примера составим простейшую модель, состоящую из источника единичного ступенчатого воздействия (блок Constant из раздела Sources) и виртуального осциллографа (блок Scope из раздела Sinks). Модель будет представлена проводником, который является идеальным усилительным звеном с коэффициентом усиления, равным 1.

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

1) создать новое окно модели;

2) поместить в это окно блок Constant из раздела Sources (рис.2.20);

3) поместить в окно модели блок Scope из раздела Sinks и расположить его справа от блока источника сигнала Constant (рис.2.21);

4) соединить блоки Constant и Scope между собой (рис.2.22);

5) установить необходимые параметры моделирования (Simulation parameters) Stop time = 2 с (остальные параметры оставляем без изменения);

6) запустить процесс моделирования;

7) посмотреть результаты моделирования, дважды щелкнув левой кнопкой мыши на блоке Scope (рис.2.23);

Рис.2.20. Источник сигнала, помещенный в окно модели

Рис.2.21. Источник сигнала и приемник сигнала, помещенные в окно

Рис.2.22. Простейшая модель, готовая к процессу моделирования

Рис.2.23. Результаты моделирования

В окне виртуального осциллографа (см. рис. 2.23) можно выделить две области: панель инструментов (сверху) и окно осциллографа (снизу), на котором представлены результаты моделирования.

Панель инструментов состоит из следующих кнопок (слева направо):

1 − Zoom – изменение масштаба графика переходного процесса по осям X-Y, с сохранением пропорций;

2 − Zoom X-axis – изменение масштаба графика переходного процесса по оси X;

3 − Zoom Y-axis – изменение масштаба графика переходного процесса по оси Y;

4 − Autoscale – автоматический подбор масштаба;

6 − Properties – свойства блока;

7 − Print – печать графика переходного процесса.

Окно свойств блока Scope (рис.2.24) содержит две вкладки: General – основные свойства и Data history – сохранение данных.

В первой вкладке находятся настройки:

1) Axes – осей:

· Number of axes – количество осей, при изменении этого параметра изменяется количество одновременно отображаемых графиков (на разных экранах, друг под другом) и соответственно количество входов;

· Time range – пределы временного интервала;

· Tick labels – настройка подписей по осям: bottom axis only – только под нижним графиком, all – под всеми графиками и none – не подписывать;

2) Sampling – установка временных соотношений:

· Decimation – в десятичных долях времени, по умолчанию 1;

· Sample time – в тактах эталонного времени (сэмплах), по умолчанию 0 – непрерывное время.

Рис.2.24. Окно свойств блока Scope, вкладка

Во второй вкладке располагаются настройки хранения данных (рис.2.25):

· Limit data point to last – включение/выключение предела и количества точек на графике (если моделируемая система работает достаточно долго и пропадает часть графика, то рекомендуется перед началом процесса моделирования убрать флажок с данной опции);

· Save data to workspace – сохранять результаты в рабочую область под именем, задаваемым в окне Variable name, и типы данных, задаваемых в окне Format (Structure with time – структура с временем, Structure – структура и Array – массив).

Рис.2.25. Окно свойств блока Scope, вкладка

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

Вместо блока Constant для получения единичного ступенчатого воздействия возможно применение блока Step, но в последнем блоке необходимо изменить значение Step time с 1 на 0.

Подсистема – это фрагмент Simulink -модели, оформленный в виде отдельного блока. Использование подсистем при составлении модели имеет следующие положительные стороны:

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

2. Позволяет создавать и отлаживать фрагменты модели поотдельности, что повышает технологичность создания модели.

3. Позволяет создавать собственные библиотеки.

4. Дает возможность синхронизации параллельно работающих подсистем.

5. Позволяет включать в модель собственные справочные средства.

6. Дает возможность связывать подсистему с каким-либо m -файлом, обеспечивая запуск этого файла при открытии подсистемы (нестандартное открытие подсистемы).

Использование подсистем и механизма их блоков позволяет создавать блоки, не уступающие стандартным по своему оформлению (собственное окно параметров блока, пиктограмма, справка и т. п.).

Количество подсистем в модели не ограничено, кроме того, подсистемы могут включать в себя другие подсистемы. Уровень вложенности подсистем друг в друга также не ограничен.

Связь подсистемы с моделью (или подсистемой верхнего уровня иерархии) выполняется с помощью входных (блок Inport библиотеки Sources ) и выходных (блок Outport библиотеки Sinks ) портов. Добавление в подсистему входного или выходного порта приводит к появлению на изображении подсистемы метки порта, с помощью которой внешние сигналы передаются внутрь подсистемы или выводятся в основную модель. Переименование блоков Inport или Outport позволяет изменить отображаемые на пиктограмме подсистемы со стандартных (In и Out ) на те, которые нужны пользователю.

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

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

Для создания в модели подсистемы можно воспользоваться двумя способами:

1. Скопировать нужную подсистему из библиотеки Subsystem в модель.

2. Выделить с помощью мыши нужный фрагмент модели и выполнить команду Create Subsystem из меню Edit окна модели. Выделенный фрагмент будет помещен в подсистему, а входы и выходы подсистемы будут снабжены соответствующими портами. Данный способ позволяет создать виртуальную неуправляемую подсистему. В дальнейшем, если это необходимо, можно сделать подсистему монолитной, изменив ее параметры, или управляемой, добавив управляющий элемент из нужной подсистемы, находящейся в библиотеке. Отменить группировку блоков в подсистему можно командой Undo .

Рис. 2.68. Модель, использующая подсистему

Для того чтобы создать новый файл существует несколько способов:

Набор программы

При наборе программы следует соблюдать правила орфографии и пунктуации принятые для языка программированияMatLab.

Пример программы построения графика функции.

clearall; % очистка рабочей памяти (Workspace)

X= 0:pi/15:4*pi;% диапазон измененияXот 0 до 4с шагом/15

Y=exp(2*cos(X));% функция

plot(Y);% построение графика функцииY(X)

Сохранение программы.

Методов сохранения программы несколько.

При их использовании нужно помнить следующие:

    При первом сохранении в Окне сохранения необходимо задать имя файлу.

    Если не были настроены тропинки, то по умолчанию Окно сохранения предлагает для сохранения папку..\binв которой расположены служебные файлы.

    Если программа изменена, но не сохранена, то в заголовке к имени файла добавляется символ «*».

Запуск программы

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

Undefinedfunctionorvariable"ххххххххх",

то это означает, что не настроены пути.

Если появляется сообщение типа:

XXXXXXXXXXXXXXX

On line XX ==>,

то это означает, что в строке XXошибка.

Simulink

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

Группируя блоки в подсистемы, вы можете создавать иерархические модели. Число блоков и связей в модели неограниченно. Simulink обладает открытой архитектурой и позволяет обогащать среду моделирования, создавая собственные блоки и библиотеки блоков с доступом из программ на MatLab,Fortranили С.

Запуск Simulink

Для запуска Simulink можно или нажать на панели инструментов кнопку илинабрать в командной строкеSimulink . На экране откроются 2 окна:

Первое окно –untitledявляется рабочим пространствомSimulink– окно, где создается рабочая модель из типовых звеньев:

Второе окно – Library:simulink(библиотекаSimulink) – содержит библиотеку блоковSimulink:

Создание новой модели

Новая модель создается

    При первом открытии Simulink.

    Из меню File Окна библиотек выбрать пунктNew подпунктModel .

2. Создание простой модели

Цель: создание типовой модели, просмотр синусоидального сигнала на осциллографе.

Типовая модель интегрирует синусоидальную волну и отображает результат совместно с самой волной (рис.1).

Напечатайте Simulink в командной строке MatLab или нажмите на панели инструментов кнопку – на экране появится пока ещё пустое окно моделиuntitledи библиотека блоковSimulink(рис.2).

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

В типовой модели используются блоки из следующих библиотек:

    Source library – источники (Sine Wave – блок синусоиды)

    Sinks library – приемники (Scope – блок осциллограф)

    Linear library – линейные элементы (integrator – интегрирующее звено)

    Connections library – библиотека подключений (Mux – блок)

Откройте библиотеку Source (источники) чтобы выбрать синусоиду (SineWave). Для открытия библиотеки просто необходимо два раза щелкнуть мышью на значке этой библиотеки.

Simulink отобразит на экране окно, которое содержит в себе все блоки данной библиотеки.

Например, в библиотеке источников (Sources) все блоки – это источники сигнала (рис.3).

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

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

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

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

После того, как все блоки будут скопированы в окно модели, сама модель должна выглядеть примерно так:

Если вы внимательно рассмотрите значки блоков, то увидите угловую скобку с правой стороны блока синусоиды (Sine Wave) и три таких скобки на левой стороне Mux – блока. Символ > , направленный наружу из блока это выходной порт. Если символ > направлен к блоку, то этовходной порт. Сигнал переходит из выходного порта одного блока во входной порт другого через соединительную линию. Когда блоки соединены, символы портов исчезают:

Вы могли заметить, что Mux–блок имеет три входных порта, тогда как входных сигналов только два. Чтобы изменить количество портов ввода, откройте диалоговое окно Mux – блока путем двойного щелчка на блоке при помощи мыши. Измените Number of inputs (число входов) значение параметра на 2, затем щелкните на кнопкеClose (закрыть). Simulink сразу же отрегулирует количество входных портов:

Теперь настало время соединить блоки. Соединяйте блок синусоиды (Sine Wave) с верхним входным портом блока Mux: расположите указатель мыши на выходном порте с правой стороны блока синусоиды (Sine Wave). Обратите внимание, чтобы форма курсора изменилась на крестик:

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

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

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

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

1. Сначала поместите указатель на линию между синусоидой (Sine Wave) и Mux-блоком.

2. Нажмите и удерживайте так клавишу Ctrl(Control) на клавиатуре. При этом нажмите левую кнопку мыши, затем перетащите ее указатель к входному порту интегрирующего звена (integrator) или на само это звено. (Рис. 13).

3. Отпустите кнопку мыши и кнопку Ctrl. Simulink нарисует линию между начальной точкой и входным портом интегрирующего звена (см. рис.14). Этого же эффекта можно было добиться и другим способом – после шага 1, описанного выше, можно нажать правую кнопку мыши и перетаскивать её указатель ко входному порту интегрирующего звена до тех пор, пока указатель не примет форму двойного крестика, как на рис. 13.

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

5. Точно таким же образом соедините выходной порт Mux-блока с входным портом осциллографа (Scope).

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

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

Осталось установить параметры моделирования (процесса) путём выбора пункта Parameters (параметры) из меню Simulation (моделирование). В появившемся диалоговом окне убедитесь, что Stop time (время остановки) установлено на 10 секунд (величина по умолчанию) – рис.17. Закройте диалоговое окно Simulation parameters (описание остальных параметров моделирования данного окна можно посмотреть в файле «УТС_приложение.doc») с помощью кнопкиClose (закрыть). Simulink применит введенные параметры и закроет диалоговое окно.

Выберите команду Start (Пуск) из менюSimulation (моделирование) и посмотрите на кривые со входа осциллографа. (Рис.18) Моделирование останавливается, когда истечет время, указанное в диалоговом окне Simulation parameters (параметры моделирования), либо когда вы выберете командуStop (стоп) из менюSimulation (моделирование).

Параметры собранной модели можно изменять. Например, зададим другую амплитуду синусоидального сигнала, вырабатываемого блоком SineWaveв нашей собранной модели. Для этого щёлкнем 2 раза мышкой по этому блоку. В появившемся диалоговом окне (см. рис. 17)

зададим новое значение амплитуды Amplitude: 2 (можно к тому же изменить и частотуFrequency, и фазуPhase). После этого жмём кнопкуClose и снова запускаем моделирование командойStart (Пуск) из менюSimulation. Результат смотрим в окнеScope .

Параметры модели можно задавать и в виде вектора. Покажем это на примере интегрирующего звена в нашей модели. Щёлкните 2 раза на значке интегратора, появится диалоговое окно его параметров:

Параметр начального условия (Initial condition ) следует задать так, как показано на рис. выше, т.е. вектором . Если теперь запустить процесс и посмотреть на результат в окнеScope (см. рис.19), то там можно

будет увидеть уже 5 кривых, одна из которых (желтого цвета) является заданным входным синусоидальным сигналом, а остальные 4 кривых – выходные сигналы в соответствии с 4-мя различными заданными нами начальными условиями на интеграторе. В этой простой модели объектом исследования является интегратор (Integrator), задатчиком входного сигнала – генератор синусоиды (SineWave), а выходной координатой – сигнал с интегратора.

Этот файл содержит описание модели. Чтобы завершить работу и Simulink и MatLab, выберите Exit Matlab (выход) из менюFile (файл). Вы также можете напечататьquit (выход) в командном окне MatLab (CommandWindow). Если же вы хотите выйти из программы Simulink, но остаться в MatLab, то просто закройте все окна Simulink. Появится следующее диалоговое окно (рис.21)

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то