Выводите основные переменные как сигналы во время симуляции
Simscape/Утилиты
Блок Probe позволяет вам выбрать переменные из другого блока в модели и вывести их как Simulink® сигналы. Применяются следующие правила:
Выбранный блок должен быть на том же уровне иерархии модели, что и Probe блок.
После выбора блока можно выбрать только переменные, доступные на его вкладке Variables (то есть те же переменные, которые могут использоваться для инициализации переменной уровня блока).
В случае условной видимости (если переменная доступна только в подмножестве параметров блока), эта переменная всегда доступна для зондирования, независимо от того, доступна ли она в данный момент на вкладке Variables.
Каждая из выбранных переменных выводится как отдельный сигнал.
Сигнал выхода модуля совпадает с номинальным модулем переменной. Для получения дополнительной информации смотрите Задать номинальные пары единиц измерения для модели и модулей в Simulink.
Блок Probe выводит сигналы Simulink. Поэтому можно подключить его непосредственно к блокам Simulink, например, возможности или bus.
Можно присоединить (связать) блок Probe только к одному блоку за раз. Однако можно связать несколько блоков Probe с одним и тем же блоком в модели одновременно.
Чтобы связать переменные с Probe блоком:
Добавьте блок Probe в модель на желаемом уровне.
Дважды кликните блок Probe, чтобы начать процесс привязки.
Выберите Simscape™ блок на том же уровне иерархии модели.
Из контекстного меню, содержащего все переменные, доступные для инициализации блока, выберите переменные для вывода. Для примера, если вы выбрали блок Rotational Electromechanical Converter, доступные переменные включают ток, напряжение, крутящий момент и скорость вращения.
Чтобы завершить процесс привязки, щелкните X в правом верхнем углу полотна модели.
Для каждой выбранной переменной 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 (
возвращает Probe блок в несвязанное состояние. Не влияет на выбранные переменные.probeBlock
, [])
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, чтобы вернуть его связанный блок и переменные, соответственно.