Чтобы задать значения, которые управляют точками изменения в компоненте программного обеспечения AUTOSAR, компоненты используют следующие элементы AUTOSAR:
SwSystemconst — Задает систему, постоянную, который служит входом, чтобы управлять точкой изменения.
SwSystemconstantValueSet — Задает набор системных постоянных значений, чтобы примениться к компоненту программного обеспечения AUTOSAR.
PredefinedVariant — Описывает комбинацию системных постоянных значений, среди потенциально нескольких допустимых комбинаций, чтобы примениться к компоненту программного обеспечения AUTOSAR.
Например, в arxml код, можно задать SwSystemconsts для автомобильных функций, таких как Transmission, Headlight, Sunroof, и Turbocharge. Затем PredefinedVariant может сопоставить комбинации функции с вариантами модели автомобиля, такими как Basic, Economy, Senior, Sportive, и Junior.
Предположим, что у вас есть arxml спецификация компонента программного обеспечения AUTOSAR. Если arxml файлы также задают PredefinedVariant или SwSystemconstantValueSets для управления изменением указывает в компоненте, можно разрешить точки изменения во время создания модели. Задайте PredefinedVariant или SwSystemconstantValueSets, с которым средство импорта может инициализировать SwSystemconst данные.
Типичные шаги включают:
Получите список PredefinedVariants или SwSystemconstantValueSets заданный в arxml файл.
>> obj = arxml.importer('mySWC.arxml');
>> find(obj,'/','PredefinedVariant','PathType','FullyQualified');
ans =
'/pkg/body/Variants/Basic'
'/pkg/body/Variants/Economy'
'/pkg/body/Variants/Senior'
'/pkg/body/Variants/Sportive'
'/pkg/body/Variants/Junior'>> obj = arxml.importer('mySWC.arxml');
>> find(obj,'/','SystemConstValueSet','PathType','FullyQualified')
ans =
'/pkg/body/SystemConstantValues/A'
'/pkg/body/SystemConstantValues/B'
'/pkg/body/SystemConstantValues/C'
'/pkg/body/SystemConstantValues/D'Создайте модель из arxml файл, и задает PredefinedVariant или один или несколько SwSystemconstantValueSets.
Этот пример задает PredefinedVariant Старший, который описывает комбинацию значений для Transmission, Headlight, Sunroof, и Turbocharge.
>> createComponentAsModel(obj,compNames{1},'ModelPeriodicRunnablesAs','AtomicSubsystem',...
'PredefinedVariant','/pkg/body/Variants/Senior');Этот пример задает SwSystemconstantValueSets A и B, которые вместе вводят значения для SwSystemconsts в компоненте программного обеспечения AUTOSAR.
>> createComponentAsModel(obj,compNames{1},'ModelPeriodicRunnablesAs','AtomicSubsystem',...
'SystemConstValueSets',{'/pkg/body/SystemConstantValues/A','/pkg/body/SystemConstantValues/B'});Во время создания модели, arxml средство импорта создает AUTOSAR.Parameter объекты данных, с набором Storage class к SystemConstant. Средство импорта инициализирует систему постоянные данные со значениями на основе заданного PredefinedVariant или SwSystemconstantValueSets.
После создания модели можно запустить симуляции и сгенерировать код на основе комбинации входных значений точки изменения, которые вы задали.
В Simulink® можно переопределить SwSystemconst данные, которые управляют точками изменения, не воссоздавая модель. Вызовите функцию свойства AUTOSAR createSystemConstants, и задайте различный импортированный PredefinedVariant или различный массив ячеек SwSystemconstantValueSets. Функция создает набор системы постоянные объекты данных с теми же именами как исходные объекты. Можно запустить симуляции и сгенерировать код на основе пересмотренной комбинации входных значений точки изменения.
Этот пример создает набор системы постоянные объекты данных с именами и значениями на основе импортированного PredefinedVariant
'/pkg/body/Variants/Economy'.
arProps = autosar.api.getAUTOSARProperties(hModel); createSystemConstants(arProps,'/pkg/body/Variants/Economy');
Создание экспорта модели ранее импортировало PredefinedVariants и SwSystemconstantValueSets к arxml код.