Релиз 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.