Настройте функцию и стратегию

Калибровка функции является процессом калибровки интерполяционных таблиц путем сравнения стратегии электронного блока управления (ECU) со статистической моделью. Модель Simulink® представляет стратегию ECU. Для получения дополнительной информации о процессе, смотрите Процесс для Калибровки и Заполнения Таблиц Функции.

Model-Based Calibration Toolbox™ калибрует средство оценки или функцию, для подсистемы управления в ECU. Функциями являются обычно алгебраические наборы одной или нескольких таблиц. Вы используете функции, чтобы оценить сигналы в механизме, которые являются неизмеримыми, или дорогими, чтобы измериться и являются важными для управления. Тулбокс может калибровать подсистему ECU путем прямого сравнения его с моделью объекта управления той же функции.

Стратегия является алгебраическим набором таблиц и формирует структуру функции. Model-Based Calibration Toolbox использует стратегию оценить сигналы в механизме, который не может быть измерен.

Чтобы оценить функцию бок о бок с моделью, у вас должна быть стратегия, которая берет некоторых или все те же переменные как модель. Стратегия выражается с помощью схем Simulink. Можно или импортировать стратегию, или можно создать стратегию.

Добавьте опцию

Функция состоит из модели и набора интерполяционных таблиц, организованных в стратегии.

Чтобы добавить опцию, выберите File> New> Feature. Это автоматически переключает вас на представление Feature и добавляет пустую опцию к вашему сеансу.

Неполной функцией является функция, которая не содержит и присвоенную модель и стратегию. Если функция является неполной, отображения CAGE в древовидном отображении. Если функция завершена, отображения CAGE в древовидном отображении.

Импортируйте стратегию из Simulink

  1. Подсветите главный узел функции в древовидном отображении.

  2. Выберите File> Import> Strategy.

  3. Выберите соответствующий файл модели Simulink.

    Если существует один внешний выходной порт, CAGE автоматически импортирует стратегию.

  4. Если существует несколько внешних выходных портов, CAGE предлагает вам к также:

    • Импортируйте все выходные порты в отдельные функции.

    • Вручную выберите один выходной порт. Блоки выходного порта подсвечены в синем. Дважды кликните выходной порт, чтобы импортировать.

  5. Чтобы просмотреть текстовое представление вашей стратегии, выберите узел Feature.

Если парсинг Simulink схематически изображает сбои, и вы видите сообщение об ошибке, затем тулбокс отменяет изменения в текущем проекте CAGE. Исправьте модель Simulink и повторно проанализируйте ее.

Образцовая иерархия структуры и стратегии

CAGE использует иерархию Подсистемы в модели Simulink, чтобы сгенерировать подфункции в CAGE. Это облегчает понимать структуру стратегии и связывать его с моделью Simulink. Однако имейте в виду, как CAGE создает подфункции из моделей Simulink:

  • Когда подсистема имеет больше чем один выходной порт, CAGE добавляет имя выходного порта к подсистеме для имени подфункции. Переименуйте выходной порт прежде, чем импортировать, если вы хотите конкретное имя для подфункции CAGE. CAGE Создает уникальные имена.

  • CAGE создает подфункцию из выходных портов в подсистемах. CAGE работает назад от выходных портов и включает все входные блоки в выходной порт в подфункции, включая блоки вне подсистемы. Подфункции не идентичны Подсистемам Simulink.

  • CAGE показывает иерархию подфункции в дереве Функции. Каждая подфункция также видима в верхнем уровне дерева.

Таблицы, нормализаторы и константы

Имена и повторное использование

  • Если параметр является допустимым именем переменной и не выражением MATLAB®, CAGE использует имена переменных, чтобы определить имена нормализатора и таблица. Это поддерживает табличное повторное использование и избегает потребности в явных блоках нормализатора.

  • Для констант CAGE использует имя блока или постоянное имя переменной, если задано. Константы снова используются, если у них есть то же имя как существующая константа, и значение является тем же самым.

  • Если таблица с тем же именем существует в проекте, и входные выражения для этих таблиц являются тем же самым, то тулбокс снова использует таблицу. Точно так же нормализаторы повторных использований тулбокса, если у них есть те же входные параметры как существующий нормализатор.

    Если таблица того же имени существует в проекте, и новая таблица имеет различные входные параметры, то CAGE спрашивает, какую опцию вы хотите:

    • Составьте таблицу с другим именем (снабдите суффиксом _1).

    • Повторно подключите табличные входные параметры с помощью текущих связей блока Simulink.

    • Отмена. Можно затем отредактировать модель, чтобы устранить разногласия при желании.

Таблица и структура нормализатора

  • Разделяемые нормализаторы могут использоваться в качестве входных параметров к нескольким таблицам. Можно просмотреть совместно использованные нормализаторы наверху Табличного дерева CAGE.

  • Можно составить 1D таблицы с или без нормализаторов. Если вы добавляете Функциональный блок CAGE от cgeqlib без нормализатора, 1D интерполяционная таблица с внутренним нормализатором создается на парсинге. Если Функциональный блок имеет нормализатор как свой вход, то можно использовать совместно использованные нормализаторы (из списка доступных нормализаторов в CAGE). После создания вы не можете измениться от использования разделяемых нормализаторов к внутренним нормализаторам.

  • 2D интерполяционные таблицы всегда совместно использовали нормализаторы. Если вход к блоку Table не является нормализатором, то CAGE создает нормализатор, когда стратегия анализируется.

    CAGE присваивает имена нормализатора с помощью точки останова интерполяционной таблицы (или строка/индекс столбца) имена переменных при наличии. Если выражение задает точки останова и не переменную, то CAGE называет нормализаторы с помощью формы tablename_normY или tablename_normX.

  • Если вы меняете имя импорта, таблицы или блоков нормализатора для блоков, сопоставленных с существующими элементами CAGE, то название элементов CAGE изменено. Имя уникально для текущего проекта CAGE (снабдите суффиксом _1, добавляется при необходимости, чтобы создать уникальное имя).

  • Таблицы перед поиском должны питаться в блок Interpolation с помощью блока Prelookup.

  • Блоки нормализатора, если используется, должны быть входными параметрами к таблицам.

Импорт данных

  • Данные о таблице и нормализаторе импортируются из Simulink.

    Необходимо смочь запустить Update Diagram на модели Simulink, и данные должны иметь один источник. В противном случае табличные данные оставляют пустыми, и необходимо настроить таблицы, нормализаторы и константы с помощью менеджера по Калибровке.

  • Данные Константа считаны из блоков Константа или Усиления.

Блокируйте поддержку

Блоки

Описание

Математические операцииCAGE поддерживает подмножество блоков Simulink. Чтобы просмотреть поддерживаемые блоки, откройте библиотеку cgeqlib.

Блоки switch

CAGE может импортировать блок блок switch и MultiportSwitch Simulink. Когда вы импортируете блок switch, CAGE преобразовывает его в блок CAGE под названием IfExpr. Можно просмотреть блок в библиотеке cgeqlib.

Логический оператор и оператор отношения

Логические и Булевы выражения: CAGE может импортировать блоки Логического оператора и Оператора отношения.

Продукт и сумма

Многочленные выражения: CAGE создает многочленные выражения с помощью формы Горнера (продукт и блоки Суммы).

Скалярное произведение

Позволяет реализацию выражений взвешенной суммы.

Интерпретированная функция MATLAB

Используйте, чтобы реализовать более общие функции в функциях CAGE. Функция должна быть векторизована, то есть, она должна принять матричные входные параметры формы ([u1,u2,u3,…,un]).

@fcn

CAGE преобразовывает выражение в векторизованную форму MATLAB. Можно использовать ( ) или индексацию [ ] входа.

Создание условий сигнала

CAGE игнорирует блоки создания условий сигнала. Несколько стандартных блоков Simulink предназначаются для создания условий сигналов, но можно проигнорировать блоки в целях установившегося анализа в CAGE. Эти блоки включают Преобразование Сигнала, Переход Уровня, Преобразование типа данных и Начальные блоки Условия. CAGE игнорирует их, облегчая импортировать существующие схемы стратегии.

Объедините и если

CAGE поддерживает блоки Слияния, питаемые активированными или подсистемами If/ElseIf/Else, распространенными в промышленных моделях.

Только скалярные входные параметры поддерживаются за исключением Fcn, Скалярного произведения, Полинома и Интерпретированных блоков MATLAB function, которые принимают несколько входных параметров как входные параметры к выражению (например, u(1)+u(2)).

Обработка цикла

CAGE не может обработать выражения с циклами. Если CAGE обнаруживает цикл, то CAGE спрашивает, хотите ли вы повредить цикл путем представления переменной под названием previousOutportName. Если возможно, CAGE пытается повредить циклы на контуре функции (например, верхний уровень или подсистема вывод).

Если вы решаете не повредить цикл, сообщение об ошибке сообщает вам, какие блоки вовлечены в цикл.

CAGE игнорирует блоки Задержки и Восстановленные блоки Задержки, чтобы упростить парсинг цикла.

Импорт более старых стратегий

Чтобы проанализировать стратегии от предыдущих релизов, можно использовать функциональный cgStrategyTables, чтобы установить стиль для поведения синтаксического анализатора стратегии. Используйте cgStrategyTables, чтобы импортировать любые более старые стратегии, сохраненные как файлы модели Simulink.

  • Для стратегий от R2013a или позже, CAGE интерпретирует первый вход к 2D интерполяционной таблице как Y (строки). Ранее CAGE анализировал первый вход как столбцы и второе как строки. Используйте режимы обратной совместимости cgStrategyTables для ранее сохраненных стратегий в случае необходимости.

  • Для стратегий от R2008a до R2012b блоки интерполяционной таблицы всегда интерпретируются как интерполяционные таблицы, потому что существует отдельный поиск и блоки нормализатора. В R2008a блок нормализатора был добавлен к библиотеке cgeqlib.

    Чтобы установить стиль синтаксического анализатора на R2008a, используйте:

    cgStrategyTables('R2008a') 

  • Для стратегий, более старых, чем R2008a, CAGE интерпретирует 1D таблицы как нормализаторы, если они питаются в интерполяционную таблицу.

    Чтобы проанализировать pre-R2008a стратегии, используйте эту функцию:

    cgStrategyTables('Pre-R2008a') 
    Это возвращается поведение синтаксического анализатора к pre-R2008a интерпретации 1D интерполяционных таблиц. CAGE выдает предупреждение при преобразовывании 1D таблицы в нормализатор. Можно выключить предупреждение:
    warning off mbc:cgslparser:ObsoleteNormalizer

  • Чтобы сбросить стиль синтаксического анализатора к R2013a и позже, используйте:

    cgStrategyTables('R2013a') 

  • Запрашивать текущий стиль таблицы стратегии, введите:

    Style = cgStrategyTables

Создайте стратегию

Создать стратегию из CAGE, а не импортировать существующую модель:

  1. Подсветите правильную функцию путем выбора узла Feature.

  2. Выберите Feature> Edit Strategy.

    Три открытые окна Simulink:

    ОкноОписание

    Стратегия

    Используйте, чтобы отредактировать вашу стратегию.

    Библиотека, cgeqlib

    Блоки, доступные для создания стратегии.

    Библиотека

    Существующие блоки в вашем проекте CAGE, организованном в библиотеки. Блоки От блоков, ссылающихся на элементы CAGE, такие как таблицы и нормализаторы.

  3. В окне стратегии создайте свою стратегию с помощью блоков в окнах библиотеки. Чтобы выполнить калибровку функции, у стратегии и модели должны иметь некоторые общие переменные.

  4. Чтобы проанализировать стратегию в сеанс CAGE, дважды кликните синий круг выходного порта.

Библиотека cgeqlib содержит все блоки, доступные для создания стратегии.

Экспортируйте стратегии

Экспортируйте стратегии Simulink, если вы хотите:

  • Включайте стратегию в модель автомобиля Simulink.

  • Скомпилируйте стратегию с помощью Simulink Coder™, чтобы произвести код С.

  • Оцените стратегию с помощью Simulink.

Экспортировать стратегию от CAGE:

  1. Подсветите узел Feature, который содержит стратегию, которую вы хотите сохранить.

  2. Выберите File> Export> Strategy.

  3. Присвойте имя для своей стратегии.

    Стратегия сохранена как файл модели Simulink.

На экспорт табличные данные хранятся в переменных. Индексы записаны в параметры Simulink с помощью выражений двоеточия.

  • Для 2D интерполяционных таблиц, 0:size (Table,1)-1, 0:size (Table,2)-1, TableName

  • Для 1D интерполяционных таблиц с разделяемыми нормализаторами, 0:length (Table)-1, TableName

  • Для 1D интерполяционных таблиц, NormalizerName и TableName

  • NormalizerName, 0:length(Normalizer)-1

Данные хранятся в рабочем пространстве модели. Данные о рабочем пространстве модели копируются в новую модель, когда вы копируете блок стратегии. Необходимо смочь запустить Update Diagram на модели Simulink, или процесс копии не работает. Копирование модели стратегии требует Model-Based Calibration Toolbox.

Похожие темы