Модель поведения компонента AUTOSAR

В Simulink®можно смоделировать поведение компонента AUTOSAR, включая поведение исполняемых элементов, событий и переменных между выполнениями.

Элементы AUTOSAR для моделирования поведения компонента

Чтобы смоделировать поведение компонента AUTOSAR, вы моделируете элементы AUTOSAR, которые описывают аспекты планирования и совместного использования ресурсов компонента. Элементы AUTOSAR, которые влияют на поведение компонентов, включают:

  • Runnables и события, на которые они реагируют

  • Межпрограммные переменные, используемые для связи данных между выполняемыми объектами в том же компоненте

  • Включенные наборы типов данных, которые обеспечивают внутренние типы данных компонентов

  • Системные константы, используемые для задания значений констант уровня системы, которые доступны для ссылки в алгоритмах компонента

  • Память по экземплярам, используемая для задания глобальной памяти конкретного экземпляра в компоненте

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

  • Общая память и память по экземплярам для доступа к внутренним параметрам компонента

  • Параметры порта для основанного на портах доступа к параметрическим данным

В этом разделе описывается, как смоделировать элементы AUTOSAR, которые помогают вам задать поведение компонента.

Runnables

Программные компоненты AUTOSAR содержат выполняемые файлы, которые прямо или косвенно запланированы базовой операционной системой AUTOSAR.

Этот рисунок показывает программный компонент AUTOSAR с двумя выполняемыми объектами, Runnable 1 и Runnable 2. RTEEvents, события, сгенерированные окружением выполнения AUTOSAR (RTE), запускают каждую выполняемую. Для примера TimingEvent является RTEEvent, который генерируется периодически.

Компонент также может содержать одну runnable, представленную моделью, и может быть односкоростным или мультирейтовым.

Примечание

Программное обеспечение генерирует дополнительную выполняемую функцию инициализации независимо от шаблона моделирования.

Для получения дополнительной информации см. Раздел «Настройка Runnables и событий AUTOSAR».

Переменные, выполняемые между ними

В AUTOSAR промежуточные переменные используются для передачи данных между выполняемыми в том же компоненте. Вы задаете эти переменные в модели Simulink по сигнальным линиям, которые соединяют подсистемы (runnables). Для примера на следующем рисунке irv1, irv2, irv3, и irv4 являются межпрограммными переменными.

Можно задать имена и режимы доступа к данным для экспортируемых переменных.

Включенные наборы типов данных

В модели программного компонента AUTOSAR можно импортировать и экспортировать описания ARXML включенных наборов типов данных AUTOSAR (IncludedDataTypeSetс). Система координат IncludedDataTypeSet задает типы данных AUTOSAR, которые являются внутренними для компонента и не присутствуют в описаниях интерфейса компонента. Несколько компонентов могут импортировать IncludedDataTypeSet для совместного использования общего набора внутренних типов данных.

Если вы импортируете файлы ARXML, которые содержат IncludedDataTypeSet описания в Simulink, импортер создает внутренние типы данных в модели компонента AUTOSAR и преобразует их в заголовочный файл Rte_Type.h.

В модели компонента AUTOSAR, чтобы сконфигурировать внутренние типы данных для экспорта в ARXML IncludedDataTypeSet описания, сопоставить внутренние типы данных с файлами заголовков Rte_Type.h. Создание модели компонента:

  • Экспорты ARXML- IncludedDataTypeSet описания для внутренних типов данных, которые используются в коде модели.

  • Генерирует Rte_Type.h записи заголовочного файла для внутренних типов данных.

Для AUTOSAR IncludedDataTypeSet экспорт, Simulink поддерживает следующие типы данных:

  • Числовой

  • Псевдоним

  • Автобус

  • Фиксированная точка

  • Перечисленный

Буквальные префиксы для литералов перечисления обрабатываются по-разному между импортированными и созданными IncludedDataTypeSets:

  • Если вы импортируете IncludedDataTypeSet который задает LiteralPrefix как общий префикс для литералов перечисления, импортер сохраняет LiteralPrefix для экспорта и туда и обратно IncludedDataTypeSet.

  • Если вы конфигурируете внутренние типы данных в модели компонента для экспорта в AUTOSAR IncludedDataTypeSetэкспортер генерирует типы данных в IncludedDataTypeSet с пустым LiteralPrefix.

Дополнительные сведения см. в разделе Настройка внутренних типов данных для AUTOSAR IncludedDataTypeSets.

Системные константы

системные константы AUTOSAR (SwSystemConstants) задайте постоянные значения уровня системы, которые доступны для ссылки в алгоритмах компонента. Чтобы добавить системные константы AUTOSAR к модели, можно:

  • Импортируйте их из файлов ARXML.

  • Создайте их в Simulink при помощи AUTOSAR.Parameter объекты, для которых Storage class установлено значение SystemConstant.

Затем можно ссылаться на системные константы AUTOSAR в алгоритмах Simulink. Для примера можно ссылаться на системную константу в блоке Gain или в формуле условия внутри подсистемы или модели-ссылки варианта.

Когда вы ссылаетесь на системную константу AUTOSAR в модели:

  • Экспортированный код ARXML содержит соответствующее SwSystemConstant и соответствующий прокси точки изменения AUTOSAR (VariationPointProxy), который ссылается на SwSystemConstant. Если вы генерируете модульные файлы ARXML, SwSystemConstant расположен в modelname_datatype.arxml и VariationPointProxy расположен в modelname_component.arxml.

  • Сгенерированный код C использует сгенерированный VariationPointProxy в местах, где модель использует SwSystemConstant.

Пример системной константы AUTOSAR, которая представляет условное значение, сопоставленное с логикой условий исполнения, см. в разделе Настройка вариантов для реализаций AUTOSAR Runnable.

Память по экземплярам

AUTOSAR поддерживает память по экземплярам, которая позволяет задавать глобальную память по экземплярам в программном компоненте. Генератор окружения выполнения AUTOSAR выделяет эту память и предоставляет API, через который вы получаете доступ к этой памяти.

Память в относительных экземплярах может иметь тип AUTOSAR или тип C. Память экземпляров с типом AUTOSAR (arTypedPerInstanceMemory) описывается с использованием типов данных AUTOSAR, а не типов C. При экспорте в коде ARXML arTypedPerInstanceMemory позволяет использовать инструменты измерения и калибровки для мониторинга глобальной переменной, соответствующей памяти по экземплярам.

AUTOSAR также позволяет использовать память по экземплярам в качестве зеркала ОЗУ для данных в энергонезависимой оперативной памяти (NVRAM). Вы можете получить доступ и использовать NVRAM в своем приложении AUTOSAR.

Чтобы добавить память AUTOSAR по экземплярам к вашей модели, можно:

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

  • Создайте содержимое модели, которое представляет память по экземплярам.

Для моделирования arTypedPerInstanceMemoryможно использовать блочные сигналы, дискретные состояния или хранилища данных в модели AUTOSAR:

  • Чтобы использовать сигналы блоков и дискретные состояния, используйте редактор Code Mappings, Signals/States вкладку, чтобы выбрать сигнал или состояние и сопоставить его с arTypedPerInstanceMemory. Property Inspector отображает код и атрибуты калибровки для статической памяти, которые можно изменить.

  • Чтобы использовать хранилища данных, используйте редактор Отображения, Data Stores вкладку, чтобы выбрать хранилище данных и сопоставить его с arTypedPerInstanceMemory. Property Inspector отображает код и атрибуты калибровки для статической памяти, которые можно изменить.

Дополнительные сведения см. в разделе Настройка памяти AUTOSAR на экземпляр.

Статическая и постоянная память

AUTOSAR поддерживает статическую память (StaticMemory) и постоянную память (ConstantMemory) данные. Статическая память соответствует внутренним глобальным сигналам Simulink. Постоянная память соответствует внутренним глобальным параметрам Simulink. В Simulink можно импортировать и экспортировать описания ARXML статической и постоянной памяти AUTOSAR. При экспорте в коде ARXML статическая память и постоянная память позволяют использовать инструменты измерения и калибровки для мониторинга данных внутренней памяти.

Чтобы смоделировать статическую память AUTOSAR в Simulink, используйте редактор Code Mappings, Signals/States или Data Stores вкладку. Выберите сигнал, состояние или хранилище данных и сопоставьте его с StaticMemory. Property Inspector отображает код и атрибуты калибровки для статической памяти, которые можно изменить.

Чтобы смоделировать постоянную память AUTOSAR в Simulink, используйте редактор Code Mappings, Parameters вкладку, чтобы выбрать параметр и сопоставить его с ConstantMemory. Property Inspector отображает код и атрибуты калибровки для постоянной памяти, которые можно изменить.

Для получения дополнительной информации смотрите Настройте статическую память AUTOSAR и Настройте постоянную память AUTOSAR.

Общие и относительные параметры

AUTOSAR поддерживает общие параметры (SharedParameters) и параметрах по экземплярам (PerInstanceParameters) для использования в программных компонентах, которые потенциально создаются несколько раз. Общие значения параметров являются общими для всех образцов компонента. Значения параметров в относительных экземплярах являются уникальными и частными для каждого образца компонента.

В Simulink можно импортировать и экспортировать описания ARXML общих и относительных параметров AUTOSAR. При экспорте в коде ARXML общие и относительные параметры позволяют использовать инструменты измерения и калибровки для мониторинга параметров компонентов.

Чтобы смоделировать общий параметр AUTOSAR в Simulink, сконфигурируйте параметр рабочего пространства модели, который не является аргументом модели (то есть не является уникальным для каждого образца модели с мультиобразцами). Для примера в представлении параметра Model Explorer очистите свойство Argument. В редакторе Code Mappings Parameters вкладке выберите параметр и сопоставьте его с типом параметра SharedParameter. Property Inspector отображает код и атрибуты калибровки для общего параметра, которые можно изменить.

Чтобы смоделировать параметр AUTOSAR по экземплярам в Simulink, сконфигурируйте параметр рабочего пространства модели, который является аргументом модели (то есть уникальным для каждого образца модели с мультиобразцами). Для примера в представлении параметра Model Explorer выберите свойство Argument. В редакторе Code Mappings Parameters вкладке выберите параметр и сопоставьте его с параметром PerInstanceParameter. Property Inspector отображает код и атрибуты калибровки для параметра по экземплярам, которые можно изменить.

Дополнительные сведения см. в разделе Настройка параметров AUTOSAR Shared или Per-Instance.

Параметры порта

Стандарт AUTOSAR задает основанные на портах параметры для передачи параметров. Коммуникация параметров AUTOSAR основана на программном компоненте параметра (ParameterSwComponent) и один или несколько атомарных программных компонентов, которые требуют основанного на портах доступа к данным о параметрах. The ParameterSwComponent представляет память, содержащую параметры AUTOSAR, и обеспечивает данные параметров для подключенных компонентов атомарного программного обеспечения.

В Simulink можно смоделировать сторону приемника передачи параметра AUTOSAR. Импортируя описания ARXML или конфигурируя модель программного компонента, можно смоделировать:

  • Компонент приемника параметра AUTOSAR, который взаимодействует со ParameterSwComponent для приема данных о параметрах.

  • Интерфейс параметра AUTOSAR, который содержит элементы данных о параметрах. Элементы данных сопоставлены с объектами параметра или интерполяционной таблицы в рабочем пространстве модели.

  • Порт приемника параметра AUTOSAR, используемый для связи со ParameterSwComponent.

Когда вы генерируете код для компонента приемника параметра AUTOSAR:

  • Экспортированные файлы ARXML содержат описание компонента приемника параметра, интерфейса параметра, элементов данных параметра и порта приемника параметра.

  • Сгенерированный код C содержит параметр AUTOSAR port Rte вызовы функций.

Во время выполнения программное обеспечение может получить доступ к элементам данных параметра как параметры на основе портов.

Поскольку данные параметра port перемещаются в рабочее пространство модели и компонент AUTOSAR:

  • Различные компоненты могут использовать одинаковые имена параметров, не конфликты по совпадению имен.

  • Композиция AUTOSAR может содержать несколько образцы компонента приемника параметра, каждый со значениями данных параметров порта конкретного экземпляра.

Для получения дополнительной информации смотрите Настройте параметры порта AUTOSAR для связи с компонентом параметра.

См. также

Похожие примеры

Подробнее о