Чтобы задать значения, которые управляют точками изменения в компоненте программного обеспечения 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.