Как открыть simulink файл в матлабе

Обновлено: 03.07.2024

MATLAB (Matrix Laboratory) – это пакет прикладных программ, предназначенный для решения задач технических вычислений.

Рисунок 1.1 – Логотип MATLAB, выведенный на экран при помощи команды logo

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

1.1 Запуск Simulink

Запустив графический интерфейс MATLAB, выполните команду simulink или запустите Simulink при помощи кнопки на верхней панели (рис. 1.2).

Рисунок 1.2 – Запуск Simulink из MATLAB

При запуске Simulink откроется окно Simulink Library Browser (каталог библиотеки Simulink). В левой панели окна приведен список библиотек Simulink (рис. 1.3). Правая панель содержит три вкладки: Library (Содержание библиотеки), Search Results (Результаты поиска), Most Frequently Used Blocks

(Наиболее часто используемые блоки).

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

Для ускоренного поиска нужного блока необходимо использовать поисковую систему ( Enter search term ). Результаты поиска отображаются во второй вкладке правой панели ( Search Results ).

В процессе работы в Simulink формируется набор наиболее часто используемых блоков, который будет отображаться в третьей вкладке правой панели ( Most Frequently Used Blocks ).

Рисунок 1.3 – Каталог библиотеки Simulink

Главное меню окна каталога библиотеки Simulink содержит следующие элементы:

File (Файл) – работа с файлами моделей Simulink:

New (Новый) – создание нового файла модели ( Model ) или библиотеки ( Library );

Open (Открыть) – открыть ранее созданный файл;

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

Edit (Редактирование) – добавление в модель выделенного блока ( Add Selected Block to a New Model ), поиск блока в библиотеке ( Find ).

View (Вид) – настройки отображения элементов библиотеки (размер шрифта, вид значков элементов и др.).

Help (Помощь) – справочная система MATLAB Simulink.

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

Рисунок 1.4 – Описание элемента стандартной библиотеки Simulink

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

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

Для создания новой модели выполните команду главного меню File ,

New , Model (рис. 1.5) или нажмите Ctrl+N .

Рисунок 1.5 – Создание новой модели

По команде откроется новое безымянное окно ( Untitled ) модели (рис.

Рисунок 1.6 – Пустое окно новой модели Simulink

Прежде чем приступать к созданию модели, необходимо настроить параметры моделирования. Выполните команду главного меню Simulation , Configuration Parameters (Моделирование, Параметры конфигурации) или на-

Рисунок 1.7 – Параметры конфигурации

Процесс настройки заключается в задании параметров решающего мо-

Simulation time (Время моделирования) – задается временной интервал моделирования в секундах. Левая граница по умолчанию равна нулю, правая может принимать любое значение, в том числе и бесконечность ( inf ). В случае, если начальное и конечное значения совпадают, будет выполнен только один шаг моделирования.

Solver Options (Параметры решающего модуля) – параметры модуля, реализующего один из методов численного интегрирования обыкновенных дифференциальных уравнений. Выделяются два типа ( Type ) решающих модулей: с фиксированным шагом моделирования ( Fixed-step ) и с переменным шагом моделирования ( Variable-step ). Выбор второго варианта позволяет системе адаптивно изменять временной шаг моделирования в процессе работы. При этом можно задать величины минимального и максимального шага мо-

делирования, а также начального шага моделирования в секундах ( Max step size, Min step size и Initial step size ). При необходимости можно задать относительную и абсолютную погрешности численного метода решения дифферен-

циальных уравнений ( Relative tolerance и Absolute tolerance ). В выпадающем списке Solver имеется возможность задать тип решающего модуля для моделирования аналоговых систем ( ode … ) или выбрать решающий модуль для моделирования дискретных систем ( Discrete (no continuous state) ).

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

Рисунок 1.7 – Результаты поиска по слову «Scope»

Сохраните настройки системы и перейдите к окну библиотеки Simulink. Введите в строке поиска ( Enter search term ) Scope (осциллограф) и нажмите клавишу Enter. Во вкладке Found: ‘Scope’ отражаются результаты поиска, сгруппированные по библиотекам (рис. 1.7). В базовой библиотеке Simulink блок Scope найден дважды: в разделе Commonly Used Blocks (наиболее часто используемые блоки) и Sinks (средства анализа сигналов) . Разумеется, это один и тот же блок осциллографа. В списке найденных блоков также присут-

ствует часто используемый блок Spectrum Scope (Анализатор спектра), находящийся в библиотеке цифровой обработки сигналов ( Digital Signal Processing ).

Добавить выбранный блок в модель можно несколькими способами: перетащив его на лист модели или выбрав пункт Add To Untitled контекстного меню , нажав правой кнопкой мыши на блоке. Аналогичным образом добавьте блок Sine Wave из раздела Sources (Источники сигнала).

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

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

Рисунок 1.9 – Настройка параметров блока Sine Wave

Установите значение параметра Sine type Sample based (Метод формирования сигнала – Дискретное представление). Параметр Sample time определяет период дискретизации сигнала, для примера установим его равным одной секунде. Таким образом, при 10 выборках на один период синусоиды ( Samples per period ) и при периоде дискретизации в 1 секунду, период гармонического колебания составит 10 секунд.

Запустите процесс моделирования Simulation, Start ( Ctrl+T ) на временном промежутке 0…10 сек. Двойным щелчком мыши откройте окно осциллографа (рис. 1.10).

Рисунок 1.10 – Пример моделирования источника дискретного синусоидального сигнала

Как видно на рисунке 1.10, осциллограмма сигнала соответствует заданным параметрам гармонического колебания в настройках блока Sine Wave . При необходимости можно увеличить участок с требуемым фрагментом сигнала при помощи кнопок управления окна Scope . Кнопка Autoscale позволяет автоматически подобрать масштаб по двум осям для отображения всего накопленного сигнала. При помощи кнопок Zoom X – axis и Zoom Y – axis имеется возможность изменения масштаба только по одной из координат. В настройках блока Scope можно задать количество входов осциллографа ( Number of axis ), параметры децимации входного сигнала ( Decimation , прореживание выборок), настройки объема буфера хранения информации ( History, Limit data points to last ) и другие.

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

Формирование сигналов в Simulink осуществляется при помощи генераторов сигналов Sources (рис. 1.11).

Рисунок 1.11 – Библиотека источников сигнала

В библиотеку входят следующие блоки:

Band-Limited White Noise – генератор нормального белого шума с равномерной финитной спектральной плотностью мощности и заданным временем корреляции для аналоговых систем;

Chirp signal – генератор синусоидального колебания с линейно возрастающей мгновенной частотой;

Clock – формирователь аналогового сигнала текущего времени моделирования (в соответствии с шагом моделирования);

Constant – источник постоянного сигнала;

Counter Free-Running – формирователь сигнала на основе N -разрядного счетчика и со сбросом по переполнению;

Counter Limited – формирователь сигнала на основе счетчика с произвольным значением сброса;

Digital Clock – формирователь дискретного сигнала текущего времени моделирования (в соответствии с шагом моделирования);

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

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

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

общих знаний требующихся при работе на компьютере и, естественно,

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

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

LTI-Viewer приложения Control System Toolbox –пакета для разработки систем управления).

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

Запуск 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 содержит определенный набор блоков, вызвать которые можно двойным нажатием левой клавиши "мыши" на выбранном разделе библиотеки. В появившемся окне приводится весь набор блоков данного раздела библиотеки Simulink, которые используются для моделирования. Создание структуры модели, задание ее параметров, выбор режимов и характеристик моделирования осуществляется в окне модели. Создание структуры модели осуществляется "перетаскиванием" необходимых блоков из окон библиотеки в окно модели: указав курсором на требуемый блок и нажав на левую клавишу “мыши” - “перетащить” блок в созданное окно модели. Клавишу "мыши" при этом нужно держать нажатой.

Использование современных программных средств, таких как Matlab/Simulink, позволяет существенно упростить анализ различных сложных систем. Скрипты Matlab позволяют в автоматическом режиме запускать схемы Simulink с изменением различных параметров.

Пройдите наш онлайн-курс по MATLAB/SIMULINK. Там вы научитесь пользоваться MATLAB как мощным калькулятором, создавать свои модели в SIMULINK, моделировать электрические цепи, а также сложные электроэнергетические системы с устройствами релейной защиты.

Такая задача может появиться, к примеру, при построении амплитудно-частотной характеристики (АЧХ) некоторого фильтра. Если фильтр достаточно сложный, то его аналитическое описание не всегда представляется возможным. В таком случае прибегают к численным методам анализа.

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

Известно, что АЧХ представляет собой характеристику, описывающую амплитуду выходного сигнала в зависимости от входного при различных частотах. То есть для её построения необходимо изменять частоту входного сигнала при неизменной амплитуде и измерять амплитуду выходного сигнала. Это итерационная процедура, которая может быть автоматизирована.

Рассмотрим простейший фильтр, представленный на рис. 1. Параметры фильтра R = 1 Ом, L = 10 мГн, C = 400 мкФ.



Рис. 1. Исследуемый фильтр

Для построения АЧХ необходимо при известной амплитуде входного напряжения Uвх измерять амплитуду выходного напряжения Uвых при различных частотах входного напряжения и формировать замер

Для этого в Simulink собрана схема, представленная на рис. 2. Сама модель в Simulink: circuit.mdl.



Рис. 2. Схема в Simulink для построения АЧХ фильтра

Таким образом, схему по рис. 2 необходимо прогонять определённое число раз, при этом изменяя частоту источника ЭДС и измеряя выходное напряжение с помощью вольтметра Voltage. Для этого воспользуемся следующим скриптом Matlab (сам скрип вы можете скачать: simulink_start.m):

Для автоматического задания параметров элементов модели в Simulink в Matlab используется функция set_param . Для запуска моделирования используется функция sim . После окончания работы скрипта формируется АЧХ, представленная на рис. 3.



Рис. 3. АЧХ исследуемого фильтра

Итак, в статье представлен пример использования запуска модели в Simulink с помощью скрипта в Matlab для построения АЧХ фильтра.

Рекомендуемые записи

Using modern software tools, such as Matlab / Simulink, can significantly simplify the analysis of…

The Matlab / Simulink software package allows you to simulate not only electrical networks, but…

Программный комплекс Matlab/Simulink позволяет моделировать не только электрические сети, но и многое другое, в том…

Добавить комментарий Отменить ответ

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Я супер новичок в моделях Simulink и системах управления. У меня есть модель .slx Simulink для системы динамики дронов. Он принимает два входа (roll cmd, pitch cmd) и выводит скорость x, скорость y, положение x и положение y.

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

simulink model

Но как мне поместить входные данные и получить выходные значения? Есть ли способ, которым я могу сделать это в графическом интерфейсе?

РЕДАКТИРОВАТЬ: Вот полный макет моей модели:

Я получил предупреждение:

Как получить выходные данные с номерами портов? Я попытался

[vx, vy, px, py] = sim ('SimpleDroneDynamics.slx');

И получил ошибку, сказав

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

EDIT2: я использую Matlab2017a

2 ответа

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

Есть несколько способов инициализации этой константы для Simulink. Еще один полезный способ - создать скрипт, содержащий все ваши переменные, и загрузить его при запуске модели Simulink. Вы можете сделать это, добавив имя скрипта в Simulink / Model Explorer / Callbacks. (Существуют разные обратные вызовы - при загрузке, при запуске и т. Д.). Подробнее об этом читайте: здесь.

Теперь вы можете запустить симуляцию, используя функцию sim :

name_of_model должен содержать путь, если модель не находится в активной папке MATLAB (активную папку вы можете увидеть в окне matlab прямо под главным меню).

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

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

Получить значения любого из аутпортов:

это тип данных временного ряда, поэтому:

yout.get(1).Values.Time - дать вам время

yout.get(2).Values.Data - каждый раз выдаю вам значения этого вида

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

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

Так что теперь вы можете создавать общий графический интерфейс Matlab и работать с этими переменными! Нет никаких сложностей. Вы можете прочитать больше о графическом интерфейсе для Simulink .

О первых двух пунктах вашего вопроса:

В Simulink .

simulink block diagram

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

constant block

Чтобы получить выходные данные в ваше рабочее пространство, вы можете использовать блок simout (убедитесь, что вы сохранили формат в массив).

Подключите входы к вашей модели Simulink

Подключите выходы вашей модели Simulink к блокам Simout.

Сценарий MATLAB

О третьем пункте вашего вопроса

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

Один вариант, который я лично не рекомендую, это использовать цикл for и вызывать модель simulink с разными значениями roll и pitch .

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

Читайте также: