Probe

Выведите переменные в блоках как сигналы в процессе моделирования

  • Библиотека:
  • Simscape / Утилиты

  • Probe block

Описание

Блок Probe позволяет вам выбрать переменные из другого блока в модели и вывести их, когда Simulink® сигнализирует. Следующие правила применяются:

  • Выбранный блок должен быть на том же уровне иерархии модели как блок Probe.

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

  • В случае условной видимости (если переменная отсоединена только в подмножестве параметризации блока), эта переменная всегда доступна для зондирования, независимо от того, отсоединено ли это в настоящее время на вкладке Variables.

  • Каждая из выбранных переменных выводится как отдельный сигнал.

  • Модуль выходного сигнала совпадает с номинальным модулем переменной. Для получения дополнительной информации смотрите, Задают Пары Модуля номинальной стоимости для Модели и Модулей в Simulink.

  • Блок Probe выходные Сигналы Simulink. Поэтому можно соединить его непосредственно с блоками Simulink, как осциллографы или шины.

  • Можно присоединить (связывают) блок Probe только с одним блоком за один раз. Однако можно связать несколько блоков Probe с тем же блоком в модели одновременно.

Работа с блоком на холсте модели

Связывать переменные с блоком Probe:

  1. Добавьте блок Probe в модель на желаемом уровне.

  2. Дважды кликните блок Probe, чтобы запустить процесс привязки.

  3. Выберите блок Simscape™ на том же уровне иерархии модели.

  4. Из контекстного меню, содержащего все переменные, доступные для инициализации блока, выберите переменные, чтобы вывести. Например, если вы выбрали блок Rotational Electromechanical Converter, доступные переменные включают текущий, напряжение, крутящий момент и скорость вращения.

  5. Чтобы закончить процесс привязки, нажмите X в верхнем правом углу холста модели.

  6. Для каждой выбранной переменной блок Probe получает дополнительный выходной порт с именем порта, совпадающим с идентификатором переменной. (В этом примере именами порта является i и w.) Соединяют эти порты с осциллографами или другими блоками из библиотеки Simulink Sinks, чтобы просмотреть значения сигналов в процессе моделирования.

Чтобы связать блок Probe с различным блоком в модели или заменить выбранные переменные, дважды кликают блок Probe снова и повторяют процесс привязки. При привязке с различным блоком, если новый блок имеет переменные с теми же идентификаторами как те ранее связанные, эти переменные автоматически выбраны снова.

Если вы копируете блок Probe вместе с блоком, с которым он связан, связь сохраняется, и те же переменные автоматически выбраны в новой паре.

Рабочий процесс командной строки

Вместо интерактивного рабочего процесса на холсте модели можно связать блок Probe и выбрать переменные при помощи этих команд:

  • simscape.probe.setBoundBlock (probeBlock, boundBlock) — Связывает probeBlock к boundBlock. probeBlock должен быть допустимый полный блок path или указатель на блок Probe. boundBlock должен быть допустимый полный блок path или указатель на другой блок на том же уровне иерархии модели как probeBlock. Команда не проверяет ли boundBlock блок Simscape или имеет ли он переменные, чтобы зондировать.

    simscape.probe.setBoundBlock (probeBlock, []) возвращает блок Probe в несвязанное состояние. Не влияет на выбранные переменные.

  • simscape.probe.setVariables (probeBlockПеременные) — Выбирает переменные для probeBlock выводить. probeBlock должен быть допустимый полный блок path или указатель на блок Probe. variables должен быть вектор символов, массив ячеек из символьных векторов или массив строк, который задает переменные. Векторы символов или строки должны быть уникальными идентификаторами переменных, лексикографически отсортированными. Команда не проверяет, выбрал ли в настоящее время boundBlock содержит эти переменные.

    Вместо того, чтобы лексикографически сортировать переменные, можно использовать этот синтаксис:

    I = simscape.probe.setVariables(probeBlock, variables, 'Sort', true)

    Команда затем сортирует переменные прежде, чем применить их к probeBlock. Идентификаторы переменных должны все еще быть уникальными. I возвращает порядок в который отсортированный variables появитесь как порты на блоке Probe.

Программируемый эквивалент интерактивной привязки и выбора переменной, показанного в примере в Работе с Блоком на Холсте Модели:

simscape.probe.setBoundBlock('ssc_dcmotor/DC Motor/Probe','ssc_dcmotor/DC Motor/Rotational Electromechanical Converter');
simscape.probe.setVariables('ssc_dcmotor/DC Motor/Probe',["i", "w"]);

В результате блок Probe также имеет два выходных порта, i и w, связанный с переменными Current : i и Angular velocity : w блока Rotational Electromechanical Converter, соответственно.

Если вы предоставляете неотсортированные переменные, команда возвращает отсортированный порядок:

I = simscape.probe.setVariables('ssc_dcmotor/DC Motor/Probe', ["w", "i"], 'Sort', true)
I =

     2     1

В этом примере, второй переменной, i, появляется как первый порт на блоке Probe, сопровождаемом первой переменной, w.

Можно использовать simscape.probe.getBoundBlock (probeBlock) и simscape.probe.getVariables (probeBlock) команды, где probeBlock допустимый полный блок path или указатель на блок Probe, чтобы возвратить его связанный блок и переменные, соответственно.

Порты

Вывод

развернуть все

Выводит значения одной выбранной переменной в процессе моделирования как Сигнал Simulink. Имя порта совпадает с именем выбранной переменной.

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Введенный в R2020a