MetaKit Руководство по компонентам

Pulse — периодическое включение на заданное время

Pulse повторяет включение и паузу, пока его работа разрешена. Например, каждые 10 минут включает команду промывки на 5 секунд.

Выберите Pulse, если нужно регулярно держать команду включённой некоторое время. Если нужен только короткий сигнал «время вышло», используйте Timer. Для задержки одного включения есть Delay.

Состав и связи

Pulse: Первый импульс начинается сразу после разрешения. Для управления оборудованием подключите выход к компоненту механизма.
В рамке — состав компонента, снаружи — подключения проекта. Нажмите на схему, чтобы открыть её крупнее.

Первый импульс начинается сразу после разрешения. Для управления оборудованием подключите выход к компоненту механизма.

Первое подключение

Заполняйте пример в таблице «Параметры» (Params) добавленного компонента. Как добавить компонент и где искать настройки.

Нужно включать промывку на 5 секунд каждые 10 минут. bFlushAllowed разрешает эту работу: TRUE — повторять промывку, FALSE — прекратить.

1. Заполните параметры

Параметр Значение для примера
PulseId Flush
PulseComment Периодическая промывка
PulseEn bFlushAllowed

2. Задайте период и длительность

Настройка Значение для примера Результат
Conf.Flush_Pulse_diPeriod 10 Период — 10 минут
Conf.Flush_Pulse_diPeriodMultiplier 60000 Единица периода — минута
Conf.Flush_Pulse_diPulse 5 Импульс — 5 секунд
Conf.Flush_Pulse_diPulseMultiplier 1000 Единица длительности — секунда

Период включает импульс и паузу. В этом примере полный период составляет 600 секунд, из них 5 секунд выход включён, 595 секунд выключен.

3. Используйте запрос

Команду промывки выдаёт Flush_Pulse_Inst.out_bPulse. Подключите её к управлению оборудованием промывки. Сам клапан или насос должен управляться своим компонентом, который учитывает его режим и защиты.

4. Как это будет работать

Время после разрешения Выход out_bPulse
Первые 5 с TRUE
Затем до окончания 10 мин FALSE
Начало следующего периода Снова TRUE на 5 с

Первый импульс начинается сразу после появления разрешения. Если перед первым действием нужно сначала выждать интервал, используйте Timer или сформируйте разрешение через отдельную задержку.

При снятии PulseEn оба выхода выключаются, отсчёт сбрасывается. После повторного разрешения последовательность начинается заново с импульса.

Период и длительность импульса

Период повторения и длительность включения настраиваются отдельно. Для каждого укажите число и единицу времени через множитель: например, 10 минут для периода и 5 секунд для включения.

Множитель Единица соответствующего значения
1 Миллисекунды
1000 Секунды
60000 Минуты
3600000 Часы

Произведение значения на множитель даёт время в миллисекундах. Период и импульс могут задаваться в разных единицах.

Все четыре настройки должны быть положительными. При нулевом или отрицательном значении любой из них оба выхода снимаются. Если длительность импульса равна периоду или превышает его, паузы не будет: выход остаётся включённым всё время разрешения.

Параметры компонента — Params

Параметр По умолчанию Назначение
$Pulse Генератор импульсов Название группы параметров
PulseId _ID_ ID генератора. Для Flush создаётся экземпляр Flush_Pulse_Inst
PulseComment Комментарий Название периодического действия
PulseEn true Логическое разрешение работы. При FALSE выходы и отсчёт сбрасываются
PulseConf Пусто ID набора настроек. Если пусто, используется PulseId
PulseConfComment Пусто Название набора настроек. Если пусто, комментарий составляется из PulseComment и $Pulse

У Pulse нет родительского компонента и отдельной команды сброса. Для прекращения и перезапуска отсчёта используйте PulseEn.

Настройки во время работы — Conf

Полные имена приведены для PulseId = Flush и пустого PulseConf.

Настройка Тип Начальное значение Назначение
Conf.Flush_Pulse_diPeriod DINT 24 Значение полного периода «импульс + пауза»
Conf.Flush_Pulse_diPeriodMultiplier DINT 3600000 Множитель периода, мс на единицу
Conf.Flush_Pulse_diPulse DINT 5 Значение длительности включения
Conf.Flush_Pulse_diPulseMultiplier DINT 1000 Множитель длительности включения, мс на единицу

Начальные настройки означают импульс 5 секунд с периодом 24 часа.

Для одинаковой промывки нескольких устройств укажите им общий PulseConf. Например, PulseConf = FlushCycle даёт настройку периода Conf.FlushCycle_Pulse_diPeriod и остальные настройки с тем же ID. Каждый компонент начинает отсчёт по своему включению, поэтому одинаковые настройки не заставляют их срабатывать одновременно.

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

Результат для примера Тип Назначение
Flush_Pulse_Inst.out_bPulse BOOL Выход включён на время импульса
Flush_Pulse_Inst.out_bCircle BOOL Завершился полный период; сигнал выдаётся на один цикл ПЛК

out_bCircle появляется на границе периодов одновременно с началом следующего импульса. Его можно использовать как событие завершения очередного цикла.