exponenta event banner

Отображение значений портов для отладки

Отображение значений портов для простой отладки

Для многих блоков, сигналы которых содержат данные, Simulink ® может отображать значения сигналов (блочный выход) в виде меток значений портов (аналогично подсказкам по инструментам) на блок-схеме во время и после моделирования. Метки значений портов отображают выходные значения блоков, когда Simulink выполняет методы вывода блоков. Эта модель показывает метку значения порта для портов в блоках Константа (Constant) и Математический (Math), выходные значения 1 и 4.04.

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

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

При переключении или наведении курсора на блок, который Simulink оптимизирует из моделирования (например, блок виртуальной подсистемы), при моделировании в модели отображается текст optimized.

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

Эти результаты указывают на проблему с моделью, поскольку:

  • Стоимость отопления составляет 0 при всех температурах.

  • Температура внутри дома почти точно соответствует температуре окружающей среды.

В таких случаях отладка блоков в модели в интерактивном режиме может помочь изолировать ошибку. Метки значений портов предоставляют информацию на выходе каждого блока в модели. Таким образом, в этом примере, если сделать шаг вперед с помощью Simulation Stepper, можно увидеть, что выход подсистемы нагревателя 0 на каждом шаге времени.

Для получения дополнительной информации можно включить метки значений портов для блоков в подсистеме нагревателя. С помощью функции «Степпер моделирования» (Simulation Stepper) при повторном переходе вперед для отображения значений можно увидеть, что имеется проблема с блоком HeatGain. Выходной сигнал является постоянным при 0.

Этот метод помогает изолировать проблему.

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

Для отображения нечисловых данных Simulink использует следующие значения:

СообщениеОбъяснение
actionСигнал выполняет действия подсистем.
fcn-callСигнал представляет собой сигнал вызова функции, например, выходной сигнал генератора вызова функции.
groundСигнал поступает от наземного блока.
not a data signalСигнал не содержит действительных данных, например, сигнал поступает из блока, который комментируется.

В некоторых случаях:

  • Возможно, дисплей значения порта не сможет получить сигнал значения или

  • Значение сигнала не может быть легко отображено

В таких случаях Simulink использует эти значения.

СообщениеОбъяснение
...Размер сигнала превышает максимальное количество элементов, отображаемых Simulink. Дополнительные сведения см. в разделе Отображение значений портов для модели.
(сообщение отсутствует)Имеющихся данных моделирования недостаточно. Сделайте шаг вперед или нажмите кнопку «Воспроизведение» для получения дополнительных данных.
click to add signalsНа шине активирована метка значения порта, однако сигнал для отображения не выбран. Щелкните на метке для выбора сигналов шины.
inaccessibleSimulink не может получить значение порта. Пример см. в разделе Повторное использование системы хранения сигналов.
[m*n]Это невекторный сигнал. Simulink не может отображать фактические значения матрицы. Вместо него отображается размер матрицы.
no data yet

Это сообщение появляется в следующих случаях:

  • Данные моделирования недоступны. Запустите моделирование для просмотра значений.

  • Если модель содержит подсистемы (например, включенную подсистему) и привязки модели, они не выполняются во время моделирования.

not usedSimulink не может получить значение сигнала из-за оптимизации.
removedSimulink не может получить значение сигнала из-за уменьшения блока.
optimizedSimulink не может получить значение сигнала из-за оптимизации. В обычном режиме это сообщение появляется для блоков с включенным выполнением ветви условного ввода. Дополнительные сведения см. в разделе Обзор условно выполняемых подсистем.
unavailableИмеющихся данных моделирования недостаточно. Например, см. раздел Степпер моделирования.

Примечание

Можно принудительно использовать метку значения для отображения значения сигнала, обозначив сигнал как контрольную точку. Для этого используйте диалоговое окно «Свойства».

Отображение значения для определенного порта

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

По умолчанию Simulink отображает значение сигнала при щелчке на нем во время моделирования. Вы можете управлять этим поведением. На вкладке «Отладка» выберите > «Параметры», затем в диалоговом окне «Параметры отображения меток значений» выберите «Включить по умолчанию во время моделирования».

Примечание

Чтобы удалить все подсказки по данным, на вкладке Отладка выберите > Удалить отображение значений.

Для сигналов шины опция Показать метку значения выбранного порта (Show Value Label of Selected Port) открывает диалоговое окно, в котором можно выбрать все сигналы на шине. Например, в этой модели можно увидеть диалоговое окно для всех сигналов, содержащихся в ModelBus.

Можно искать сигнал по имени или фильтровать по иерархии. Выберите родительский сигнал, чтобы включить все содержащиеся в нем сигналы. Можно также фильтровать отображение для просмотра только выбранных сигналов.

Щелкните в любом месте вне диалогового окна, чтобы закрыть его. Появится метка значения порта. Метка не содержит данных; при моделировании модели отображаются значения.

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

Примечание

Simulink не сохраняет значения сигнала при удалении метки значения порта.

Отображение значений портов для модели

Укажите форматирование отображения значения порта и частоту обновлений. Диалоговое окно «Параметры отображения меток значений» управляет этими параметрами для всей модели.

  1. В модели, значения портов которой требуется отобразить, на вкладке Отладка (Debug) выберите > Опции (Options).

  2. В диалоговом окне «Параметры отображения меток значений» задайте настройки:

    • Параметры отображения, включая размер шрифта, частоту обновления и количество элементов, отображаемых для векторных сигналов с шириной сигнала больше 1

    • Режим отображения

    • Формат с плавающей или фиксированной запятой

Ограничения отображения значения порта

Работа

Включение опции зависания для модели или установка хотя бы одного блока в значение «Переключить метки значений при щелчке» замедляет моделирование.

Ускоренные режимы

Значения портов работают только в режимах Normal и Accelerator. Они не работают в режимах Rapid Accelerator и External. В таблице показано, как режимы ускорения влияют на отображение значений портов.

Ускоренный режимЗначения порта
Акселератор
  • Сигналы, не оптимизированные в режиме Accelerator, отображают значения портов, как в обычном режиме. Сигналы, оптимизированные в режиме Accelerator, отображают значения портов как optimized. Дополнительные сведения см. в разделе Отображение значений портов для простой отладки.

  • Ссылочные блоки модели, смоделированные в режиме ускорителя, не обновляются.

Быстрый ускорительНесовместим. Существует ограничение, определяет ли модель или ее родитель ускоренное моделирование. Дополнительные сведения см. в разделе Ускорение, уточнение и тестирование гибридной динамической системы на хост-компьютере с помощью целевого файла системы RSim (Simulink Coder).

Повторное использование системы хранения сигналов

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

Типы данных сигналов

  • Simulink отображает значение порта для портов, подключенных к большинству видов сигналов, включая сигналы со встроенными типами данных (например, double, int32, или Boolean), DYNAMICALLY_TYPEDи несколько других типов данных.

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

  • Simulink отображает значение порта фиксированных типов данных на основе преобразованного двойного значения.

  • Simulink не отображает данные для сигналов с некоторыми составными типами данных, такими как сигналы шины.

Подсистемы

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

  • При отключении условно выполняемой подсистемы значение порта, отображаемое для сигнала, который переходит в блок Outport, отображает значение блока Outport, в зависимости от параметра Output when disabled.

  • Simulink не отображает данные для портов включенной подсистемы.

Степпер моделирования

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

Уточнение коэффициента

При отображении значения порта не учитываются значения коэффициента уточнения (Параметры конфигурации > Импорт/экспорт данных > Дополнительные параметры > Коэффициент уточнения), поскольку Simulink обновляет значение порта, отображаемое только во время основных шагов времени.

Блок спецификации сигнала и блок ввода

При отображении значений портов в блоках Signal Specification и Inport в подсистеме вместо значений блоков отображается значение, управляющее блоками.

Моделирование командной строки

Для эффективности Simulink не поддерживает отображение значений портов во время моделирования в командной строке с помощью sim команда.

Объединить блок

Simulink не отображает входные значения для блока объединения. Чтобы увидеть это значение, обратитесь к исходному блоку.

Интерфейс командной строки

Невозможно указать значение порта, отображаемое через интерфейс командной строки.

Сигналы, не связанные с Simulink

Нельзя размещать значения портов на сигналах, не относящихся к Simulink, таких как сигналы Simscape™ или SimEvents ®. Это ограничение относится и к условным точкам останова.

Связанные темы