В Simulink® можно импортировать и экспортировать свойства определения данных программного обеспечения AUTOSAR и изменить свойства для некоторых форм данных AUTOSAR.
О свойствах определения данных программного обеспечения (SwDataDefProps)
Экспортируйте SwRecordLayout для данных об интерполяционной таблице
SwDataDefProps)Embedded Coder® поддерживает импорт и экспорт ARXML следующих свойств определения данных программного обеспечения AUTOSAR (SwDataDefProps):
Калибровочный доступ к программному обеспечению (SwCalibrationAccess) — Задает доступ к инструменту измерения и калибровки к объекту данных.
Формат отображения (DisplayFormat) — Задает формат отображения измерения и калибровки для объекта данных.
Метод адреса программного обеспечения (SwAddrMethod) — Задает метод, чтобы получить доступ к объекту данных (например, параметр измерения или калибровки) согласно данному адресу. Используемый, чтобы сгруппировать данные в памяти для доступа измерением во время выполнения и инструментами калибровки.
Выравнивание программного обеспечения (SwAlignment) — Задает намеченное выравнивание объекта данных в разделе memory.
Политика реализации программного обеспечения (SwImplPolicy) — Задает политику реализации для объекта данных, относительно механизмов непротиворечивости переменных.
Размещение записи программного обеспечения (SwRecordLayout) — Задает, как сериализировать данные в памяти о ECU AUTOSAR.
В окружении 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 генерирует соответствующую спецификацию ФОРМАТА ОТОБРАЖЕНИЯ.
<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, представление SwAddrMethods, и нажмите кнопку Add
. В качестве альтернативы используйте эквивалентные функции свойства AUTOSAR. Для получения дополнительной информации смотрите, Создают SwAddrMethods в Simulink.
Объединенный SwAddrMethods с данными модели и функциями. Откройте редактор Отображений Кода и выберите Parameters, Data Stores, Signals/States или вкладку Functions. Выберите элемент в той вкладке и используйте Property Inspector, чтобы установить атрибут 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>AUTOSAR-совместимый код С содержит комментарии и #define и #include операторы, которые обеспечивают обертку вокруг данных или функциональных определений, принадлежащих каждому SwAddrMethod раздел memory.
/* 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, представление 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 с данными модели и функциями, откройте редактор Отображений Кода и выберите Parameters, Data Stores, Signals/States или вкладку Functions. Выберите элемент в той вкладке и используйте Property Inspector, чтобы установить атрибут SwAddrMethod. В этом примере, SwAddrMethod VAR выбран для equal_to_count сигнала, который сопоставлен со статическим ЗУ AUTOSAR.

В качестве альтернативы используйте эквивалентную функцию карты AUTOSAR. Для получения дополнительной информации смотрите страницу с описанием для mapFunction, mapParameter, mapSignal, mapState, или mapDataStore.
SwAlignmentSwAlignment свойство описывает намеченное выравнивание данных AUTOSAR в разделе memory. SwAlignment задает количество битов. Допустимые значения включают 8, 12, 32, (удержанный от использования) UNKNOWN, UNSPECIFIED и БУЛЕВСКАЯ ПЕРЕМЕННАЯ. Для числовых данных, типичного 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:
Память на экземпляр
Параметры компонента программного обеспечения
Элементы данных интерфейса Parameter
Интерфейсные аргументы операции клиент-сервер
Статическая и постоянная память
SwImplPolicySwImplPolicy свойство задает политику реализации для элемента данных, относительно механизмов непротиворечивости переменных. Вы не можете изменить SwImplPolicy свойство, но свойство установлено в standard или queued для данных AUTOSAR в экспортируемом коде ARXML. Значение установлено к:
standard для
Память на экземпляр
Межвыполнимые переменные
Параметры компонента программного обеспечения
Элементы данных интерфейса Parameter
Интерфейсные аргументы операции клиент-сервер
Статическая и постоянная память
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.