Этот пример показывает, как можно использовать программное обеспечение MathWorks® и Основанный на модели Процесс разработки, чтобы пойти от концепции до реализации для системы окна со стеклоподъемником для автомобиля.
В этом примере рассмотрите систему окна со стеклоподъемником пассажирской стороны автомобиля. Обратите внимание, что критический аспект этой системы - то, что она никогда не может проявлять силу больше чем 100 Н на объекте при закрытии окна, например:
Когда модель обнаруживает такой объект, она должна понизить окно приблизительно на 10 сантиметров.
Для получения дополнительной информации о конструктивных требованиях см. документацию контроллера окна со стеклоподъемником
Этот пример использует Модельно-ориентированное проектирование и крупномасштабные методы моделирования такой как,
Блоки модели, чтобы разделить иерархию на отдельные модели.
Различные Блоки Подсистем к модели и переключателю между различными проектными решениями.
Библиотеки, чтобы получить алгоритмы для повторного использования в различных подсистемах.
Проект Simulink® управлять файлами, требуемыми для разработки системы.
Запустите следующую команду, чтобы создать и открыть рабочую копию файлов проекта для этого примера.
После визуального осмотра проекта вы видите, что функции от Симулинка Проджекта раньше организовывали пример. Эти функции
Папки
Классификация файлов
Ярлыки
Папки
Проект организован в следующие папки:
configureModel - содержит файлы MATLAB®, управляющие моделью основной системы различная настройка.
данные - содержат изображения, требуемые проектом.
hmi - содержит файлы, чтобы анимировать ответ окна со стеклоподъемником.
модель - содержит модель основной системы, модель контроллера, модели для тестирования контроллера и библиотек, которые поддерживают эти модели.
задача - содержит файлы MATLAB, которые моделируют модель для различных настроек модели и генерируют отчеты покрытия для контроллера.
утилиты - содержат файлы MATLAB, чтобы инициализировать модель, сгенерировать входной параметр электронной таблицы, добавить данные к сгенерированной электронной таблице и управлять средой проекта при запуске и завершении работы.
Классификация файлов
Файлы в Проектах Simulink имеют различные классификации, видимые в, Маркирует Pane. Каждая метка описывает определенную роль, которую файл вносит в тело проекта. В этом проекте новые классификации были добавлены, включая:
Настройка - файлы, которые конфигурируют проект или модель.
PrjConfig - файлы, которые конфигурируют проект путем добавления его файлов к пути при запуске и удаления их на завершении работы.
DesignConfig - файлы, которые определяют, какая настройка модели активна в установленный срок.
Дизайн - модель основной системы и ее модель управления, на которую ссылаются.
DesignSupport - файлы, такие как библиотеки, данные и образцовое моделирование.
Моделирование - файлы, которые моделируют модель для определенной настройки.
Тест - покрытие управления, взаимодействие управления и модели тестовой обвязки.
Визуализация - файлы, которые анимируют движение окна со стеклоподъемником.
Ярлыки
Ярлыки проекта используются, чтобы получить быстрый доступ к файлам проекта, которые чаще всего используются. Некоторые ярлыки содержат общие задачи, такие как добавление проекта к пути при запуске и удалении его на завершении работы. Кроме того, группы ярлыка проекта помогают организовать ярлыки. Новые группы ярлыка
Интерактивное Тестирование - содержит файлы, используемые для интерактивного тестирования контроллера.
Основная Модель - содержит файл для верхнего уровня модель Simulink.
Покрытие модели - содержит файлы, используемые для покрытия модели контроллера.
Моделирование - содержит файлы, используемые для моделирования различных настроек модели.
Модели Simulink для этого проекта расположены в образцовой папке. Модели интереса
Модель основной системы
Модели для тестирования
Модель основной системы
В этом примере под образцовой папкой моделью основной системы является slexPowerWindowExample
. Эта модель состоит из драйвера и пассажирских блоков switch, которые генерируют входные параметры к системе. Входные параметры затем проходят модель системы управления, которая подтверждает состояния входных параметров драйвера и пассажира. Блок системы управления также определяет, существует ли препятствие, блокирующее окно path. Контроллер, на который ссылаются, производит сигналы команды движения окна, отправленные в активный вариант оконной системы. Оконная система вывод является обратной связью к блоку системы управления.
Чтобы визуализировать результаты моделирования, Моделирование Data Inspector (SDI) регистрирует выходные данные и Simulink, 3D Animation™ анимирует движение окна.
Образцовые варианты
Модель основной системы в этом проекте использует блок Variant Subsystem
, чтобы допускать несколько реализаций в подсистеме. Активная реализация может быть программно изменена до моделирования. В основной модели существует четыре Различных блока Подсистемы каждый с различным выбором, который может быть программно изменен. Те четыре различных подсистемы:
slexPowerWindowExample/driver_switch
slexPowerWindowExample/passenger_switch
slexPowerWindowExample/window_system
slexPowerWindowExample/power_window_control_system/detect_obstacle_endstop
Каждый различный выбор сопоставлен с различным управлением. Различный выбор активен, когда его различное управление оценивает к true
.
С тех пор существует четыре программно модифицируемых Различных блока Подсистемы в основной модели, существуют файлы MATLAB, чтобы управлять комбинациями различного выбора создать различные настройки модели, которые найдены под классификацией DesignConfig
. Доступные различные настройки модели
Модель гибридной системы контроллера окна со стеклоподъемником
Контроллер окна со стеклоподъемником и подробная модель объекта управления
Контроллер окна со стеклоподъемником с эффектами сбора данных
Контроллер окна со стеклоподъемником с коммуникацией Сети области контроллера (CAN)
Модель гибридной системы контроллера окна со стеклоподъемником
Этот образцовый вариант использует Stateflow® и Simulink, чтобы смоделировать и дискретное событие реактивное поведение и непрерывное поведение времени. Это использует модель объекта управления низкоуровневую, чтобы подтвердить свертку и скатиться по поведению. Можно моделировать эту различную настройку с помощью ярлыка SimHybridPlantLowOrder
. Этот ярлык активирует только различную подсистему, соответствующую этой настройке модели. Поскольку эта модель не учитывает эффекты степени, единственный регистрируемый вывод является положением. Моделирование Data Inspector (SDI) отображает регистрируемые данные положения.
Контроллер окна со стеклоподъемником и подробная модель объекта управления
Этот образцовый вариант показывает более подробную модель объекта управления, которая включает эффекты степени в электрические и механические области, используется, чтобы подтвердить это, сила, проявленная окном на захваченном объекте никогда, не превышает 100 Н. Этот образцовый вариант требует, чтобы Simscape™ Multibody™ и Степень Simscape продукты Systems™ были установлены. Можно моделировать эту различную настройку с помощью ярлыка SimHybridPlantPowerEffects
. В отличие от предыдущей различной модели, эта различная настройка учитывает эффекты степени. SDI отображает записанные данные от текущей арматуры, положение и сила, проявленная окном со стеклоподъемником.
Контроллер окна со стеклоподъемником с эффектами сбора данных
Этот образцовый вариант показывает дополнительные эффекты из-за реализации, которые влияют на управление. Включенные явления являются созданием условий сигнала, чтобы измерить текущую арматуру и квантование измерения. Этот образцовый вариант требует, чтобы Simscape Multibody, Simscape Power Systems, Система DSP Toolbox™ и Фиксированная точка продукты Designer™ были установлены. Можно моделировать эту различную настройку с помощью ярлыка SimHybridPlantPowerEffects+ControlDAQEffects
. Как предыдущая модель, SDI отображает записанные данные от текущей арматуры, положение и сила, проявленная окном со стеклоподъемником.
Контроллер окна со стеклоподъемником с коммуникацией CAN
Этот образцовый вариант показывает использование CAN, чтобы передать команды, чтобы управлять перемещением окна. Переключатели, которые могут быть расположены в центральной консоли механизма и которые производят команды, включены в этот образцовый вариант. Этот образцовый вариант требует, чтобы Simscape Multibody, Simscape Power Systems, DSP System Toolbox и продукты Fixed-Point Designer были установлены. Можно моделировать эту различную настройку на машине рабочие окна OS с помощью the|SimCANCommunication | ярлык.
Модели для тестирования
Чтобы протестировать конечный автомат, который управляет окном со стеклоподъемником, можно запустить ярлыки проекта для тестирования. Доступные образцовые ярлыки для тестирования контроллера
InteractiveExample
CoverageExample
IncreaseCoverageExample
InteractiveExample
Этот образцовый ярлык открывает модель, slexPowerWindowCntlInteract. Эта модель содержит контроллер окна со стеклоподъемником, который является конечным автоматом. Эта модель также содержит входные параметры к контроллеру, которые выбраны с ручными блоками switch.
Контроллер окна со стеклоподъемником имеет четыре внешних входных параметра:
Пассажирский входной параметр
Входной параметр драйвера
Рамка окна Endstops
Существующее препятствие
Пассажирский входной параметр
Этот входной параметр состоит из вектора с тремя элементами:
neutral
: пассажирский переключатель управления не подавлен
up
: пассажирский переключатель управления генерирует сигнал
down
: пассажирский переключатель управления генерирует вниз сигнал
Входной параметр драйвера
Этот входной параметр состоит из вектора с тремя элементами:
neutral
: переключатель управления драйвером не подавлен
up
: переключатель управления драйвером генерирует сигнал
down
: переключатель управления драйвером генерирует вниз сигнал
Рамка окна Endstops
Этот входной параметр состоит из вектора с двумя элементами:
0
: окно перемещается свободно между верхней частью или нижней частью
1
: окно застревает наверху или нижняя часть из-за физических ограничений
Существующее препятствие
Этот входной параметр состоит из вектора с двумя элементами:
0
: окно перемещается свободно между верхней частью или нижней частью
1
: окно имеет препятствие в своем кадре
Можно в интерактивном режиме протестировать контроллер путем моделирования модели и выбора желаемой комбинации входных параметров через ручные блоки switch. После делания выбора входных параметров можно проверить состояние внутреннего контроллера и контроллер вывод против желаемого результата для этого определенного набора входных параметров.
CoverageExample
Этот образцовый ярлык открывает модель, slexPowerWindowCntlCoverage. Эта модель содержит контроллер окна со стеклоподъемником, который является конечным автоматом. Эта модель также содержит входные параметры к контроллеру, которые повторяют блоки последовательности.
Можно использовать Инструмент model coverage Simulink Coverage(TM), чтобы подтвердить дискретное управление событием окна. Инструмент model coverage помогает определить степень, до которой образцовый тест осуществляет условные переходы контроллера. Это также помогает оценить, взяты ли все переходы в дискретном управлении событием, учитывая тест, который мы запускаем. Это также оценивает, стали ли все пункты в условии, которое включает конкретный переход, верными. Один переход может быть включен несколькими пунктами, e. g., переход от чрезвычайной ситуации назад к нейтральному происходит, когда или 100 меток деления произошли или когда endstop достигнут.
IncreaseCoverageExample
Этот образцовый ярлык открывает модель, slexPowerWindowCntlCoverageIncrease. Эта модель содержит контроллер окна со стеклоподъемником, который является конечным автоматом. Эта модель также содержит блок From Spreadsheet, который обеспечивает несколько наборов входных параметров к контроллеру. Эти вводит, устанавливает объединение с тем от модели CoverageExample осуществлять больше логики в контроллере окна со стеклоподъемником.
Эти входные наборы:
Logged
: регистрируемый от CoverageExample.
LoggedObstacleOffEndStopOn
: Регистрируемый от CoverageExample со способностью поразить endstop.
LoggedObstacleOnEndStopOff
: Регистрируемый от CoverageExample с препятствием в окне.
LoggedObstacleOnEndStopOn
: Регистрируемый от CoverageExample с препятствием в окне и способности поразить endstop.
DriverLoggedPassengerNeutral
: Регистрируемый от CoverageExample для только драйвера. Пассажир не принимает мер.
DriverDownPassengerNeutral
: окно понижения Драйвера. Пассажир не принимает мер.
DriverUpPassengerNeutral
: окно повышения Драйвера. Пассажир не принимает мер.
DriverAutoDownPassengerNeutral
: окно понижения Драйвера в течение 1 секунды (автовниз). Пассажир не принимает мер.
DriverAutoUpPassengerNeutral
: окно повышения Драйвера в течение 1 секунды (авто). Пассажир не принимает мер.
PassengerAutoDownDriverNeutral
: окно понижения Пассажира в течение 1 секунды (автовниз). Драйвер не принимает мер.
PassengerAutoUpDriverNeutral
: Пассажир, повышающий окно в течение 1 секунды (авто). Драйвер не принимает мер.
Ярлык покрытия модели, GenerateIncreasedCoverage, использует несколько входных наборов с Инструментом model coverage Simulink Coverage, чтобы подтвердить дискретное управление событием окна и сгенерировать отчет покрытия для нескольких входных наборов. Инструмент model coverage помогает определить степень, до которой образцовый тест осуществляет условные переходы контроллера. Это также помогает оценить, если все переходы в дискретном управлении событием были учтены, учитывая входные наборы, мы запускаемся.
См. документацию контроллера окна со стеклоподъемником