Блокируйте Поиск и устранение проблем линеаризации

Если вы идентифицируете блоки интереса к результатам линеаризации для вашей модели Simulink® путем запроса Советника по вопросам Линеаризации, можно диагностировать отдельную линеаризацию блока. Для получения дополнительной информации о запросе Советника по вопросам Линеаризации и просмотре информации о диагностике блока, смотрите, Идентифицируют и Устраняют Общие Проблемы Линеаризации.

Можно также диагностировать отдельную линеаризацию блока в командной строке с помощью объекта BlockDiagnostic. Для примера смотрите Результаты Линеаризации Поиска и устранения неисправностей в Командной строке.

В Linear Analysis Tool, на вкладке Advisor, подробная диагностическая информация для линеаризации блока показывает:

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

  • Значение линеаризации блока.

  • Рабочая точка блока; и входные значения состояния, для которых линеаризуется блок.

Можно диагностировать потенциальные проблемы линеаризации с помощью этой информации.

Диагностические сообщения

Сообщения диагностики линеаризации указывают на блоки со свойствами или линеаризацией, которая соответствует общим проблемам линеаризации. Устранение проблем линеаризации, идентифицированных в диагностических сообщениях, является хорошим первым шагом при поиске и устранении неисправностей линеаризации.

Некоторые настройки блока, которые могут сгенерировать диагностические сообщения, включают:

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

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

  • Блоки с наименьшим количеством одной пары ввода/вывода, которая линеаризует, чтобы обнулить и это вызывает нулевую пару ввода/вывода в полной линеаризации модели. Линеаризация имеет нулевую пару ввода/вывода, когда изменение в значении входного сигнала не вызывает соответствующее изменение в выходном значении.

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

Некоторые диагностические сообщения предлагают решения своих соответствующих проблем линеаризации. Например, когда входной сигнал вне пределов насыщения блока Saturation, диагностическое сообщение предлагает обработать блок как усиление во время линеаризации.

Сводные данные линеаризации

Сводная таблица линеаризации показывает следующие свойства линеаризации блока:

  • Block Path — Местоположение блока в модели Simulink. Чтобы подсветить блок в модели, кликните по блоку path.

  • Is On Path — Отметьте указание, является ли блок на пути к линеаризации; то есть, по крайней мере один вход линеаризации соединяется по крайней мере с одной линеаризацией вывод через блок. Если вы ожидаете, что блок будет на пути к линеаризации, и это не находится на пути, проверяйте аналитическую настройку точки в свою модель. Неправильно помещенная линеаризация I/Os или открытия цикла может исключить блоки от пути к линеаризации. Точно так же помещающие неправильные аналитические точки могут неожиданно добавить блоки в путь к линеаризации.

  • Contributes to Linearization — Отметьте указание, способствует ли блок численно полной линеаризации модели. Если блок неожиданно не способствует результату линеаризации, исследует линеаризацию блока и других блоков в том же ответвлении пути к линеаризации. Например, если смежный блок на пути к линеаризации линеаризует, чтобы обнулить, в противном случае правильно линеаризовавший блок может быть исключен из результата линеаризации.

  • Linearization method — Метод раньше линеаризовал модель, заданную как одно из следующего:

Блокируйте линеаризацию

Чтобы проверить ли блок, линеаризовавший как ожидалось, проверяйте уравнения линеаризации блока. По умолчанию программное обеспечение отображает линеаризацию в формате пространства состояний. В Show linearization as выпадающий список можно выбрать различный формат отображения.

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

  • Любые соответствующие диагностические сообщения. Эти сообщения могут подсветить частые причины неправильной линеаризации и предложить потенциальные решения.

  • Рабочая точка блока. Например, если вход к блоку насыщения вне пределов насыщения блока, блок линеаризует, чтобы обнулить.

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

Блокируйте рабочую точку

Если блок не линеаризует как ожидалось, проверяйте рабочую точку. Рабочая точка, в которой линеаризуется блок, состоит из входа и значений состояния. Если рабочая точка для блока является неправильной, проверяйте, правильна ли полная образцовая рабочая точка. Для получения дополнительной информации смотрите Рабочую точку Проверки.

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

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

Общие проблематичные блоки

Некоторые блоки Simulink имеют свойства, которые заставляют их линеаризовать плохо. Часто, такие блоки или линеаризуют, чтобы обнулить или сопоставить сообщения диагностики линеаризации с ними. Поэтому Советник по вопросам Линеаризации идентифицирует их как потенциально проблематичные блоки, когда вкладка Advisor сначала открывается.

Следующая таблица показывает некоторые блоки, которые обычно вызывают проблемы линеаризации, и предлагает, чтобы потенциал зафиксировал для каждого блока. Все эти блоки имеют соответствующие диагностические сообщения.

Тип блокаПроблема линеаризацииВозможная фиксация
Блоки, которые не поддерживают линеаризациюНекоторые блоки реализованы без заданных аналитических Якобианов и не поддерживают числовое возмущение.Задайте линеаризацию авторского блока. Для примеров смотрите, Задают Линейную систему для Линеаризации Блока Используя Выражение MATLAB и Задают D-матричную Систему для Линеаризации Блока Используя Функцию.
Блоки с разрывамиБлоки с разрывами обычно имеют плохие результаты линеаризации, когда рабочая точка около разрыва.
Основанные на событии Подсистемы (инициированные подсистемы)Блоки в основанных на событии подсистемах линеаризуют, чтобы обнулить, потому что такие подсистемы не инициировали во время линеаризации.Когда возможно, задайте пользовательскую основанную на событии линеаризацию подсистемы как смешанную среднюю модель или подсистему вызова периодической функции. Для получения дополнительной информации смотрите, Линеаризуют Основанные на событии Подсистемы (Внешне Запланированные Подсистемы).
Блоки с сигналами недвойной точностиБлоки, которые имеют входные сигналы недвойной точности или состояния и не имеют заданных аналитических Якобианов, линеаризуют, чтобы обнулить.Преобразуйте типы данных недвойной точности в с двойной точностью. Для получения дополнительной информации смотрите, Линеаризуют Блоки с Недвойными Сигналами Типа данных Точности.
Блоки, которые линеаризуют использующее числовое возмущение, а не задали аналитические ЯкобианыБлоки, которые расположены около прерывистых областей, таких как S-функции, блоки MATLAB function или интерполяционные таблицы, чувствительны к числовым уровням возмущения. Если уровень возмущения является слишком небольшим, блок линеаризует, чтобы обнулить.Измените числовой уровень возмущения блока. Для получения дополнительной информации смотрите Уровень Возмущения Изменения Блоков, Встревоженных Во время Линеаризации.

Похожие темы