Инструкции TIA Portal

Операции с таймерами
TP, TON, TOF, TONR и управление

Таймеры необходимы для каждого проекта автоматизации — от простых задержек до сложного управления последовательностями. Освойте каждую инструкцию таймера в TIA Portal с этим полным руководством.

Что такое операции с таймерами в TIA Portal?

Операции с таймерами в TIA Portal реализуют логику управления на основе времени. Это функциональные блоки, соответствующие IEC 61131-3, которые измеряют прошедшее время, генерируют импульсы и создают задержки включения/выключения. Каждый таймер имеет вход (IN), предустановленное время (PT), выход прошедшего времени (ET) и выход состояния (Q).

TIA Portal предоставляет 4 типа таймеров IEC (TP, TON, TOF, TONR), а также инструкции управления для запуска, сброса и загрузки таймеров. Каждый экземпляр таймера нуждается в собственном блоке данных экземпляра (IDB) или может использоваться как мультиэкземпляр внутри FB.

Типы таймеров IEC

4 стандартных функциональных блока таймеров — каждый с различным поведением синхронизации

TP — Генерация импульса

Что он делает

Генерирует импульс фиксированной длительности. Когда IN переходит из FALSE в TRUE, выход Q становится TRUE и остаётся TRUE ровно на предустановленное время PT, независимо от состояния IN. Прошедшее время ET считает от T#0s до PT. По достижении PT Q становится FALSE, а ET сбрасывается.

Когда использовать

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

Профессиональные советы

TP не перезапускается — новый нарастающий фронт на IN, пока Q уже TRUE, не оказывает эффекта. Импульс работает до завершения. Чтобы сделать его перезапускаемым, сначала сбросьте таймер.

Выход Q НЕ следует за IN. Даже если IN станет FALSE во время импульса, Q останется TRUE до истечения PT.

В SCL: myTP(IN := trigger, PT := T#3s); IF myTP.Q THEN ... END_IF;

TON — Генерация задержки включения

Что он делает

Задерживает активацию выхода. Когда IN становится TRUE, таймер начинает отсчёт. После истечения предустановленного времени PT Q становится TRUE. Если IN становится FALSE до достижения PT, таймер сбрасывается и Q остаётся FALSE. Q остаётся TRUE, пока IN остаётся TRUE после задержки.

Когда использовать

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

Профессиональные советы

TON — это «классический» таймер задержки. Думайте о нём как: «подожди X секунд, затем включи — но только если условие всё ещё истинно».

Когда IN становится FALSE, Q немедленно становится FALSE, а ET сбрасывается до T#0s. Поведение задержки выключения отсутствует.

Для подавления дребезга датчиков используйте короткое PT, например T#50ms или T#100ms. Это отфильтрует электрический шум и дребезг контактов.

TOF — Генерация задержки выключения

Что он делает

Задерживает деактивацию выхода. Когда IN становится TRUE, Q немедленно становится TRUE. Когда IN становится FALSE, таймер начинает отсчёт. После истечения PT Q становится FALSE. Если IN снова становится TRUE до истечения PT, таймер сбрасывается и Q остаётся TRUE.

Когда использовать

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

Профессиональные советы

TOF — противоположность TON: Q активируется немедленно, но деактивируется с задержкой.

Если IN переходит TRUE→FALSE→TRUE до истечения PT, таймер сбрасывается. Q никогда не становился FALSE — это поведение «поддержания активности».

Часто применяется в HVAC: вентиляция работает ещё 5 минут после остановки процесса для удаления остаточных паров.

TONR — Накопитель времени

Что он делает

Накапливающий таймер задержки включения. Как TON, но прошедшее время ET НЕ сбрасывается при переходе IN в FALSE. ET приостанавливается, когда IN FALSE, и продолжает отсчёт, когда IN снова TRUE. Q становится TRUE, когда ET достигает PT. Таймер должен быть явно сброшен через вход R.

Когда использовать

Когда нужно измерить общее накопленное время работы при прерывистых операциях. Примеры: отслеживание общих моточасов для планирования обслуживания, измерение общего времени экспозиции в процессе отверждения с возможными паузами, агрегирование рабочего времени для биллинга или отчётов SLA.

Профессиональные советы

TONR имеет дополнительный вход R (сброс). Установите R=TRUE для сброса ET до T#0s и Q до FALSE. Это единственный способ перезапустить накопитель.

В отличие от TON/TOF/TP, TONR запоминает прошедшее время. Поведение при отключении питания зависит от настроек ретентивности блока данных экземпляра.

Используйте TONR для счётчиков обслуживания: когда общее время работы превышает X часов, активируйте сигнализацию «требуется обслуживание».

Инструкции управления таймерами

Запуск, сброс и настройка таймеров из LAD/FBD

—(TP)— Запуск импульсного таймера

—(TP)—

Что он делает

Инструкция типа катушки, запускающая таймер TP (импульс) непосредственно из цепи LAD. Когда RLO переходит из FALSE в TRUE, связанный таймер TP генерирует импульс. Это альтернатива использованию блока функции TP.

Когда использовать

Когда вы предпочитаете обозначение катушки в LAD вместо блока функции. Некоторые программисты считают более аккуратным писать логику таймера как цепь, заканчивающуюся катушкой таймера.

Профессиональные советы

Версия катушки ссылается на тот же экземпляр таймера IEC, что и версия блока. Они взаимозаменяемы.

Размещайте в конце цепи, как выходную катушку. Предустановленное время настраивается в экземпляре таймера.

В большинстве современных проектов предпочтительна версия блока FB, так как она визуально показывает все параметры (IN, PT, Q, ET).

—(TON)— Запуск таймера задержки включения

—(TON)—

Что он делает

Инструкция типа катушки, запускающая таймер TON (задержка включения). Когда RLO равен TRUE, связанный таймер TON отсчитывает. По достижении предустановленного времени выход таймера Q становится TRUE.

Когда использовать

Альтернативное обозначение катушки для TON. Используйте для компактного представления таймера задержки в LAD без большого блока FB.

Профессиональные советы

То же поведение, что и функциональный блок TON — просто другое визуальное представление в LAD.

Блок данных экземпляра таймера хранит все параметры: PT, ET, Q, IN.

Вы можете читать выходы Q и ET таймера в других сетях, ссылаясь на блок данных экземпляра.

—(TOF)— Запуск таймера задержки выключения

—(TOF)—

Что он делает

Инструкция типа катушки, запускающая таймер TOF (задержка выключения). Выход таймера Q немедленно активируется, когда RLO равен TRUE, и остаётся TRUE на предустановленное время после перехода RLO в FALSE.

Когда использовать

Альтернативное обозначение катушки для TOF. Используйте для логики задержки выключения в компактных цепях LAD.

Профессиональные советы

То же поведение, что и функциональный блок TOF.

Часто используется для таймеров «добега»: удержание выходов активными некоторое время после исчезновения триггера.

Ссылайтесь на выход Q блока данных экземпляра в других сетях для использования задержанного сигнала выключения.

—(TONR)— Накопитель времени

—(TONR)—

Что он делает

Инструкция типа катушки для таймера TONR (накапливающая задержка включения). Прошедшее время накапливается, пока RLO равен TRUE, и приостанавливается при FALSE. Таймер должен быть явно сброшен.

Когда использовать

Альтернативное обозначение катушки для TONR. Используйте при отслеживании накопленного времени работы в формате LAD.

Профессиональные советы

Не забывайте использовать инструкцию RT (сброс таймера) для сброса накопителя при необходимости.

Накопленное время хранится в блоке данных экземпляра и сохраняется между циклами сканирования.

Полезно для планирования обслуживания — активируйте сигнализацию, когда общее накопленное время превышает порог.

—(RT)— Сброс таймера

—(RT)—

Что он делает

Сбрасывает таймер в исходное состояние. Когда RLO равен TRUE, прошедшее время ET указанного таймера устанавливается в T#0s, а выход Q — в FALSE. Работает со всеми типами таймеров (TP, TON, TOF, TONR).

Когда использовать

Когда нужно принудительно сбросить таймер из отдельной сети. Необходимо для TONR (который не сбрасывается автоматически), но также полезно для сброса любого таймера при определённом условии, например подтверждении неисправности или смене режима.

Профессиональные советы

Для таймеров TONR RT — единственный способ сбросить накопленное время. Без неё таймер никогда не сбрасывается.

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

Используйте RT на кнопке «сбросить всё» для очистки нескольких таймеров одновременно.

—(PT)— Загрузка длительности

—(PT)—

Что он делает

Загружает новое значение предустановленного времени (PT) в существующий экземпляр таймера во время выполнения. Когда RLO равен TRUE, предустановленное время таймера обновляется до указанного значения. Это позволяет динамически изменять длительности таймеров без изменения программы.

Когда использовать

Когда длительности таймеров должны быть регулируемыми с HMI или системы рецептов. Например: оператор задаёт время выдержки на HMI, и PT загружает это значение в таймер процесса. Также полезно для адаптивной синхронизации на основе обратной связи датчиков.

Профессиональные советы

PT загружает значение, когда RLO равен TRUE. Если таймер уже работает, новое PT вступает в силу при следующем запуске таймера.

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

Формат значения времени — TIME (например, T#5s, T#1m30s, T#500ms). Также можно использовать переменную типа TIME.

Устаревшие инструкции таймеров

Таймеры S5 от S7-300/400 — доступны только для обратной совместимости

TIA Portal также включает устаревшие инструкции таймеров S5 (S_PULSE, S_PEXT, S_ODT, S_ODTS, S_OFFDT) для обратной совместимости с программами S7-300/400. Для новых проектов всегда используйте таймеры IEC (TP, TON, TOF, TONR), так как они более гибкие, переносимые и удобные в обслуживании.

Сравнение таймеров — какой использовать?

Краткое руководство по выбору на основе требований к синхронизации

Вам нужно...Используйте этот таймерПример
Выходной импульс фиксированной длительностиTPЗуммер звучит 3с при сигнализации
Задержанная активация (подавление дребезга)TONДвигатель запускается через 5с после нажатия кнопки
Задержанная деактивация (добег)TOFВентилятор работает 30с после остановки двигателя
Отслеживание накопленного времени работыTONRСигнализация обслуживания после 1000ч суммарно
Принудительный сброс любого таймераRTСброс всех таймеров при подтверждении неисправности
Изменение длительности таймера во время выполненияPTОператор регулирует время выдержки с HMI

Часто задаваемые вопросы

В чём разница между TP и TON?

TP генерирует импульс фиксированной длительности, который работает до завершения независимо от входа — после срабатывания выход остаётся ВКЛ ровно на PT, даже если вход станет FALSE. TON требует, чтобы вход оставался TRUE в течение всей длительности — если вход станет FALSE до PT, таймер сбрасывается и выход никогда не активируется.

Можно ли изменить предустановленное время работающего таймера?

Вы можете загрузить новое значение PT с помощью инструкции PT, но обычно оно вступает в силу при следующем запуске таймера, а не текущем. Чтобы изменить тайминг в процессе работы, нужно сбросить таймер и перезапустить его с новым значением PT.

Как создать повторяющийся импульс (генератор тактов)?

Используйте два таймера: TON для времени ВКЛ и TON для времени ВЫКЛ, перекрёстно соединённые. Когда Timer1 истекает, он запускает Timer2 и сбрасывает себя. Когда Timer2 истекает, он запускает Timer1 и сбрасывает себя. Это создаёт непрерывный осциллирующий сигнал с настраиваемыми длительностями ВКЛ/ВЫКЛ.

Сохраняются ли таймеры при отключении питания?

По умолчанию экземпляры таймеров НЕ ретентивны — они сбрасываются в ноль при включении. Чтобы сделать таймер ретентивным (например, TONR для часов обслуживания), установите блок данных экземпляра как «ретентивный» в его свойствах. Осторожно: ретентивные таймеры продолжают отсчёт с последнего значения после отключения питания.

Генерируйте логику таймеров с помощью ИИ

Опишите требования к синхронизации обычным текстом, и T-IA Connect сгенерирует полный код ПЛК с правильным выбором и настройкой таймера.