Если вы идентифицируете блоки интереса к результатам линеаризации для вашей модели Simulink® путем запроса Советника по вопросам Линеаризации, можно диагностировать отдельную линеаризацию блока. Для получения дополнительной информации о запросе Советника по вопросам Линеаризации и просмотре информации о диагностике блока, смотрите, Идентифицируют и Устраняют Общие Проблемы Линеаризации.
Можно также диагностировать отдельную линеаризацию блока в командной строке с помощью BlockDiagnostic
объект. Для примера смотрите Результаты Линеаризации Поиска и устранения неисправностей в Командной строке.
В Model Linearizer, на вкладке Advisor, подробная диагностическая информация для линеаризации блока показывает:
Диагностические сводные данные, показывая любые соответствующие диагностические сообщения и сводную таблицу линеаризации.
Значение линеаризации блока.
Рабочая точка блока; и входные значения состояния, для которых линеаризуется блок.
Можно диагностировать потенциальные проблемы линеаризации с помощью этой информации.
Сообщения диагностики линеаризации указывают на блоки со свойствами или линеаризацией, которая соответствует общим проблемам линеаризации. Устранение проблем линеаризации, идентифицированных в диагностических сообщениях, является хорошим первым шагом при поиске и устранении неисправностей линеаризации.
Некоторые настройки блока, которые могут сгенерировать диагностические сообщения, включают:
Блоки без предопределенной точной линеаризации и с сигналами нес плавающей точкой или состояниями. Такие блоки линеаризуют, чтобы обнулить и сгенерировать диагностические сообщения.
Прерывистые блоки, линеаризовавшие в рабочей точке около разрыва. Если такие блоки не обработаны как усиление во время линеаризации, программное обеспечение генерирует диагностические сообщения относительно их линеаризации.
Блоки с наименьшим количеством одной пары ввода/вывода, которая линеаризует, чтобы обнулить и это вызывает нулевую пару ввода/вывода в полной линеаризации модели. Линеаризация имеет нулевую пару ввода/вывода, когда изменение в значении входного сигнала не вызывает соответствующее изменение в выходном значении.
Блоки, которые не поддерживают линеаризацию, потому что у них нет предопределенной точной линеаризации и не поддерживать числовое возмущение.
Некоторые диагностические сообщения предлагают решения своих соответствующих проблем линеаризации. Например, когда входной сигнал находится вне пределов насыщения блока Saturation, диагностическое сообщение предлагает обработать блок как усиление во время линеаризации.
Сводная таблица линеаризации показывает следующие свойства линеаризации блока:
Block Path — Местоположение блока в модели Simulink. Чтобы подсветить блок в модели, кликните по блоку path.
Is On Path — Отметьте указание, является ли блок на пути к линеаризации, то есть, по крайней мере один вход линеаризации соединяется по крайней мере с одной линеаризацией выход через блок. Если вы ожидаете, что блок будет на пути к линеаризации, и это не находится на пути, проверяйте аналитическую настройку точки в свою модель. Неправильно помещенная линеаризация I/Os или открытия цикла может исключить блоки из пути к линеаризации. Точно так же помещающие неправильные аналитические точки могут неожиданно добавить блоки в путь к линеаризации.
Contributes to Linearization — Отметьте указание, способствует ли блок численно полной линеаризации модели. Если блок неожиданно не способствует результату линеаризации, исследует линеаризацию блока и других блоков в той же ветви пути к линеаризации. Например, если смежный блок на пути к линеаризации линеаризует, чтобы обнулить, в противном случае правильно линеаризовавший блок может быть исключен из результата линеаризации.
Linearization method — Метод раньше линеаризовал модель в виде одного из следующего:
Exact — Линеаризация блока вычисляется с помощью заданного аналитического якобиана блока.
Perturbation — Блок не имеет аналитического якобиана. Вместо этого блок линеаризуется с помощью числового возмущения его входных параметров и состояний. Некоторые численно встревоженные блоки, такие как те с разрывами или входными сигналами нес плавающей точкой могут линеаризовать, чтобы обнулить.
Block Substituted — Линеаризация блока задана с помощью линеаризации пользовательского блока. Рассмотрите проверку, что заданная линеаризация блока правильна для вашего приложения. Для получения дополнительной информации смотрите, Задают Линейную систему для Линеаризации Блока Используя Выражение MATLAB и Задают D-матричную Систему для Линеаризации Блока Используя Функцию.
Simscape Network — Диагностика блока соответствует сети Simscape™ в вашей модели. Для получения дополнительной информации о линеаризации и поиске и устранении неисправностей сетей Simscape, смотрите, Линеаризуют Сети Simscape.
Not Supported — Блок не имеет аналитического якобиана и не поддерживает числовое возмущение. Задайте линеаризацию для этого блока с помощью пользовательской линеаризации. Для получения дополнительной информации смотрите, Задают Линейную систему для Линеаризации Блока Используя Выражение MATLAB и Задают D-матричную Систему для Линеаризации Блока Используя Функцию.
Чтобы проверить ли блок, линеаризовавший как ожидалось, проверяйте уравнения линеаризации блока. По умолчанию программное обеспечение отображает линеаризацию в формате пространства состояний. В Show linearization as выпадающий список можно выбрать различный формат отображения.
Чтобы диагностировать причину неожиданной линеаризации блока, такой как блок, который линеаризует, чтобы обнулить, рассмотрите:
Любые соответствующие диагностические сообщения. Эти сообщения могут подсветить частые причины неправильной линеаризации и предложить потенциальные решения.
Рабочая точка блока. Например, если вход с блоком насыщения находится вне пределов насыщения блока, блок линеаризует, чтобы обнулить.
Параметры блоков. Например, если блок сконфигурирован, чтобы использовать входные параметры нес плавающей точкой или состояния и не имеет никакой предопределенной точной линеаризации, он линеаризует, чтобы обнулить.
Если блок не линеаризует как ожидалось, проверяйте рабочую точку. Рабочая точка, в которой линеаризуется блок, состоит из входа и значений состояния. Если рабочая точка для блока является неправильной, проверяйте, правильна ли полная рабочая точка модели. Для получения дополнительной информации смотрите Рабочую точку Проверки.
Если значение входного сигнала в рабочей точке блока является неправильным, исследуйте линеаризацию восходящих блоков из того сигнала. Например, рассмотрите блок Product с двумя входными параметрами. Рабочая точка этого блока состоит из двух значений входного сигнала. Если любое входное значение является нулем, путь от другого входа до выхода линеаризует, чтобы обнулить.
Если вы ожидаете, что блок Product будет способствовать результату линеаризации для рабочей точки, в которой вы линеаризовали модель, проверяйте линеаризацию на блок, который генерирует нулевой входной сигнал. Для сложных моделей причиной неправильного входного сигнала может быть больше чем один блок в восходящем направлении.
Некоторые блоки Simulink имеют свойства, которые заставляют их линеаризовать плохо. Часто, такие блоки или линеаризуют, чтобы обнулить или сопоставить сообщения диагностики линеаризации с ними. Поэтому Советник по вопросам Линеаризации идентифицирует их как потенциально проблематичные блоки, когда вкладка Advisor начинает открываться.
Следующая таблица показывает некоторые блоки, которые обычно вызывают проблемы линеаризации, и предлагает, чтобы потенциал зафиксировал для каждого блока. Все эти блоки имеют соответствующие диагностические сообщения.
Тип блока | Проблема линеаризации | Возможная фиксация |
---|---|---|
Блоки, которые не поддерживают линеаризацию | Некоторые блоки реализованы без заданных аналитических Якобианов и не поддерживают числовое возмущение. | Задайте линеаризацию пользовательского блока. Для примеров смотрите, Задают Линейную систему для Линеаризации Блока Используя Выражение MATLAB и Задают D-матричную Систему для Линеаризации Блока Используя Функцию. |
Блоки с разрывами | Блоки с разрывами обычно имеют плохие результаты линеаризации, когда рабочая точка около разрыва. |
|
Основанные на событии Подсистемы (триггируемые подсистемы) | Блоки в основанных на событии подсистемах линеаризуют, чтобы обнулить, потому что такие подсистемы не инициировали во время линеаризации. | Когда возможно, задайте пользовательскую основанную на событии линеаризацию подсистемы как смешанную среднюю модель или подсистему вызова периодической функции. Для получения дополнительной информации смотрите, Линеаризуют Основанные на событии Подсистемы (Внешне Запланированные Подсистемы). |
Блоки с сигналами нес плавающей точкой | Блоки, которые имеют входные сигналы нес плавающей точкой или состояния и не имеют заданных аналитических Якобианов, линеаризуют, чтобы обнулить. | Преобразуйте типы данных нес плавающей точкой или в двойную точность или в одинарную точность.. Для получения дополнительной информации смотрите, Линеаризуют Блоки с Сигналами Нес плавающей точкой или состояниями. |
Блоки, которые линеаризуют использующее числовое возмущение, а не задали аналитические Якобианы | Блоки, которые расположены около прерывистых областей, таких как S-функции, блоки MATLAB function или интерполяционные таблицы, чувствительны к числовым уровням возмущения. Если уровень возмущения слишком мал, блок линеаризует, чтобы обнулить. | Измените числовой уровень возмущения блока. Для получения дополнительной информации смотрите Уровень Возмущения Изменения Блоков, Встревоженных Во время Линеаризации. |