Здравствуйте. Возможно ли с таймера считать сколько времени прошло (в идеале, сколько времени осталось)? Задача: как то вывести на экран сколько времени осталось до конца таймера.
Вид для печати
Здравствуйте. Возможно ли с таймера считать сколько времени прошло (в идеале, сколько времени осталось)? Задача: как то вывести на экран сколько времени осталось до конца таймера.
А в FBD это можно сделать? у меня тут для чтения только уставка доступна.
Вложение 79079
Если имеется в виду Лоджик, то нельзя. Надо свой таймер писать - если достаточно секунд, то на FBD, если нужны миллисекунды - тогда ST
Тут есть готовые таймеры на ST с выходом ET в сек. и мс, считывайте сколько насчитал таймер или PT - время таймера= сколько осталось
И не только таймеры, а разные примеры
https://owen.ru/forum/showthread.php...=9&p=429067#81
На FBD если для визуализации достаточно отсчётов в 1 секунду
Вложение 79083
Спасибо всем ответившим! Уже нашел пример таймера на ST на канале ОВЕНа. Отдельное спасибо kondor3000 за ссылки, пригодятся.
В продолжение темы таймеров на ST...
Для отсчёта времени в предлагаемых таймерах используется запоминание времени начала отсчёта и вычитание этого значения из текущего времени.
Возникает вопрос - как поведёт себя таймер при переполнении 32 разрядной переменной, т.е. когда Get_Time() вернёт значение меньшее, чем значение начала отсчёта?
Вопрос по причине необходимости сделать энергонезависимый таймер для многостадийной установки - при включении питания будет время стадии инициализации, потом может добавится время ожидания запроса работы и только после этого нужно досчитать остаток времени стадии, прерванной отключением электричества.
Т.е. придётся вручную нарисовать на ST таймер TON с подстановкой в него уже пройденного времени, основываясь на Get_Time.
Что будет при переполнении 32 разрядной переменной после 49d17h02m47s295ms? Будет сбой работы таймера или разность текущего и стартового времени будет корректной?
Разность будет корректной если пауза не превысит 49d17h02m47s295ms
Вложение 79157