Временная задержка — компонент. Предназначен для формирования задержки передачи входных данных на заданную величину.
Зачастую данный компонент используется как вспомогательный элемент в схемах, где на один компонент поступает несколько потоков данных. Так как данные проходят цепочки компонентов различной длины и проходят разные стадии обработки, требующие затрат некоторого времени, на входе принимающего компонента может возникнуть рассинхронизация. Потоки данных , которые должны приходить одновременно могут запаздывать. Это может вызвать конфликты в работе проекта. Наглядный пример можно найти в описании компонента «Гистограмма«.
Внешний вид компонента
Режим проектировщика | Режим оператора |
---|---|
Не имеет |
Параметры:
Входные
- вход — на вход поступают данные, которые задерживаются на заданное время.
Выходные
- выход — на выходе данные после задержки.
Настраиваемые свойства:
Частные свойства (в скобках значение, установленное по умолчанию):
- Delay (1000) — значение времени задержки, мс;
- type (по времени) — установка типа задержки:
- по времени — передача значения, пришедшего на вход, по истечении указанного времени;
- на один такт — значение, пришедшее на вход, будет передано с выхода в момент времени, когда на вход поступит следующее значение.
- SendAll (true) — передавать все данные (если время задержки не вышло) или только последние.
Программирование
При использовании компонента в сценарии и программируемом компоненте (скрипте) необходимо учитывать диапазоны значений подаваемых на входные ножки компонента, диапазоны значений свойств компонента, а также диапазоны значений параметров методов компонента.
Параметры:
Входные
- вход — канал, в котором требуется организовать задержку (любой тип).
Настраиваемые свойства:
Частные свойства (в скобках значение, установленное по умолчанию):
- FLOAT Delay — установка и чтение значения времени задержки, мс (от 0 до плюс бесконечности);
- BSTR Type — установка и чтение типа задержки: По времени; На один такт (строка);
- VARIANT_BOOL SendAll — Установка и чтение передавать все данные (если время задержки не вышло) или только последние:
- true — передавать все данные включён;
- false — передавать все данные выключен.
Методы:
- void StopWorking() — устанавливает метод для запуска/остановки рабочих потоков.
Пример
Проект в SCADA ZETView
В представленной схеме компонент «Временная задержка» формирует запаздывание сигнала, поступающего с кнопки с фиксацией. Через менеджер свойств можем выставлять свойство «Delay» (время задержки) компонента «Временная задержка» с помощью подключенного к нему селектора. В результате световой индикатор гаснет и загорается с запаздыванием. Данный компонент используется для создания различных проектов, в том числе таких как преобразователь тензодатчика.
Результат работы проекта
Выставить время задержки 2000 мс, нажать кнопку. Световой индикатор загорится с запаздыванием 2 секунды.