Для компонентов программного обеспечения AUTOSAR, которые содержат несколько runnables, AUTOSAR, Синхронизация спецификации Расширений задает ограничения порядка выполнения. Эти ограничения задают порядок выполнения выполнимых сущностей в компоненте.
В Simulink® вы можете:
Импортируйте ограничения порядка выполнения из файлов ARXML.
Откройте модель компонента AUTOSAR и используйте Редактор Расписания, чтобы изменить порядок выполнения runnables.
Экспортируйте ограничения порядка выполнения в файлы ARXML.
Обновите ограничения порядка выполнения в модели компонента AUTOSAR путем импорта изменений ARXML.
В модели компонента программного обеспечения AUTOSAR можно использовать Редактор Расписания, чтобы запланировать и задать порядок выполнения runnables. Редактор Расписания является инструментом планирования, который отображает разделы в модели, связях данных между ними и порядке тех разделов. В моделях компонента AUTOSAR разделы соответствуют выполнимым сущностям, которые выполняются независимо. В Редакторе Расписания вы можете:
Просмотрите графическое представление runnables как разделы в компоненте AUTOSAR.
Создайте разделы и сопоставьте их с AUTOSAR runnables.
Непосредственно задайте порядок выполнения runnables.
Редактор Расписания поддерживает несколько стилей моделирования, включая моделирование основанного на уровне и экспорта функций. Для получения дополнительной информации смотрите Используя Редактор Расписания и Создайте Разделы.
Можно также использовать Редактор Расписания в моделировании архитектуры AUTOSAR. Смотрите Конфигурируют Планирование AUTOSAR и Симуляцию.
Для runnables в модели компонента AUTOSAR Редактор Расписания первоначально отображает неявные разделы, созданные на основе стиля моделирования компонента. Можно просмотреть и сконфигурировать неявные разделы или создать явные разделы и сопоставить их с новым или существующим AUTOSAR runnables.
Просмотреть и сконфигурировать неявные разделы:
Откройте модель autosar_swc_expfcns
в качестве примера AUTOSAR, то, которое использует Simulink, экспортировало функции в модель AUTOSAR runnables.
Откройте вкладку Modeling и выберите Schedule Editor. Редактор Расписания отображает периодические экспортируемые функции, которые сопоставляют с AUTOSAR runnables как неявные разделы.
Можно использовать средства управления редактором, чтобы переупорядочить разделы. Например, в разделе Order, кликните по стрелкам-указателям или перетащите записи таблицы.
Создать явный раздел в компоненте программного обеспечения AUTOSAR:
Откройте модель autosar_swc
в качестве примера AUTOSAR, какие модели периодический runnables с несколькими частотами дискретизации.
Первоначально, из Редактора Расписания перспектива, модель содержит неявные разделы D1 и D2.
Чтобы создать раздел, откройте диалоговое окно параметров блоков для подсистемы SS1 и выберите Treat as atomic unit. Установите параметр Schedule as на Periodic partition
. Задайте имя раздела, такое как P1 и шаг расчета 1. Нажмите Apply.
Откройте вкладку Modeling и выберите Schedule Editor. Редактор Расписания отображает явный периодический раздел в модели.
Для основанных на уровне моделей можно переупорядочить только разделы, которые имеют тот же уровень. Поскольку эта модель содержит два раздела с различными уровнями, средства управления редактором для переупорядочения разделов не доступны.
В окне модели откройте редактор Отображений Кода и выберите вкладку Functions. Сопоставьте функцию раздела P1 с выполнимым AUTOSAR. Если необходимо добавить выполнимое AUTOSAR, открыть Словарь AUTOSAR, представление Runnables, и нажать кнопку Add. В данном примере карта P1 к выполнимому Runnable_1s
.
Создавание модели AUTOSAR, которая содержит ограничения порядка выполнения, экспортирует время выполнения компонента. Если вы устанавливаете Словарь AUTOSAR опция XML Exported XML File Packaging к Modular
, время выполнения экспортируется в файл
. Вот ограничение порядка выполнения, экспортируемое для runnables в modelname
_timing.arxmlautosar_swc
, на основе Редактора Расписания настройка.
<SWC-TIMING UUID="..."> <SHORT-NAME>ASWC</SHORT-NAME> <TIMING-REQUIREMENTS> <EXECUTION-ORDER-CONSTRAINT UUID="..."> <SHORT-NAME>EOC</SHORT-NAME> <ORDERED-ELEMENTS> <EOC-EXECUTABLE-ENTITY-REF UUID="...> <SHORT-NAME>Runnable_1s</SHORT-NAME> <EXECUTABLE-REF DEST="RUNNABLE-ENTITY"> /Company/Powertrain/Components/ASWC/ASWC_IB/Runnable_1s </EXECUTABLE-REF> <SUCCESSOR-REFS> <SUCCESSOR-REF DEST="EOC-EXECUTABLE-ENTITY-REF"> /Timing/ASWC/EOC/Runnable_2s </SUCCESSOR-REF> </SUCCESSOR-REFS> </EOC-EXECUTABLE-ENTITY-REF> <EOC-EXECUTABLE-ENTITY-REF UUID="..."> <SHORT-NAME>Runnable_2s</SHORT-NAME> <EXECUTABLE-REF DEST="RUNNABLE-ENTITY"> /Company/Powertrain/Components/ASWC/ASWC_IB/Runnable_2s </EXECUTABLE-REF> </EOC-EXECUTABLE-ENTITY-REF> </ORDERED-ELEMENTS> </EXECUTION-ORDER-CONSTRAINT> </TIMING-REQUIREMENTS> <BEHAVIOR-REF DEST="SWC-INTERNAL-BEHAVIOR"> /Company/Powertrain/Components/ASWC/ASWC_IB </BEHAVIOR-REF> </SWC-TIMING>