В 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 используют методы адреса программного обеспечения (SwAddrMethod
s) к данным группы и функциям в память разделяет для доступа измерением во время выполнения и инструментами калибровки. Для модели Simulink, сопоставленной с компонентом программного обеспечения AUTOSAR, можно сопоставить SwAddrMethod
s с этими элементами:
Параметр модели или интерполяционная таблица, сопоставленная с:
AUTOSAR постоянная память
AUTOSAR внутренний калибровочный параметр
Параметр порта AUTOSAR
Сигнал, состояние или хранилище данных, сопоставленное с:
Статическое ЗУ AUTOSAR
AUTOSAR память на экземпляр
Функция точки входа модели, сопоставленная с выполнимым AUTOSAR
Внутренние данные в функции точки входа модели
Создать и использовать SwAddrMethod
s в модели AUTOSAR:
Импортируйте SwAddrMethod
s из файлов ARXML или создают SwAddrMethod
s в Simulink.
Импортировать SwAddrMethod
s из файлов ARXML, используйте arxml.importer
функция createComponentAsModel
или createCompositionAsModel
для новой модели, или updateModel
или updateAUTOSARProperties
для существующей модели.
Создать SwAddrMethod
s в существующей модели, откройте Словарь AUTOSAR, представление SwAddrMethods, и нажмите кнопку Add. В качестве альтернативы используйте эквивалентные функции свойства AUTOSAR. Для получения дополнительной информации смотрите, Создают SwAddrMethods в Simulink.
Объединенный SwAddrMethod
s с данными модели и функциями. Откройте редактор Отображений Кода и выберите 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"
SwAddrMethod
s в SimulinkСоздать SwAddrMethod
s в существующей модели, откройте Словарь 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
с данными модели или функциейСопоставлять SwAddrMethod
s с данными модели и функциями, откройте редактор Отображений Кода и выберите Parameters, Data Stores, Signals/States или вкладку Functions. Выберите элемент в той вкладке и используйте Property Inspector, чтобы установить атрибут SwAddrMethod. В этом примере, SwAddrMethod
VAR выбран для equal_to_count
сигнала, который сопоставлен со статическим ЗУ AUTOSAR.
В качестве альтернативы используйте эквивалентную функцию карты AUTOSAR. Для получения дополнительной информации смотрите страницу с описанием для mapFunction
, mapParameter
, mapSignal
, mapState
, или mapDataStore
.
SwAlignment
SwAlignment
свойство описывает намеченное выравнивание данных 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
Интерфейсные аргументы операции клиент-сервер
Статическая и постоянная память
SwImplPolicy
SwImplPolicy
свойство задает политику реализации для элемента данных, относительно механизмов непротиворечивости переменных. Вы не можете изменить SwImplPolicy
свойство, но свойство установлено в standard
или queued
для данных AUTOSAR в экспортируемом коде ARXML. Значение установлено к:
standard
для
Память на экземпляр
Межвыполнимые переменные
Параметры компонента программного обеспечения
Элементы данных интерфейса Parameter
Интерфейсные аргументы операции клиент-сервер
Статическая и постоянная память
standard
или queued
для
Элементы данных интерфейса приемника отправителя |
SwRecordLayout
для данных об интерполяционной таблицеКомпоненты программного обеспечения AUTOSAR используют размещения записи программного обеспечения (SwRecordLayout
s) задавать, как сериализировать данные в памяти о ECU AUTOSAR. Средство импорта ARXML импортирует и сохраняет SwRecordLayout
свойство для данных AUTOSAR.
Можно импортировать SwRecordLayout
s из файлов ARXML любым из двух способов:
Если вы создаете свою модель AUTOSAR из файлов ARXML с помощью функции средства импорта createComponentAsModel
, включайте файл ARXML, который содержит SwRecordLayout
определения в импорте. Импортированный SwRecordLayout
s сохранены и позже экспортированы в коде ARXML.
Если вы создаете свою модель AUTOSAR в Simulink, можно импортировать совместно использованные определения SwRecordLayout
s из файлов ARXML. Используйте функцию средства импорта updateAUTOSARProperties
. Например:
importerObj = arxml.importer(arxmlFileName); updateAUTOSARProperties(importerObj,modelName);
Когда вы генерируете типовой кодекс, экспортируемый код ARXML содержит ссылки на импортированный SwRecordLayout
только для чтения элементы, но не их определения.
Для получения дополнительной информации смотрите Импорт и Ссылочные Разделяемые Определения Элемента AUTOSAR.