Как задать уставку таймера в PMP20 и какая у него дискретность?
Уставка задаётся третьим операндом команды таймера, и он может принимать только три значения: K1 — дискретность 1 мс, K10 — 10 мс, K100 — 100 мс. Фактическая выдержка равна уставке, умноженной на дискретность.
Формат команд:
TMR T0 K200 K10— обычный таймер: 200 × 10 мс = 2 с.TMR_A HT0 K2000 K10— таймер с накоплением на энергонезависимом HT0: при пропадании условия значение удерживается и счёт продолжается, когда условие вернётся.RST T0— сброс таймера и его выхода.
Вместо константы K можно подставить регистр: TMR T0 D0 K10, тогда выдержка меняется из программы или с панели оператора. А вот третий операнд регистром быть не может — только K1, K10 или K100. Если записать туда что-то другое, программа загрузится в контроллер, но команда выдержки выполняться не будет; это типовая причина «таймер не считает».
Диапазоны при K = 1…32767: таймер 1 мс даёт 0,001–32,767 с, таймер 10 мс — 0,01–327,67 с, таймер 100 мс — 0,1–3276,7 с. Один и тот же таймер можно использовать и как обычный, и как накопительный, дискретность тоже задаётся командой, а не привязана к номеру.
Для выдержек, на которые не должен влиять цикл сканирования, применяют точные таймеры ET с шагом 1 мс и командой STR — они работают независимо от периода сканирования и умеют вызывать прерывание по достижении уставки.
Прикреплённая документация
Георгий Жуков
Ведущий инженер