Лекция 7 по дисциплине «Информационные технологии» на тему: «Пакеты расширения MatLab. Simulink» Мамонова Татьяна Егоровна http://portal.tpu.ru:7777/SHARED/s/STEPTE Пакет расширения Simulink Определение Simulink Simulink – графическая среда имитационного моделирования, позволяющая при помощи блокдиаграмм в виде направленных графов, строить динамические модели, включая дискретные, непрерывные и гибридные, нелинейные и др. системы. Для вывода полного перечня команд Simulink надо исполнить команду >> help simulink 1 2 Достоинства Simulink Интеграция одной из самых быстрых математических систем MatLab с удобным и мощным пакетом Simulink открывает новые возможности использования самых современных математических методов для решения задач динамического и ситуационного моделирования сложных систем и устройств. Средства анимации Simulink позволяют строить на его основе виртуальные физические лаборатории с очень наглядным представлением результатов моделирования. 3 Возможности Simulink позволяют выполнять математическое моделирование сложных динамических систем в физике, электро- и радиотехнике, в биологии и химии, словом, во всех областях науки и техники. Есть возможность задания в блоках произвольных математических выражений, что позволяет подчас решать типовые задачи, пользуясь примерами пакета Simulink и просто задавая новые выражения, описывающие работу моделируемых пользователем систем и устройств. 4 Полезным свойством пакета является и возможность задания системных S-функций и полноценное их включение в состав библиотек Simulink. Имеется возможность моделирования устройств и систем в реальном масштабе времени. Совместно с Simulink используется ряд пакетов. 5 Особенности интерфейса Simulink Главное меню системы имеет следующие позиции: File – работа с файлами моделей и библиотек (их создание, сохранение, считывание и печать). Edit – операции редактирования, работа с буфером промежуточного хранения и создание субсистем. 6 View – вывод или удаление панелей инструментов и статуса. Simulation – управление процессом моделирования (старт, ввод паузы и вывод окна настройки параметров симуляции). Format – операции форматирования модели (смена фонтов, редактирование надписей, повороты блоков, использование тени от блоков операции с цветами линий блоков, их фоном и общим фоном). Tools – управление видом анализа (в линейной области и в режиме реального времени RTW). 7 Обзор библиотеки компонентов пакета Simulink В состав библиотеки графических элементов входят следующие их наборы: Sources – открытие окна с перечнем источников сигналов и воздействий. Sinks – открытие окна с перечнем регистрирующих компонентов. Continuous – линейные компоненты. 8 Discrete – открытие окна с перечнем дискретных компонентов. Math – математические компоненты. Function&Tables – функции и таблицы. Nonlinear – открытие окна с перечнем нелинейных компонентов. Signals&Systems – сигналы и системы. 9 Регистрирующие элементы Simulink В состав виртуальных регистраторов входят: Scope – осциллограф для наблюдения временных и иных зависимостей. XY Graph – графопостроитель в системе полярных координат. Display – дисплей. То File – устройство, описанное в файле. To Workspace – устройство обзора рабочего пространства. Stop Simulation – остановка симуляции. 10 Виртуальный осциллограф Виртуальный осциллограф является самым важным из регистрирующих устройств. Он позволяет представить результаты моделирования в виде временных диаграмм тех или иных процессов в форме, напоминающей осциллограммы современного высокоточного осциллографа с оцифрованной масштабной сеткой. 11 Окно параметров осциллографа ○ Number of axes – число осей (каналов) осциллографа; 12 ○ Time range – пределы временного интервала (диапазон); ○ Tick labels – вывод/скрытие отметок по осям; ○ Sampling – установка временных соотношений: Decimation (в десятичных долях времени со значением по умолчанию 1) или Sample Time (в тактах эталонного времени, по умолчанию 0). Параметр Number of axes (число осей) позволяет превратить одноканальный осциллограф в многоканальный. При этом осциллограф приобретает несколько входных портов, к которым можно подключать различные сигналы. 13 Пример 1 14 Назначение кнопок панели инструментов виртуального осциллографа 15 Обзор библиотеки Signal Routing Наиболее используемые блоки данной библиотеки: Data Store Memory – запись данных с заданным именем в память; Data Store Read – считывание данных с заданным именем; Data Store Write – запись значений сигналов с заданным именем; Мux – мультиплексирование ряда входов; From – прием сигнала от блока Goto; Goto – организация «беспроводного» передатчика данных; Switch – переключатель. 16 Обзор библиотеки Math Simulink Блоки выполнения арифметических операций. К числу наиболее простых математических блоков относятся блоки арифметических операций: вычисление абсолютного значения числа Abs, скалярного произведения Dot Product, обычного произведения Product, а также суммы Sum. 17 Блоки вычисления элементарных функций Наиболее используемые три блока, выполняющие вычисление математических функций: Math Function (Математическая функция) Trigonometric Function (Тригонометрическая функция) Rounding Function (Функция округления). Выбор конкретной вычисляемой функции осуществляется в раскрывающемся списке. В нём имеется типовой набор элементарных функций. 18 Блоки логических операций Logical Operation. Эти блоки позволяют задавать любую из известных базовых логических операций. Могут быть заданы следующие логические операции: ○ AND – логическое умножение (операция И); ○ OR – логическое сложение (операция ИЛИ); ○ NAND – операция НЕ-И; ○ NOR – операция НЕ-ИЛИ; ○ XOR – операция сложения по модулю 2 (исключающее ИЛИ); ○ NOT – операция логического отрицания (НЕ). 19 Блок алгебраического ограничения Algebraic Constraint. служит для вычисления значений переменных исходя из заданных (обычно в виде уравнения или системы уравнений) ограничений. То есть этот блок служит для решения систем уравнений, накладывающих ограничения на значения переменных 20 Дифференцирующий блок Derivative служит для численного дифференцирования входных данных (сигналов). 21 Интегрирующий блок Integrator выполняет функции интегрирования входных данных (сигналов). 22 Обзор блоков функций User-Defined Functions Simulink Блоки функций позволяют вводить в модели практически любые функции, что имеет большое значение в математическом моделировании различных объектов и систем. Это выгодно отличает Simulink от многих систем моделирования, в которых возможности задания математических функций отсутствуют или представлены слишком сложно. 23 24 Блок задания функции Fcn. служит для задания функций одной переменной и или ряда переменных u(i). Входным сигналом блока может быть вектор с числом компонентов, равным числу переменных. В окне параметров блока имеется поле Expression (выражение) для ввода выражения, задающего нужную функцию. Это выражение составляется по правилам, принятым для описания функций на языке С. 25 допустимые операторы в порядке уменьшения приоритета их операций: ○ круглые скобки ( ); ○ унарные операторы - и +; ○ оператор возведения в степень ^; ○ оператор логического отрицания !; ○ операторы арифметического умножения * и деления /; ○ операторы арифметического сложения + и вычитания -; ○ логические операторы отношения <, >, <= и >=; ○ операторы отношения «равно» = и «не равно» !; ○ оператор логического умножения && (И); ○ оператор логического сложения || (ИЛИ). В выражениях для функций этого типа могут использоваться и переменные системы MATLAB, находящиеся в рабочем пространстве, например переменная ans. 26 Блок задания функции MATLAB Fcn служит для задания функций одной переменной и или ряда переменных u(i) по правилам, принятым для языка программирования базовой системы MATLAB 6.0. В частности, это означает, что в теле функции могут встречаться как встроенные функции системы MATLAB, так и любые процедуры и функции, реализованные в виде m-файлов. 27 Блок задания S-функций одновременно самый простой и самый сложный блок. Простой, потому что окно его параметров содержит лишь поля для ввода наименований S-функций и её параметров. Сложность S-функции обусловлена тем, что она является вполне самостоятельными программами, написанными на языках С, Ада, Фортран и MatLab, и представлены файлами соответствующих форматов. 28 Спасибо за внимание