В Simulink ® можно импортировать и экспортировать свойства определения программных данных AUTOSAR и изменять свойства некоторых форм данных AUTOSAR.
SwDataDefProps)Embedded Coder ® поддерживает импорт и экспорт ARXML следующих свойств определения данных программного обеспечения AUTOSAR (SwDataDefProps):
Доступ к калибровке программного обеспечения (SwCalibrationAccess) - определяет доступ инструмента измерения и калибровки к объекту данных.
Формат отображения (DisplayFormat) - задает формат отображения измерений и калибровки для объекта данных.
Метод адреса программного обеспечения (SwAddrMethod) - указывает метод доступа к объекту данных (например, измерительный или калибровочный параметр) в соответствии с заданным адресом. Используется для группирования данных в памяти для доступа с помощью средств измерения и калибровки времени выполнения.
Согласование программного обеспечения (SwAlignment) - указывает предполагаемое выравнивание объекта данных в разделе памяти.
Политика внедрения программного обеспечения (SwImplPolicy) - указывает политику реализации для объекта данных относительно механизмов непротиворечивости переменных.
Компоновка записи программного обеспечения (SwRecordLayout) - указывает, как сериализовать данные в памяти ECU AUTOSAR.
В среде Simulink можно непосредственно изменять свойства определения программных данных для некоторых форм данных AUTOSAR. Вы не можете изменить SwImplPolicy или SwRecordLayout свойства, но экспортируются в коде ARXML.
Дополнительные сведения см. в разделах Настройка SwCalibrationAccess, Настройка DisplayFormat, Настройка SwAddrMethod, Настройка SwAlignment, Экспорт SwImplPolicy и Экспорт формата SwRecordLayout для данных таблицы подстановки.
SwCalibrationAccessМожно указать SwCalibrationAccess свойство для переменных измерения, калибровочных параметров и объектов данных сигнала и параметров. Допустимые значения:
ReadOnly - Элемент данных появляется в созданном файле описания только для чтения.
ReadWrite - Элемент данных появляется в созданном файле описания с доступом как для чтения, так и для записи.
NotAccessible - Элемент данных не появляется в созданном файле описания и недоступен с помощью средств измерения и калибровки.
При открытии модели с сигналами и параметрами можно указать SwCalibrationAccess свойства следующими способами:
SwCalibrationAccess для элементов данных AUTOSARВызов функции AUTOSAR Dictionary или MATLAB ® позволяет определить SwCalibrationAccess для следующих элементов данных AUTOSAR:
Элементы данных интерфейса отправитель-получатель
Элементы данных энергонезависимого интерфейса
Аргументы клиент-сервер
Межпроходные переменные
Например:
Откройте модель, настроенную для AUTOSAR.
Откройте словарь AUTOSAR. Перейдите к одному из следующих представлений:
Интерфейс S-R или NV, представление DataElements
Интерфейс C-S, представление «Аргументы»
Атомарный компонент, вид IRV
Используйте выпадающий список SwCalibrationAccess, чтобы выбрать уровень доступа к измерительному и калибровочному инструменту для элемента данных.

Кроме того, можно использовать функции свойств AUTOSAR для определения SwCalibrationAccess для элементов данных AUTOSAR. Например, следующий код открывает autosar_swc_fcncalls пример модели и устанавливает доступ измерений и калибровки к межпробегающим переменным IRV2 ReadWrite.
hModel = 'autosar_swc_fcncalls'; addpath(fullfile(matlabroot,'/examples/autosarblockset/main')); open_system(hModel) arProps = autosar.api.getAUTOSARProperties(hModel); get(arProps,'/Company/Powertrain/Components/ASWC/ASWC_IB/IRV2','SwCalibrationAccess') set(arProps,'/Company/Powertrain/Components/ASWC/ASWC_IB/IRV2','SwCalibrationAccess','ReadWrite'); get(arProps,'/Company/Powertrain/Components/ASWC/ASWC_IB/IRV2','SwCalibrationAccess')
ans =
'ReadOnly'
ans =
'ReadWrite'Вот пример вызова свойств AUTOSAR set для установки функции SwCalibrationAccess для элемента данных интерфейса S-R в той же модели.
set(arProps,'/Company/Powertrain/Interfaces/InIf/In1','SwCalibrationAccess','ReadWrite'); get(arProps,'/Company/Powertrain/Interfaces/InIf/In1','SwCalibrationAccess')
ans =
'ReadWrite'SwCalibrationAccess для типов данных приложенияПараметры AUTOSAR XML включают значение по умолчанию SwCalibrationAccess (свойство SwCalibrationAccessDefault), которая определяет значение по умолчанию SwCalibrationAccess значение для типов данных приложения AUTOSAR в модели. Для изменения значения по умолчанию можно использовать функции свойств AUTOSAR. Например, следующий код открывает autosar_swc_fcncalls пример модели и изменение доступа к измерениям и калибровке по умолчанию для типов данных приложений AUTOSAR из ReadOnly кому ReadWrite.
hModel = 'autosar_swc_fcncalls'; addpath(fullfile(matlabroot,'/examples/autosarblockset/main')); open_system(hModel) arProps = autosar.api.getAUTOSARProperties(hModel); get(arProps,'XmlOptions','SwCalibrationAccessDefault') set(arProps,'XmlOptions','SwCalibrationAccessDefault','ReadWrite'); get(arProps,'XmlOptions','SwCalibrationAccessDefault')
ans =
'ReadOnly'
ans =
'ReadWrite'DisplayFormatСпецификации формата отображения AUTOSAR управляют шириной и точностью отображения данных измерений и калибровки. Можно импортировать и экспортировать спецификации формата отображения AUTOSAR, а также редактировать спецификации в Simulink. Можно задать формат отображения для следующих элементов AUTOSAR:
Межпроходные переменные
Элементы данных интерфейса отправитель-получатель
Аргументы операций интерфейса клиент-сервер
CompuMethods
Спецификация формата дисплея является подмножеством ANSI ®
Cprintf спецификаторы со следующей формой:
%[flags][width][.precision]type
| Область | Описание |
|---|---|
flags(необязательно) | Символы, указывающие флаги, поддерживаемые схемами AUTOSAR:
|
width(необязательно) | Положительное целое число, указывающее минимальное количество отображаемых символов. |
precision(необязательно) | Положительное целое число, указывающее точность отображения:
|
type | Символы, указывающие числовой тип преобразования, поддерживаемый схемами AUTOSAR:
|
Например, спецификатор формата %2.1d задает ширину 2, точность 1 и десятичный знак со знаком, создавая отображаемое значение, например 12.2.
Атрибут DisplayFormat отображается в диалоговых окнах для элементов AUTOSAR, к которым он применяется. Формат отображения можно задать в диалоговом окне или с помощью API элементов, который может изменять атрибуты.
hModel = 'autosar_swc_counter'; addpath(fullfile(matlabroot,'/examples/autosarblockset/main')); open_system(hModel); slMap = autosar.api.getSimulinkMapping(hModel); mapParameter(slMap,'INC','ConstantMemory','DisplayFormat','%2.6f')

Если указан формат отображения, при экспорте кода ARXML создается соответствующая спецификация DISPLAY-FORMAT.
<PARAMETER-DATA-PROTOTYPE UUID="...">
<SHORT-NAME>INC</SHORT-NAME>
<CATEGORY>VALUE</CATEGORY>
<SW-DATA-DEF-PROPS>
<SW-DATA-DEF-PROPS-VARIANTS>
<SW-DATA-DEF-PROPS-CONDITIONAL>
<SW-CALIBRATION-ACCESS>READ-WRITE</SW-CALIBRATION-ACCESS>
<DISPLAY-FORMAT>%2.6f</DISPLAY-FORMAT>
<SW-IMPL-POLICY>STANDARD</SW-IMPL-POLICY>
</SW-DATA-DEF-PROPS-CONDITIONAL>
</SW-DATA-DEF-PROPS-VARIANTS>
</SW-DATA-DEF-PROPS>
...
</PARAMETER-DATA-PROTOTYPE>SwAddrMethodПрограммные компоненты AUTOSAR используют методы адреса программного обеспечения (SwAddrMethods) группировать данные и функции в секции памяти для доступа средствами измерения и калибровки времени выполнения. Для модели Simulink, сопоставленной с программным компонентом AUTOSAR, можно связать SwAddrMethods с этими элементами:
Параметр модели или таблица подстановки сопоставлены:
Постоянная память AUTOSAR
Внутренний калибровочный параметр AUTOSAR
Параметр порта AUTOSAR
Сигнал, состояние или хранилище данных сопоставлены:
Статическая память AUTOSAR
Память AUTOSAR для каждого экземпляра
Функция точки входа модели, сопоставленная с возможностью выполнения AUTOSAR
Внутренние данные внутри функции точки входа модели
Создание и использование SwAddrMethods в модели AUTOSAR:
Импорт SwAddrMethods из файлов ARXML или создать SwAddrMethods в Simulink.
Импортировать SwAddrMethods из файлов ARXML, используйте arxml.importer функция - createComponentAsModel или createCompositionAsModel для новой модели или updateModel или updateAUTOSARProperties для существующей модели.
Создать SwAddrMethods в существующей модели откройте режим просмотра AUTOSAR Dictionary, SwAddrMethods и нажмите кнопку Add.
Также можно использовать эквивалентные функции свойств AUTOSAR. Дополнительные сведения см. в разделе Создание методов SwAddrMethods в Simulink.
Партнер SwAddrMethods с данными и функциями модели. Откройте редактор сопоставлений кодов и выберите закладку Параметры, Хранилища данных, Сигналы/Состояния или Функции. Выберите элемент на этой вкладке и с помощью инспектора свойств задайте атрибут SwAddrMethod. Либо используйте эквивалентную функцию сопоставления AUTOSAR. Дополнительные сведения см. в разделе Связывание метода SwAddrMethod с данными модели или функцией.
Создайте код для модели AUTOSAR. (В этом примере используется сигнал, отображенный в статическую память AUTOSAR в модели autosar_swc_counter.) В созданных файлах:
Экспортированные файлы ARXML содержат SwAddrMethod описания и ссылки.
<VARIABLE-DATA-PROTOTYPE UUID="...">
<SHORT-NAME>SM_equal_to_count</SHORT-NAME>
<CATEGORY>VALUE</CATEGORY>
<SW-DATA-DEF-PROPS>
<SW-DATA-DEF-PROPS-VARIANTS>
<SW-DATA-DEF-PROPS-CONDITIONAL>
<SW-ADDR-METHOD-REF DEST="SW-ADDR-METHOD">
/Company/Powertrain/DataTypes/SwAddrMethods/VAR
</SW-ADDR-METHOD-REF>
<SW-CALIBRATION-ACCESS>READ-ONLY</SW-CALIBRATION-ACCESS>
<SW-IMPL-POLICY>STANDARD</SW-IMPL-POLICY>
</SW-DATA-DEF-PROPS-CONDITIONAL>
</SW-DATA-DEF-PROPS-VARIANTS>
</SW-DATA-DEF-PROPS>
<TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">
/Company/Powertrain/DataTypes/Boolean_volatile_my_qualifier</TYPE-TREF>
</VARIABLE-DATA-PROTOTYPE>Код C, совместимый с AUTOSAR, содержит комментарии и #define и #include операторы, которые предоставляют обертку вокруг данных или определений функций, принадлежащих каждому SwAddrMethod раздел памяти.
/* Static Memory for Internal Data */ /* SwAddrMethod VAR for Internal Data */ #define autosar_swc_counter_START_SEC_VAR #include "autosar_swc_counter_MemMap.h" volatile my_qualifier boolean SM_equal_to_count; #define autosar_swc_conter_STOP_SEC_VAR #include "autosar_swc_counter_MemMap.h"
SwAddrMethods в SimulinkСоздать SwAddrMethods в существующей модели откройте режим просмотра AUTOSAR Dictionary, SwAddrMethods и нажмите кнопку Add.![]()

Также можно использовать эквивалентные функции свойств AUTOSAR. Этот код добавляет SwAddrMethods myCODE и myVAR в модель компонента AUTOSAR.
hModel = 'autosar_swc_counter'; addpath(fullfile(matlabroot,'/examples/autosarblockset/main')); open_system(hModel) arProps = autosar.api.getAUTOSARProperties(hModel); addPackageableElement(arProps,'SwAddrMethod',... '/Company/Powertrain/DataTypes/SwAddrMethods','myCODE',... 'SectionType','Code') swAddrPaths = find(arProps,[],'SwAddrMethod','PathType','FullyQualified',... 'SectionType','Code') addPackageableElement(arProps,'SwAddrMethod',... '/Company/Powertrain/DataTypes/SwAddrMethods','myVAR',... 'SectionType','Var') swAddrPaths = find(arProps,[],'SwAddrMethod','PathType','FullyQualified',... 'SectionType','Var')
swAddrPaths =
{'/Company/Powertrain/DataTypes/SwAddrMethods/CODE'}
{'/Company/Powertrain/DataTypes/SwAddrMethods/myCODE'}
swAddrPaths =
{'/Company/Powertrain/DataTypes/SwAddrMethods/VAR'}
{'/Company/Powertrain/DataTypes/SwAddrMethods/myVAR'}SwAddrMethod с данными модели или функциейСвязаться SwAddrMethods с данными и функциями модели, откройте редактор Сопоставления кодов (Code Mappings) и выберите вкладку Параметры (Parameters), Хранилища данных (Data Stores), Сигналы/состояния (Signals/States) или Функции (Functions). Выберите элемент на этой вкладке и с помощью инспектора свойств задайте атрибут SwAddrMethod. В этом примере: SwAddrMethod Для сигнала выбран VAR equal_to_count, которая отображается в статическую память AUTOSAR.

Либо используйте эквивалентную функцию сопоставления AUTOSAR. Дополнительные сведения см. на справочной странице для mapFunction, mapParameter, mapSignal, mapState, или mapDataStore.
SwAlignment SwAlignment описывает предполагаемое выравнивание данных AUTOSAR в разделе памяти. SwAlignment определяет количество битов. Допустимые значения: 8, 12, 32, UNKNOWN (устарело), UNSPECIFIED и BOOLEAN. Для числовых данных, типично SwAlignment значения 8, 16 и 32.
Если не определить SwAlignment свойство, swBaseType размер и memoryAllocationKeywordPolicy ссылочного SwAlignment определите выравнивание.
Можно использовать функцию свойства AUTOSAR set установить SwAlignment для элементов данных интерфейса S-R и межуправляемых переменных. Например:
interfacePath = '/A/B/C/Interfaces/If1/'; dataElementName = 'El1'; swAlignmentValue = '32'; set(dataObj,[interfacePath dataElementName],'SwAlignment',swAlignmentValue);
Для поддержки потока операций в оба конца импортер ARXML импортирует и сохраняет SwAlignment для следующих данных AUTOSAR:
Память для каждого экземпляра
Параметры компонентов программного обеспечения
Элементы данных интерфейса параметров
Аргументы операций интерфейса клиент-сервер
Статическая и постоянная память
SwImplPolicy SwImplPolicy свойство определяет политику реализации элемента данных, касающуюся механизмов непротиворечивости переменных. Вы не можете изменить SwImplPolicy свойство, но свойство имеет значение standard или queued для данных AUTOSAR в экспортированном коде ARXML. Установлено значение:
standard для
Память для каждого экземпляра
Межпроходные переменные
Параметры компонентов программного обеспечения
Элементы данных интерфейса параметров
Аргументы операций интерфейса клиент-сервер
Статическая и постоянная память
standard или queued для
| Элементы данных интерфейса отправитель-получатель |
SwRecordLayout для данных таблицы подстановкиПрограммные компоненты AUTOSAR используют форматы записей программного обеспечения (SwRecordLayouts) для указания способа сериализации данных в памяти ECU AUTOSAR. Импортер ARXML импортирует и сохраняет SwRecordLayout для данных AUTOSAR.
Можно импортировать SwRecordLayouts из файлов ARXML одним из двух способов:
При создании модели AUTOSAR из файлов ARXML с помощью функции импортера createComponentAsModel, включить файл ARXML, содержащий SwRecordLayout определения в импорте. Импортированный SwRecordLayouts сохраняются и позже экспортируются в коде ARXML.
При создании модели AUTOSAR в Simulink можно импортировать общие определения SwRecordLayouts из файлов ARXML. Использовать функцию импортера updateAUTOSARProperties. Например:
importerObj = arxml.importer(arxmlFileName); updateAUTOSARProperties(importerObj,modelName);
При создании кода модели экспортированный код ARXML содержит ссылки на импортированный код, доступный только для чтения. SwRecordLayout элементы, но не их определения.

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