Добавьте триггер к сигналу для управления обновлениями отображения в Данные моделирования Inspector
Simulink.sdi.addTrigger(
добавляет триггер восходящего края с использованием режима normal mode и auto-level к sig
)Simulink.sdi.Signal
объект, sig
. Триггер определяет, когда графики в Данные моделирования Inspector обновляются, чтобы отобразить новые данные для потоковых сигналов.
Simulink.sdi.addTrigger(
добавляет триггер к указанному сигналу с настройками триггера, заданными одним или несколькими аргументами пары "имя-значение". Для примера, sig
,Name,Value
)'Mode','Normal'
настраивает поведение триггера в режиме normal mode. Триггеры в Данные моделирования Inspector ведут себя так же, как триггеры в блоке Scope. Для получения дополнительной информации о типах триггеров и настройках смотрите Scope Triggers Panel.
Добавьте триггер к сигналу в Данные моделирования Inspector, чтобы задать критерии, которые определяют, когда обновлять графики для отображения свежих данных. Триггеры могут позволить вам захватывать поведение переходного сигнала и могут помочь стабилизировать отображение периодических сигналов, чтобы вы могли проводить измерения.
Симулируйте Triggers
модель. Данные в модели журналы в Данные моделирования Inspector.
open_system('Triggers'); out = sim('Triggers');
Затем добавьте триггер к Pulse
сигнал. Сконфигурируйте триггер как триггер с падающим фронтом с порогом 0.5
.
trigRun = Simulink.sdi.getCurrentSimulationRun('Triggers'); pulseSig = getSignalsByName(trigRun,'Pulse'); Simulink.sdi.addTrigger(pulseSig,'Type','Edge','Level',0.5);
Можно проверить, что триггер был добавлен и настроен правильно, запустив Данные моделирования Inspector с помощью Simulink.sdi.view
и щелкните значок триггера рядом со Pulse
сигнал для проверки строения. Можно также использовать Simulink.sdi.getTrigger
функция для проверки того, какой сигнал используется для генерации триггерных событий и строения триггера.
[sig,trigOpts] = Simulink.sdi.getTrigger; sig.Name
ans = 'Pulse'
trigOpts
trigOpts = struct with fields:
Mode: 'Auto'
Type: 'Edge'
Position: 0.5000
Delay: 0
SourceChannelComplexity: 'Scalar'
Polarity: 'Positive'
AutoLevel: 1
Level: 0.5000
UpperLevel: 0
LowerLevel: 0
Hysteresis: 0
MinTime: 0
MaxTime: Inf
Timeout: 0
Holdoff: 0
Когда вы не хотите использовать триггер для управления, когда Данные Моделирования Inspector обновляют графики со свежими данными, можно удалить триггер с помощью Simulink.sdi.removeTrigger
функция.
Simulink.sdi.removeTrigger
Можно проверить, что триггер был удален в пользовательском интерфейсе Данные Моделирования Inspector или с помощью Simulink.sdi.getTrigger
функция. The Simulink.sdi.getTrigger
функция возвращает пустой массив Simulink.sdi.Signal
объекты, если в Данные моделирования Inspector не настроен триггер.
sig = Simulink.sdi.getTrigger; size(sig)
ans = 1×2
0 0
sig
- Сигнал, используемый для обнаружения триггерных событийSimulink.sdi.Signal
объектСигнал, используемый для обнаружения триггерных событий, задается как Simulink.sdi.Signal
объект.
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
'Type','PulseWidth','Polarity','Falling'
настраивает автоматически выравниваемый триггер падающего края в автоматическом режиме.'Mode'
- При отображении обновлений в ответ на событие триггераAuto
(по умолчанию) | Normal
| Once
При отображении обновлений в ответ на событие триггера, задается как разделенная разделенными запятой парами, состоящая из 'Mode'
и один из следующих опций:
Auto
- графики обновляются в ответ на каждое событие триггера, и графики обновляются, если событие триггера не происходит в течение длительности отображаемой временной области значений.
Normal
- Обновление графиков в ответ на каждое событие триггера.
Once
- Обновление графиков в ответ на первое событие триггера. Можно вручную перевооружить триггер с помощью Данных моделирования Inspector.
Пример: 'Mode','Normal'
настраивает триггер на использование режима normal mode.
'Position'
- Где событие триггера появляется на графике50
(по умолчанию) | численный процентГде на графике появляется событие триггера, заданное как разделенная разделенными запятой парами, состоящая из 'Position'
и числовой процент. По умолчанию событие триггера появляется в середине графика с положением 0.5
, или в 50%
положение в пределах временного интервала.
Пример: 'Position',.3
позиционирует событие триггера в 30%
точка в пределах временного интервала.
'Type'
- Тип триггера для добавления к сигналуEdge
(по умолчанию) | PulseWidth
| Transition
| Runt
| Window
| Timeout
Тип триггера для добавления к сигналу, заданный как разделенная разделенными запятой парами, состоящая из 'Type'
и один из следующих опций:
Edge
- Триггер, когда сигнал переходит порог.
PulseWidth
- Триггер, когда сигнал дважды пересекает низкий порог и высокий порог за заданное время.
Transition
- Триггер, когда сигнал пересекает высокий порог и низкий порог в течение заданного времени.
Runt
- Триггер, когда сигнал переходит низкий порог или высокий порог дважды за заданное время.
Window
- Триггер, когда сигнал остается внутри или вне области значений, заданных высоким порогом и низким порогом в течение заданного времени.
Timeout
- Триггер, когда сигнал остается выше или ниже порога дольше заданного времени.
Для получения дополнительной информации об опциях для каждого типа триггера смотрите Scope Triggers Panel.
Пример: 'Type','PulseWidth'
настраивает триггер ширины импульса.
'Polarity'
- Направление изменения значения сигналов, вызывающего событие триггераНаправление изменения значения сигналов, которое вызывает событие триггера, задается как разделенная разделенными запятой парами, состоящая из 'Polarity'
и допустимую полярность для типа триггера.
Тип триггера | Опции полярности |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Пример: 'Type','Edge','Polarity','Rising'
настраивает триггер переднего края.
'AutoLevel'
- Определять ли автоматически уровни триггеровtrue
или 1
(по умолчанию) | false
или 0
Определяет ли автоматически уровни триггера, заданные как разделенная разделенными запятой парами, состоящая из 'AutoLevel'
и true
или false
.
Когда вы хотите задать пороги для триггера, задайте 'AutoLevel'
как false
.
Пример: 'AutoLevel',false
настраивает триггер на использование заданного пользователем уровня.
'Level'
- Порог для триггерных событийПорог для событий триггера, заданное как разделенная разделенными запятой парами, состоящая из 'Level'
и числовой скаляр.
Вы можете задать только 'Level'
Пара "имя-значение", когда вы задаете 'Type'
Пара "имя-значение" как 'Edge'
или 'Timeout'
.
Пример: 'Type','Timeout','Level','0.5'
настраивает триггер тайм-аута с порогом 0.5
.
'Hysteresis'
- Изменение значения сигналов, требуемое вокруг порога, чтобы вызвать событие триггераИзменение значения сигналов, требуемое вокруг порога, чтобы вызвать событие триггера, заданное как разделенная разделенными запятой парами, состоящая из 'Hysteresis'
и числовой скаляр. Установка гистерезиса для триггера приводит к отказу от шума для событий триггера.
Вы можете задать только 'Hysteresis'
Пара "имя-значение", когда вы задаете 'Type'
Пара "имя-значение" как 'Edge'
или 'Timeout'
.
Пример: 'Type','Timeout','Hysteresis','0.05'
настраивает триггер тайм-аута, который требует, чтобы значение сигналов изменялось более чем на 0.05
вокруг порога, чтобы вызвать событие триггера.
'UpperLevel'
- Верхний порог для события триггераВерхний порог для события триггера, заданный как разделенная разделенными запятой парами, состоящая из 'UpperLevel'
и числовой скаляр.
Вы можете задать только 'UpperLevel'
Пара "имя-значение", когда вы задаете 'Type'
Пара "имя-значение" как 'PulseWidth'
, 'Transition'
, 'Runt'
, или 'Window'
.
Пример: 'Type','PulseWidth','UpperLevel','0.9'
конфигурирует триггер ширины импульса с верхним порогом 0.9
.
'LowerLevel'
- Более низкий порог для события триггераНижний порог для события триггера, заданный как разделенная разделенными запятой парами, состоящая из 'LowerLevel'
и числовой скаляр.
Вы можете задать только 'LowerLevel'
Пара "имя-значение", когда вы задаете 'Type'
Пара "имя-значение" как 'PulseWidth'
, 'Transition'
, 'Runt'
, или 'Window'
.
Пример: 'Type','PulseWidth','LowerLevel','0.1'
конфигурирует триггер ширины импульса с более низким порогом 0.1
.
'MinTime'
- Нижний предел времени для события триггераНижний предел времени для события триггера, заданный как разделенная разделенными запятой парами, состоящая из 'MinTime'
и числовой скаляр. Вы можете задать только 'MinTime'
Пара "имя-значение", когда вы задаете 'Type'
Пара "имя-значение" как 'PulseWidth'
, 'Transition'
, 'Runt'
, или 'Window'
. Значимость нижнего временного предела зависит от типа триггера.
'PulseWidth'
- Минимальная ширина импульса для триггерного события.
'Transition'
- Минимальное время подъема или падения для триггерного события.
'Runt'
- Минимальная ширина импульса для триггерного события.
'Window'
- Минимальное время, затраченное в диапазоне значений или вне области значений для события триггера.
Пример: 'Type','PulseWidth','MinTime','0.1'
конфигурирует триггер ширины импульса с минимальной шириной импульса 100ms
.
'MaxTime'
- Верхний предел времени для события триггераВерхний предел времени для события триггера, заданный как разделенная разделенными запятой парами, состоящая из 'MaxTime'
и числовой скаляр. Вы можете задать только 'MaxTime'
Пара "имя-значение", когда вы задаете 'Type'
Пара "имя-значение" как 'PulseWidth'
, 'Transition'
, 'Runt'
, или 'Window'
. Значимость верхнего предела времени зависит от типа триггера.
'PulseWidth'
- Максимальная ширина импульса для триггерного события.
'Transition'
- Максимальное время подъема или падения для события триггера.
'Runt'
- Максимальная ширина импульса для триггерного события.
'Window'
- Максимальное время, затраченное в диапазоне значений или вне области значений для события триггера.
Пример: 'Type','PulseWidth','MaxTime','0.5'
конфигурирует триггер ширины импульса с максимальной шириной импульса 500ms
.
'Timeout'
- Пороговое значение времени для триггера тайм-аутаВременным порогом триггера тайм-аута, заданный как разделенная запятой пара, состоящий из 'Timeout'
и числовой скаляр.
Вы можете задать только 'Timeout'
Пара "имя-значение", когда вы задаете 'Type'
Пара "имя-значение" как 'Timeout'
.
Пример: 'Type','Timeout','Timeout','0.5'
настраивает триггер тайм-аута, который вызывает событие, когда сигнал выше или ниже порога значения дольше 500ms
.
'Delay'
- Смещение события триггера от положения триггераСмещение события триггера от положения триггера, задается как разделенная разделенными запятой парами, состоящая из 'Delay'
и числовой скаляр.
Пример: 'Type','Edge','Delay','0.1'
конфигурирует краевой триггер, где отображается маркер положения триггера 100ms
после события триггера.
'Holdoff'
- Минимальное время между триггерными событиямиМинимальное время между триггерными событиями, заданное как разделенная разделенными запятой парами, состоящая из 'Holdoff'
и числовой скаляр. После события триггера отображение не обновляется снова, по крайней мере, в течение времени отключения.
Пример: 'Type','Edge','Holdoff','1'
конфигурирует триггер ребра с ограничением 1s
. После события триггера отображение не обновляется как минимум 1s
.
Можно добавить триггер к сигналу и сконфигурировать опции триггера с помощью пользовательского интерфейса Данные Моделирования Inspector. Для получения дополнительной информации смотрите Управление отображением потоковых данных с использованием триггеров.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.