И.В.Черных. "Simulink: Инструмент моделирования динамических систем": Содержание
1. Общие сведения
2. Запуск Simulink
3. Обозреватель разделов библиотеки 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)на панели инструментов командного окна MATLAB.
В командной строке главного окна MATLAB напечатать Simulink и нажать клавишу Enter на клавиатуре.
Выполнить команду Open… в меню File и открыть файл модели (mdl - файл).
Последний вариант удобно использовать для запуска уже готовой и отлаженной модели, когда требуется лишь провести расчеты и не нужно добавлять новые блоки в модель. Использование первого и второго способов приводит к открытию окна обозревателя разделов библиотеки Simulink (рис. 2.2).
Рис 2.2. Окно обозревателя разделов библиотеки Simulink
3. Обозреватель разделов библиотеки Simulink
Окно обозревателя библиотеки блоков содержит следующие элементы (Рис. 2.2):
Заголовок, с названием окна – Simulink Library Browser.
Меню, с командами File, Edit, View, Help.
Панель инструментов, с ярлыками наиболее часто используемых команд.
Окно комментария для вывода поясняющего сообщения о выбранном блоке.
Список разделов библиотеки, реализованный в виде дерева.
Окно содержимого раздела библиотеки (список вложенных разделов библиотеки или блоков)
Строка состояния, содержащая подсказку по выполняемому действию.
На рис. 2.2 выделена основная библиотека Simulink (в левой части окна) и показаны ее разделы (в правой части окна).
Библиотека Simulink содержит следующие основные разделы:
|