Создайте простую модель

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

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

Имя блокаБлокируйте цельЦель модели
Pulse GeneratorСгенерируйте входной сигнал для моделиПредставляйте педаль акселератора
GainУмножьте входной сигнал на постоянное значениеВычислите, как нажатие акселератора влияет на автомобильное ускорение
Integrator, Second-OrderИнтегрируйте входной сигнал дваждыПолучите положение из ускорения
OutportОпределяйте сигнал как выход из моделиОпределяйте позицию выхода из модели

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

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

Используйте Редактор Simulink, чтобы создать ваши модели.

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

  2. Кликните по шаблону Blank Model.

    Редактор Simulink открывается.

  3. От вкладки Simulation выберите Save > Save as. В текстовом поле File name введите имя для своей модели. Например, simple_model. Нажмите Save. Модель сохранена с расширением файла .slx.

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

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

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

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

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

  • Приемники — Блоки, которые хранят и показывают сигналы, которые соединяются с ними

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

  1. От вкладки Simulation нажмите кнопку Library Browser.

  2. Настройте Браузер Библиотеки остаться сверху других настольных окон. На панели инструментов Simulink Library Browser нажмите кнопку Stay on top.

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

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

Получите подробную информацию о блоке. Щелкните правой кнопкой по блоку Pulse Generator, и затем выберите Help for the Pulse Generator block. Браузер документации открывается страницей с описанием для блока.

Блоки обычно имеют несколько параметров. Можно получить доступ ко всем параметрам блоков путем двойного клика по блоку.

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

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

  1. От Sources библиотека, перетащите блок Pulse Generator к Редактору Simulink. Копия блока Pulse Generator появляется в вашей модели с текстовым полем для значения параметра Amplitude. Введите 1.

    Значения параметров сохранены в течение симуляции.

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

    БлокБиблиотекаПараметр
    GainSimulink/Math Operations

    Усиление: 2

    Integrator, Second-OrderSimulink/Continuous

    Начальное условие: 0

    OutportSimulink/Sinks

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

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

    Ваша модель теперь имеет блоки, в которых вы нуждаетесь.

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

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

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

  1. Кликните по выходному порту на правой стороне блока Pulse Generator.

    Выходной порт и все входные порты, подходящие для связи, подсвечены.

  2. Кликните по входному порту блока Gain.

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

  3. Соедините выходной порт Gain block к входному порту на блоке Integrator, Second-Order.

  4. Соедините два выходных параметров блока Integrator, Second-Order с двумя блоками Outport.

  5. Сохраните свою модель. Во вкладке Simulation нажмите кнопку Save.

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

Чтобы просмотреть результаты симуляции, соедините первый выход с Signal Viewer.

Кликните по сигналу. Во вкладке Simulation под Prepare нажмите Add Viewer. Выберите Scope. Значок средства просмотра появляется на сигнале, и окно scope открывается.

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

Запустите симуляцию

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

  1. Во вкладке Simulation, набор время остановки симуляции путем изменения значения на панели инструментов.

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

  2. Чтобы запустить симуляцию, нажмите кнопку Run .

Симуляция запускает и производит выход в средстве просмотра.

Совершенствуйте модель

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

  • Автомобиль прибывает в жесткий упор, когда он достигает препятствия.

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

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

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

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

open_system('moving_car.slx')

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

  1. Дважды кликните "Интегратор, Second-Order" блок. Диалоговое окно Block Parameters появляется.

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

Добавьте новые блоки и связи

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

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

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

    • Смоделируйте несовершенное измерение, которое было бы типично к действительному датчику. Сгенерируйте шум при помощи блока Band-Limited White Noise из Sources библиотека. Установите the Noise power параметр на 0.001. Добавьте шум в измерение при помощи блока Add из Math Operations библиотека.

    • Смоделируйте цифровой датчик, который стреляет каждую 0.1 секунды. В Simulink выборка сигнала в данном интервале требует выборки, и содержать. Добавьте блок Zero-Order Hold из Discrete библиотека. После того, как вы добавляете блок в модель, изменяете параметр Sample Time в 0.1.

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

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

Аннотируйте сигналы

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

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

  2. В заключение, щелкните далеко от текстового поля.

  3. Повторите эти шаги, чтобы добавить имена как показано.

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

Сравните actual distance сигнал с measured distance сигнал.

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

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

  3. Запустите модель. Средство просмотра показывает два сигнала, actual distance в желтом и measured distance в синем.

  4. Масштабируйте в график, чтобы наблюдать эффект шума и выборки. Нажмите кнопку Zoom. Щелкните левой кнопкой и перетащите окно вокруг области, которую вы хотите видеть более тесно.

    Можно неоднократно увеличивать масштаб, чтобы наблюдать детали.

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

Смотрите также

Блоки

Похожие темы