Калибровка функции является процессом калибровки интерполяционных таблиц путем сравнения стратегии электронного модуля управления (ECU) со статистической моделью. Simulink® модель представляет стратегию установки пиролиза. Дополнительные сведения о процессе см. в разделе Процесс калибровки и заполнения таблиц функций.
Основанная на модели калибровочная Toolbox™ калибрует оценщик или функция для подсистемы управления в ECU. Функциями обычно являются алгебраические наборы одной или нескольких интерполяционных таблиц. Вы используете функции для оценки сигналов в двигателе, которые неизмеримы или дорого измеряются и важны для управления. Тулбокс может калибровать подсистему ECU, непосредственно сравнивая ее с моделью объекта управления той же функции.
Стратегия является алгебраическим набором интерполяционных таблиц и формирует структуру функции. Model-Based Calibration Toolbox использует стратегию для оценки сигналов в двигателе, которые не могут быть измерены.
Чтобы вычислить функцию один за другим с моделью, вам нужно иметь стратегию, которая принимает некоторые или все те же переменные, что и модель. Стратегия выражена с помощью схем Simulink. Можно импортировать стратегию или создать стратегию.
Можно импортировать функции для выбранных подсистем Simulink.
Функция состоит из модели и набора интерполяционных таблиц, организованных в стратегии.
Чтобы добавить функцию, выберите File > New > Feature. Это автоматически переключает вас на вид Feature Filling и добавляет пустую функцию к сеансу.
Неполная функция является функцией, который не содержит как назначенную модель, так и стратегию. Если функция неполная, CAGE отображений в древовидном отображении. Если функция завершена, CAGE отображений в древовидном отображении.
Выделите верхний узел функции в дереве отображения.
Выберите File > Import > Strategy.
Выберите соответствующий файл модели Simulink.
Если существует один внешний выход, CAGE автоматически импортирует стратегию.
Если существует несколько внешних выходных портов, CAGE предлагает вам импортировать все выходные порты в отдельные функции.
Используйте MBC Feature Importer для предварительного просмотра интерполяционных таблиц и функций импорта для выбранных подсистем Simulink. Нажмите OK.
Чтобы просмотреть текстовое представление стратегии, выберите узел Feature.
Если при анализе схемы Simulink происходит сбой и вы видите сообщение об ошибке, то тулбокс отбрасывает изменения в текущем проекте CAGE. Исправьте модель Simulink и повторно обработайте ее.
CAGE использует иерархию Подсистемы в модели Simulink, чтобы сгенерировать подфункции в CAGE. Это облегчает понимание структуры стратегии и связывание ее с моделью Simulink. Однако имейте в виду, как CAGE создает подфункции из моделей Simulink:
Когда подсистема имеет несколько выходных портов, CAGE добавляет имя выходного порта к подсистеме для имени подфункции. Переименуйте выходной порт перед импортом, если необходимо указать конкретное имя для подфункции CAGE. CAGE создает уникальные имена.
CAGE создает подфункцию из выходов в подсистемах. CAGE работает назад от выходных портов и включает все входные блоки к выходному порту в подфункции, включая блоки вне подсистемы. Подфункции не идентичны подсистемам Simulink.
CAGE показывает иерархию подфункций в дереве функций. Каждая подфункция также отображается на верхнем уровне дерева.
Имена и повторное использование |
|
Интерполяционная таблица и структура нормализатора |
|
Импорт данных |
|
Блоки | Описание |
---|---|
Math Operations | CAGE поддерживает подмножество блоков Simulink. Чтобы просмотреть поддерживаемые блоки, откройте cgeqlib библиотека. |
Блоки Switch | CAGE может импортировать блок Simulink Switch и блок MultiportSwitch. Когда вы импортируете блок Switch, CAGE преобразует его в блок CAGE под названием IfExpr. Можно просмотреть блок в |
Logical Operator и Relational Operator | Логические и логические выражения: CAGE может импортировать блоки Logical Operator и Relational Operator. |
Product и Sum | Полиномиальные выражения: CAGE строит полиномиальные выражения с помощью формы Хорнера (Product и Sum блоки). |
Dot Product | Позволяет реализовать взвешенные суммарные выражения. |
Interpreted MATLAB Function | Используется для реализации более общих функций в функциях CAGE. Функция должна быть векторизована, то есть она должна принимать матричные входы вида |
Кондиционирование сигнала | CAGE игнорирует блоки формирования сигналов. Несколько стандартных блоков Simulink предназначены для обусловления сигналов, но можно игнорировать блоки в целях статического анализа в CAGE. Эти блоки включают блоки Signal Conversion, Rate Transition, Data Type Conversion и Initial Condition. CAGE игнорирует их, облегчая импорт существующих стратегических схем. |
Merge и If | CAGE поддерживает блоки Merge, питаемые включенными или подсистемами 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 интерпретирует интерполяционные таблицы 1-D как нормализаторы, если они поступают в интерполяционную таблицу.
Чтобы проанализировать pre-R2008a стратегии, используйте эту функцию:
cgStrategyTables('Pre-R2008a')
warning off mbc:cgslparser:ObsoleteNormalizer
Чтобы сбросить стиль анализатора на R2013a и более поздние версии, используйте:
cgStrategyTables('R2013a')
Чтобы запросить текущий стиль таблицы стратегии, введите:
Style = cgStrategyTables
Чтобы создать стратегию из CAGE, а не импортировать существующую модель:
Выделите правильную функцию, выбрав узел Feature.
Выберите Feature > Edit Strategy.
Три окна Simulink открыты:
Окно | Описание | |
---|---|---|
Стратегия | Используется для редактирования стратегии. |
|
Библиотека, | Блоки, доступные для создания стратегии. |
|
Библиотека | Существующие блоки в проекте CAGE, организованные в библиотеки. Блоки являются From блоками, ссылающимися на элементы CAGE, такие как таблицы и нормализаторы. |
|
В окне стратегии создайте стратегию с помощью блоков в окнах библиотеки. Чтобы выполнить калибровку функции, стратегия и модель должны иметь некоторые общие переменные.
Чтобы проанализировать стратегию в сеансе CAGE, дважды щелкните синий круг вывода.
The cgeqlib
библиотека содержит все блоки, доступные для создания стратегии.
Экспортировать стратегии Simulink, если вы хотите:
Включите стратегию в модель транспортного средства Simulink.
Скомпилируйте стратегию с помощью Simulink Coder™ для создания кода С
Оцените стратегию с помощью Simulink.
Чтобы экспортировать стратегию из CAGE:
Выделите узел Feature, который содержит стратегию, которую вы хотите сохранить.
Выберите File > Export > Strategy.
Присвойте имя стратегии.
Стратегия сохранена как файл модели Simulink.
При экспорте данные таблицы хранятся в переменных. Индексы записываются в параметры Simulink с помощью выражений двоеточия.
Для двумерных интерполяционных таблиц 0:size (Table,1)-1
, 0:size (Table,2)-1
, TableName
Для 1-D интерполяционных таблиц с общими нормализаторами, 0:length (Table)-1
, TableName
Для 1-D интерполяционных таблиц NormalizerName
и TableName
NormalizerName
, 0:length(Normalizer)-1
Данные хранятся в рабочем пространстве модели. Данные рабочему пространству модели копируются в новую модель при копировании блока стратегии. Вы должны иметь возможность запускать Update Diagram на модели Simulink, или процесс копирования не работает. Для копирования модели стратегии требуется Model-Based Calibration Toolbox.