exponenta event banner

Simulink.sdi.addTrigger

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

    Описание

    Simulink.sdi.addTrigger(sig) добавляет восходящий триггер с использованием обычного режима и автоуровня в Simulink.sdi.Signal объект, sig. Триггер определяет, когда графики в инспекторе данных моделирования обновляются для отображения новых данных для потоковых сигналов.

    пример

    Simulink.sdi.addTrigger(sig,Name,Value) добавляет триггер к указанному сигналу с настройками триггера, заданными одним или несколькими аргументами пары имя-значение. Например, 'Mode','Normal' настраивает поведение в обычном режиме для триггера. Триггеры в инспекторе данных моделирования ведут себя так же, как триггеры в блоке области. Дополнительные сведения о типах триггеров и их параметрах см. в разделе Панель триггеров области.

    Примеры

    свернуть все

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

    Моделирование Triggers модель. Данные в модели регистрируются в инспекторе данных моделирования.

    open_system('Triggers');
    out = sim('Triggers');

    Затем добавьте триггер к Pulse сигнал. Сконфигурируйте триггер как триггер «falling-edge» с пороговым значением 0.5.

    trigRun = Simulink.sdi.getCurrentSimulationRun('Triggers');
    pulseSig = getSignalsByName(trigRun,'Pulse');
    Simulink.sdi.addTrigger(pulseSig,'Type','Edge','Level',0.5);

    Чтобы убедиться в правильности добавления и настройки триггера, откройте инспектор данных моделирования с помощью 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
    
    

    Если не требуется использовать триггер для управления обновлением графиков инспектором расчетных данных, можно удалить триггер с помощью Simulink.sdi.removeTrigger функция.

    Simulink.sdi.removeTrigger

    Можно проверить, что триггер был удален в пользовательском интерфейсе инспектора данных моделирования или с помощью Simulink.sdi.getTrigger функция. Simulink.sdi.getTrigger функция возвращает пустой массив Simulink.sdi.Signal объекты, если в инспекторе расчетных данных не настроен триггер.

    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 - График обновления в ответ на первое событие триггера. Можно вручную перевооружить триггер с помощью инспектора данных моделирования.

    Пример: 'Mode','Normal' настраивает триггер для использования обычного режима.

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

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

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

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

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

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

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

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

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

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

    Пример: '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.

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

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

    Представлен в R2020b