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

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

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

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

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

Можно импортировать функции выбранных Подсистем Simulink.

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

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

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

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

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

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

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

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

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

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

  5. Используйте Средство импорта Функции MBC, чтобы предварительно просмотреть интерполяционные таблицы и функции импорта выбранных Подсистем Simulink. Нажмите OK.

  6. Чтобы просмотреть текстовое представление вашей стратегии, выберите узел 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). После создания вы не можете измениться от использования разделяемых нормализаторов к внутренним нормализаторам.

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

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

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

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

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

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

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

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

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

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

Блоки

Описание

Math OperationsCAGE поддерживает подмножество блоков Simulink. Чтобы просмотреть поддерживаемые блоки, откройте cgeqlib библиотека.

Блоки switch

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

Logical Operator и Relational Operator

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

Product и Sum

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

Dot Product

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

Interpreted MATLAB Function

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

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

CAGE игнорирует блоки создания условий сигнала. Несколько стандартных блоков Simulink предназначаются для создания условий сигналов, но можно проигнорировать блоки в целях установившегося анализа в CAGE. Эти блоки включают Signal Conversion, Rate Transition, Data Type Conversion и блоки Initial Condition. CAGE игнорирует их, облегчая импортировать существующие схемы стратегии.

Merge и If

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

Только скалярные входные параметры поддерживаются за исключением MATLAB Function, Dot Product, Polynomial и блоков Interpreted MATLAB Function, которые принимают несколько входных параметров как входные параметры к выражению (например, u(1)+u(2)).

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

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

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

CAGE игнорирует блоки Delay и блоки Resettable Delay, чтобы упростить парсинг цикла.

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

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

  • Для стратегий от R2013a или позже, CAGE интерпретирует первый вход к двумерной интерполяционной таблице как 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, организованном в библиотеки. Блоки являются блоками From, ссылающимися на элементы CAGE, такие как таблицы и нормализаторы.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Для двумерных интерполяционных таблиц, 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.

Похожие темы