Моделирование в simulink. И. В. Черных. "Simulink: Инструмент моделирования динамических систем". Использование команд Undo и Redo

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

𝑄 = 𝑐𝑚 (𝑇 2 − 𝑇 1)

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

𝑄 𝑖 (𝜏 ) =

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

𝑄 0 (t)= -k(T i (t)–T 0 )

𝑄 0 (𝜏 ) = (T i (t)–T 0 )dt

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

𝑄 = 𝑄 𝑖 + 𝑄 𝑜

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Литература

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

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

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

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

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

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

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


1. Общие сведения 5
2. Запуск Simulink 5
3. Обозреватель разделов библиотеки Simulink 6
4. Создание модели 8
5. Окно модели 10
6. Основные приемы подготовки и редактирования модели 11
6.1. Добавление текстовых надписей 11
6.2. Выделение объектов 12
6.3. Копирование и перемещение объектов в буфер промежуточного хранения 12
6.4. Вставка объектов из буфера промежуточного хранения 12
6.5. Удаление объектов 12
6.6. Соединение блоков 13
6.7. Изменение размеров блоков 14
6.8. Перемещение блоков 14
6.9. Использование команд Undo и Redo 14
6.10. Форматирование объектов 14
7. Установка параметров расчета и его выполнение 15
7.1. Установка параметров расчета модели 15
7.1.1. Simulation time (Интервал моделирования или время расчета) 15
7.1.2. Solver options (Параметры расчета) 15
7.1.3. Output options (Параметры вывода) 16
7.2. Установка параметров обмена с рабочей областью 16
7.3. Установка параметров диагностирования модели 18
7.4. Выполнение расчета 19
8. Завершение работы 19
9. Библиотека блоков Simulink 19
9.1. Sources - источники сигналов 19
9.1.1. Источник постоянного сигнала Constant 19
9.1.2. Источник синусоидального сигнала Sine Wave 20
9.1.3. Источник линейно изменяющегося воздействия Ramp 21
9.1.4. Генератор ступенчатого сигнала Step 22
9.1.5. Генератор сигналов Signal Generator 23
9.1.6. Источник случайного сигнала с равномерным распределением Uniform Random Number 23
9.1.7. Источник случайного сигнала с нормальным распределением Random Number 24
9.1.8. Источник импульсного сигнала Pulse Generator 24
9.1.9. Генератор линейно-изменяющейся частоты Chirp Generator 25
9.1.10. Генератор белого шума Band-Limited White Noice 25
9.1.11. Источник временного сигнала Clock 26
9.1.12. Цифровой источник времени Digital Clock 27
9.1.13. Блок считывания данных из файла From File 27
9.1.14. Блок считывания данных из рабочего пространства From Workspace 28
9.1.15. Блок сигнала нулевого уровня Ground 29
9.1.16. Блок периодического сигнала Repeating Sequence 29
9.1.17. Блок входного порта Inport 30
9.2. Sinks - приемники сигналов 31
9.2.1. Осциллограф Scope 31
9.2.2. Осциллограф Floating Scope 36
9.2.3. Графопостроитель ХУ Graph 37
9.2.4. Цифровой дисплей Display 38
9.2.5. Блок остановки моделирования Stop Simulation 39
9.2.6. Блок сохранения данных в файле То File 40
9.2.7. Блок сохранения данных в рабочей области То Workspace 40
9.2.8. Концевой приемник Terminator 41
9.2.9. Блок выходного порта Outport 41
9.3. Continuous – аналоговые блоки 43
9.3.1. Блок вычисления производной Derivative 43
9.3.2. Интегрирующий блок lntegrator 44
9.3.3. Блок Memory 48
9.3.4. Блок фиксированной задержки сигнала Transport Delay 49
9.3.5. Блок управляемой задержки сигнала Variable Transport Delay 50
9.3.6 Блок передаточной функции Transfer Fcn 51
9.3.7. Блок передаточной функции Zero-Pole 53
9.3.8. Блок модели динамического объекта State-Space 54
9.4. Discrete – дискретные блоки 55
9.4.1. Блок единичной дискретной задержки Unit Delay 55
9.4.2. Блок экстраполятора нулевого порядка Zero-Order Hold 56
9.4.3. Блок экстраполятора первого порядка First-Order Hold 57
9.4.4. Блок дискретного интегратора Discrete-Time Integrator 57
9.4.5. Дискретная передаточная функция Discrete Transfer Fсn 59
9.4.6. Блок дискретной передаточной функции Discrete Zero-Pole 60
9.4.7. Блок дискретного фильтра Discrete Filter 61
9.4.8. Блок модели динамического объекта Discrete State-Space 62
9.5. Nonlinear - нелинейные блоки 63
9.5.1. Блок ограничения Saturation 63
9.5.2. Блок с зоной нечувствительности Dead Zone 64
9.5.3. Релейный блок Relay 65
9.5.4. Блок ограничения скорости изменения сигнала Rate Limiter 66
9.5.5. Блок квантования по уровню Quantizer 67
9.5.6. Блок сухого и вязкого трения Coulomb and Viscous Friction 68
9.5.7. Блок люфта Backlash 69
9.5.8. Блок переключателя Switch 70
9.5.9. Блок многовходового переключателя Multiport Switch 71
9.5.10. Блок ручного переключателя Manual Switch 72
9.6. Math – блоки математических операций 73
9.6.1. Блок вычисления модуля Abs 73
9.6.2. Блок вычисления суммы Sum 74
9.6.3. Блок умножения Product 75
9.6.4. Блок определения знака сигнала Sign 76
9.6.5. Усилители Gain и Matrix Gain 77
9.6.6. Ползунковый регулятор Slider Gain 79
9.6.7. Блок скалярного умножения Dot Product 80
9.6.8. Блок вычисления математических функций Math Function 80
9.6.9. Блок вычисления тригонометрических функций Trigonometric Function 82
9.6.10. Блок вычисления действительной и (или) мнимой части комплексного числа Complex to Real-Imag 82
9.6.11. Блок вычисления модуля и (или) аргумена комплексного числа Complex to Magnitude-Angle 83
9.6.12. Блок вычисления комплексного числа по его действительной и мнимой части Real-Imag to Complex 84
9.6.13. Блок вычисления комплексного числа по его модулю и аргументу Magnitude-Angle to Complex 85
9.6.14. Блок определения минимального или максимального значения MinMax 85
9.6.15. Блок округления числового значения Rounding Function 86
9.6.16. Блок вычисления операции отношения Relational Operator 87
9.6.17. Блок логических операций Logical Operation 88
9.6.18. Блок побитовых логических операций Birwise Logical Operator 89
9.6.19. Блок комбинаторной логики Gombinatorical Logic90
9.6.20. Блок алгебраического контура Algebraic Constraint 91
9.7. Signal&Systems - блоки преобразования сигналов и вспомогательные блоки 92
9.7.1. Мультиплексор (смеситель) Mux 92
9.7.2. Демультиплексор (разделитель) Demux 93
9.7.3. Блок шинного формирователя Bus Creator 95
9.7.4. Блок шинного селектора Bus Selector 96
9.7.5. Блок селектора Selector 97
9.7.6. Блок присвоения новых значений элементам массива Assignment 98
9.7.7. Блок объединения сигналов Merge 99
9.7.8. Блок объединения сигналов в матрицу Matrix Concatenation 100
9.7.9. Блок передачи сигнала Goto 101
9.7.10. Блок приема сигнала From 102
9.7.11. Блок признака видимости сигнала Goto Tag Visibility 102
9.7.12. Блок создания общей области памяти Data Store Memory 103
9.7.13. Блок записи данных в общую область памяти Data Store 103
9.7.14. Блок считывания данных из общей области памяти Data Store 103
9.7.15. Блок преобразования типа сигнала Data Type Conversion 104
9.7.16. Блок преобразования размерности сигнала Reshape 105
9.7.17. Блок определения размерности сигнала Width 105
9.7.18. Блок определения момента пересечения порогового значения Hit Crossing 106
9.7.19. Блок установки начального значения сигнала IC 107
9.7.20. Блок проверки сигнала Signal Specification 107
9.7.21. Датчик свойств сигнала Probe 108
9.7.22. Блок, задающий количество итераций Function-Call Generator 109
9.7.23. Информационный блок Model Info 110
9.8. Function & Tables – блоки функций и таблиц 111
9.8.1. Блок задания функции Fcn 111
9.8.2. Блок задания функции MATLAB Fcn 112
9.8.3. Блок задания степенного многочлена Polynomial 113
9.8.4. Блок одномерной таблицы Look-Up Table 113
9.8.5. Блок двумерной таблицы Look-Up Table(2D) 114
9.8.6. Блок многомерной таблицы Look-Up Table (n-D) 115
9.8.7. Блок таблицы с прямым доступом Direct Loop-Up Table (n-D) 116
9.8.8. Блок работы с индексами PreLook-Up Index Search 117
9.8.9. Блок интерполяции табличной функции Interpolation (n-D) using PreLook-Up 118
9.9. Subsystem – подсистемы 119
9.9.1. Виртуальная и монолитная подсистемы Subsystem и Atomic Subsystem 121
9.9.2. Управляемая уровнем сигнала подсистема Enabled Subsystem 121
9.9.3. Управляемая фронтом сигнала подсистема Triggered Subsystem 123
9.9.4. Управляемая уровнем и фронтом сигнала подсистема Enabled and Triggered Subsystem 124
9.9.5. Управляемая S-функцией подсистема Function-call subsystem 125
9.9.6. Блок условного оператора If 125
9.9.7. Блок переключателя Switch Case 126
9.9.8. Управляемая по условию подсистема Action Subsystem 127
9.9.9. Управляемая подсистема For Iterator Subsystem 127
9.9.10. Управляемая подсистема While Iterator Subsystem 129
9.9.11. Конфигурируемая подсистема Configurable Subsystem 130
9.10. Маскирование подсистем 131
9.10.1. Общие сведения 131
9.10.2. Создание окна параметров 132
9.10.3. Создание пиктограммы подсистемы 136
9.10.3.1. Команды вывода текста 137
9.10.3.2. Команды построения графиков 138
9.10.3.3. Команды отображения передаточных функций 139
9.10.3.4. Команды отображения рисунка из графического файла 139
9.10.3.5. Использование редактора пиктограмм iconedit 140
9.10.3.6. Создание автоматически обновляемых пиктограмм 141
9.10.4. Создание справки маскированной подсистемы 142
9.10.5. Создание динамически обновляемых окон диалога 144
9.10.6. Управление портами маскированной подсистемы 146
10. Редактор дифференциальных уравнений DEE 150
11. Использование Simulink LTI-Viewer для анализа динамических систем 153
11.1. Работа с Simulink LTI-Viewer 153
11.2. Настройка с Simulink LTI-Viewer 156
11.3. Экспорт модели 159
12. Основные команды MATLAB для управления Simulink-моделью 160
12.1. add_block 160
12.2. add_line 161
12.3. add_param 161
12.4. bdclose 161
12.5. bdroot 162
12.6. close_system 162
12.7. delete_block 162
12.8. delete_line 163
12.9. delete_param 163
12.10. gcb 163
12.11. gcs 163
12.12. find_system 164
12.13. get_param 166
12.14. new_system 167
12.15. open_system 167
12.16. replace_block 167
12.17. save_system 168
12.18. set_param 168
12.19. simulink 169
13. Отладчик Simulink моделей 169
13.1. Графический интерфейс отладчика Simulink моделей 169
13.1.1. Панель инструментов 170
13.1.2. Список контрольных точек Break/Display points 171
13.1.3. Панель задания точек прерывания по условию Break on conditions 171
13.1.4. Главное окно отладчика 173
14. Повышение скорости и точности расчетов 177
14.1. Повышение скорости расчета 178
14.2. Повышение точности расчета 179
15. Обзор набора инструментов Simulink Performance Tools 179
15.1. Simulink Accelerator 180
15.2. Simulink Model Profiling 180
15.3. Simulink Model Coverage 181
15.4. Simulink Model Differencing 182
16. Simulink-функции 183
16.1. Блок S-function 184
16.2. Математическое описание S-функции 184
16.3. Этапы моделирования 185
16.4. Callback-методы S-функции 185
16.5. Основные понятия S-функции 186
16.6. Создание S-функций на языке MATLAB 187
16.7. Примеры S-функций языке MATLAB 193
16.7.1. Простейшая S-функция 193
16.7.2. Модель непрерывной системы 195
16.7.3. Модель дискретнойной системы 198
16.7.4. Модель гибридной системы 202
16.7.5. Модель дискретной системы с переменным шагом расчета????
16.7.6. Непрерывная модель электродвигателя постоянного тока независимого возбуждения 206
16.7.6.1. Математическое описание ДПТ НВ 206
16.7.6.2. Пример S-функции для ДПТ НВ 208
16.8. Создание S-функций на языке C с помощью S-Function Builder 212
16.9. Модернизация S-функций, созданных с помощью S-Function Builder 221
16.10. Создание S-функций на языке Fortran 239
Приложение 1. Система меню обозревателя библиотек программы Simulink 244
Приложение 2. Система меню окна модели 245

1. Общие сведения

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

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

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

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

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

^ 2. Запуск Simulink

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

Рис 2.1. Основное окно программы MATLAB

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

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

Рис 2.2. Окно обозревателя разделов библиотеки Simulink

И.В.Черных. "Simulink: Инструмент моделирования динамических систем"

9. Библиотека блоков Simulink

Блок Abs может использоваться также для вычисления модуля сигнала комплексного типа. На рис. 9.6.2 показан пример вычисления модуля комплексного сигнала вида:

Модуль этого сигнала (как и следовало ожидать) равен 1 для любого момента времени.

Рис. 9.6.2. Пример использования блока Abs для вычисления модуля комплексного сигнала

При выполнении матричных операций необходимо соблюдать правила их выполнения. Например, при умножении двух матриц необходимо, чтобы количество строк первой матрицы равнялось количеству столбцов второй матрицы. Примеры использования блока Product при выполнении матричных операций показаны на рис. 9.6.5. В примере показаны операции формирования обратной матрицы, деление матриц, а также умножение матриц.

Рис. 9.6.5. Примеры использования блока Product при выполнении матричных операций

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

Примеры использования блока Matrix Gain при выполнении матричных операций показаны на рис. 9.6.8.

Рис. 9.6.8. Примеры использования блока Matrix Gain

Блок Algebraic Constraint может использоваться также и для решения нелинейных матричных уравнений. На рис. 9.6.24 показан пример решения нелинейного матричного уравнения вида:

.

Цель работы:

Ознакомиться с системой математического моделирования MATLAB/Simulink.

Краткие сведения о пакете

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

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

Порядок работы с пакетом Simulink следующий:

    На рабочем столе открываем пиктограмму MATLAB.

    В открывшемся командном окне на панели инструментов нажимаем кнопку Simulink.

    Открывается Simulink. Кроме рабочего окна с общим именем Untitled (“Безымянный”) открывается окно библиотеки Simulink с разделами:

    Sourses – источники;

    Sinks – приемники;

    Discrete – дискретные;

    Linear – линейные;

    Nonlinear – нелинейные

    Connections – связи;

Разработано совместно с асс. Радченко В.П.

Порядок выполнения работы:

В качестве примера рассмотрим демонстративный пример. Для этого:

    Нажимаем кнопку Demos в меню Help .

    В левом окошке выбираем пункт Simulink .

    Двойным щелчком выбираем пункт Simple models (в версии 6.1 и выше пункт General ).

    В правом окне выбираем модель Spring - mass system simulation .

    Запускаем ее командой Run или двойным щелчком.

Рисунок 1.1 - Окно Демонстрации “Spring–mass system simulation”

Данная модель реализует колебательную механическую систему с одной степенью свободы. Физическим аналогом модели является переменное по направлению движение, закрепленной пружиной к “прыгающей” заделке (слева) массы по гладкой поверхности с трением. Внешняя сила приложена к заделке. Модель реализует дифференциальное уравнение, описывающее движение кубика. В MATLAB в передаточных функциях вместо p – оператора Лапласа пишется s .

Рассмотрим блоки (слева направо):

Input – генератор, x 1 – звено первого порядка, сумматор, усилитель, – интегратор,Mux - смеситель (позволяет вывести более одного сигнала на Scope ), Scope ( Actual position ) – осциллограф, Animation function - блок анимации.

Запуск моделирования осуществляется кнопкой .

На экране – анимационная картинка, представленная на рис. 1.2:

Рисунок 1.2 - Движение груза на пружине

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

Остановить моделирование с помощью значка и закрыть окна демонстрации.

Рисунок 1.3 - Графики, характеризующие работу системы

Ход работы:

    На экране – открыть окно библиотеки и рабочее окно Simulink.

    В окне библиотеки двойным щелчком раскрывается каждый из разделов. В разделе библиотеки Sour с es (Источники) выбираем генератор Signal Generator , перетаскиваем его в рабочее окно и закрываем окно Sour с es .

    В разделе Sinks (Приемники) выбираем осциллограф Scope , перетаскиваем в рабочее окно и закрываем окно Sinks .

    В разделе Linear (Линейные блоки) или Math (для версии 6.1 и выше) выбираем блок усилитель Gain с регулируемым коэффициентом усиления (КУ) и сумматор – Sum , а также интегратор Integretor (в версии 6.1 и выше данный блок находится в разделе Continuous ). Все блоки последовательно перетаскиваем в рабочее окно и закрываем окно Linear (Math ).

    В разделе Connections (Связи) или Signals & Systems (для версии 6.1 и выше) выбираем смеситель Mux и перетаскиваем в рабочее окно.

    В рабочем окне приступаем к соединению блоков. Схема модели должна иметь вид:

Рисунок 1.4 - Схема модели лабораторной работы

Копирование блока осуществляется путем перетаскивания с нажатой клавишей Ctrl. Поворот блока осуществляется путем выделения блока и нажатием комбинации клавиш Сtrl+F.

    Перейдем к настройке системы. Открытие окна настройки блока осуществляется путем двойного щелчка. В блоке Signal Generator рассмотрим доступные нам сигналы. Выбираем Squre – частоту в Гц – 0.02. Смотрим, как система отреагирует на скачкообразное возмущение. Система не является колебательной.

    Уменьшим КУ по внутреннему контуру (Gain ). КУ Gain = 0.1, т.е. уменьшим демпфирующую силу в 10 раз. Моделируем. Имеем колебательную систему. Теперь нужно поменять собственную частоту, которую определяет нижний КУ Gain 1 . Увеличим его в 10 раз. Видим, что увеличилась частота и уменьшилась амплитуда колебаний.

    В Signal Generator увеличим амплитуду в 5 раз. На внутреннем Gain вместо 0.1 сделаем 0.3 – увеличим коэффициент демпфирования.

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

    Ознакомиться с демонстрационными примерами Tracking a bouncing boll , Simple pendulum simulation , Toilet bowl flushing animation и описать один из них по указанию преподавателя:

Назначение системы;

Состав модели;

Особенности движения системы.


"Simulink: Инструмент моделирования динамических систем"

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

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

Программные средства моделирования динамических систем известны давно, к ним относятся, например, программы Tutsim и LabVIEW for Industrial Automation. Однако для эффективного применения таких средств необходимы высокоскоростные решающие устройства. Интеграция системы MATLAB с пакетом Simulink открывает новые возможности использования самых современных математических методов для решения задач динамического и ситуационного моделирования сложных систем и устройств.

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

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

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

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

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

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

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

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

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

Рис 4.2. Окно модели, содержащее блоки

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

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

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

Рис 4.3. Блок, моделирующий передаточную функцию и окно редактирования параметров блока

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

Рис 4.4. Схема модели

4.5. После составления расчетной схемы необходимо сохранить ее в виде файла на диске, выбрав пункт меню File/Save As... в окне схемы и указав папку и имя файла. Следует иметь в виду, что имя файла не должно превышать 32 символов, должно начинаться с буквы и не может содержать символы кириллицы и спецсимволы. Это же требование относится и к пути файла (к тем папкам, в которых сохраняется файл). При последующем редактировании схемы можно пользоваться пунктом меню Fille/Save . При повторных запусках программы SIMULINK загрузка схемы осуществляется с помощью меню File/Open... в окне обозревателя библиотеки или из основного окна MATLAB.

5. Окно модели

Окно модели содержит следующие элементы (см. рис. 4.4 ):


  1. Заголовок, с названием окна. Вновь созданному окну присваивается имя Untitled с соответствующим номером.

  2. Меню с командами File , Edit , View и т.д.

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

  4. Окно для создания схемы модели.

  5. Строка состояния, содержащая информацию о текущем состоянии модели.
Меню окна содержит команды для редактирования модели, ее настройки и управления процессом расчета, работы файлами и т.п.:

  • File (Файл) - Работа с файлами моделей.

  • Edit (Редактирование) - Изменение модели и поиск блоков.

  • View (Вид) - Управление показом элементов интерфейса.

  • Simulation (Моделирование) - Задание настроек для моделирования и управление процессом расчета.

  • Format (Форматирование) - Изменение внешнего вида блоков и модели в целом.

  • Tools (Инструментальные средства) - Применение специальных средств для работы с моделью (отладчик, линейный анализ и т.п.)

  • Help (Справка) - Вывод окон справочной системы.
Полный список команд меню окна модели приведен в Приложении 2.

Для работы с моделью можно также использовать кнопки на панели инструментов (Рис.5.1).

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

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

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


  • масштаб отображения блок-диаграммы (в процентах, исходное значение равно 100%),

  • индикатор степени завершенности сеанса моделирования (появляется после запуска модели),

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

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

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

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

Pис 6.1. Текстовая надпись и изменение надписи в Transfer Function

6.2. Выделение объектов

Для выполнения какого-либо действия с элементом модели (блоком, соединительной линией, надписью) этот элемент необходимо сначала выделить.

Выделение объектов проще всего осуществляется мышью. Для этого необходимо установить курсор мыши на нужном объекте и щелкнуть левой клавишей мыши. Произойдет выделение объекта. Об этом будут свидетельствовать маркеры по углам объекта (см. рис. 6.1). Можно также выделить несколько объектов. Для этого надо установить курсор мыши вблизи группы объектов, нажать левую клавишу мыши и, не отпуская ее, начать перемещать мышь. Появится пунктирная рамка, размеры которой будут изменяться при перемещении мыши. Все охваченные рамкой объекты становятся выделенными. Выделить все объекты также можно, используя команду Edit/Select All . После выделения объекта его можно копировать или перемещать в буфер промежуточного хранения, извлекать из буфера, а также удалять, используя стандартные приемы работы в Windows -программах.

6.3. Копирование и перемещение объектов в буфер промежуточного хранения

Для копирования объекта в буфер его необходимо предварительно выделить, а затем выполнить команду Edit/Copy

Для вырезания объекта в буфер его необходимо предварительно выделить, а затем выполнить команду Edit/Cut или воспользоваться инструментом на панели инструментов. При выполнении данных операций следует иметь в виду, что объекты помещаются в собственный буфер MATLAB и недоступны из других приложений. Использование команды Edit/Copy model to Clipboard позволяет поместить графическое изображение модели в буфер Windows и, соответственно, делает его доступным для остальных программ.

Копирование можно выполнить и таким образом: нажать праву ю клавишу мыши, и не отпуская ее, переместить объект. При этом будет создана копия объекта, которую можно переместить в необходимое место.

6.4. Вставка объектов из буфера промежуточного хранения

Для вставки объекта из буфера необходимо предварительно указать место вставки, щелкнув левой клавишей мыши в предполагаемом месте вставки, а затем выполнить команду Edit/Paste или воспользоваться инструментом на панели инструментов.

6.5. Удаление объектов

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

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

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

Рис 6.2. Начало создания соединения

Создание петли линии соединения выполняется также как перемещение блока. Линия соединения выделяется, и затем нужная часть линии перемещается. Рисунок 6.4 поясняет этот процесс.

Рис 6.4. Создание петли в соединительной линии

Удаление соединений выполняется также как и любых других объектов (см. п. 6.5 ).

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

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

Рис. 6.5. Изменение размера блока

6.8. Перемещение блоков

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

6.9. Использование команд Undo и Redo

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

6.10. Форматирования объектов

В меню Format (также как и в контекстном меню, вызываемом нажатием правой клавиши мыши на объекте) находится набор команд форматирования блоков. Команды форматирования разделяются на несколько групп:

1. Изменение отображения надписей: