Запланируйте разделы

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

Запланируйте модель экспорта функций Используя редактор расписания

Этот пример показывает, как просмотреть и отредактировать порядок выполнения вызовов функции в модели экспорта функций использование Редактора Расписания. Как во всех моделях экспорта функций, желаемая функциональность моделируется как подсистемы вызова функций. Эти подсистемы вызова функций задают разделы, которые планируются Редактором Расписания.

С Редактором Расписания можно легко просмотреть и отредактировать расписание вызовов функции. Поведение системы зависит от порядка выполнения этих разделов. В этом примере мы изменяем порядок выполнения и наблюдаем его эффекты на поведение системы путем симуляции модели. Чтобы видеть влияние редактирования расписания на симуляции, мы сравниваем симуляции модели до и после планирования.

Создайте разделы из модели экспорта функций, на которую ссылаются,

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

open_system('ThrottlePositionControlTop.slx');

ThrottlePositionControl является моделью экспорта функций, на которую ссылаются. По умолчанию каждая функция имеет входной порт, который может использоваться, чтобы инициировать эти функции. Редактор Расписания автоматически обрабатывает эти порты. Чтобы использовать Редактор Расписания, установите Уровни Расписания С параметром Планировать Редактор.

set_param('ThrottlePositionControlTop/ThrottleControl','ScheduleRatesWith','Schedule Editor');

Установите базовую линию симуляции

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

sim('ThrottlePositionControlTop');

Откройте редактор расписания

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

Отредактируйте расписание раздела

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

Перетащите ThrottleComposition.ActuatorRun5ms после ThrottleComposition.ControllerRun5ms в порядке выполнения. Заметьте, что задержка между ThrottleComposition.ControllerRun5ms и разделами ThrottleComposition.ActuatorRun5ms изменяется на зависимость. Заметьте, что теперь нет никакой задержки между выполнением ThrottleComposition.ControllerRun5ms и ThrottleComposition.ActuatorRun5ms.

Запланируйте выполнение апериодических разделов

Модель экспорта функций содержит неограниченный раздел, AccelerationPedalPositionSensor. Предположим, что вы хотите запланировать неограниченный раздел, чтобы моделировать, как будто это было дискретно. Запланируйте раздел AccelerationPedalPositionSensor, чтобы запуститься в [0:0.02:100], чтобы наблюдать его поведение в различных экземплярах времени. Кликните по неограниченному разделу и войдите [(1:5000) *.02] в течение Времен Хита в Property Inspector.

Сравните выполнения в инспекторе данных моделирования

Теперь, моделируйте модель с измененным расписанием.

Откройте Инспектора Данных моделирования. Выберите два выполнения и сравните. Вы видите, как изменение расписания влияет на поведение модели. Для получения дополнительной информации, Данные о виде на море с Инспектором Данных моделирования.

Copyright 2018-2019 The MathWorks, Inc.

Запланируйте Основанную на уровне Модель Используя редактор Расписания

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

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

Откройте модель и установите базовую линию симуляции

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

open_system('ScheduleEditorWithSubsystemPartitions');
sim('ScheduleEditorWithSubsystemPartitions');

Откройте редактор расписания и создайте разделы

Чтобы открыть Редактор Расписания, перейдите к Представлению-> Редактор Расписания. Использование Управляет Разделами, чтобы создать разделы из подсистем в вашей модели. Выберите все подсистемы в ThrottlePositionControl и кликните по Создать значку Разделов на верхней части Управлять панели Разделов. Задайте имена для разделов и их шага расчета. Обновите схему, чтобы видеть разделы в Редакторе Расписания.

Стрелки являются связями данных между разделами, которые показывают поток данных. Пунктирные линии всегда указывают, что существует задержка, когда источник выполняется после места назначения. Сплошные линии указывают, что нет никакой задержки, когда источник запускается перед местом назначения.

Отредактируйте расписание раздела

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

Сравните выполнения в инспекторе данных моделирования

Теперь, моделируйте модель с измененным расписанием.

Откройте Инспектора Данных моделирования. Выберите два выполнения и сравните. Вы видите, как изменение расписания влияет на поведение модели. Для получения дополнительной информации, Данные о виде на море с Инспектором Данных моделирования.

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

Похожие темы