Релиз 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'; addpath(fullfile(matlabroot,'/examples/autosarblockset/main')); 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'; addpath(fullfile(matlabroot,'/examples/autosarblockset/main')); 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> <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'; addpath(fullfile(matlabroot,'/examples/autosarblockset/main')); 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.