Simulink.sdi.addTrigger

Добавьте триггер к сигналу для управления обновлениями отображения в Данные моделирования Inspector

    Описание

    Simulink.sdi.addTrigger(sig) добавляет триггер восходящего края с использованием режима normal mode и auto-level к 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
    
    

    Входные параметры

    свернуть все

    Сигнал, используемый для обнаружения триггерных событий, задается как Simulink.sdi.Signal объект.

    Аргументы в виде пар имя-значение

    Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

    Пример: 'Type','PulseWidth','Polarity','Falling' настраивает автоматически выравниваемый триггер падающего края в автоматическом режиме.

    При отображении обновлений в ответ на событие триггера, задается как разделенная разделенными запятой парами, состоящая из 'Mode' и один из следующих опций:

    • Auto - графики обновляются в ответ на каждое событие триггера, и графики обновляются, если событие триггера не происходит в течение длительности отображаемой временной области значений.

    • Normal - Обновление графиков в ответ на каждое событие триггера.

    • Once - Обновление графиков в ответ на первое событие триггера. Можно вручную перевооружить триггер с помощью Данных моделирования Inspector.

    Пример: 'Mode','Normal' настраивает триггер на использование режима normal mode.

    Где на графике появляется событие триггера, заданное как разделенная разделенными запятой парами, состоящая из 'Position' и числовой процент. По умолчанию событие триггера появляется в середине графика с положением 0.5, или в 50% положение в пределах временного интервала.

    Пример: 'Position',.3 позиционирует событие триггера в 30% точка в пределах временного интервала.

    Тип триггера для добавления к сигналу, заданный как разделенная разделенными запятой парами, состоящая из 'Type' и один из следующих опций:

    • Edge - Триггер, когда сигнал переходит порог.

    • PulseWidth - Триггер, когда сигнал дважды пересекает низкий порог и высокий порог за заданное время.

    • Transition - Триггер, когда сигнал пересекает высокий порог и низкий порог в течение заданного времени.

    • Runt - Триггер, когда сигнал переходит низкий порог или высокий порог дважды за заданное время.

    • Window - Триггер, когда сигнал остается внутри или вне области значений, заданных высоким порогом и низким порогом в течение заданного времени.

    • Timeout - Триггер, когда сигнал остается выше или ниже порога дольше заданного времени.

    Для получения дополнительной информации об опциях для каждого типа триггера смотрите Scope Triggers Panel.

    Пример: 'Type','PulseWidth' настраивает триггер ширины импульса.

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

    Тип триггераОпции полярности

    Edge

    • Rising - Триггер, когда сигнал пересекает порог при увеличении значения.

    • Falling - Триггер, когда сигнал пересекает порог при уменьшении значения.

    • Either - Триггер, когда сигнал пересекает порог при увеличении или уменьшении значения.

    PulseWidth

    • Positive - Триггер на повышающем импульсе, когда сигнал переходит низкий порог во второй раз.

    • Negative - Триггер на падающем импульсе, когда сигнал переходит высокий порог во второй раз.

    • Either - Триггер как на поднимающихся, так и на падающих импульсах.

    Transition

    • RiseTime - Триггер, когда сигнал увеличивается, чтобы перейти от низкого к высокому порогу в течение заданного времени.

    • FallTime - Триггер, когда сигнал уменьшается, чтобы перейти от высокого порога к низкому порогу в течение заданного времени.

    • Either - Триггер, когда сигнал увеличивается или уменьшается, чтобы пересечь низкие и высокие пороги в течение заданного времени.

    Runt

    • Positive - Триггер на повышающем импульсе, когда сигнал переходит низкий порог во второй раз, не пересекая высокий порог.

    • Negative - Триггер на падающем импульсе, когда сигнал переходит высокий порог во второй раз, не пересекая низкий порог.

    • Either - Триггер на повышающихся или падающих импульсах, которые остаются в пределах заданных порогов значений.

    Window

    • Inside - Триггер, когда сигнал остается в заданной области значений значений в течение длительности между MinTime и MaxTime. Событие триггера происходит, когда сигнал выходит из заданного значения области значений.

    • Outside - Триггер, когда сигнал находится вне заданной области значений значений на длительность между MinTime и MaxTime. Событие триггера происходит, когда сигнал повторно вводит заданное значение области значений.

    • Either - Триггер, когда сигнал находится внутри или вне заданной области значений значений в течение длительности между MinTime и MaxTime.

    Timeout

    • Rising - Триггер, когда сигнал остается выше порога дольше заданного времени.

    • Falling - Триггер, когда сигнал остается ниже порога дольше заданного времени.

    • Either - Триггер, когда сигнал остается выше или ниже порога дольше заданного времени.

    Пример: 'Type','Edge','Polarity','Rising' настраивает триггер переднего края.

    Определяет ли автоматически уровни триггера, заданные как разделенная разделенными запятой парами, состоящая из 'AutoLevel' и true или false.

    Когда вы хотите задать пороги для триггера, задайте 'AutoLevel' как false.

    Пример: 'AutoLevel',false настраивает триггер на использование заданного пользователем уровня.

    Порог для событий триггера, заданное как разделенная разделенными запятой парами, состоящая из 'Level' и числовой скаляр.

    Вы можете задать только 'Level' Пара "имя-значение", когда вы задаете 'Type' Пара "имя-значение" как 'Edge' или 'Timeout'.

    Пример: 'Type','Timeout','Level','0.5' настраивает триггер тайм-аута с порогом 0.5.

    Изменение значения сигналов, требуемое вокруг порога, чтобы вызвать событие триггера, заданное как разделенная разделенными запятой парами, состоящая из 'Hysteresis' и числовой скаляр. Установка гистерезиса для триггера приводит к отказу от шума для событий триггера.

    Вы можете задать только 'Hysteresis' Пара "имя-значение", когда вы задаете 'Type' Пара "имя-значение" как 'Edge' или 'Timeout'.

    Пример: 'Type','Timeout','Hysteresis','0.05' настраивает триггер тайм-аута, который требует, чтобы значение сигналов изменялось более чем на 0.05 вокруг порога, чтобы вызвать событие триггера.

    Верхний порог для события триггера, заданный как разделенная разделенными запятой парами, состоящая из 'UpperLevel' и числовой скаляр.

    Вы можете задать только 'UpperLevel' Пара "имя-значение", когда вы задаете 'Type' Пара "имя-значение" как 'PulseWidth', 'Transition', 'Runt', или 'Window'.

    Пример: 'Type','PulseWidth','UpperLevel','0.9' конфигурирует триггер ширины импульса с верхним порогом 0.9.

    Нижний порог для события триггера, заданный как разделенная разделенными запятой парами, состоящая из 'LowerLevel' и числовой скаляр.

    Вы можете задать только 'LowerLevel' Пара "имя-значение", когда вы задаете 'Type' Пара "имя-значение" как 'PulseWidth', 'Transition', 'Runt', или 'Window'.

    Пример: 'Type','PulseWidth','LowerLevel','0.1' конфигурирует триггер ширины импульса с более низким порогом 0.1.

    Нижний предел времени для события триггера, заданный как разделенная разделенными запятой парами, состоящая из 'MinTime' и числовой скаляр. Вы можете задать только 'MinTime' Пара "имя-значение", когда вы задаете 'Type' Пара "имя-значение" как 'PulseWidth', 'Transition', 'Runt', или 'Window'. Значимость нижнего временного предела зависит от типа триггера.

    • 'PulseWidth' - Минимальная ширина импульса для триггерного события.

    • 'Transition' - Минимальное время подъема или падения для триггерного события.

    • 'Runt' - Минимальная ширина импульса для триггерного события.

    • 'Window' - Минимальное время, затраченное в диапазоне значений или вне области значений для события триггера.

    Пример: 'Type','PulseWidth','MinTime','0.1' конфигурирует триггер ширины импульса с минимальной шириной импульса 100ms.

    Верхний предел времени для события триггера, заданный как разделенная разделенными запятой парами, состоящая из 'MaxTime' и числовой скаляр. Вы можете задать только 'MaxTime' Пара "имя-значение", когда вы задаете 'Type' Пара "имя-значение" как 'PulseWidth', 'Transition', 'Runt', или 'Window'. Значимость верхнего предела времени зависит от типа триггера.

    • 'PulseWidth' - Максимальная ширина импульса для триггерного события.

    • 'Transition' - Максимальное время подъема или падения для события триггера.

    • 'Runt' - Максимальная ширина импульса для триггерного события.

    • 'Window' - Максимальное время, затраченное в диапазоне значений или вне области значений для события триггера.

    Пример: 'Type','PulseWidth','MaxTime','0.5' конфигурирует триггер ширины импульса с максимальной шириной импульса 500ms.

    Временным порогом триггера тайм-аута, заданный как разделенная запятой пара, состоящий из 'Timeout' и числовой скаляр.

    Вы можете задать только 'Timeout' Пара "имя-значение", когда вы задаете 'Type' Пара "имя-значение" как 'Timeout'.

    Пример: 'Type','Timeout','Timeout','0.5' настраивает триггер тайм-аута, который вызывает событие, когда сигнал выше или ниже порога значения дольше 500ms.

    Смещение события триггера от положения триггера, задается как разделенная разделенными запятой парами, состоящая из 'Delay' и числовой скаляр.

    Пример: 'Type','Edge','Delay','0.1' конфигурирует краевой триггер, где отображается маркер положения триггера 100ms после события триггера.

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

    Пример: 'Type','Edge','Holdoff','1' конфигурирует триггер ребра с ограничением 1s. После события триггера отображение не обновляется как минимум 1s.

    Альтернативная функциональность

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

    Введенный в R2020b