Чтобы задать значения, которые управляют точками изменения в компоненте программного обеспечения AUTOSAR, компоненты используют следующие элементы AUTOSAR:
SwSystemconst
— Задает систему, постоянную, который служит входом, чтобы управлять точкой изменения.
SwSystemconstantValueSet
— Задает набор системных постоянных значений, чтобы примениться к компоненту программного обеспечения AUTOSAR.
PredefinedVariant
— Описывает комбинацию системных постоянных значений, среди потенциально нескольких допустимых комбинаций, чтобы примениться к компоненту программного обеспечения AUTOSAR.
Например, в коде arxml
, можно задать SwSystemconst
s для автомобильных функций, таких как Transmission
, Headlight
, Sunroof
и Turbocharge
. Затем PredefinedVariant
может сопоставить комбинации функции с вариантами модели автомобиля, такими как Basic
, Economy
, Senior
, Sportive
и Junior
.
Предположим, что у вас есть спецификация arxml
компонента программного обеспечения AUTOSAR. Если файлы arxml
также задают 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
s.
Этот пример задает Старший 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
s.
После образцового создания можно запустить симуляции и сгенерировать код на основе комбинации входных значений точки изменения, которые вы задали.
В 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
s к коду arxml
.