Курс 8 • Урок 1 из 2 • 4 акад. ч.

TON, TOF и счёт событий

Цель: Применять стандартные блоки времени и счёта с правильным вызовом и состоянием.

4 акад. ч. Лекция, работа с документацией, практическое задание на учебной модели или согласованном стенде и самопроверка.

Карта темы

Ожидание → Пуск → Подтверждение → Работа или отказ
Неблокирующая выдержка времени, события и пошаговые алгоритмы с контролем отказов.

Таймер как экземпляр с памятью

У стандартного TON вход IN запускает выдержку включения, PT задаёт длительность, ET показывает прошедшее время, а Q становится TRUE после выполнения условия выдержки. При снятии IN обычный TON сбрасывает выдержку; это не накопительный счётчик времени. Точные свойства блока уточняют по используемой библиотеке.

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

Выбор поведения

TON задерживает включение подтверждённого условия. TOF применяют для выдержки выключения, а TP — для формирования импульса по правилам конкретного блока. Их нельзя заменять друг другом только изменением имени экземпляра. Задержку в циклической программе не реализуют пустым циклом ожидания: это отнимает время у остальных функций.

ConfirmTimer(IN := Feedback, PT := T#2s);
FeedbackStable := ConfirmTimer.Q;

Этот фрагмент означает устойчивое наличие Feedback в течение выдержки TON, а не ожидание любого единичного фронта на протяжении двух секунд. Если сигнал пропал раньше PT, обычная выдержка начинается заново после нового включения.

Счётчик и единицы времени

Счётчик изделий получает события, а не удерживаемые уровни. Для блоков типа CTU уточняют, как именно библиотека обрабатывает фронт, сброс, предустановку и переполнение. Счётчик моточасов решает другую задачу: суммирует время разрешённой работы с учётом периода и правил сохранения.

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

Практическое задание

В модели проверьте TON с PT=2 с для входа длительностью 1 с, 3 с и двух импульсов по 1 с с паузой. Запишите Q и ET. Ожидайте, что два раздельных импульса обычный TON не суммирует. Затем посчитайте три нажатия, каждое удерживаемое десять циклов: корректный событийный счёт должен дать три, а не тридцать.

Что нужно запомнить

  • Обычный TON не накапливает раздельные импульсы.
  • PT, ET и Q имеют разные значения и назначение.
  • Число вызовов не всегда эквивалентно точному физическому времени.

Документация и дополнительное чтение

Проверка знаний

Вопросы по уроку

Нужно 75%
Загрузка вопросов…