exponenta event banner

Настройка выполняемого порядка выполнения AUTOSAR

Для компонентов программного обеспечения AUTOSAR Classic Platform, содержащих несколько запускаемых файлов, спецификация AUTOSAR Timing Extensions определяет ограничения порядка выполнения. Эти ограничения определяют порядок выполнения исполняемых объектов в компоненте. Можно просматривать ограничения и управлять ими на уровне компонента или в архитектурных моделях AUTOSAR на уровне виртуальной функциональной шины (VFB).

В Simulink ® можно:

  • Импорт ограничений порядка выполнения на уровне компонентов и VFB из файлов ARXML.

  • Откройте компонент или архитектурную модель AUTOSAR и с помощью редактора расписания измените порядок выполнения исполняемых таблиц.

  • Экспорт ограничений порядка выполнения на уровне компонентов и VFB в файлы ARXML.

  • В модели компонента обновите ограничения порядка выполнения путем импорта изменений ARXML.

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

  • Просмотр графического представления исполняемых объектов в виде разделов в компоненте AUTOSAR.

  • Создайте разделы и сопоставьте их с исполняемыми таблицами AUTOSAR.

  • Непосредственно укажите порядок выполнения исполняемых таблиц.

Редактор спецификаций поддерживает несколько стилей моделирования, включая моделирование на основе скорости и функции экспорта. Дополнительные сведения см. в разделах Использование редактора расписаний и Создание секций. Редактор спецификаций можно также использовать при моделировании архитектуры AUTOSAR. См. раздел Настройка планирования и моделирования AUTOSAR.

В автономной модели компонента AUTOSAR для открытия редактора спецификаций откройте вкладку Моделирование (Modeling) и выберите Редактор спецификаций (Schedule Editor). Для объектов выполнения в модели компонента AUTOSAR в редакторе спецификаций первоначально отображаются неявные секции, созданные на основе стиля моделирования компонентов. Можно просматривать и настраивать неявные разделы или создавать явные разделы и сопоставлять их с новыми или существующими исполняемыми таблицами AUTOSAR.

Для просмотра и настройки неявных разделов:

  1. Открыть пример модели AUTOSAR autosar_swc_expfcns, которая использует экспортированные функции Simulink для моделирования исполняемых объектов AUTOSAR.

  2. Откройте вкладку Моделирование (Modeling) и выберите Редактор расписаний (Schedule Editor). Редактор расписаний отображает функции периодического экспорта, которые сопоставляются с исполняемыми таблицами AUTOSAR, как неявные разделы.

    Используйте элементы управления редактора для изменения порядка разделов. Например, в разделе Порядок щелкните стрелки направления или перетащите элементы таблицы.

Чтобы создать явный раздел в программном компоненте AUTOSAR:

  1. Открыть пример модели AUTOSAR matlabroot/help/toolbox/autosar/examples/mAutosarMultitasking.slx, которая моделирует периодические выполняемые таблицы, имеющие несколько скоростей выборки.

    Первоначально с точки зрения редактора спецификаций модель содержит неявные секции D1, D2, D3 и D4.

  2. Чтобы создать секцию, откройте диалоговое окно параметров блока для подсистемы SS1. При выбранном параметре Обработать как атомную единицу (Treat as atomic unit) задайте параметр Расписание (Schedule) как Periodic partition. Укажите имя секции, например P1, и время выборки 1. Нажмите кнопку «Применить». Обновите схему модели.

  3. Откройте вкладку Моделирование (Modeling) и выберите Редактор расписаний (Schedule Editor). Редактор расписания отображает явную периодическую секцию в модели.

  4. В окне модели откройте редактор Сопоставления кодов (Code Mappings) и перейдите на вкладку Функции (Functions). Сопоставьте функцию P1 разбиения с возможностью выполнения AUTOSAR.

    1. Если конфигурация не содержит функции AUTOSAR, которую можно отобразить, добавьте функцию. Откройте окно AUTOSAR Dictionary, Runnables и нажмите кнопку Add. Для этого примера создайте выполняемый Runnable_P1. Затем выберите запускаемое и создайте событие синхронизации.

    2. На вкладке Функции сопоставьте P1 с Runnable_P1.

При построении модели AUTOSAR, содержащей ограничения порядка выполнения, экспортируется информация о синхронизации компонентов. Если для параметра AUTOSAR Dictionary XML опция Экспортированная упаковка файлов XML установлена значение Modular, информация о синхронизации экспортируется в файл modelname_timing.arxml. Этот код ARXML показывает ограничение порядка выполнения, экспортированное для исполняемых таблиц в mAutosarMultitasking, на основе конфигурации редактора расписания.

<SWC-TIMING UUID="...">
    <SHORT-NAME>mAutosarMultitasking</SHORT-NAME>
    <TIMING-REQUIREMENTS>
        <EXECUTION-ORDER-CONSTRAINT UUID="...">
            <SHORT-NAME>EOC</SHORT-NAME>
            <ORDERED-ELEMENTS>
                <EOC-EXECUTABLE-ENTITY-REF UUID="...">
                    <SHORT-NAME>Runnable_Step</SHORT-NAME>
                    <EXECUTABLE-REF DEST="RUNNABLE-ENTITY">
                      /pkg/swc/mAutosarMultitasking/IB/Runnable_Step
                    </EXECUTABLE-REF>
                    <SUCCESSOR-REFS>
                        <SUCCESSOR-REF DEST="EOC-EXECUTABLE-ENTITY-REF">
                          /Timing/mAutosarMultitasking/EOC/Runnable_P1
                        </SUCCESSOR-REF>
                    </SUCCESSOR-REFS>
                </EOC-EXECUTABLE-ENTITY-REF>
                <EOC-EXECUTABLE-ENTITY-REF UUID="...">
                    <SHORT-NAME>Runnable_P1</SHORT-NAME>
                    <EXECUTABLE-REF DEST="RUNNABLE-ENTITY">
                      /pkg/swc/mAutosarMultitasking/IB/Runnable_P1
                    </EXECUTABLE-REF>
                    <SUCCESSOR-REFS>
                        <SUCCESSOR-REF DEST="EOC-EXECUTABLE-ENTITY-REF">
                          /Timing/mAutosarMultitasking/EOC/Runnable_Step1
                        </SUCCESSOR-REF>
                    </SUCCESSOR-REFS>
                </EOC-EXECUTABLE-ENTITY-REF>
                <EOC-EXECUTABLE-ENTITY-REF UUID="...">
                    <SHORT-NAME>Runnable_Step1</SHORT-NAME>
                    <EXECUTABLE-REF DEST="RUNNABLE-ENTITY">
                      /pkg/swc/mAutosarMultitasking/IB/Runnable_Step1
                    </EXECUTABLE-REF>
                    <SUCCESSOR-REFS>
                        <SUCCESSOR-REF DEST="EOC-EXECUTABLE-ENTITY-REF">
                          /Timing/mAutosarMultitasking/EOC/Runnable_Step2
                        </SUCCESSOR-REF>
                    </SUCCESSOR-REFS>
                </EOC-EXECUTABLE-ENTITY-REF>
                <EOC-EXECUTABLE-ENTITY-REF UUID="...">
                    <SHORT-NAME>Runnable_Step2</SHORT-NAME>
                    <EXECUTABLE-REF DEST="RUNNABLE-ENTITY">
                      /pkg/swc/mAutosarMultitasking/IB/Runnable_Step2
                    </EXECUTABLE-REF>
                    <SUCCESSOR-REFS>
                        <SUCCESSOR-REF DEST="EOC-EXECUTABLE-ENTITY-REF">
                          /Timing/mAutosarMultitasking/EOC/Runnable_Step3
                        </SUCCESSOR-REF>
                    </SUCCESSOR-REFS>
                </EOC-EXECUTABLE-ENTITY-REF>
                <EOC-EXECUTABLE-ENTITY-REF UUID="...">
                    <SHORT-NAME>Runnable_Step3</SHORT-NAME>
                    <EXECUTABLE-REF DEST="RUNNABLE-ENTITY">
                      /pkg/swc/mAutosarMultitasking/IB/Runnable_Step3
                    </EXECUTABLE-REF>
                </EOC-EXECUTABLE-ENTITY-REF>
            </ORDERED-ELEMENTS>
        </EXECUTION-ORDER-CONSTRAINT>
    </TIMING-REQUIREMENTS>
    <BEHAVIOR-REF DEST="SWC-INTERNAL-BEHAVIOR">
      /pkg/swc/mAutosarMultitasking/IB
    </BEHAVIOR-REF>
</SWC-TIMING>

См. также

Связанные примеры

Подробнее