Сконфигурируйте выполнимый порядок выполнения AUTOSAR

Для Классических компонентов программного обеспечения Платформы AUTOSAR, которые содержат несколько runnables, AUTOSAR, Синхронизация спецификации Расширений задает ограничения порядка выполнения. Эти ограничения задают порядок выполнения выполнимых сущностей в компоненте. Можно просмотреть и управлять ограничениями на уровне компонента или, в моделях архитектуры AUTOSAR, на уровне Шины виртуальной функции (VFB).

В Simulink® вы можете:

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

  • Откройте компонент AUTOSAR или модель архитектуры и используйте Редактор Расписания, чтобы изменить порядок выполнения runnables.

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

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

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

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

  • Создайте разделы и сопоставьте их с AUTOSAR runnables.

  • Непосредственно задайте порядок выполнения runnables.

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

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

Просмотреть и сконфигурировать неявные разделы:

  1. Откройте модель autosar_swc_expfcns в качестве примера AUTOSAR, то, которое использует Simulink, экспортировало функции в модель AUTOSAR runnables.

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

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

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

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

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

  2. Чтобы создать раздел, откройте диалоговое окно параметров блоков для подсистемы SS1. С Treat as atomic unit выбранный, установленный параметр Schedule as к Periodic partition. Задайте имя раздела, такое как P1 и шаг расчета 1. Нажмите Apply. Обновите диаграмму модели.

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

  4. В окне модели откройте редактор Отображений Кода и выберите вкладку Functions. Сопоставьте функцию раздела P1 с выполнимым AUTOSAR.

    1. Если настройка не содержит выполнимое AUTOSAR, чтобы сопоставить, добавьте выполнимое. Откройте Словарь AUTOSAR, представление Runnables, и нажмите кнопку Add. В данном примере создайте выполнимый Runnable_P1. Затем выберите выполнимое и создайте событие синхронизации.

    2. Во вкладке Functions, карте P1 к Runnable_P1.

Создавание модели AUTOSAR, которая содержит ограничения порядка выполнения, экспортирует время выполнения компонента. Если вы устанавливаете Словарь AUTOSAR опция XML Exported XML File Packaging к Modular, время выполнения экспортируется в файл modelname_timing.arxml. Этот код ARXML показывает ограничение порядка выполнения, экспортируемое для runnables в 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>

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

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

Больше о