В Simulink® реализация проекта AUTOSAR, моделей-ссылок позволяют вам организовывать и управлять большими или многочисленными компонентами AUTOSAR иерархически. Можно задать алгоритм в подмодели и неоднократно ссылаться на него. Модели-ссылки компилируются независимо от моделей, которые их используют, что позволяет модульную разработку, переиспользование и совместное использование алгоритмов между несколькими компонентами и проектами, а также инкрементальную генерацию кода.
Для любой модели в иерархии моделей-ссылок AUTOSAR можно сконфигурировать данные модели для калибровки во время выполнения. В подмоделях, на которые ссылаются модели компонента программного обеспечения AUTOSAR, можно использовать Редактор Отображений Кода или эквивалентные функции для отображения параметров, хранилищ данных, сигналов и состояний. Внутренние данные, сопоставленные с подмоделью, могут использоваться в разделах памяти и доступны для тестирования ПО в цикле (SIL) и ПО в цикле (PIL) из модели верхней части или калибровки во время выполнения окружения AUTOSAR.
Сопоставление параметров подпараметров модели с параметрами компонента AUTOSAR
Сопоставление хранилищ данных подданных моделей с переменными AUTOSAR
Сопоставление сигналов подмодели и состояний с переменными AUTOSAR
Сгенерируйте макросы данных подданных моделей для верификации и развертывания
Для сопоставления элементов подэлементов модели Simulink с элементами компонента программного обеспечения AUTOSAR:
Сконфигурируйте подмодель как модель, на которую ссылается модель компонента программного обеспечения AUTOSAR. Используйте функцию AUTOSAR Component Quick Start или AUTOSAR autosar.api.create
.
В ракурсе кода AUTOSAR используйте редактор Code Mappings, чтобы сконфигурировать внутренние данные подмодели.
Чтобы сгенерировать коды С и AUTOSAR XML (ARXML), которые поддерживают калибровку внутренних данных подмодели во время выполнения, откройте и создайте модель компонента, которая ссылается на подмодель.
В данном примере выберите модель, на которую ссылается модель компонента программного обеспечения AUTOSAR. Этот пример использует mAutosarSubModel
, которая дважды упоминается в модели компонента AUTOSAR mAutosarTopModel
. Можно скопировать модели из
(matlabroot
/ help/toolbox/autosar/examplescd
в папку) в рабочую папку.
Откройте автономную подмодель, то есть в отдельном окне модели. В окне модели на вкладке Apps откройте приложение AUTOSAR Component Designer. Если подмодель сопоставлена, она откроется в перспективе кода AUTOSAR.
Если подмодель не сопоставлена, откроется окно AUTOSAR Component Quick Start. Пройдите процедуру quick-start. На панели Set Component выберите Model referenced from AUTOSAR software component model
Когда вы завершите процедуру быстрого запуска и нажмите кнопку Finish, подмодель откроется в ракурсе кода AUTOSAR.
В ракурсе кода AUTOSAR используйте редактор Отображения для:
Сопоставьте отдельные параметры с PerInstanceParameters.
Если сигналы блока которые должны быть сопоставлены с переменными AUTOSAR, не отображаются в редакторе Кода Mappings, выберите сигналы и добавьте их в таблицу отображения.
Сопоставьте отдельные сигналы, состояния и хранилища данных с ArTypedPerInstanceMemorys.
После установки свойства Mapped To для параметра, сигнала, состояния или хранилища данных используйте Property Inspector, чтобы задать атрибуты кода и калибровки.
Если у вас есть Simulink Coder™ и Embedded Coder® можно создать модель компонента, которая ссылается на подмодель. При сборке экспортированные файлы ARXML и сгенерированный код C поддерживают калибровку внутренних данных подмодели во время выполнения. Файлы ARXML, экспортированные для верхней модели, включают описание параметров подпараметров модели, сигналов, состояний и хранилищ данных, а также методов программного адреса, используемых в подмодели. Сгенерированный код C ссылается на внутренние данные подмодели. Сборка модели также генерирует макросы, которые обеспечивают доступ к подданным моделям данным для SIL и Тестирования с процессором в контуре обратной связи и калибровки в окружение времени выполнения 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 редактора Отображения можно сопоставить параметры подпараметров модели Simulink с параметрами AUTOSAR по экземплярам для калибровки во время выполнения AUTOSAR. Примеры параметров рабочего пространства модели, которые вы можете сопоставить, включают:
Объекты параметра Simulink
Объекты интерполяционной таблицы Simulink
Объекты точек останова Simulink
Путем сопоставления интерполяционной таблицы и объектов точек по оси Х с внутренними параметрами калибровки AUTOSAR, можно смоделировать параметры AUTOSAR для интегрированных и распределенных интерполяций. Для получения дополнительной информации см. «Настройка интерполяционных таблиц для измерений и калибровки AUTOSAR».
После создания параметров рабочего пространства модели в модели, например, с помощью Model Explorer, откройте редактор Отображения и выберите вкладку Parameters. Выберите параметры рабочего пространства модели Simulink и сопоставьте их с параметрами компонента AUTOSAR по экземплярам.
Для получения дополнительной информации смотрите Настройка параметров рабочего пространства модели как параметров AUTOSAR по экземплярам.
На вкладке Parameters перечислены каждый параметр рабочего пространства модели Simulink, который можно сопоставить с параметром AUTOSAR. Вы можете:
Сопоставьте параметр, выбрав его и выбрав значение меню для типа параметра AUTOSAR: PerInstanceParameter
или Auto
. Чтобы принять значения по умолчанию для сопоставления программного обеспечения, задайте Auto
.
Например, вот вкладка Parameters для подмодели mAutosarSubModel
. Модель компонента программного обеспечения AUTOSAR mAutosarTopModel
содержит два образцов mAutosarSubModel
.
Если вы выбираете тип параметра PerInstanceParameter
, используйте Property Inspector, чтобы просмотреть или изменить другой код и атрибуты калибровки для параметра.
Признак | Цель |
---|---|
SwAddrMethod | Выберите SwAddrMethod имя из имен, перечисленных как допустимые для параметра AUTOSAR. Генерация кода использует SwAddrMethod имя для группирования параметров AUTOSAR в разделе памяти для доступа по измерениям и инструментам калибровки. Дополнительные сведения см. в разделе Настройка SwAddrMethod. |
SwCalibrationAccess | Укажите, как инструменты измерения и калибровки могут получить доступ к параметру AUTOSAR. Допустимые значения доступа включают ReadOnly , ReadWrite , и NotAccessible . Дополнительные сведения см. в разделе Настройка SwCalibrationAccess. |
DisplayFormat | Задайте формат отображения для параметра AUTOSAR. Спецификации формата отображения AUTOSAR управляют отображением ширины и точности для данных измерений и калибровки. Дополнительные сведения см. в разделе Настройка DisplayFormat. |
На вкладке Data Stores редактора Code Mappings для калибровки во время выполнения AUTOSAR можно сопоставить блоки памяти хранилища данных подданных моделей Simulink с элементами памяти по экземплярам, введенными в AUTOSAR.
После создания блоков памяти хранилища данных в вашей модели откройте редактор Code Mappings и выберите вкладку Data Stores. Выберите хранилища данных и сопоставьте их с элементами памяти экземпляров с типом AUTOSAR. Дополнительные сведения см. в разделе Настройка памяти AUTOSAR на экземпляр.
На вкладке Data Stores перечислены все хранилища данных Simulink, которые можно сопоставить с переменной AUTOSAR. Вы можете:
Сопоставьте хранилище данных, выбрав хранилище данных и затем выбрав значение меню для типа переменной AUTOSAR: ArTypedPerInstanceMemory
или Auto
. Чтобы принять значения по умолчанию для сопоставления программного обеспечения, задайте Auto
.
Например, вот вкладка Local Data Stores для подмодели mAutosarSubModel
. Модель компонента программного обеспечения AUTOSAR mAutosarTopModel
содержит два образцов mAutosarSubModel
.
Если вы выбираете тип переменной ArTypedPerInstanceMemory
, используйте Property Inspector, чтобы просмотреть или изменить другой код и атрибуты калибровки для переменной.
Признак | Цель |
---|---|
ShortName | Задайте краткое имя переменной AUTOSAR. Если не задано, экспорт ARXML генерирует краткое имя. |
SwAddrMethod | Выберите SwAddrMethod имя из имен, перечисленных как допустимые для переменной AUTOSAR. Генерация кода использует SwAddrMethod имя для группы переменных AUTOSAR в разделе памяти для доступа с помощью инструментов измерений и калибровки. Дополнительные сведения см. в разделе Настройка SwAddrMethod. |
SwCalibrationAccess | Укажите, как инструменты измерения и калибровки могут получить доступ к переменной AUTOSAR. Допустимые значения доступа включают ReadOnly , ReadWrite , и NotAccessible . Дополнительные сведения см. в разделе Настройка SwCalibrationAccess. |
DisplayFormat | Укажите формат отображения переменной AUTOSAR. Спецификации формата отображения AUTOSAR управляют отображением ширины и точности для данных измерений и калибровки. Дополнительные сведения см. в разделе Настройка DisplayFormat. |
На вкладке Signals/States редактора Кода Отображений можно сопоставить сигналы блока Simulink подблока модели и состояния с элементами памяти по экземплярам, типизированными AUTOSAR, для калибровки во время выполнения AUTOSAR.
В редакторе Отображения для отображения доступны состояния блока Simulink, которые соответствуют блокам владельцев состояний.
Чтобы сделать Блок Simulink сигналы доступными для отображения, используйте кнопку редактора Кода Mappings или сигнал модели:
В холсте модели выберите один или несколько сигналов. Откройте редактор Отображения, Signals/States вкладку и нажмите кнопку Add.
В холсте модели выберите сигнал. Наведите курсор на отображаемый эллипсис и выберите Add selected signals to code mappings сигнала модели.
Также вызовите MATLAB® функция addSignal
.
Выборочно добавив блока сигналы к отображению сигнала AUTOSAR, откройте редактор Кода Отображений и выберите вкладку Signals/States. Выберите сигналы блоков и состояния и сопоставьте их с элементами памяти по экземплярам с типом AUTOSAR. Дополнительные сведения см. в разделе Настройка памяти AUTOSAR на экземпляр.
На вкладке Signals/States перечислены каждый сигнал блока Simulink и состояние, которое можно сопоставить с переменной AUTOSAR. Вы можете:
Сопоставьте Сигнал Simulink или состояние, выбрав сигнал или состояние, а затем выбрав значение меню для типа переменной AUTOSAR: ArTypedPerInstanceMemory
или Auto
. Чтобы принять значения по умолчанию для сопоставления программного обеспечения, задайте Auto
.
Например, вот вкладка Signals/States для подмодели mAutosarSubModel
. Модель компонента программного обеспечения AUTOSAR mAutosarTopModel
содержит два образцов mAutosarSubModel
.
Если вы выбираете тип переменной ArTypedPerInstanceMemory
, используйте Property Inspector, чтобы просмотреть или изменить другой код и атрибуты калибровки для переменной.
Признак | Цель |
---|---|
ShortName | Задайте краткое имя переменной AUTOSAR. Если не задано, экспорт ARXML генерирует краткое имя.
|
SwAddrMethod | Выберите SwAddrMethod имя из имен, перечисленных как допустимые для переменной AUTOSAR. Генерация кода использует SwAddrMethod имя для группы переменных AUTOSAR в разделе памяти для доступа с помощью инструментов измерений и калибровки. Дополнительные сведения см. в разделе Настройка SwAddrMethod. |
SwCalibrationAccess | Укажите, как инструменты измерения и калибровки могут получить доступ к переменной AUTOSAR. Допустимые значения доступа включают ReadOnly , ReadWrite , и NotAccessible . Дополнительные сведения см. в разделе Настройка SwCalibrationAccess. |
DisplayFormat | Укажите формат отображения переменной AUTOSAR. Спецификации формата отображения AUTOSAR управляют отображением ширины и точности для данных измерений и калибровки. Дополнительные сведения см. в разделе Настройка DisplayFormat. |
Чтобы удалить сигналы блока Simulink из отображения сигнала AUTOSAR, используйте кнопку редактора Code Mappings или сигнал модели:
В холсте модели или на вкладке Signals/States выберите один или несколько сигналов. На вкладке Signals/States нажмите кнопку Remove.
В холсте модели выберите сигнал. Наведите курсор на отображаемый эллипсис и выберите Remove selected signals from code mappings сигнала модели.
Также вызовите функцию MATLAB removeSignal
.
Когда вы создаете модель программного компонента AUTOSAR, которая ссылается на подмодель, экспортированные файлы ARXML и сгенерированный код C поддерживают калибровку внутренних данных подмодели во время выполнения.
Файлы ARXML, экспортированные для верхней модели, включают описание параметров подпараметров модели, сигналов, состояний и хранилищ данных, а также методов программного адреса, используемых в подмодели.
Сгенерированный код C ссылается на внутренние данные подмодели.
Сборка модели также генерирует макросы, которые обеспечивают доступ к внутренним данным, сопоставленным с подмоделью для SIL и Тестирования с процессором в контуре обратной связи из модели ссылочного компонента, и калибровку в окружение выполнения AUTOSAR. Если сборка модели компонента AUTOSAR включает ссылочную модель с сопоставленными внутренними данными, сгенерированный файл заголовка подмодели ссылается на эти макросы:
INCLUDE_RTE_HEADER - Флаг, указывающий, включать ли заголовок компонента RTE.
RTE_COMPONENT_HEADER - имя файла заголовка, содержащего определения внутренних параметров подмодели, сигналов, состояний и хранилищ данных.
Для примера, если вы создаете модель компонента программного обеспечения AUTOSAR mAutosarTopModel
, который содержит два образцов mAutosarSubModel
, сгенерированный файл mAutosarSubModel.h
содержит этот код.
#ifdef INCLUDE_RTE_HEADER #include RTE_COMPONENT_HEADER #endif
Если при запуске SIL верхней модели или Тестирования с процессором в контуре обратной связи из модели компонента программного обеспечения AUTOSAR, которая ссылается на сопоставленную подмодель, SIL или PIL сборки модели автоматически захватывает определения внутренних данных подмодели.
При интеграции сгенерированного кода в окружение выполнения AUTOSAR необходимо сконфигурировать макросы INCLUDE_RTE_HEADER и RTE_COMPONENT_HEADER, чтобы они включали определения внутренних данных подмодели.
autosar.api.create
| Редактор отображений кода