Временная задержка

Временная задержка — компонент. Предназначен для формирования задержки передачи входных данных на заданную величину.

Зачастую данный компонент используется как вспомогательный элемент в схемах, где на один компонент поступает несколько потоков данных. Так как данные проходят цепочки компонентов различной длины и проходят разные стадии обработки, требующие затрат некоторого времени, на входе принимающего компонента может возникнуть рассинхронизация. Потоки данных , которые должны приходить одновременно могут запаздывать. Это может вызвать конфликты в работе проекта. Наглядный пример можно найти в описании компонента «Гистограмма«.

Внешний вид компонента

Режим проектировщика Режим оператора
Временная задержка - Режим проектировщика Не имеет

Параметры:

Входные

  • вход — на вход поступают данные, которые задерживаются на заданное время.

Выходные

  • выход — на выходе данные после задержки.

Настраиваемые свойства:

Общие свойства (окружение)

Частные свойства (в скобках значение, установленное по умолчанию):

  • Delay (1000) — значение времени задержки, мс;
  • type (по времени) — установка типа задержки:
    • по времени — передача значения, пришедшего на вход, по истечении указанного времени;
    • на один такт — значение, пришедшее на вход, будет передано с выхода в момент времени, когда на вход поступит следующее значение.
  • SendAll (true) — передавать все данные (если время задержки не вышло) или только последние.

Программирование

При использовании компонента в сценарии и программируемом компоненте (скрипте) необходимо учитывать диапазоны значений подаваемых на входные ножки компонента, диапазоны значений свойств компонента, а также диапазоны значений параметров методов компонента.

Параметры:

Входные

  • вход — канал, в котором требуется организовать задержку (любой тип).

Настраиваемые свойства:

Общие свойства (окружение)

Частные свойства (в скобках значение, установленное по умолчанию):

  • FLOAT Delay — установка и чтение значения времени задержки, мс (от 0 до плюс бесконечности);
  • BSTR Type — установка и чтение типа задержки: По времени; На один такт (строка);
  • VARIANT_BOOL SendAll — Установка и чтение передавать все данные (если время задержки не вышло) или только последние:
    • true — передавать все данные включён;
    • false — передавать все данные выключен.

Методы:

  • void StopWorking() — устанавливает метод для запуска/остановки рабочих потоков.

Пример

Проект в SCADA ZETView

Временная задержка - Пример
В представленной схеме компонент «Временная задержка» формирует запаздывание сигнала, поступающего с кнопки с фиксацией. Через менеджер свойств можем выставлять свойство «Delay» (время задержки) компонента «Временная задержка» с помощью подключенного к нему селектора. В результате световой индикатор гаснет и загорается с запаздыванием. Данный компонент используется для создания различных проектов, в том числе таких как преобразователь тензодатчика.

Результат работы проекта
Временная задержка - Результат работы проекта
Выставить время задержки 2000 мс, нажать кнопку. Световой индикатор загорится с запаздыванием 2 секунды.