Чтобы определить значения, которые управляют точками изменения в программном компоненте AUTOSAR, компоненты используют следующие элементы AUTOSAR:
SwSystemconst
- задает системную константу, которая служит входом для управления точкой изменения.
SwSystemconstantValueSet
- задает набор значений системных констант, применяемых к программному компоненту AUTOSAR.
PredefinedVariant
- описывает комбинацию значений системных констант, среди потенциально нескольких допустимых комбинаций, для применения к программному компоненту AUTOSAR.
Для примера в коде ARXML можно задать SwSystemconst
s для автомобильных функций, таких как Transmission
, Headlight
, Sunroof
, и Turbocharge
. Затем A PredefinedVariant
может сопоставить комбинации функций с вариантами модели автомобиля, такими как Basic
, Economy
, Senior
, Sportive
, и Junior
.
Предположим, что у вас есть спецификация ARXML для программного компонента AUTOSAR. Если файлами также определяют PredefinedVariant
или SwSystemconstantValueSet
s для управления точками изменения в компоненте, можно разрешить точки изменения во время создания модели. Задайте PredefinedVariant
или SwSystemconstantValueSet
s, с помощью которого импортер может инициализировать SwSystemconst
данные.
Типичные шаги включают:
Получите список PredefinedVariant
s или SwSystemconstantValueSet
s определено в файле 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
или один или несколько SwSystemconstantValueSet
с.
Этот пример задает PredefinedVariant
Старший, который описывает комбинацию значений для Transmission
, Headlight
, Sunroof
, и Turbocharge
.
>> createComponentAsModel(obj,compNames{1},'ModelPeriodicRunnablesAs','AtomicSubsystem',... 'PredefinedVariant','/pkg/body/Variants/Senior');
Этот пример задает SwSystemconstantValueSet
s A и B, которые вместе обеспечивают значения для SwSystemconst
s в программном компоненте AUTOSAR.
>> createComponentAsModel(obj,compNames{1},'ModelPeriodicRunnablesAs','AtomicSubsystem',... 'SystemConstValueSets',{'/pkg/body/SystemConstantValues/A','/pkg/body/SystemConstantValues/B'});
Во время создания модели импортер ARXML создает AUTOSAR.Parameter
объекты данных с Storage class установленным значением SystemConstant
. Импортер инициализирует данные системной константы со значениями на основе заданных PredefinedVariant
или SwSystemconstantValueSet
с.
После создания модели можно запустить симуляции и сгенерировать код на основе комбинации заданных вами входных значений точек изменения.
В Simulink®, можно переопределить SwSystemconst
данные, который управляет точками изменения, не воссоздавая модель. Вызовите функцию свойства AUTOSAR createSystemConstants
, и укажите другую импортированную PredefinedVariant
или другой массив ячеек SwSystemconstantValueSet
s. Функция создает набор объектов данных системной константы с теми же именами, что и исходные объекты. Можно запустить симуляции и сгенерировать код на основе пересмотренной комбинации входных значений точек изменения.
Этот пример создает набор объектов данных системных констант с именами и значениями на основе импортированных PredefinedVariant
'/pkg/body/Variants/Economy'
.
arProps = autosar.api.getAUTOSARProperties(hModel); createSystemConstants(arProps,'/pkg/body/Variants/Economy');
Построение моделей экспортирует ранее импортированные PredefinedVariant
s и SwSystemconstantValueSet
с по код ARXML.