Релиз 4.0 AUTOSAR ввел новый подход к типам данных AUTOSAR, в которых базовые типы данных сопоставлены с типами данных реализации и типами данных приложения. Приложение и типы данных реализации разделяют уровень приложения физические атрибуты, такие как реальная область значений значений, структуры данных и физической семантики, от атрибутов уровня реализации, таких как минимум сохраненного целого числа и максимум и спецификация типа примитива (целое число, булевская переменная, действительная, и так далее). Для получения информации о моделировании типов данных R4.x смотрите Типы данных Релиза 4.x.
Программное обеспечение поддерживает типы данных AUTOSAR R4.x в Simulink® порожденные и рабочие процессы туда и обратно:
Для компонентов AUTOSAR, порожденных в Simulink, программное обеспечение генерирует приложение AUTOSAR, реализацию и базовые типы, чтобы сохранить информацию, содержавшую в типах данных Simulink.
Для рабочих процессов туда и обратно, включающих компоненты AUTOSAR, порожденные вне MATLAB®, средство импорта arxml
и информация о типе данных заповедника средства экспорта и сопоставляющих для каждого импортировали тип данных AUTOSAR.
Для типов данных AUTOSAR R4.x, порожденных в Simulink, можно управлять некоторыми аспектами экспорта типа данных. Например, можно управлять, когда типы данных приложения сгенерированы или задают пакет AUTOSAR и краткое название, экспортируемое для наборов отображения типа данных AUTOSAR.
Для типов данных AUTOSAR, созданных в Simulink, по умолчанию, программное обеспечение генерирует типы базы приложения только для типов данных с фиксированной точкой и перечисленных типов даты с типами хранения. Если вы хотите заменить поведение по умолчанию для генерации типов приложения, можно сконфигурировать средство экспорта arxml
, чтобы сгенерировать тип приложения, наряду с типом реализации и базовым типом, поскольку каждый экспортировал тип данных AUTOSAR. Используйте параметр опций XML ImplementationDataType Reference (свойство XMLOptions
ImplementationDataTypeReference
), для которого можно задать следующие значения:
Allowed
(значение по умолчанию) — Позволяет прямую ссылку типов реализации в сгенерированном коде arxml
. Если тип данных приложения строго не требуется, чтобы описывать тип данных AUTOSAR, используйте ссылку типа данных реализации.
NotAllowed
— Не позволяйте прямую ссылку типов данных реализации в сгенерированном коде arxml
. Сгенерируйте тип данных приложения для каждого типа данных AUTOSAR.
Чтобы установить свойство ImplementationDataTypeReference
в Окне Команды MATLAB, используйте свойство AUTOSAR вызов функции set
, подобный следующему:
hModel = 'autosar_swc_expfcns'; open_system(hModel); arProps=autosar.api.getAUTOSARProperties(hModel); set(arProps,'XmlOptions','ImplementationTypeReference','NotAllowed'); get(arProps,'XmlOptions','ImplementationTypeReference')
Чтобы установить свойство ImplementationDataTypeReference
в Словаре AUTOSAR, выберите XML Options. Выберите значение для параметра ImplementationDataType Reference. Нажмите Apply.
Для компонентов программного обеспечения AUTOSAR, созданных в Simulink, можно управлять пакетом AUTOSAR и кратким названием, экспортируемым для наборов отображения типа данных AUTOSAR. Чтобы сконфигурировать тип данных, сопоставляющий пакет набора для экспорта, установите свойство XMLOptions
DataTypeMappingPackage
с помощью Словаря AUTOSAR или свойства AUTOSAR функция set
.
hModel = 'autosar_swc_expfcns'; open_system(hModel); arProps=autosar.api.getAUTOSARProperties(hModel); set(arProps,'XmlOptions','DataTypeMappingPackage','/pkg/dt/DataTypeMappings'); get(arProps,'XmlOptions','DataTypeMappingPackage')
Экспортируемый код arxml
использует заданный пакет. Значением по умолчанию, сопоставляющим краткое название набора, является имя компонента ASWC
, снабженный префиксом к DataTypeMappingsSet
.
<DATA-TYPE-MAPPING-REFS> <DATA-TYPE-MAPPING-REF DEST="DATA-TYPE-MAPPING-SET"> /pkg/dt/DataTypeMappings/ASWCDataTypeMappingsSet</DATA-TYPE-MAPPING-REF> </DATA-TYPE-MAPPING-REFS> ... <AR-PACKAGE UUID="..."> <SHORT-NAME>DataTypeMappings</SHORT-NAME> <ELEMENTS> <DATA-TYPE-MAPPING-SET UUID="..."> <SHORT-NAME>ASWCDataTypeMappingsSet</SHORT-NAME> ... </DATA-TYPE-MAPPING-SET> </ELEMENTS> </AR-PACKAGE>
Можно задать краткое название для типа данных, сопоставляющего набор с помощью функции свойства AUTOSAR addPackageableElement
. Следующий пример задает пользовательский тип данных, сопоставляющий пакет набора и имя с помощью команд MATLAB.
% Add a new data type mapping set modelName = 'autosar_swc_expfcns'; open_system(modelName); propObj = autosar.api.getAUTOSARProperties(modelName); newMappingSetPath = '/myPkg/mySubpkg/MyMappingSets'; newMappingSetName = 'MappingSetName'; newMappingSet = [newMappingSetPath '/' newMappingSetName]; addPackageableElement(propObj,'DataTypeMappingSet',newMappingSetPath,newMappingSetName); % Configure the component behavior to use the new data type mapping set swc = get(propObj,'XmlOptions','ComponentQualifiedName'); ib = get(propObj,swc,'Behavior','PathType','FullyQualified'); set(propObj,ib,'DataTypeMapping',newMappingSet); % Force generation of application data types set(propObj,'XmlOptions','ImplementationTypeReference','NotAllowed'); % Build rtwbuild(modelName);
Экспортируемый код arxml
использует заданный пакет и имя, как показано ниже.
<INTERNAL-BEHAVIORS> <SWC-INTERNAL-BEHAVIOR UUID="..."> <SHORT-NAME>IB</SHORT-NAME> <DATA-TYPE-MAPPING-REFS> <DATA-TYPE-MAPPING-REF DEST="DATA-TYPE-MAPPING-SET"> /myPkg/mySubpkg/MyMappingSets/MappingSetName</DATA-TYPE-MAPPING-REF> </DATA-TYPE-MAPPING-REFS> ... </SWC-INTERNAL-BEHAVIOR> </INTERNAL-BEHAVIORS>
Чтобы инициализировать объекты данных AUTOSAR, введенные типом данных приложения, R4.1 требует спецификаций значения приложения AUTOSAR (ApplicationValueSpecification
s). Embedded Coder® оказывает следующую поддержку:
Средство импорта arxml
использует ApplicationValueSpecification
s найденный в импортированных файлах arxml
инициализировать соответствующие объекты данных в модели Simulink.
Если вы выбираете схему 4.0 AUTOSAR или позже для модели, которая содержит параметры AUTOSAR, введенные типом данных приложения, генерация кода экспортирует код arxml
, который использует ApplicationValueSpecification
s, чтобы задать начальные значения для данных AUTOSAR.
Для параметров AUTOSAR, введенных типом данных реализации, генерация кода экспортирует код arxml
, который использует NumericalValueSpecification
s и (для перечислимых типов) TextValueSpecification
s, чтобы задать начальные значения. Если начальные значения для параметров задают несколько значений, сгенерированный код использует ArrayValueSpecification
s.