В 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
для переменных измерения, калибровочных параметров, и предупредить и объекты данных параметра. Допустимые значения:
Только для чтения
Элемент данных появляется в сгенерированном файле описания с доступом для чтения только.
Чтение-запись
Элемент данных появляется в сгенерированном файле описания и с доступом для чтения и с доступом для записи.
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'; 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'; 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'; 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
Внутренние данные в образцовой функции точки входа
Создать и использовать 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, Signals/States, Data Stores или вкладку Entry-Point 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
, которые обеспечивают обертку вокруг данных или функциональных определений, принадлежащих каждому разделу memory 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"
SwAddrMethod
s в SimulinkЧтобы создать SwAddrMethod
s в существующей модели, откройте Словарь AUTOSAR, представление SwAddrMethods, и нажмите кнопку Add.
Также используйте эквивалентные функции свойства AUTOSAR. Этот код добавляет SwAddrMethods myCODE и myVAR к модели компонента AUTOSAR.
hModel = 'autosar_swc_counter'; 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, Signals/States, Data Stores или вкладку Entry-Point Functions. Выберите элемент в той вкладке и используйте Property Inspector, чтобы установить атрибут SwAddrMethod. В этом примере VAR SwAddrMethod
выбран для 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.