Управляйте вариантами AUTOSAR с предопределенными комбинациями значения

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

Типичные шаги включают:

  1. Получите список 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'
  2. Создайте модель из файла 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'});
  3. Во время образцового создания средство импорта 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.

Связанные примеры

Больше о