Simulink.sdi.addTrigger

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

    Описание

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

    пример

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

    Примеры

    свернуть все

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

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

    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);

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

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

    свернуть все

    Сигнал раньше обнаруживал триггерные события в виде a Simulink.sdi.Signal объект.

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

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

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

    Когда отображение обновляется в ответ на триггерное событие в виде разделенной запятой пары, состоящей из 'Mode' и одна из этих опций:

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

    • Normal — Графики обновляются в ответ на каждое триггерное событие.

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

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

    Где триггерное событие появляется в графике в виде разделенной запятой пары, состоящей из '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' и числовой скаляр. После триггерного события отображение не обновляется снова, по крайней мере, в течение holdoff времени.

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

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

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

    Введенный в R2020b