В Simulink®можно импортировать и экспортировать свойства определения данных программного обеспечения AUTOSAR и изменить свойства для некоторых форм данных AUTOSAR.
)Embedded Coder® поддерживает импорт и экспорт ARXML следующих свойств определения данных программного обеспечения AUTOSAR (SwDataDefProps):
Доступ к калибровке программного обеспечения (SwCalibrationAccess) - Задает доступ инструмента измерения и калибровки к объекту данных.
Формат отображения (DisplayFormat) - Задает формат отображения измерений и калибровки для объекта данных.
Метод адреса программного обеспечения (SwAddrMethod) - Задает метод доступа к объекту данных (для примера, параметру измерения или калибровки) согласно заданному адресу. Используется для группирования данных в памяти для доступа по измерениям и инструментам калибровки во время выполнения.
Выравнивание ПО (SwAlignment) - Задает предполагаемое выравнивание объекта данных в разделе памяти.
Политика реализации программного обеспечения (SwImplPolicy) - Задает политику реализации для объекта данных, относительно механизмов согласованности переменных.
Размещение записи программного обеспечения (SwRecordLayout) - Определяет, как сериализовать данные в памяти авто-РСА ECU.
В окружение Simulink можно непосредственно изменить свойства определения данных программного обеспечения для некоторых форм данных AUTOSAR. Вы не можете изменить SwImplPolicy или SwRecordLayout свойства, но свойства экспортируются в код ARXML.
Дополнительные сведения см. в разделах Настройка SwCalibrationAccess, Настройка DisplayFormat, Настройка SwAddrMethod, Настройка SwAlignment, Экспорт SwImplPolicy и Экспорт SwRecordLayout для данных интерполяционной таблицы.
SwCalibrationAccessМожно задать SwCalibrationAccess свойство для переменных измерения, параметров калибровки и объектов данных о сигнале и параметре. Допустимые значения:
ReadOnly - Элемент данных появляется в сгенерированном файле описания с доступом только для чтения.
ReadWrite - Элемент данных появляется в сгенерированном файле описания с доступом как для чтения, так и для записи.
NotAccessible - Элемент данных не отображается в сгенерированном файле описания и недоступен с помощью инструментов измерений и калибровки.
Если вы открываете модель с сигналами и параметрами, можно задать SwCalibrationAccess свойство следующими способами:
SwCalibrationAccess для элементов данных AUTOSARВы можете использовать или словарь AUTOSAR или MATLAB® вызовы функций, чтобы задать SwCalibrationAccess свойство для следующих элементов данных AUTOSAR:
Элементы данных интерфейса отправитель-получатель
Энергонезависимые элементы данных интерфейса
Аргументы клиент-сервер
Межпрограммные переменные
Для примера:
Откройте модель, которая сконфигурирована для AUTOSAR.
Откройте словарь AUTOSAR. Перейдите к одному из следующих видов:
Интерфейс S-R или NV, DataElements вид
Интерфейс C-S, Arguments вид
Атомарный компонент, 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 DefaultValue (свойство 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® C
printf спецификаторы со следующей формой:
%[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 с данными моделями и функциями. Откройте редактор Отображения и выберите Parameters, Data Stores, Signals/States или Functions вкладку. Выберите элемент на этой вкладке и используйте Property Inspector, чтобы задать атрибут SwAddrMethod. Кроме того, используйте эквивалентную функцию AUTOSAR map. Для получения дополнительной информации смотрите Связать 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>Совместимый с 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 вкладку. Выберите элемент на этой вкладке и используйте Property Inspector, чтобы задать атрибут SwAddrMethod. В этом примере SwAddrMethod VAR выбирается для equal_to_count сигнала, который сопоставлен со статической памятью AUTOSAR.

Кроме того, используйте эквивалентную функцию AUTOSAR map. Для получения дополнительной информации смотрите страницу с описанием для mapFunction, mapParameter, mapSignal, mapState, или mapDataStore.
SwAlignmentThe 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:
Память в относительных экземплярах
Параметры программного компонента
Элементы данных интерфейса параметра
Аргументы в пользу операции интерфейса клиент-сервер
Статическая и постоянная память
SwImplPolicyThe SwImplPolicy свойство задает политику реализации для элемента данных относительно механизмов согласованности переменных. Вы не можете изменить SwImplPolicy свойство, но для свойства задано значение standard или queued для данных AUTOSAR в экспортированном коде ARXML. Значение установлено в:
standard для
Память в относительных экземплярах
Межпрограммные переменные
Параметры программного компонента
Элементы данных интерфейса параметра
Аргументы в пользу операции интерфейса клиент-сервер
Статическая и постоянная память
standard или queued для
| Элементы данных интерфейса отправитель-получатель |
SwRecordLayout для Интерполяционной таблицы данныхПрограммные компоненты AUTOSAR используют размещения записей программного обеспечения (SwRecordLayouts), чтобы указать, как сериализовать данные в памяти авто-РСА AUTOSAR ECU. Импортер 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.