Стандарт AUTOSAR задает основанные на порте параметры для коммуникации параметра. Коммуникация параметра AUTOSAR использует компонент программного обеспечения параметра (ParameterSwComponent) и один или несколько атомарных компонентов программного обеспечения, которые требуют основанного на порте доступа к данным о параметре. ParameterSwComponent представляет память, содержащую параметры AUTOSAR, и предоставляет данные о параметре связанным атомарным компонентам программного обеспечения. Для получения информации об основанных на порте рабочих процессах параметра смотрите Параметры порта.
В Simulink® можно смоделировать сторону приемника основанной на порте коммуникации параметра AUTOSAR. Сконфигурировать атомарный компонент программного обеспечения AUTOSAR как приемник параметра:
В модели компонента AUTOSAR, в Словаре AUTOSAR, создают интерфейс параметра AUTOSAR, элементы данных параметра и порт приемника параметра.
В рабочем пространстве модели Simulink создайте параметр, отметьте его как аргумент и установите начальное значение. Можно использовать параметр Simulink, интерполяционную таблицу, и установить точки останова объекты.
Сопоставьте параметр рабочего пространства модели Simulink или интерполяционную таблицу к порту приемника параметра AUTOSAR и элементу данных интерфейса параметра. Используйте вкладку Parameters редактора Отображений Кода или mapParameter функция.
В этом примере показано, как сконфигурировать компонент программного обеспечения AUTOSAR как приемник для коммуникации параметра.
Откройте модель, сконфигурированную для генерации кода AUTOSAR, в которой компонент программного обеспечения требует основанного на порте доступа к данным о параметре.
Откройте Словарь AUTOSAR. Чтобы добавить интерфейс параметра в модель, выберите представление Parameter Interfaces и нажмите кнопку Add
. В диалоговом окне Add Interfaces задайте имя нового интерфейса и установите Number of Data Elements на 1. Нажмите Add.

Расширьте Parameter Interfaces и выберите представление DataElements. Исследуйте и измените свойства связанного элемента данных, который вы создали, включая его имя.

Расширьте AtomicComponents и расширьте компонент. Чтобы добавить порт приемника параметра в модель, перейдите к представлению ParameterReceiverPorts и нажмите кнопку Add
. В диалоговом окне Add Ports задайте имя нового порта и установите Interface на имя интерфейса параметра, который вы создали. Нажмите Add.

В рабочем пространстве модели Simulink создайте объект данных для параметра. Например, используйте Model Explorer. С выбранным объектом данных, устанавливает поля Name и Value. Сконфигурировать параметр в качестве аргумента модели (то есть, уникальный для каждого экземпляра модели мультиэкземпляра), устанавливают флажок Argument.

Сошлитесь на имя объекта данных в модели. Например, введите k1 в поле параметра Gain блока Gain.
Откройте редактор Отображений Кода и выберите вкладку Parameters. В группе Model Parameter Arguments выберите объект данных параметра, который вы создали. В меню Mapped To выберите тип параметра AUTOSAR PortParameter.

Чтобы просмотреть или изменить другой код и калибровочные атрибуты для параметра, используйте Property Inspector.
Установите Port на имя порта приемника параметра, который вы сконфигурировали в Словаре AUTOSAR.
Установите DataElement на имя элемента данных интерфейса параметра, который вы сконфигурировали в Словаре AUTOSAR.

Для получения дополнительной информации смотрите Параметры Рабочего пространства модели Карты к Параметрам Компонента AUTOSAR.
Когда вы генерируете код для модели компонента AUTOSAR:
Экспортируемые файлы ARXML содержат описания компонента приемника параметра, интерфейса параметра, элемента данных параметра и порта приемника параметра.
<PARAMETER-INTERFACE UUID="...">
<SHORT-NAME>myParamInterface</SHORT-NAME>
<IS-SERVICE>false</IS-SERVICE>
<PARAMETERS>
<PARAMETER-DATA-PROTOTYPE UUID="...">
<SHORT-NAME>ParamElement</SHORT-NAME>
...
</PARAMETER-DATA-PROTOTYPE>
</PARAMETERS>
</PARAMETER-INTERFACE>Сгенерированный код C содержит параметр порта AUTOSAR Rte вызовы функции.
/* Model step function */
void mArPortParam_Step(void)
{
...
Rte_IWrite_mArPortParam_Step_Out2_Out2(Rte_Prm_myParamPort_ParamElement() *
Rte_IRead_mArPortParam_Step_In2_In2());
}Во время выполнения программное обеспечение может получить доступ к элементу данных параметра как к основанному на порте параметру.