exponenta event banner

Создание простой модели

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

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

Имя блокаНазначение блокаНазначение модели
Генератор импульсовФормирование входного сигнала для моделиПредставление педали акселератора
ВыгодаУмножьте входной сигнал на постоянное значениеРассчитайте, как нажатие акселератора влияет на ускорение автомобиля
Интегратор второго порядкаДважды интегрируйте входной сигналПолучить положение от ускорения
Вспомогательный портНазначение сигнала в качестве выходного сигнала моделиОбозначить позицию как вывод из модели

Моделирование этой модели интегрирует короткий импульс дважды, чтобы получить клин. Результаты отображаются в окне Область (Scope). Входной импульс представляет собой нажатие педали газа - 1, когда педаль нажата, и 0, когда это не так. Выходной клин представляет собой увеличивающееся расстояние от начальной точки.

Открыть новую модель

Используйте редактор Simulink Editor для построения моделей.

  1. Запустите MATLAB ®. На панели инструментов MATLAB нажмите кнопку Simulink.

  2. Щелкните шаблон Пустой модели (Blank Model).

    Откроется редактор Simulink.

  3. На вкладке Моделирование выберите Сохранить > Сохранить как. В текстовом поле Имя файла (File name) введите имя модели. Например, simple_model. Нажмите кнопку Сохранить. Модель сохраняется с расширением файла .slx.

Открыть браузер библиотеки Simulink

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

  • Continuous - Блоки для систем с непрерывными состояниями

  • Дискретный - Блоки для систем с дискретными состояниями

  • Математические операции - блоки, реализующие алгебраические и логические уравнения

  • Раковины - блоки, хранящие и отображающие сигналы, которые к ним подключаются

  • Источники - блоки, генерирующие значения сигналов, которые управляют моделью

  1. На вкладке «Моделирование» нажмите кнопку «Обозреватель библиотек».

  2. Установите браузер библиотеки так, чтобы он оставался поверх других окон рабочего стола. На панели «Обозреватель библиотеки Simulink» нажмите кнопку «Остаться сверху».

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

Например, найдите блок генератора импульсов. В поле поиска на панели инструментов браузера введите pulse, а затем нажмите Enter. Simulink ищет в библиотеках блоки с pulse в их имени или описании, а затем отображает блоки.

Получить подробную информацию о блоке. Щелкните правой кнопкой мыши блок генератора импульсов и выберите «Справка» для блока генератора импульсов. Откроется обозреватель справки со страницей ссылок для блока.

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

Добавление блоков в модель

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

  1. От Sources перетащите блок генератора импульсов в редактор Simulink Editor. В модели появится копия блока Генератор импульсов (Pulse Generator) с текстовым полем для значения параметра Амплитуда (Amplitude). Войти 1.

    Значения параметров сохраняются на протяжении всего моделирования.

  2. Добавьте следующие блоки в модель с использованием того же подхода.

    БлокБиблиотекаПараметр
    ВыгодаSimulink/Math Operations

    Выигрыш: 2

    Интегратор второго порядкаSimulink/Continuous

    Исходное состояние: 0

    Вспомогательный портSimulink/Sinks

    Номер порта: 1

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

    Теперь в вашей модели есть необходимые блоки.

  3. Расположите блоки, щелкнув и перетащив каждый блок. Чтобы изменить размер блока, перетащите угол.

Соединить блоки

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

  1. Щелкните выходной порт в правой части блока генератора импульсов.

    Выходной порт и все входные порты, подходящие для подключения, обозначаются синим символом шевронаport hint symbol.

  2. Укажитеport hint symbol, чтобы увидеть ключ подключения.

    Щелкните подсказку. Simulink соединяет блоки линией и стрелкой, указывающей направление потока сигнала.

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

  4. Подключите два выхода интегратора, блок второго порядка, к двум блокам выходного порта.

  5. Сохраните модель. На вкладке Моделирование (Simulation) щелкните Сохранить (Save).

Добавить средство просмотра сигналов

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

Щелкните сигнал. На вкладке Моделирование (Simulation) в разделе Подготовка (Prepare) щелкните Добавить средство просмотра (Add Viewer) Выберите Область. На сигнале появляется значок просмотра, и открывается окно области.

Область можно открыть в любое время, дважды щелкнув значок.

Запустить моделирование

После определения параметров конфигурации вы будете готовы к моделированию модели.

  1. На вкладке «Моделирование» задайте время остановки моделирования, изменив значение на панели инструментов.

    Время остановки по умолчанию 10.0 подходит для этой модели. Это значение времени не имеет единиц измерения. Единица времени в Simulink зависит от способа построения уравнений. Этот пример имитирует упрощенное движение автомобиля в течение 10 секунд - другие модели могли иметь время в миллисекундах или годах.

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

Моделирование выполняется и создает выходные данные в средстве просмотра.

Уточнить модель

В этом примере используется существующая модель. moving_car.slxи моделирует датчик близости на основе этой модели движения. В этом сценарии цифровой датчик измеряет расстояние между автомобилем и препятствием на расстоянии 10 м (30 футов). Модель выводит измерение датчика и положение автомобиля, принимая во внимание следующие условия:

  • Машина заходит на жесткую остановку, когда доходит до препятствия.

  • В физическом мире датчик измеряет расстояние неточно, вызывая случайные числовые ошибки.

  • Цифровой датчик работает с фиксированными временными интервалами.

Изменение параметров блока

Для запуска откройте moving_car модель. В командной строке MATLAB введите:

open_system('moving_car.slx')

Сначала нужно смоделировать жесткую остановку при достижении положения автомобиля 10 . Блок Integrator, Second-Order имеет параметр для этой цели.

  1. Дважды щелкните блок Integrator, Second-Order. Откроется диалоговое окно «Параметры блока».

  2. Выберите «Предел x» и введите 10 для верхнего предела x. Цвет фона для параметра изменяется, чтобы указать изменение, которое не применяется к модели. Нажмите кнопку ОК, чтобы применить изменения и закрыть диалоговое окно.

Добавление новых блоков и соединений

Добавьте датчик, измеряющий расстояние от препятствия.

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

    • Найдите фактическое расстояние. Чтобы определить расстояние между положением препятствия и положением транспортного средства, добавьте блок вычитания из Math Operations библиотека. Также добавьте блок константы из Sources для установки постоянного значения 10 для положения препятствия.

    • Смоделировать несовершенное измерение, типичное для реального датчика. Создание шума с помощью блока белого шума с ограниченным диапазоном из Sources библиотека. Установите для параметра Мощность шума значение 0.001. Добавьте шум к измерению с помощью блока Add из Math Operations библиотека.

    • Моделирование цифрового датчика, срабатывающего каждые 0,1 секунды. В Simulink выборка сигнала на заданном интервале требует выборки и хранения. Добавьте блок удержания нулевого порядка из Discrete библиотека. После добавления блока в модель измените значение параметра «Время образца» на 0.1.

    • Добавьте другой выходной порт для подключения к выходу датчика. Сохраните значение по умолчанию параметра Port number.

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

Аннотировать сигналы

Добавьте имена сигналов в модель.

  1. Дважды щелкните по сигналу и введите его имя.

  2. Для завершения нажмите в текстовом поле.

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

Сравнение нескольких сигналов

Сравните actual distance сигнал с помощью measured distance сигнал.

  1. Создание и подключение средства просмотра областей к actual distance сигнал. Щелкните правой кнопкой мыши сигнал и выберите «Create & Connect Viewer» > «Simulink» > «Scope». Имя сигнала отображается в заголовке программы просмотра.

  2. Добавить measured distance сигнал одному и тому же зрителю. Щелкните сигнал правой кнопкой мыши и выберите Connect to Viewer > Scope1. Убедитесь, что выполняется подключение к средству просмотра, созданному на предыдущем шаге.

  3. Запустите модель. В окне Viewer отображаются два сигнала: actual distance желтым и measured distance синим цветом.

  4. Увеличьте изображение графика, чтобы увидеть эффект шума и выборки. Нажмите кнопку «Зумирование». Щелкните левой кнопкой мыши и перетащите окно вокруг области, которую требуется увидеть более близко.

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

На графике обратите внимание, что измерение может отклоняться от фактического значения на 0,3 м. Эта информация становится полезной при проектировании элемента безопасности, например, предупреждения о столкновении.

См. также

Блоки

Связанные темы