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

Вы можете использовать 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 предоставляет набор библиотек блоков, организованных по функциям в Library Browser. Следующие библиотеки являются общими для большинства рабочих процессов:

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

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

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

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

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

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

  2. Установите браузер библиотек на верхнюю часть из других окон рабочего стола. На панели инструментов браузера библиотеки Simulink нажмите кнопку 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.

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

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

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

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

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

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

Add Signal Viewer (добавить средство просмотра сигналов)

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

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

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

Выполняйте симуляцию

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

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

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

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

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

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

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

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

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

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

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

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

open_system('moving_car.slx')

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

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

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

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

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

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

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

    • Моделируйте несовершенные измерения, которые были бы типичны для реального датчика. Сгенерируйте шум при помощи блока Band-Limited White Noise из Sources библиотека. Установите параметр 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 м. Эта информация становится полезной при разработке функции безопасности, например, предупреждения столкновения.

См. также

Блоки

Похожие темы