Описание пакета Simulink. распределением Random Number. Задание на выполнение работы

1. Общие сведения
2. Запуск Simulink

4. Создание модели
5. Окно модели
6. Основные приемы подготовки и редактирования модели
6.1. Добавление текстовых надписей
6.2. Выделение объектов
6.3. Копирование и перемещение объектов в буфер промежуточного хранения
6.4. Вставка объектов из буфера промежуточного хранения
6.5. Удаление объектов
6.6. Соединение блоков
6.7. Изменение размеров блоков
6.8. Перемещение блоков
6.9. Использование команд Undo и Redo
6.10. Форматирование объектов
7. Установка параметров расчета и его выполнение
7.1. Установка параметров расчета модели
7.1.1. Simulation time (Интервал моделирования или время расчета)
7.1.2. Solver options (Параметры расчета)
7.1.3. Output options (Параметры вывода)
7.2. Установка параметров обмена с рабочей областью
7.3. Установка параметров диагностирования модели
7.4. Выполнение расчета
8. Завершение работы
9. Библиотека блоков Simulink
9.1. Sources - источники сигналов
9.1.1. Источник постоянного сигнала Constant
9.1.2. Источник синусоидального сигнала Sine Wave
9.1.3. Источник линейно изменяющегося воздействия Ramp
9.1.4. Генератор ступенчатого сигнала Step
9.1.5. Генератор сигналов Signal Generator
9.1.6. Источник случайного сигнала с равномерным распределением Uniform Random Number
9.1.7. Источник случайного сигнала с нормальным распределением Random Number
9.1.8. Источник импульсного сигнала Pulse Generator
9.1.9. Генератор линейно-изменяющейся частоты Chirp Generator
9.1.10. Генератор белого шума Band-Limited White Noice
9.1.11. Источник временного сигнала Clock
9.1.12. Цифровой источник времени Digital Clock
9.1.13. Блок считывания данных из файла From File
9.1.14. Блок считывания данных из рабочего пространства From Workspace
9.1.15. Блок сигнала нулевого уровня Ground
9.1.16. Блок периодического сигнала Repeating Sequence
9.1.17. Блок входного порта Inport
9.2. Sinks - приемники сигналов
9.2.1. Осциллограф Scope
9.2.2. Осциллограф Floating Scope
9.2.3. Графопостроитель ХУ Graph
9.2.4. Цифровой дисплей Display
9.2.5. Блок остановки моделирования Stop Simulation
9.2.6. Блок сохранения данных в файле То File
9.2.7. Блок сохранения данных в рабочей области То Workspace
9.2.8. Концевой приемник Terminator
9.2.9. Блок выходного порта Outport
9.3. Continuous – аналоговые блоки
9.3.1. Блок вычисления производной Derivative
9.3.2. Интегрирующий блок lntegrator
9.3.3. Блок Memory
9.3.4. Блок фиксированной задержки сигнала Transport Delay
9.3.5. Блок управляемой задержки сигнала Variable Transport Delay
9.3.6 Блок передаточной функции Transfer Fcn
9.3.7. Блок передаточной функции Zero-Pole
9.3.8. Блок модели динамического объекта State-Space
9.4. Discrete – дискретные блоки
9.4.1. Блок единичной дискретной задержки Unit Delay
9.4.2. Блок экстраполятора нулевого порядка Zero-Order Hold
9.4.3. Блок экстраполятора первого порядка First-Order Hold
9.4.4. Блок дискретного интегратора Discrete-Time Integrator
9.4.5. Дискретная передаточная функция Discrete Transfer Fсn
9.4.6. Блок дискретной передаточной функции Discrete Zero-Pole
9.4.7. Блок дискретного фильтра Discrete Filter
9.4.8. Блок модели динамического объекта Discrete State-Space
9.5. Nonlinear - нелинейные блоки
9.5.1. Блок ограничения Saturation
9.5.2. Блок с зоной нечувствительности Dead Zone
9.5.3. Релейный блок Relay
9.5.4. Блок ограничения скорости изменения сигнала Rate Limiter
9.5.5. Блок квантования по уровню Quantizer
9.5.6. Блок сухого и вязкого трения Coulomb and Viscous Friction
9.5.7. Блок люфта Backlash
9.5.8. Блок переключателя Switch
9.5.9. Блок многовходового переключателя Multiport Switch
9.5.10. Блок ручного переключателя Manual Switch
9.6. Math – блоки математических операций
9.6.1. Блок вычисления модуля Abs
9.6.2. Блок вычисления суммы Sum
9.6.3. Блок умножения Product
9.6.4. Блок определения знака сигнала Sign
9.6.5. Усилители Gain и Matrix Gain
9.6.6. Ползунковый регулятор Slider Gain
9.6.7. Блок скалярного умножения Dot Product
9.6.8. Блок вычисления математических функций Math Function
9.6.9. Блок вычисления тригонометрических функций Trigonometric Function
9.6.10. Блок вычисления действительной и (или) мнимой части комплексного числа Complex to Real-Imag
9.6.11. Блок вычисления модуля и (или) аргумена комплексного числа Complex to Magnitude-Angle
9.6.12. Блок вычисления комплексного числа по его действительной и мнимой части Real-Imag to Complex
9.6.13. Блок вычисления комплексного числа по его модулю и аргументу Magnitude-Angle to Complex
9.6.14. Блок определения минимального или максимального значения MinMax
9.6.15. Блок округления числового значения Rounding Function
9.6.16. Блок вычисления операции отношения Relational Operator
9.6.17. Блок логических операций Logical Operation
9.6.18. Блок побитовых логических операций Birwise Logical Operator
9.6.19. Блок комбинаторной логики Gombinatorical Logic
9.6.20. Блок алгебраического контура Algebraic Constraint
9.7. Signal&Systems - блоки преобразования сигналов и вспомогательные блоки
9.7.1. Мультиплексор (смеситель) Mux
9.7.2. Демультиплексор (разделитель) Demux
9.7.3. Блок шинного формирователя Bus Creator
9.7.4. Блок шинного селектора Bus Selector
9.7.5. Блок селектора Selector
9.7.6. Блок присвоения новых значений элементам массива Assignment
9.7.7. Блок объединения сигналов Merge
9.7.8. Блок объединения сигналов в матрицу Matrix Concatenation
9.7.9. Блок передачи сигнала Goto
9.7.10. Блок приема сигнала From
9.7.11. Блок признака видимости сигнала Goto Tag Visibility
9.7.12. Блок создания общей области памяти Data Store Memory
9.7.13. Блок записи данных в общую область памяти Data Store
9.7.14. Блок считывания данных из общей области памяти Data Store
9.7.15. Блок преобразования типа сигнала Data Type Conversion
9.7.16. Блок преобразования размерности сигнала Reshape
9.7.17. Блок определения размерности сигнала Width
9.7.18. Блок определения момента пересечения порогового значения Hit Crossing
9.7.19. Блок установки начального значения сигнала IC
9.7.20. Блок проверки сигнала Signal Specification
9.7.21. Датчик свойств сигнала Probe
9.7.22. Блок, задающий количество итераций Function-Call Generator
9.7.23. Информационный блок Model Info
9.8. Function & Tables – блоки функций и таблиц
9.8.1. Блок задания функции Fcn
9.8.2. Блок задания функции MATLAB Fcn
9.8.3. Блок задания степенного многочлена Polynomial
9.8.4. Блок одномерной таблицы Look-Up Table
9.8.5. Блок двумерной таблицы Look-Up Table(2D)
9.8.6. Блок многомерной таблицы Look-Up Table (n-D)
9.8.7. Блок таблицы с прямым доступом Direct Loop-Up Table (n-D)
9.8.8. Блок работы с индексами PreLook-Up Index Search
9.8.9. Блок интерполяции табличной функции Interpolation (n-D) using PreLook-Up
9.9. Subsystem - подсистемы
9.9.1. Виртуальная и монолитная подсистемы Subsystem и Atomic Subsystem
9.9.2. Управляемая уровнем сигнала подсистема Enabled Subsystem
9.9.3. Управляемая фронтом сигнала подсистема Triggered Subsystem
9.9.4. Управляемая уровнем и фронтом сигнала подсистема Enabled and Triggered Subsystem
9.9.5. Управляемая S-функцией подсистема Function-call subsystem
9.9.6. Блок условного оператора If
9.9.7. Блок переключателя Switch Case
9.9.8. Управляемая по условию подсистема Action Subsystem
9.9.9. Управляемая подсистема For Iterator Subsystem
9.9.10. Управляемая подсистема While Iterator Subsystem
9.9.11. Конфигурируемая подсистема Configurable Subsystem
9.10. Маскирование подсистем
9.10.1. Общие сведения
9.10.2. Создание окна параметров
9.10.3. Создание пиктограммы подсистемы
9.10.3.1. Команды вывода текста
9.10.3.2. Команды построения графиков
9.10.3.3. Команды отображения передаточных функций
9.10.3.4. Команды отображения рисунка из графического файла
9.10.3.5. Использование редактора пиктограмм iconedit
9.10.3.6. Создание автоматически обновляемых пиктограмм
9.10.4. Создание справки маскированной подсистемы
9.10.5. Создание динамически обновляемых окон диалога
9.10.6. Управление портами маскированной подсистемы
10. Редактор дифференциальных уравнений DEE
11. Использование Simulink LTI-Viewer для анализа динамических систем
11.1. Работа с Simulink LTI-Viewer
11.2. Настройка с Simulink LTI-Viewer
11.3. Экспорт модели
12. Основные команды MATLAB для управления Simulink-моделью
12.1. add_block
12.2. add_line
12.3. add_param
12.4. bdclose
12.5. bdroot
12.6. close_system
12.7. delete_block
12.8. delete_line
12.9. delete_param
12.10. gcb
12.11. gcs
12.12. find_system
12.13. get_param
12.14. new_system
12.15. open_system
12.16. replace_block
12.17. save_system
12.18. set_param
12.19. simulink
13. Отладчик Simulink моделей
13.1. Графический интерфейс отладчика Simulink моделей
13.1.1. Панель инструментов
13.1.2. Список контрольных точек Break/Display points
13.1.3. Панель задания точек прерывания по условию Break on conditions
13.1.4. Главное окно отладчика
14. Повышение скорости и точности расчетов
14.1. Повышение скорости расчета
14.2. Повышение точности расчета
15. Обзор набора инструментов Simulink Performance Tools
15.1. Simulink Accelerator
15.2. Simulink Model Profiling
15.3. Simulink Model Coverage
15.4. Simulink Model Differencing
16. Simulink-функции
16.1. Блок S-function
16.2. Математическое описание S-функции
16.3. Этапы моделирования
16.4. Callback-методы S-функции
16.5. Основные понятия S-функции
16.6. Создание S-функций на языке MATLAB
16.7. Примеры S-функций языке MATLAB
16.7.1. Простейшая S-функция
16.7.2. Модель непрерывной системы
16.7.3. Модель дискретнойной системы
16.7.4. Модель гибридной системы
16.7.5. Модель дискретной системы с переменным шагом расчета
16.7.6. Непрерывная модель электродвигателя постоянного тока независимого возбуждения
16.7.6.1. Математическое описание ДПТ НВ
16.7.6.2. Пример S-функции для ДПТ НВ
16.8. Создание S-функций на языке C с помощью S-Function Builder
16.9. Модернизация S-функций, созданных с помощью S-Function Builder
16.10. Создание S-функций на языке Fortran
Приложение 1. Система меню обозревателя библиотек программы Simulink
Приложение 2. Система меню окна модели

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

3. Обозреватель разделов библиотеки Simulink

Окно обозревателя библиотеки блоков содержит следующие элементы (Рис. 2.2 ):


  1. Заголовок, с названием окна – Simulink Library Browser .

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

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

  4. Окно комментария для вывода поясняющего сообщения о выбранном блоке.

  5. Список разделов библиотеки, реализованный в виде дерева.

  6. Окно содержимого раздела библиотеки (список вложенных разделов библиотеки или блоков)

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

Библиотека Simulink содержит следующие основные разделы:

В системе Simulink по умолчанию установлен способ доступа к блокам с помощью окна Simulink Library Browser (Браузер главной библиотеки Simulink). Браузер главной библиотеки вызывается выбором команды Show Library Browser меню View окна модели. На рис 1.5 показана главная библиотека блоков Simulink.

Рис.1.5. Библиотека блоков Simulink

Блоки из библиотеки Sources (Источники сигналов)

Блоки из библиотеки блоков Sources (Источники сигналов) не содержат входных портов и имеют один выходной порт. Описание блоков из данной библиотеки блоков можно получить из справочной системы. Рассмотрим наиболее распространенные источники типовых сигналов: блок Step (Ступенчатый сигнал) и блок Sin Wave (Генератор синусоиды).

Блок Step - блок Sin Wave

Блок Step (Ступенчатый сигнал) реализует ступенчатую функцию. Параметрами блока являются время, когда подается ступенчатый сигнал, величина амплитуды в начальный момент времени и амплитуда ступенчатого сигнала.

Для блока Sine Wave (Генератор синусоиды) в качестве параметров задается амплитуда, фаза и частота гармонического сигнала.

Для формирования сигналов сложной формы можно использовать линейное преобразование выходных переменных блоков из библиотеки Sources.

Блоки из библиотеки Continuous (Элементы непрерывных систем)

Библиотека блоков Continuous включает блоки, которые описывают модели непрерывных систем. Рассмотрим наиболее распространенные блоки: блок Integrator (Интегратор) и блок Transfer Fcn (Передаточная функция).

Блок Integrator - блок Transfer Fcn

Блок Integrator (Интегратор) вычисляет значение интеграла. Может конфигурироваться как элемент интегратор со сбросом. Для задания начальных условий следует ввести значение в текстовое поле Initial condition (Начальные условия), которое по умолчанию задается равным 0.

Блок Transfer Fcn (Передаточная функция) формирует модель в виде передаточной функции, представленной в форме дробно-рациональной функции (отношение двух многочленов). Многочлены задаются коэффициентами в порядке убывания степеней переменной s. Диалоговое окно блока включает два текстовых поля: Numerator (Числитель) и Denominator (Знаменатель).

Блоки из библиотеки Discrete (Элементы дискретных систем)

Библиотека блоков Discrete включает блоки, которые описывают модели дискретных систем. Рассмотрим наиболее распространенные блоки: блок Discrete Transfer Fcn (Дискретная передаточная функция) и блок Unit Delay (Задержка).

- блок Discrete Transfer Fcn - Unit Delay

Блок Discrete Transfer Fcn (Дискретная передаточная функция) формирует модель в виде передаточной функции дискретной системы, представленной в форме дробно-рациональной функции (отношение двух многочленов). Многочлены задаются коэффициентами в порядке убывания степеней переменной z.

Блок Unit Delay (Задержка) вычисляет выходную переменную, которая принимает значение входной переменной в предыдущий момент квантования.

Блоки из библиотеки Math Operations (Математические функции)

Рассмотрим наиболее распространенные блоки: блок Gain (Коэффициент усиления) и блок Sum (Сумматор).

Блок Gaun - блок Sum

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

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

Блоки из библиотеки Sinks (Средства регистрации)

Блоки из библиотеки блоков Sinks (Средства регистрации) служат для визуализации и сохранения результатов моделирования. Остановимся более подробно на двух блоках: блок Scope (Осциллограф) и блок XY Graph (Построение графика.

1) Блок Scope (Осциллограф) .

Блок Scope

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

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

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

На рис 1.6 показано диалоговое окно блока Scope, в верхней части которого расположена панель инструментов.

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

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

Данное диалоговое окно появляется при выборе пиктограммы Parameters панели инструментов окна Scope и имеет две вкладки. Вкладка General (Основная) (рис. 1.7) в группе опций Axes (Оси) имеет несколько полей. В текстовом поле Number of axes (Число осей) задается число графиков, формируемых в окне блока Scope, и число входных портов блока Scope. Для каждого входного порта строится соответствующий график. Например, если в текстовом поле Number of axes вводится значение 2, то изображение окна блока Scope примет вид, показанный на рис. 1.9. Установка флажка floating scope (Плавающий осциллограф) обеспечивает преобразование блока Scope в блок Floating Scope (Плавающий осциллограф), который позволяет графически представлять изменение переменных путем выбора линий связи в структурной схеме в процессе моделирования. Если в текстовом поле Time range (Промежуток времени) вводится значение auto, то границы на оси устанавливаются от нуля до значения конечного времени моделирования. Если в поле вводится некоторое положительное значение, то начальной точкой на оси абсцисс будет точка t=0, а предельное значение равно введенному.

Рис. 1.7. Вкладка General диалогового окна ‘Scope’ parameters

Рис. 1.8. Вкладка Data history диалогового окна ‘Scope’ parameters

Рис. 1.9. Окно блока Scope с двумя системами осей

Раскрывающийся список Tick labels включает следующие пункты: all - для обозначения обеих осей графика, попе - для отрисовки графика без обозначений и чисел на делениях, bottom axis only-- для вывода обозначения оси абсцисс.

Группа опций Sampling вкладки General включает раскрывающийся список из двух пунктов: Decimation (Прореживание) и Sample time (Период квантования). При выборе пункта Decimation в текстовом поле задается коэффициент прореживания, который является целым числом: если значение равно 1 (устанавливается по умолчанию), то на графике будет отображаться каждое значение входной переменной, если значение равно 2, то на график выводится каждая вторая точка и т. д. В случае выбора пункта Sample time в текстовом поле вводится значение времени квантования, определяющее моменты времени квантования по оси абсцисс.

Блок Scope позволяет сохранять массив или структуру входных данных в буфере памяти. Размер буфера оперативной памяти может быть задан на вкладке Data history (рис.1.8)установкой флажка limit data points to last и вводом значения максимальной размерности входного вектора в текстовое поле (по умолчанию задается 5000 точек). Данный буфер использует функции установки границ по осям, управления масштабом графика и хранения данных в рабочей области.

Допустим, что в поле Limits data point to last устанавливается значение 1000, однако, в процессе моделирования сформирован массив, содержащий 2000 точек, в этом случае только последние 1000 точек будут доступны в рабочей области после завершения моделирования.

Процедура получения твердой копии графика, построенного с помощью пиктограммы Print панели инструментов диалогового окна блока Scope, не обеспечивает выбора способов и задания параметров размещения твердой копии изображения модели на странице. Однако, если массивы выходных данных хранятся в рабочей области системы MATLAB, функции и команды системы MATLAB позволяют посылать данные для печати на принтер и сохранять их в файле. Для того чтобы разместить массив данных в рабочей области, необходимо установить флажок Save data to workspace и в текстовом поле Variable name задать имя переменной, которая создается в рабочей области системы MATLAB. Данной переменной присваивается значение массива данных, который формируется после завершения моделирования. В раскрывающемся списке Format представлен набор типов данных. В случае выбора пункта Array числовой массив данных формируется следующим образом: в первом столбце содержатся значения моментов времени моделирования, в следующих столбцах записываются значения компонентов вектора входной переменной блока Scope. Если вектор входной переменной блока включает два компонента, в рабочей области системы MATLAB будет размещаться двухмерный массив, содержащий три столбца, число строк которого равно числу значений моментов времени моделирования. В случае выбора позиций Structure создается массив записей, при этом содержимое поля time является пустым массивом. Для формирования массива записей, включающего вектор значений моментов времени, следует выбрать опцию Structure with time. Если массив данных моделирования хранится в рабочей области системы MATLAB, то для создания твердой копии и размещения ее на странице можно использовать команду simplot системы Simulink.

Задание границ осуществляется нажатием правой клавиши мыши в графической области окна блока. При выборе команды Axis properties появляется диалоговое окно "Scope" properties: axis, которое содержит текстовые поля для ввода границ по оси ординат и заголовка графика. По умолчанию задается строка %, показывающая, что заголовком графика является обозначение входной переменной блока, если в текстовом поле Title (" %" replaced by signal name): не введена строка с другим заголовком.

2) Блок XY Graph (Построение графика)

Блок XY Graph

Данный блок позволяет строить график функции и его действия схожи с теми, которые выполняет команда plot системы MATLAB. Блок XY Graph имеет два входных порта. Верхний входной порт служит для задания значений аргумента, нижний входной порт – для задания значений функции.

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

Задание параметров моделирования

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

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

Методы численного решения задачи Коши для обыкновенных дифференциальных уравнений (ОДУ) реализуются в специальном решателе ОДУ. Диалоговое окно Simulation Parameters вызывается при выборе команды Simulation parameters меню Simulation окна модели (рис. 1.10). Данное окно включает пять вкладок: Solver (Решатель), Workspace I/O (Импорт и экспорт данных рабочей области), Diagnostics (Диагностика), Advanced (Экспертные настройки) и Real-Time Workshop (Мастерская реального времени). Вкладка Solver (рис. 1.10) используется для выбора функции интегрирования, установки значений ее параметров и опций. На вкладке Workspace I/O задаются параметры загрузки переменных из рабочей области и размещения массивов данных в рабочей области системы MATLAB.

Рис. 1.10. Диалоговое окно Simulation Parameters

Вкладка Diagnostics используется для задания значений опций диагностики. Вкладка Advanced позволяет устанавливать значения опций для оптимизации процесса интегрирования. Вкладка Real-Time Workshop не рассматривается. Более подробное описание диалогового окна Simulation Parameters дается в Приложении 1.

Моделирование

Параметры и опции моделирования задаются как с помощью команд меню Simulation, так и с помощью пиктограмм панели инструментов окна модели. Для запуска моделирования выбирается команда Start меню Simulation или пиктограмма Start. Для прерывания моделирования в произвольный момент времени используется команда Stop меню Simulation или пиктограмма Stop на панели инструментов. Процесс моделирования запускается также из командной строки системы MATLAB.

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

Пример

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

.

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

Переходная характеристика звена представляет собой реакцию звена на единичную ступенчатую функцию.

Весовая (импульсная переходная) характеристика звена представляет собой реакцию на d - функцию Дирака и равна производной по времени от переходной характеристики.

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

Аналогично, как и инерционное звено, располагаем блок Step в рабочей области. Затем следует провести линии связи, для этого указатель мыши помещается на выходной порт блока Step , который обозначается угловой скобкой «>» на правой стороне изображения блока. При этом указатель примет вид креста. Далее, при нажатой левой кнопке мыши, указатель мыши перемещается ко входному порту другого блока, он обозначается угловой скобкой «>», расположенной на левой стороне изображения блока. В случае верно выбранной точки входа указатель принимает вид двойного креста. Аналогичным образом к схеме подключается звено .

Теперь нам необходимо задать параметры блоков. Двойным нажатием левой кнопки мыши на соответствующем блоке, появляется диалоговое окно Block Parameters . Для блока Step мы вводим в области step time диалогового окна Block Parameters:step ноль. Для блока Transfer Fcn мы вводим в области numerator диалогового окна Block Parameters:Trabsfer Fcn – , а в области denominator – .

Рис. 1.11. Схема для получения весовой и переходной функции инерционного звена

Для построения графических зависимостей нам необходимо подключить еще один блок (блок Scope или блок XY Graph ).

Рис. 1.12. Схема для построения частотных характеристик инерционного звена

Далее нам необходимо задать параметры эксперимента. Выбираем команду Simulation parameters меню Simulation окна модели и в группе опций Simulation time диалогового окна Simulation parameters в текстовых полях Start time и Stop time задается время моделирования. В группе опций Solver options в текстовом поле type задается шаг интегрирования: переменный (Variable step ) или постоянный (Fixed step ), метод интегрирования и значение шага интегрирования. Затем выбирается команда Start меню Simulation и строятся графики.

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

В диалоговом окне Block Parameters:Sin Wave задаются значения амплитуды, частоты и фазы.

Значение амплитудной частотной характеристики на заданной частоте определяется как отношение амплитуд сигналов на выходе и входе звена, а значение фазочастотной характеристики можно определить по фигуре Лиссажу, выводимой на экран с помощью блока XY Graph и подаче на один вход входного, а на другой- выходного сигнала звена. Фаза (угол j ) определяется по формуле

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

Теоретические положения

Для описания линейных непрерывных систем автоматического управления (САУ) широко используются временные и частотные характеристики, основным преимуществом которых является то, что они могут быть экспериментально получены при исследовании системы. В качестве временных характеристик наиболее часто используются переходные и весовые (импульсные переходные) функции, представляющие собой реакции САУ на единичную ступенчатую функцию и δ-функцию Дирака соответственно. Схема снятия частотных характеристик объекта представлена на рис. 1.14.

На основании выражения для можно амплитудно-фазовую АФХ W(j ω), амплитудную А(ω) и фазовую φ(ω) частотные характеристики, а также логарифмические амплитудную L(ω)=20LgA(ω) (ЛАЧХ) и фазовую φ(ω) (ЛФЧХ) частотные характеристики (при изменении частоты ω от 0 до ∞).

Подготовка кработе

Согласно номеру бригады для 2-х звеньев с указанными в табл. № 1.2 параметрами, записать передаточные функции и построить:

Логарифмическую амплитудно-частотную характеристику (ЛАЧХ);

Логарифмическую фазочастотную характеристику (ЛФЧХ);

Амплитудно-фазовую характеристику (АФХ);

Весовую и переходную функции (можно в Mathcad).

Изучить возможности и назначение ПК "SIMULINK".

Задание на выполнение работы

1. С помощью ПК "SIMULINK" построить для 2-х звеньев (тип исследуемых звеньев и их параметры указаны в таблице 1.2, а обозначения и передаточные функции приведены ниже):

а) интегрирующего W(p) = k/p;

б) инерционного W(p) = k/(l+T1p);

в) упругого дифференцирующего W(p) = k(l+T2p)/(l+T1p), T2 > T1

г) упругого интегрирующего W(p) = k(l+T2p)/(l+T1p), T2 < T1;

д) колебательного W(p) = k/(1+2ξT1p+T1 2 p 2)

е) реального дифференцирующего W(p) = kp/(l+T1p).

Переходную характеристику;

Весовую характеристику.

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

2. Для исследуемых звеньев снять амплитудно - частотные и фазочастотные характеристики.

3. По снятым данным построить ЛАЧХ, ЛФЧХ и АФХ, сравнить их с построенными при подготовке к работе и определить по ним параметры звеньев.

Методические указания

Для снятия временных характеристик использовать схему моделирования с помощью программного комплекса “SIMULINK”, представленную на рис.1.11, в которой следует использовать блоки, моделирующие исследуемые в работе типовые звенья. Снятие частотных характеристик производится с использованием синусоидального сигнала различной частоты рис.1.12. При снятии частотных характеристик следует выбирать шаги интегрирования и выдачи данных такими, чтобы на периоде синусоиды T 1 было не меньше 10 точек. Время выдачи должно выбираться из условия окончания переходного процесса в исследуемом типовом звене, диапазон изменения частот выбирается по построенной при подготовке к работе логарифмическим частотным характеристикам..


Таблица 1.2

№ брига-ды Вариант Тип звена Коэффи-циент К Постоян-ная времени Т1 Постоян-ная времени Т2 Декремент затухания ξ
а,г 1.0 5.0 2.0 -
а,д 2.0 3.0 - 0.5
в,г 3.0 2.0 5.0 -
б,д 4.0 5.0 - 0.6
б,в 5.0 2.0 4.0 -
б,г 6.0 3.0 1.0 -
в,д 7.0 1.0 3.5 0.25
г,д 8.0 6.0 2.0 0.15
б,е 9.0 1.5 - -
е,д 10.0 3.5 - 0.55
а,б 5.0 3.0 - -
а,в 7.5 2.0 10.0 -
а,е 4.0 2.5 - -
в,е 5.0 1.0 5.0 -
г,е 2.5 5.0 2.0 -

Контрольные вопросы.

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

2. Какие сигналы надо подавать на вход системы (объекта) для получения частотных характеристик.

3. Как снимаются амплитудные и фазовые характеристики систем.

4. Какова связь между передаточной функцией системы и ее комплексным коэффициентом усиления.

5. Записать дифференциальные уравнения, описывающие типовые динамические звенья (а – е).

Литература

1. Теория автоматического управления. Ч. I, II. Под ред. Нетушила А.В., М.: Высш. школа, 1982, 400 c.

2. Петрова В.А., Ягодкина Т.В. Математическое описание линейных непрерывных САУ. М.: Изд. МЭИ, 1992, 103 c.

3. Дьяконов В.П. MATLAB 6/6.1/6.5 + Simulink 4/5. Основы приме-нения. М.: СОЛОН-Пресс, 2004.

ЛАБОРАТОРНАЯ РАБОТА № 2

Запуск Simulink

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

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

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

  • · Нажать кнопку (Simulink)на панели инструментов командного окна MATLAB.
  • · В командной строке главного окна MATLAB напечатать Simulink и нажать клавишу Enter на клавиатуре.
  • · Выполнить команду Open… в меню File и открыть файл модели (mdl - файл).

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


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

Обозреватель разделов библиотеки Simulink

Окно обозревателя библиотеки блоков содержит следующие элементы (Рис. 2.2):

  • 1. Заголовок, с названием окна - Simulink Library Browser.
  • 2. Меню, с командами File, Edit, View, Help.
  • 3. Панель инструментов, с ярлыками наиболее часто используемых команд.
  • 4. Окно комментария для вывода поясняющего сообщения о выбранном блоке.
  • 5. Список разделов библиотеки, реализованный в виде дерева.
  • 6. Окно содержимого раздела библиотеки (список вложенных разделов библиотеки или блоков)
  • 7. Строка состояния, содержащая подсказку по выполняемому действию.

На рис. 2.2 выделена основная библиотека Simulink (в левой части окна) и показаны ее разделы (в правой части окна).

Библиотека Simulink содержит следующие основные разделы:

  • 1. Continuous - линейные блоки.
  • 2. Discrete - дискретные блоки.
  • 3. Functions & Tables - функции и таблицы.
  • 4. Math - блоки математических операций.
  • 5. Nonlinear - нелинейные блоки.
  • 6. Signals & Systems - сигналы и системы.
  • 7. Sinks - регистрирующие устройства.
  • 8. Sources - источники сигналов и воздействий.
  • 9. Subsystems - блоки подсистем.

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

  • · Пиктограмма свернутого узла дерева содержит символ "+", а пиктограмма развернутого содержит символ "-".
  • · Для того чтобы развернуть или свернуть узел дерева, достаточно щелкнуть на его пиктограмме левой клавишей мыши (ЛКМ).

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

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

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

  • · File (Файл) - Работа с файлами библиотек.
  • · Edit (Редактирование) - Добавление блоков и их поиск (по названию).
  • · View (Вид) - Управление показом элементов интерфейса.
  • · Help (Справка) - Вывод окна справки по обозревателю библиотек.

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

Блоки библиотеки Simulink

2.2.1. Continuous – раздел непрерывных блоков

Рис. 2.3. Раздел Continuous

В состав раздела непрерывных блоков входят (рис 2.3):

· Derivative – дифференцирующий блок;

· Integrator – интегрирующий блок;

· Transport Delay – блок постоянного запаздывания;

· Transfer Fcn – блок, реализующий передаточную функцию, заданную в виде отношения полиномов (апериодическое и колебательное звенья);

· State-Space – линейная аналоговая система, заданная в виде уравнений состояния, т. е. в виде системы уравнений, представленной в форме Коши;

· Zero-Pole – линейная аналоговая система, заданная своими нулями и полюсами;

· Memore – блок памяти, выполняющий задержку на один шаг модельного времени;

· Variable Transport Delay – блок памяти с переменной задержкой.

2.2.2. Discrete – раздел дискретных блоков

· Discrete Transfer Fcn - блок, реализующий передаточную функцию, заданную в виде отношения полиномов (апериодическое и колебательное звенья), для дискретных САУ;

· Discrete Time Integrator – интегрирующий блок для дискретных САУ. Выполняет численное интегрирование входного сигнала;

· Zero-Order-Hold –экстраполятор нулевого порядка;

· Unit Delay – блок задержки сигнала. Обеспечивает задержку входного сигнала на заданное число шагов модельного времени;

· Discrete State-Spase – блок задания дискретного звена матрицами его состояния;

Рис. 2.4. Раздел Discrete

· Discrete Filter – блок задания дискретного звена через дискретную передаточную дробно-рациональную функцию относительно 1/Z;

· Discrete Zero-Pole – блок задания дискретного звена через указание значений нулей и полюсов дискретной передаточной функции относительно 1/Z;

· First-Order Hold – экстраполятор первого порядка.

2.2.3. Function & Tables – раздел блоков функций и таблиц

· Fcn – блок, реализующий в пакете Simulink любую функцию системы MATLAB, где в качестве параметра настройки можно ввести любое вычисляемое выражение, аргументом которого выступает входной сигнал;

· MATLAB Fcn – подобен предыдущему блоку, но также позволяет реализовывать m-функции (программы, написанные на языке программирования MATLAB);



· Look-Up Table, (2-D) и (n-D) – блоки данных, заданных в виде таблиц (позволяют задать нелинейные блоки любого вида), отличаются друг от друга размерностью задающих таблиц. Все эти блоки выполняют различного вида интерполяции.

2.2.4. Math – раздел математических блоков

· Gain – усилительный блок;

· Sum – сумматор сигналов с различными знаками и любым количеством входов;

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

· Dot Product – звено, осуществляющее перемножение двух входных величин, если они являются скалярами. Это звено вычисляет также сумму поэлементных произведений двух входных векторов одинаковой длины;

· Slider Gain – аналоговый усилитель с интерактивной настройкой;

· Matrix Gain – усилитель, на вход которого подается вектор;

· Mat Function – блок, позволяющий выбрать одну из математических функций в поле настройки и включить ее в модель;

· Trigonometric Function – звено формирования тригонометрических функций от входного сигнала. Выбор функции обеспечивается в поле настройки;

Рис. 2.5. Раздел Math

· MinMax – блок выбирает минимальное или максимальное значение вектора в соответствии с заданием поля настройки. Входной сигнал на блок задается числовым вектором. В окне настройки определяется также количество входов;

· Abs – блок, формирующий на выходе абсолютное значение входного сигнала;

· Sign – блок-реле, реагирующий на знак входного сигнала;

· Rounding Function – округление входного сигнала;

· Combinatorial Logic – блок обеспечивает преобразование входного сигнала в соответствии с формированной в окне настройки таблицей истинности;

· Logical Operation и Relaition Operator – блоки производят известные логические операции «и» и «или», количество входов задается в поле настройки;

· Bitwise Logical Operator – универсальный блок, реализующий любую логическую функцию;

· Complex to Magnitude-Angle – блок, позволяющий выделить модуль и фазу входной комплексной величины;

· Magnitude-Angle to Complex – блок, преобразующий входную величину, заданную модулем и фазой в комплексную выходную величину;

· Complex to Real-Image, Real-Image to Complex – блоки, преобразующие комплексные величины из показательной формы в алгебраическую и обратно;

· Algebraic Constrain – блок, позволяющий в структурную модель включать систему алгебраических уравнений.

2.2.5. Nonlinear – раздел нелинейных блоков

Рис. 2.6. Раздел Nonlinear

· Saturation – блок ограничения;

· Dead Zone – блок с зоной нечувствительности;

· Relay – релейный блок;

· Rate Limiter – блок с ограничением скорости;

· Coulomb and Viscous Friction – блок фрикционных эффектов;

· Backlash – блок люфта;

· Switch и Multiport Switch – переключатели одно- и многовходовые;

· Quantizer – блок, обеспечивающий квантование входного сигнала по уровню. В системах управления такие блоки являются частью аналого-цифрового преобразователя;

· Manual Switch – блок, который переключается вручную. В процессе моделирования при помощи этого ключа удобно менять параметры и структуру модели;

· Coulumb & Viscous Friction – блок, реализующий характеристику трения в механических системах.

2.2.6. Signal & Systems – раздел блоков сигналов и систем

· Sub System – блок-подсистема (полезен в случае громоздких систем, части которых можно с помощью данного блока заменить на один или несколько блоков-подсистем);

· In, Out – блоки входа/выхода, предназначенные для создания блоков-подсистем;

· Mux – микшер сигналов, собирающий несколько сигналов в одну шину;

· Demux – блок, выполняющий действие, обратное действию предыдущего блока;

· Enable, Trigger – блоки, предназначенные для логического управления работой модели;

· Bus Selector – блок выделяет из присоединенной к его порту шины требуемые сигналы. В окне настройки блока имеется два списка – входной и выходной;

· Selector – блок выбирает из входного вектора элементы, которые указаны в параметрах настройки;

· Merge – блок, осуществляющий объединение входных сигналов;

· Matrix Concatenation – блок, позволяющий векторный сигнал, представленный развернутой строкой или столбцом, преобразовать к «свернутому» векторному сигналу;

· From, Goto Tag Visibility, Goto – блоки («Принять», «Признак видимости», «Передать») используются совместно и предназначены для обмена между различными данными модели с учетом их доступности;

· Data Store Memory, Data Store Read, Data Store Write – «Память», «Чтение» и «Запись» данных, также используются совместно и обеспечивают хранение и передачу данных;

· Ground, Terminator – блоки используются в качестве «заглушек» для неиспользованных входных и выходных портов соответственно;

Рис. 2.7. Раздел Signal & Systems

· Reshape – блок, позволяющий изменить размерность входного сигнала;

· Data Type Conversion – блок, обеспечивающий приведение типа данных входного сигнала к требуемому;

· Function-Call Generator – блок, обеспечивающий запуск подключенных к нему подсистем с заданной периодичностью;

· Configurable Subsystem – блок, реализующий функцию любой подсистемы, которая может быть библиотечной или созданной пользователем;

· Model info – блок, позволяющий получить информацию о модели;

· IC – блок, позволяющий установить начальное значение входного сигнала, значение которого задается в окне настройки;

· Width – блок, вычисляющий размерность сигнала на входе;

· Probe – блок, позволяющий получить на выходе необходимую информацию о входном сигнале. Блок имеет один вход, число выходов зависит от числа исследуемых параметров входного сигнала;

· Signal Specification – блок, управляющий процессом моделирования в зависимости от параметров входного сигнала.

2.2.7. Sinks – раздел блоков получателей сигналов

· Display – блок, отображающий цифровую информацию (уровень сигнала в данный момент времени);

· Scope – виртуальный осциллограф, предназначенный для получения временных зависимостей (переходных процессов);

· XY Graph – виртуальный графопостроитель (построение фазовых портретов и различных двухмерных графиков);

Рис. 2.8. Раздел Sinks

· To File и To Workspace – блоки, передающие информацию в файл или в рабочую область MATLAB;

· Stop Simulink – остановка симуляции.

2.2.8. Sources – раздел блоков источников сигналов

· Band-Limited White Noice – генератор белого шума;

· Chrip Signal – генератор сигнала с нарастающей частотой;

· Constant - источник постоянного воздействия, задающий константу (t < 0, y = 0; t ³ 0, y = сonst);

· Discrete Pulse Generator – источник дискретных импульсов;

· From File и From Workspace - источником сигнала для этих блоков служит файл или рабочая область MATLAB;

· Ramp – источник нарастающего воздействия;

Рис. 2.9. Раздел Sources

· Random Number – источник случайного сигнала с нормальным распределением;

· Repeating Sequence – источник пилообразного сигнала;

· Sine Wave – источник синусоидального воздействия;

· Step – источник перепада сигнала (t < Step time, y = Initial value; t > Step time, y = Final value);

· Signal Generator – универсальный сигнал-генератор;

· Clock – источник времени моделирования;

· Digital Clock – цифровой источник времени.

2.2.9. Библиотека Simulink Extras

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

Библиотека Simulink Extras представлена на рис. 2.10. Работа с этой библиотекой ничем не отличается от работы с основной библиотекой.

Рис.2.10. Библиотека Simulink Extras

2.2.9.1. Additional Discrete – дополнительные дискретные блоки

Рис. 2.11. Дополнительные

дискретные блоки

Дополнительные блоки Additional Discrete представлены всего четырьмя блоками – по два варианта известных нам блоков Discrete Transfer Fcn и Discrete Zero-Pole (рис 2.11). Их единственным отличием от описанных ранее блоков является возможность инициализации входов и состояний.

2.2.9.2. Additional Linear – дополнительные линейные блоки

Состав дополнительных линейных блоков раздела Additional Linear показан на рис. 2.12. Блоки этого раздела можно разделить на две категории: PID-контроллеры и блоки типа State-Shfct, Transfer Fnc и Zero-Pole, дополненные возможностями выходных сигналов и состояний.

Для анализа и синтеза систем управления наибольший интерес представляют PID-контроллеры. Первый из них PID-controller – это довольно универсальный блок, выходной сигнал которого задается операторным выражением:

OUT = P + I / s + Ds,

где Р – входной сигнал; I – его интеграл; D – его производная.

Рис. 2.12. Дополнительные линейные

Параметр Р (по умолчанию 1) фактически задает коэффициент усиления безынерционного усилительного звена. Параметр I задает пропорциональность интегралу входного сигнала и, наконец, параметр D задает пропорциональность производной входного сигнала. Параметры P, I и D задаются в таблице настройки PID-контроллера, поэтому задавая различные значения указанных параметров, можно получить П -, ПИ -, ПД - и ПИД - регуляторы.

Второй PID-controller (with Approximate Derivative) c улучшенной операцией дифференцирования вычисляет выходной сигнал как:

OUT = Р + I / s + Ds/(1/Ns + 1).

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

2.2.9.3. Дополнительные блоки Additional Sinks

Раздел дополнительных блоков Additional Sinks содержит ряд новых виртуальных регистраторов (рис. 2.13):

· Auto Correlator – автокоррелятор (используется с пакетом Signal Processing Toolbox);

· Averaging Power Spectral Density – анализатор спектральной плотности мощности с усреднением;

Рис. 2.13. Дополнительные блоки

Additional Sinks

· Averaging Spectrum Analyzer – спектральный анализатор с усреднением;

· Cross-Correlator – кросс-коррелятор;

· Floating Point Bar – утилита построения гистограммы;

· Power Spectral Density – анализатор спектральной плотности мощности;

· Spectrum Analyser – анализатор спектра.

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

2.2.9.4. Блоки триггеров Flip Flops

Рис. 2.14. Раздел библиотеки Flip Flops

Раздел библиотеки Simulink Extras Flip Flops содержит следующие основные блоки (рис. 2.14):

· Clock – генератор тактовых импульсов;

· D Flip Flops, D Latch, J-K Flip Flops, R-S Flip Flops – 4 триггерных устройства типа D -, J-K, R-S – триггеров.

2.2.9.5. Раздел преобразований Transformations

Раздел преобразований Transformations (рис. 2.15) содержит 8 блоков для осуществления типичных преобразований – температуры из градусов Цельсия в градусы Фаренгейта и наоборот; углов, выраженных в градусах, в углы, выраженные в радианах, и наоборот; прямоугольных систем координат в полярные системы координат и наоборот.

Рис. 2.15. Блок Transformations

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

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

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

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

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

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

Использование первого и второго способов приводит к открытию окна обозревателя разделов библиотеки Simulink (рис. 1).

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

Обозреватель разделов библиотеки Simulink. Окно обозревателя библиотеки блоков содержит следующие элементы:

    Заголовок, с названием окна - Simulink Library Browser .

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

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

    Окно комментария для вывода поясняющего сообщения о выбранном блоке.

    Список разделов библиотеки, реализованный в виде дерева.

    Окно содержимого раздела библиотеки (список вложенных разделов библиотеки или блоков)

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

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

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

Основные разделы библиотеки :

Continuous - линейные непрерывные компоненты;

Discontinuous -нелинейные компоненты;

Discrete - дискретных компоненты;

Math Operation - математические компоненты;

Ports & Subsystems - компоненты для создания подсистем;

Signal Routing - компоненты для разделения сигналов;

Sinks - регистрирующие компоненты;

Sources - источники сигналов и воздействий;

User - Defined Function - компоненты для создания функций пользователя.

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

Подробно рассмотрим наиболее используемые разделы библиотеки.

Линейные непрерывные компоненты (Continuous ) . Линейные компоненты играют важную роль в создании математических моделей многих устройств. Имеются следующие типы линейных компонентов: Derivative - аналоговое дифференцирующее уст­ройство; Integrator - аналоговый интегратор; State - Space - модель в пространстве состояний; Transfer Fcn - передаточные функции, и ряд других устройств.

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

Saturation – насыщение, в параметрах задаются верхний и нижний пределы (Upper limit и Lower limit ).

Dead zone нечувствительность, «мертвая зона». В параметрах задаются пределы нечувствительности (Start of dead zone и End of dead zone ).

Rate Limiter ограничитель скорости изменения сигнала, в параметрах задаются пределы на скорость увеличения (Rising slew rate ) и на скорость уменьшения (Falling slew rate ).

Relay – реле, в параметрах задаются точки переключения (Switch on point и Switch off point ), в также величины сигналов в режимах «включено» (Output when on ) и «выключено» (Output when off ).

Backlash люфт, «мертвый ход». В параметрах задаются величина мертвого хода (Deadband width ) и начальное значение выхода (Initial output ).

Coulomb and Viscous Friction кулоновское и вязкое трение.

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

Среди них есть два блока, не имеющих аналога среди непрерывных блоков. Это блок задержки Unit delay и блок Discrete Filter - дискретный фильтр, который определяет рациональную функцию от оператора задержки z / 1 .

Математические компоненты (Math Operation ) . Ок­но Math Operation позволяет задавать множество математических компонентов с описываемыми пользователями свойствами, имеет решающее значение для выполнения прозрачного для пользователя математического моделирования как простых, так и сложных уст­ройств и систем. Некоторые из них:

Компоненты для создания подсистем (Ports & Subsystems ). В случае если моделируемая система имеет сложную схему, удобным может быть объединение нескольких элементов в один с помощью блока Subsystem . При этом для задания требуемого количества входов и выходов нового элемента используются блоки In 1 и Out 1 .

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

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

Mux - мультиплексор, объединяет несколько сигналов в один «жгут» (векторный сигнал), в параметрах задается число входов (Number of Inputs ).

Demux - демультиплексор, позволяет «разбить» векторный сигнал на несколько скалярных, в параметрах задается число выходов (Number of Outputs ).

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

На схеме можно разместить несколько приемников, воспринимающих сигналы на выходах различных звеньев, в том числе и непосредственно от источников сигналов.

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

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

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

Кнопка открывает окно настроек, причем наиболее важные данные содержатся на вкладкеData history . Если не сбросить флажок Limit data points , в памяти будет сохраняться только заданное число точек графика, то есть, при большом времени моделирования начало графика будет потеряно.

Отметив на этой же странице флажок Save data to workspace можно сразу передать результаты моделирования в рабочую область Matlab для того, чтобы их можно было дальше обрабатывать, выводить на графики и сохранять в файле. Поле Variable name задает имя переменной в рабочей области, в которой сохраняются данные. В простейшем случае выбирается формат Array (в списке Format ). Это означает, что данные будут сохраняться в массиве из нескольких столбцов (первый столбец – время, второй – первый сигнал, третий – второй сигнал и т.д., по порядку входов мультиплексора).

Блок XY Scope применяется при необходимости построения фазовых портретов и статических характеристик.

Display – цифровой дисплей, показывает изменение входного сигнала в цифровом виде.

Scope осциллограф, показывает изменение сигнала в виде графика.

To File - передача данных в файлuntilited.mat .

To Workspace - сохранение данных в переменной simout и передача в Workspace .

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

Большинство элементов содержит рисунок, представляющий временную зависимость воздействий, например, перепад для блока Step , синусоиду для блока Sine Wave и т. д.

Набор блоков содержит практически все часто используемые при моделировании источники воздействий с самой различной функциональной и временной зависимостью. Возможно задание произвольного воздействия из файла - блок From File .

Constant – сигнал постоянной величины.

Step – ступенчатый сигнал, меняется время скачка (Step Time ), начальное (Initial Value ) и конечное значение (Final Value ).

Ramp – линейно возрастающий сигнал с заданным наклоном (Slope ). Можно задать также время начала изменения сигнала (Start Time ) и начальное значение (Initial Value ).

Pulse Generator – генератор прямоугольных импульсов, задаются амплитуда (Amplitude) , период (Period ), ширина (Pulse Width , в процентах от периода), фаза (Phase Delay ).

Repeating Sequence последовательность импульсов, их форма задается в виде пар чисел (время; величина сигнала)

Sine Wave – синусоидальный сигнал, задается амплитуда (Amplitude ), частота (Frequency ), фаза (Phase ) и среднее значение (Bias ).

Signal Builder – построитель сигналов, позволяющий задавать форму сигнала, перетаскивая мышью опорные точки.

Random Number – случайные числа с нормальным (гауссовым) распределением. Можно задать среднее значение (Mean Value ), дисперсию (Variance ), период изменения сигнала (Sample Time ).

Uniform Random Number – случайные числа с равномерным распределением в заданном интервале от Minimum до Maximum .

Band Limited White Noise – случайный сигнал, ограниченный по полосе белый шум (имеющий равномерный спектр до некоторой частоты). Блок используется как источник белого шума для моделей непрерывных систем. Задается интенсивность (Noise Power ) и интервал дискретизации (Sample Time ), в течение которого удерживается постоянное значение сигнала. Чем меньше интервал, тем точнее моделирование, однако больше вычислительные затраты.

Компоненты для создания функций пользователя (User - Defined Function ).

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

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

Для изменения оформления выделенного блока предназначено меню Format на верхней панели инструментов. Также для этой цели можно использовать контекстное меню Format при нажатии на блоке правой кнопкой мыши.Для выделенного блока можно изменить цвет текста и линий (Foreground color ), цвет фона (Background color ), вывести тень (Show drop shadow ), переместить название на другую сторону (Flip name ).

Для имитационного моделирования следует отредактировать «параметры» имитации и запустить процесс.

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

- Start Time - время начала процесса (обычно равно 0);

- Stop Time - время окончания процесса имитации;

- Min Step Size - минимальная величина шага интегрирования;

- Max Step Size - максимальная величина шага интегрирования;

- Tolerance - допуск (допустимая погрешность).

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

Использование переменных для задания параметров блоков. Параметры блоков Simulink можно задавать не только как числовые параметры, но и как имена переменных. Значения переменных необходимо задать перед началом расчета в командном окне Matlab или в m-файле. Такой способ задания параметров удобен, если требуется проводить расчеты для множества вариантов параметров блоков модели.