Pulse — периодическое включение на заданное время
Pulse повторяет включение и паузу, пока его работа разрешена. Например, каждые 10 минут включает команду промывки на 5 секунд.
Выберите Pulse, если нужно регулярно держать команду включённой некоторое время. Если нужен только короткий сигнал «время вышло», используйте Timer. Для задержки одного включения есть Delay.
Состав и связи
Первый импульс начинается сразу после разрешения. Для управления оборудованием подключите выход к компоненту механизма.
Первое подключение
Заполняйте пример в таблице «Параметры» (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 появляется на границе периодов одновременно с началом следующего импульса. Его можно использовать как событие завершения очередного цикла.