Probe

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

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

  • Probe block

Описание

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

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

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

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

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

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

  • Блок Probe выводит сигналы Simulink. Поэтому можно подключить его непосредственно к блокам Simulink, например, возможности или bus.

  • Можно присоединить (связать) блок 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 должен быть допустимым полным путем блока или указателем на Probe блок. boundBlock должен быть допустимым полным путем блока или указателем на другой блок на том же уровне иерархии модели, что и probeBlock. Команда не проверяет, boundBlock ли является блоком Simscape или имеет ли он переменные для зондирования.

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

  • simscape.probe.setVariables (probeBlock, variables) - Выбирает переменные для probeBlock в вывод. probeBlock должен быть допустимым полным путем блока или указателем на 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 является допустимым полным путем блока или указателем на блок Probe, чтобы вернуть его связанный блок и переменные, соответственно.

Порты

Выход

расширить все

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

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

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

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

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

.
Введенный в R2020a