В реализации Simulink ® конструкции AUTOSAR ссылки на модели позволяют организовать и управлять большими или многочисленными компонентами AUTOSAR иерархически. Алгоритм можно определить в подмодели и ссылаться на него повторно. Ссылочные модели компилируются независимо от моделей, которые их используют, что обеспечивает модульную разработку, повторное использование и совместное использование алгоритмов для нескольких компонентов и конструкций, а также инкрементную генерацию кода.
Для любой модели в иерархии ссылок на модель AUTOSAR можно настроить данные модели для калибровки во время выполнения. В подмоделях, на которые ссылаются модели программных компонентов AUTOSAR, можно использовать редактор сопоставления кодов или эквивалентные функции для отображения параметров, хранилищ данных, сигналов и состояний. Отображенные внутренние данные подмодели могут использоваться в секциях памяти и доступны для тестирования программного обеспечения в цикле (SIL) и процессора в цикле (PIL) из верхней модели или калибровки в среде выполнения AUTOSAR.
Сопоставление параметров подмодели с параметрами компонента AUTOSAR
Отображение сигналов и состояний подмодели в переменные AUTOSAR
Создание макросов данных подмодели для проверки и развертывания
Для сопоставления элементов подмодели Simulink с элементами программных компонентов AUTOSAR:
Сконфигурируйте подмодель как модель, на которую ссылается модель компонента программного обеспечения AUTOSAR. Используйте функцию быстрого запуска компонента AUTOSAR или AUTOSAR autosar.api.create.
В ракурсе кода AUTOSAR используйте редактор сопоставления кодов для конфигурирования внутренних данных подмодели.
Чтобы создать файлы C-кода и AUTOSAR XML (ARXML), поддерживающие калибровку во время выполнения внутренних данных подмодели, откройте и создайте модель компонента, которая ссылается на подмодель.
В этом примере выберите модель, на которую ссылается модель компонента программного обеспечения AUTOSAR. В этом примере используется mAutosarSubModel, которая дважды используется в модели компонента AUTOSAR mAutosarTopModel. Можно скопировать модели из (matlabroot/help/toolbox/autosar/examplescd в папку) в рабочую папку.

Откройте автономную подмодель, то есть в отдельном окне модели. В окне модели на вкладке «Приложения» откройте приложение AUTOSAR Component Designer. Если подмодель сопоставлена, она откроется в ракурсе кода AUTOSAR.
Если подмодель не сопоставлена, открывается окно быстрого запуска компонента AUTOSAR (AUTOSAR Component Quick Start). Проработать процедуру быстрого запуска. На панели Задать компонент (Set Component) выберите Модель (Model), на которую ссылается модель компонента программного обеспечения AUTOSAR

После завершения процедуры быстрого запуска и нажатия кнопки Готово (Finish) подмодель откроется в ракурсе кода AUTOSAR.
В ракурсе кода AUTOSAR используйте редактор сопоставления кодов для:
Сопоставьте отдельные параметры с PerInstureParameters.
Если сигналы блоков, которые должны быть сопоставлены переменным AUTOSAR, не отображаются в редакторе сопоставлений кодов, выберите сигналы и добавьте их в таблицу отображения.
Отображение отдельных сигналов, состояний и хранилищ данных в ArTypedPerInstureMemorys.
После установки свойства Mapped To для параметра, сигнала, состояния или хранилища данных используйте инспектор свойств для установки атрибутов кода и калибровки.

При наличии программного обеспечения Simulink Coder™ и Embedded Coder ® можно построить модель компонента, которая ссылается на подмодель. При сборке экспортированные файлы ARXML и сгенерированный код C поддерживают калибровку внутренних данных подмодели во время выполнения. Файлы ARXML, экспортируемые для модели верхнего уровня, включают описания параметров подмодели, сигналов, состояний и хранилищ данных, а также методы адреса программного обеспечения, используемые в подмодели. Сгенерированный код C ссылается на внутренние данные подмодели. Сборка модели также генерирует макросы, которые обеспечивают доступ к данным подмодели для тестирования и калибровки SIL и PIL в среде выполнения AUTOSAR. Дополнительные сведения см. в разделе Создание макросов данных подмодели для проверки и развертывания.
Для программной настройки подмодели в качестве модели, на которую ссылается модель компонента программного обеспечения AUTOSAR, вызовите функцию AUTOSAR. autosar.api.create и укажите аргумент пары имя-значение 'ReferencedFromComponentModel',true. Например:
hModel = 'mAutosarSubModel'; open_system(hModel); autosar.api.create(hModel,'default','ReferencedFromComponentModel',true);
Чтобы программно добавить общие определения методов адреса программного обеспечения для использования с подмоделью, вызовите функцию импорта AUTOSAR updateModel и укажите имя файла AUTOSAR XML (ARXML), содержащего общие определения. Например:
ar = arxml.importer('SwAddrMethods.arxml');
updateModel(ar,hModel);На вкладке Параметры (Parameters) редактора Сопоставления кодов (Code Mappings) можно сопоставить параметры подмодели Simulink с параметрами AUTOSAR каждого экземпляра для калибровки во время выполнения AUTOSAR. Примеры параметров рабочей области модели, которые можно сопоставить, включают:
Объекты параметров Simulink
Объекты таблицы поиска Simulink
Объекты точки останова Simulink
Сопоставляя объекты таблицы поиска и точки останова с внутренними параметрами калибровки AUTOSAR, можно моделировать параметры AUTOSAR для интегрированных и распределенных поисков. Дополнительные сведения см. в разделе Настройка таблиц поиска для измерений и калибровки AUTOSAR.
После создания параметров рабочего пространства модели, например, с помощью Проводника моделей, откройте редактор Сопоставления кодов (Code Mappings) и перейдите на вкладку Параметры (Parameters). Выберите параметры рабочей области модели Simulink и сопоставьте их с параметрами каждого экземпляра компонента AUTOSAR.
Дополнительные сведения см. в разделе Настройка параметров рабочей области модели как параметров AUTOSAR для каждого экземпляра.
На вкладке Параметры (Parameters) перечислены все параметры рабочего пространства модели Simulink, которые можно сопоставить с параметром AUTOSAR. Вы можете:
Сопоставьте параметр, выбрав его, а затем выбрав значение меню для типа параметра AUTOSAR: PerInstanceParameter или Auto. Чтобы принять значения по умолчанию для сопоставления программного обеспечения, укажите Auto.
Например, вот вкладка Параметры для подмодели mAutosarSubModel. Модель программного компонента AUTOSAR mAutosarTopModel содержит два экземпляра mAutosarSubModel.

При выборе типа параметра PerInstanceParameterиспользуйте инспектор свойств для просмотра или изменения других атрибутов кода и калибровки параметра.

| Признак | Цель |
|---|---|
| SwAddrMethod | Выберите SwAddrMethod из имен, перечисленных как допустимые для параметра AUTOSAR. При создании кода используется SwAddrMethod имя для группирования параметров AUTOSAR в разделе памяти для доступа средствами измерений и калибровки. Дополнительные сведения см. в разделе Настройка метода SwAddrMethod. |
| SwCalibrationAccess | Укажите способ доступа инструментов измерения и калибровки к параметру AUTOSAR. Допустимые значения доступа включают ReadOnly, ReadWrite, и NotAccessible. Дополнительные сведения см. в разделе Настройка SwCalibrationAccess. |
| DisplayFormat | Укажите формат отображения параметра AUTOSAR. Спецификации формата отображения AUTOSAR управляют шириной и точностью отображения данных измерений и калибровки. Дополнительные сведения см. в разделе Настройка DisplayFormat. |
На вкладке Хранилища данных (Data Stores) редактора Сопоставления кодов (Code Mappings) можно сопоставить блоки памяти хранилища данных подмодели Simulink с элементами памяти, набранными в экземпляре AUTOSAR, для калибровки во время выполнения AUTOSAR.
После создания блоков памяти хранилища данных в модели откройте редактор Сопоставления кодов (Code Mappings) и перейдите на вкладку Хранилища данных (Data Stores). Выберите хранилища данных и сопоставьте их с элементами памяти для каждого экземпляра, набранными с помощью AUTOSAR. Дополнительные сведения см. в разделе Настройка памяти AUTOSAR для каждого экземпляра.
На вкладке Хранилища данных перечислены все хранилища данных Simulink, которые можно сопоставить переменной AUTOSAR. Вы можете:
Сопоставьте хранилище данных, выбрав хранилище данных, а затем выберите значение меню для типа переменной AUTOSAR: ArTypedPerInstanceMemory или Auto. Чтобы принять значения по умолчанию для сопоставления программного обеспечения, укажите Auto.
Например, вот закладка Локальные хранилища данных для подмодели mAutosarSubModel. Модель программного компонента AUTOSAR mAutosarTopModel содержит два экземпляра mAutosarSubModel.

При выборе типа переменной ArTypedPerInstanceMemoryиспользуйте инспектор свойств для просмотра или изменения других атрибутов кода и калибровки переменной.

| Признак | Цель |
|---|---|
| ShortName | Укажите краткое имя переменной AUTOSAR. Если не указано, экспорт ARXML создает короткое имя. |
| SwAddrMethod | Выберите SwAddrMethod имя из имен, перечисленных как допустимые для переменной AUTOSAR. При создании кода используется SwAddrMethod имя для группирования переменных AUTOSAR в разделе памяти для доступа с помощью инструментов измерения и калибровки. Дополнительные сведения см. в разделе Настройка метода SwAddrMethod. |
| SwCalibrationAccess | Укажите способ доступа инструментов измерения и калибровки к переменной AUTOSAR. Допустимые значения доступа включают ReadOnly, ReadWrite, и NotAccessible. Дополнительные сведения см. в разделе Настройка SwCalibrationAccess. |
| DisplayFormat | Укажите формат отображения переменной AUTOSAR. Спецификации формата отображения AUTOSAR управляют шириной и точностью отображения данных измерений и калибровки. Дополнительные сведения см. в разделе Настройка DisplayFormat. |
На вкладке «Signals/States» редактора «Code Mappings» можно сопоставить сигналы и состояния блоков подмодели Simulink с элементами памяти, типизированными по типу AUTOSAR, для калибровки во время выполнения AUTOSAR.
В редакторе сопоставлений кодов для отображения доступны состояния блоков Simulink, соответствующие блокам владельцев состояний.
Чтобы сделать сигналы блока Simulink доступными для отображения, используйте кнопку редактора сопоставлений кода или ключ модели:
В холсте модели выберите один или несколько сигналов. Откройте редактор сопоставлений кодов на вкладке «Сигналы/состояния» и нажмите кнопку «Добавить».![]()
В холсте модели выберите сигнал. Наведите курсор на отображаемое многоточие и выберите параметр модели Добавить выбранные сигналы к отображениям кода.
Либо вызовите функцию MATLAB ®addSignal.
После выборочного добавления блочных сигналов к отображению сигналов AUTOSAR откройте редактор сопоставлений кодов и выберите вкладку «Сигналы/состояния». Выберите сигналы и состояния блоков и сопоставьте их с элементами памяти, типизированными по типу AUTOSAR. Дополнительные сведения см. в разделе Настройка памяти AUTOSAR для каждого экземпляра.
На вкладке «Signals/States» (Сигналы/состояния) перечислены все сигналы блока Simulink и состояние, которое можно сопоставить переменной AUTOSAR. Вы можете:
Сопоставьте сигнал или состояние Simulink, выбрав сигнал или состояние, а затем выберите значение меню для типа переменной AUTOSAR: ArTypedPerInstanceMemory или Auto. Чтобы принять значения по умолчанию для сопоставления программного обеспечения, укажите Auto.
Например, вот закладка Signals/States для подмодели mAutosarSubModel. Модель программного компонента AUTOSAR mAutosarTopModel содержит два экземпляра mAutosarSubModel.

При выборе типа переменной ArTypedPerInstanceMemoryиспользуйте инспектор свойств для просмотра или изменения других атрибутов кода и калибровки переменной.

| Признак | Цель |
|---|---|
| ShortName | Укажите краткое имя переменной AUTOSAR. Если не указано, экспорт ARXML создает короткое имя.
|
| SwAddrMethod | Выберите SwAddrMethod имя из имен, перечисленных как допустимые для переменной AUTOSAR. При создании кода используется SwAddrMethod имя для группирования переменных AUTOSAR в разделе памяти для доступа с помощью инструментов измерения и калибровки. Дополнительные сведения см. в разделе Настройка метода SwAddrMethod. |
| SwCalibrationAccess | Укажите способ доступа инструментов измерения и калибровки к переменной AUTOSAR. Допустимые значения доступа включают ReadOnly, ReadWrite, и NotAccessible. Дополнительные сведения см. в разделе Настройка SwCalibrationAccess. |
| DisplayFormat | Укажите формат отображения переменной AUTOSAR. Спецификации формата отображения AUTOSAR управляют шириной и точностью отображения данных измерений и калибровки. Дополнительные сведения см. в разделе Настройка DisplayFormat. |
Чтобы удалить сигналы блока Simulink из сопоставления сигналов AUTOSAR, используйте кнопку редактора сопоставлений кодов или ключ модели:
На холсте модели или на вкладке «Сигналы/состояния» выберите один или несколько сигналов. На вкладке Signals/States (Сигналы/Состояния) нажмите кнопку Remove (Удалить).![]()
В холсте модели выберите сигнал. Наведите курсор на отображаемое многоточие и выберите параметр модели Удалить выбранные сигналы из сопоставлений кода.
В качестве альтернативы вызовите функцию MATLAB. removeSignal.
При построении модели программного компонента AUTOSAR, ссылающейся на подмодель, экспортированные файлы ARXML и сгенерированный код C поддерживают калибровку внутренних данных подмодели во время выполнения.
Файлы ARXML, экспортируемые для модели верхнего уровня, включают описания параметров подмодели, сигналов, состояний и хранилищ данных, а также методы адреса программного обеспечения, используемые в подмодели.
Сгенерированный код C ссылается на внутренние данные подмодели.
Сборка модели также генерирует макросы, которые обеспечивают доступ к внутренним данным подмодели, отображенным для тестирования SIL и PIL из ссылочной модели компонента, и калибровки в среде выполнения AUTOSAR. Если сборка модели компонента AUTOSAR охватывает ссылочную модель с сопоставленными внутренними данными, созданный файл заголовка подмодели ссылается на следующие макросы:
INCLUDE_RTE_HEADER - флаг, указывающий, следует ли включать заголовок компонента RTE.
RTE_COMPONENT_HEADER - имя файла заголовка, содержащего определения внутренних параметров подмодели, сигналов, состояний и хранилищ данных.
Например, при построении модели компонентов программного обеспечения AUTOSAR mAutosarTopModel, который содержит два экземпляра mAutosarSubModel, созданный файл mAutosarSubModel.h содержит этот код.
#ifdef INCLUDE_RTE_HEADER #include RTE_COMPONENT_HEADER #endif
При выполнении тестирования SIL или PIL верхней модели из модели компонента программного обеспечения AUTOSAR, которая ссылается на сопоставленную подмодель, построение модели SIL или PIL автоматически захватывает определения внутренних данных подмодели.
При интеграции созданного кода в среду выполнения AUTOSAR необходимо настроить макросы INCLUDE_RTE_HEADER и RTE_COMPONENT_HEADER для включения внутренних определений данных подмодели.
autosar.api.create | Редактор сопоставлений кода