В Simulink® можно изменить иерархическую структуру пакета AUTOSAR, как задано стандартом AUTOSAR, который Embedded Coder® экспортирует в arxml
код.
Стандарт AUTOSAR задает пакеты AUTOSAR (AR-PACKAGEs). ПАКЕТЫ AR содержат группы элементов AUTOSAR и находятся в иерархической структуре AR-PACKAGE. В Инструменте разработки AUTOSAR (AAT) или в Simulink, можно сконфигурировать структуру AR-PACKAGE к:
Соответствуйте организационной или стандартизированной структуре AR-PACKAGE.
Установите пространство имен для элементов в пакете.
Обеспечьте основание для относительных ссылок на элементы.
arxml
средство импорта импортирует AR-PACKAGEs, их элементы и их пути в Simulink. Настройка модели сохраняет пакеты для последующего экспорта в arxml
код. В общем случае программное обеспечение сохраняет пакеты AUTOSAR через поездки туда и обратно между AAT и Simulink.
Если ваш компонент AUTOSAR произошел в Simulink при создании компонента, разработчик компонента AUTOSAR создает начальную структуру AR-PACKAGE по умолчанию, содержа следующие пакеты.
Компоненты программного обеспечения (включая калибровочные компоненты)
Типы данных
Интерфейсы порта
Внутреннее поведение (схема 3.x или ранее)
Реализация
Например, предположите, что вы запускаете с простой модели Simulink, такой как rtwdemo_counter
. Переименуйте его к mySWC
. Сконфигурируйте модель для генерации кода AUTOSAR. (Например, открытый Быстрый запуск Embedded Coder и выбирают генерацию кода AUTOSAR.), Когда вы создаете модель, ее начальная структура AR-PACKAGE напоминает следующую фигуру.
После создания компонента можно использовать представление XML Options в Словаре AUTOSAR, чтобы задать дополнительный AR-PACKAGEs. (См., Конфигурируют Опции AUTOSAR XML или Конфигурируют Адаптивные Опции XML AUTOSAR.) Каждый AR-PACKAGE представляет категорию элемента AUTOSAR. Во время генерации кода, arxml
средство экспорта генерирует пакет, если какие-либо элементы его категории существуют в модели. Для каждого пакета вы задаете путь, который задает его местоположение в структуре AR-PACKAGE.
Используя опции XML, можно сконфигурировать пакеты AUTOSAR для следующих категорий элементов AUTOSAR:
Данные приложения вводят (схема 4.x)
Базовые типы программного обеспечения (схема 4.x)
Тип данных, сопоставляющий наборы (схема 4.x)
Константы и значения
Физические ограничения данных (ссылаемый типами данных приложения или прототипами данных)
Системные константы (схема 4.x)
Методы адреса программного обеспечения
Группы объявления режима
Методы расчета
Модули и модульные группы (схема 4.x)
Размещения записи программного обеспечения (для типов данных приложения категории CURVE, MAP, КУБОИД или COM_AXIS)
Внутренние ограничения данных (ссылаемый типами данных реализации)
Для пакетов, которые вы задаете в опциях XML, arxml
средство экспорта генерирует пакет, только если модель содержит элемент категории пакета. Например, средство экспорта генерирует пакет метода адреса программного обеспечения, только если модель содержит элемент метода адреса программного обеспечения.
Если ваш компонент использует схему 4.x, можно задать отдельные пакеты для перечисленных элементов схемы 4.x, например, типов данных приложения. Типы данных реализации схемы 4.x агрегированы в основном пакете типов данных.
Структура AR-PACKAGE логически отлична от однофайлового разделения или разделения модульного файла, которое можно выбрать для arxml
экспортируйте, с помощью опции XML Exported XML file packaging. Для получения дополнительной информации об экспорте пакета AUTOSAR, смотрите Местоположение AR-PACKAGE в Экспортируемых Файлах ARXML.
Если вы импортируете структуру AR-PACKAGE в Simulink, arxml
средство импорта сохраняет отношения элемента пакета и пути к пакету, заданные в arxml
код. Кроме того, средство импорта заполняет упаковочные свойства в компоненте и представления XML Options в Словаре AUTOSAR. Если arxml
код не присваивает элементы AUTOSAR пакетам на основе категории, средство импорта использует эвристику, чтобы определить оптимальную ассоциацию категории для пакета. Однако максимум одного пакета может быть сопоставлен с категорией.
Предположим, что вы запускаете с non-AUTOSAR модели Simulink и конфигурируете модель для генерации кода AUTOSAR. (Например, открытый Быстрый запуск Embedded Coder и выбирают генерацию кода AUTOSAR.) Программное обеспечение создает начальную структуру AR-PACKAGE по умолчанию. После создания компонента представление компонента в Словаре AUTOSAR отображает Component XML Options, включая пути к пакету для внутреннего поведения компонента и реализацию.
Представление XML Options отображает пути для типа данных AUTOSAR и интерфейсных пакетов и дополнительных пакетов.
Используя подпанель Additional Packages, можно заполнить поля пути для дополнительных пакетов или оставить их пустыми. Если вы оставляете поле пакета пустым, и если модель содержит packageable элементы той категории, arxml
средство экспорта использует внутренние правила, чтобы вычислить путь к пакету. Приложение внутренних правил обратно совместимо с более ранними релизами. В следующей таблице перечислены опцию XML упаковочные свойства с их основанными на правилах путями к пакету по умолчанию.
PropertyName | Пути к пакету на основе внутренних правил |
---|---|
InternalBehaviorQualifiedName |
|
ImplementationQualifiedName |
|
ComponentQualifiedName |
(диалоговое окно отображается путь компонента без краткого названия), |
DataTypePackage |
|
InterfacePackage |
|
ApplicationDataTypePackage |
|
SwBaseTypePackage |
|
DataTypeMappingPackage |
|
ConstantSpecificationPackage |
|
DataConstraintPackage |
|
SystemConstantPackage |
|
SwAddressMethodPackage |
|
ModeDeclarationGroupPackage |
|
CompuMethodPackage |
|
UnitPackage |
|
SwRecordLayoutPackage |
|
InternalDataConstraintPackage |
|
Чтобы установить упаковочное свойство в Командном окне MATLAB® или в скрипте, используйте свойство AUTOSAR set
вызов функции, похожий на следующее:
hModel = 'autosar_swc_counter'; open_system(hModel); arProps=autosar.api.getAUTOSARProperties(hModel); set(arProps,'XmlOptions','ApplicationDataTypePackage','/Company/Powertrain/DataTypes/ADTs'); get(arProps,'XmlOptions','ApplicationDataTypePackage')
Для демонстрационного скрипта смотрите, Конфигурируют Экспорт AUTOSAR XML.
Для примера конфигурирования и экспорта пакеты AUTOSAR, смотрите Экспорт Пакеты AUTOSAR.
Если вы изменяете путь к пакету AUTOSAR, и если packageable элементы той категории затронуты, вы можете:
Переместите элементы от существующего пакета до нового пакета.
Установите новый путь к пакету, не перемещая элементы.
Если вы изменяете путь к пакету в Словаре AUTOSAR, и если packageable элементы той категории затронуты, диалоговое окно открывается. Например, если вы изменяете опцию XML CompuMethod Package от значения пути /Local/CompuMethods
к /pkg/CMs
, программное обеспечение открывает следующее диалоговое окно.
Чтобы переместить элементы CompuMethod в новый пакет, нажмите OK. Чтобы установить новый путь к пакету, не перемещая элементы, нажмите Cancel.
Если вы программно изменяете путь к пакету, можно использовать MoveElements
свойство задать обработку затронутых элементов. Свойство может быть установлено в All
(значение по умолчанию), None
, или Alert
. Если вы задаете Alert
, и если packageable элементы затронуты, программное обеспечение открывает диалоговое окно с кнопками OK и Cancel.
Например, следующие кодовые наборы новый путь к пакету CompuMethod, не перемещая существующие элементы CompuMethod в новый пакет.
arProps = autosar.api.getAUTOSARProperties('cmSpeed'); set(arProps,'XmlOptions','CompuMethodPackage','/pkg/CMs','MoveElements','None');
В этом примере показано, как сконфигурировать и экспортировать пакеты AUTOSAR для компонента программного обеспечения AUTOSAR, который произошел в Simulink.
Откройте модель, которую вы сконфигурировали для системного конечного файла AUTOSAR, и это моделирует компонент программного обеспечения AUTOSAR. Этот пример использует модель autosar_swc_expfcns
в качестве примера.
Откройте Словарь AUTOSAR и выберите XML Options. Вот начальные установки для некоторых параметров пакета AUTOSAR.
В этом примере Exported XML file packaging установлен в Single file
, который генерирует один, объединенный arxml
файл. Если вы предпочитаете несколько, модульный arxml
файлы, измените настройки к Modular
.
Сконфигурируйте пакеты для одного или нескольких элементов AUTOSAR, которые ваша модель экспортирует в arxml
код. Для каждого пакета введите путь, чтобы задать его местоположение в структуре AR-PACKAGE. Нажмите Apply.
Модель в качестве примера экспортирует несколько постоянных спецификаций AUTOSAR. Этот пример устанавливает параметр ConstantSpecification Package на /pkg/misc/MyGround
. (Это значение заменяет основанное на правилах значение по умолчанию, /pkg/dt/Ground
.)
Сгенерируйте код для модели.
Откройте сгенерированный файл
. (Если вы устанавливаете Exported XML file packaging на modelname
.arxmlModular
, откройте сгенерированный файл
.)modelname
_component.arxml
Ищите код XML пакеты, которые вы сконфигурировали, например, с помощью текста AR-PACKAGE или имя элемента. Для модели в качестве примера, ища autosar_swc_expfcns.arxml
для текста MyGround
находит постоянный пакет спецификации и много ссылок на него. Вот выборка примера кода.
Группировка элементов AUTOSAR в пакеты AUTOSAR (AR-PACKAGEs) логически отлична от arxml
выходной файл, группирующий, что параметр конфигурации AUTOSAR средства управления Exported XML file packaging. Устанавливаете ли вы Exported XML file packaging на Single file
или Modular
, arxml
экспорт сохраняет сконфигурированную структуру AR-PACKAGE.
Предположим, что вы конфигурируете модель autosar_swc_multirunnables
в качестве примера со следующей структурой AR-PACKAGE. (См. шаги в Экспорте Пакеты AUTOSAR). В этой настройке, заданном пути постоянного пакета спецификации,
/pkg/misc/myGround
, заменяет основанное на правилах значение по умолчанию, /pkg/dt/Ground
.
Если вы экспортируете эту структуру AR-PACKAGE в один файл (Exported XML file packaging установлен в Single file
), экспортируемый arxml
код сохраняет сконфигурированную структуру AR-PACKAGE.
autosar_swc_expfcns.arxml: <AR-PACKAGES> <AR-PACKAGE UUID="..."> <SHORT-NAME>pkg</SHORT-NAME> ... <SHORT-NAME>swc</SHORT-NAME> ... <SHORT-NAME>if</SHORT-NAME> ... <SHORT-NAME>dt</SHORT-NAME> ... <SHORT-NAME>SwBaseTypes</SHORT-NAME> ... <SHORT-NAME>misc</SHORT-NAME> ... <SHORT-NAME>MyGround</SHORT-NAME> ... <SHORT-NAME>imp</SHORT-NAME> ... </AR-PACKAGE> </AR-PACKAGES>
Если вы экспортируете ту же структуру AR-PACKAGE в несколько файлов (Exported XML file packaging установлен в Modular
), экспортируемый arxml
код сохраняет сконфигурированную структуру AR-PACKAGE, распределенную на нескольких файлах.
Средство экспорта сопоставляет пакеты с arxml
файлы на основе пути к пакету, не на содержимом пакета или категории элемента. Например, средство экспорта сопоставляет ориентированный на тип данных пакет, /pkg/misc/myGround
, к файлу компонента, autosar_swc_exps_component.arxml
, на основе пути к пакету. Сгруппировать пакет с другими ориентированными на тип данных пакетами, и в структуре AR-PACKAGE и в arxml
выведите, задайте путь к пакету, начинающийся с /pkg/dt/
.
autosar_swc_expfcns_component.arxml: <AR-PACKAGES> <AR-PACKAGE UUID="..."> <SHORT-NAME>pkg</SHORT-NAME> ... <SHORT-NAME>swc</SHORT-NAME> ... <SHORT-NAME>misc</SHORT-NAME> ... <SHORT-NAME>MyGround</SHORT-NAME> ... </AR-PACKAGE> </AR-PACKAGES> autosar_swc_expfcns_interface.arxml: <AR-PACKAGES> <AR-PACKAGE UUID="..."> <SHORT-NAME>pkg</SHORT-NAME> ... <SHORT-NAME>if</SHORT-NAME> ... </AR-PACKAGE> </AR-PACKAGES> autosar_swc_expfcns_datatype.arxml: <AR-PACKAGES> <AR-PACKAGE UUID="..."> <SHORT-NAME>pkg</SHORT-NAME> ... <SHORT-NAME>dt</SHORT-NAME> ... <SHORT-NAME>SwBaseTypes</SHORT-NAME> ... </AR-PACKAGE> </AR-PACKAGES> autosar_swc_expfcns_implementation.arxml: <AR-PACKAGES> <AR-PACKAGE UUID="..."> <SHORT-NAME>pkg</SHORT-NAME> ... <SHORT-NAME>imp</SHORT-NAME> ... </AR-PACKAGE> </AR-PACKAGES>