PDA

Просмотр полной версии : Проблема с таймером "ТР"



TVV
27.10.2008, 20:17
После запуска таймер до конца отработки уставки ни на что не реагирует, а заканчивает в не подходящий момент. Как его досрочно загасить?

TVV
28.10.2008, 08:39
Если суть в том, чтобы Входу TP IN:=false то он на это не реагирует. Если можно поподробнее пожалуйста?

Kirill
28.10.2008, 10:39
Если суть в том, чтобы Входу TP IN:=false то он на это не реагирует. Если можно поподробнее пожалуйста?

Вам необходимо не только входу присвоить false, но и к самому экземпляру после этого обратиться. А то получается, что вы на вход false подали, фб об этом сказать забыли.

Посмотрите пример выше, там правильно записано.

TVV
28.10.2008, 17:29
Спасибо, гораздо понятнее!

Назаров Александр
01.11.2008, 12:41
Столкнулся с проблемой зависания таймера. Возникает если его запустить в одном блоке, а результат опрашивать в другом. В этом случае, что бы он тикал, необходимо вызывать в конце программного блока хотя бы пустой оператор, например TP(), или есть еще способы?

Игорь Петров
10.11.2008, 16:11
...что бы он тикал, необходимо вызывать в конце программного блока хотя бы пустой оператор, например TP(), или есть еще способы?
Конечно, надо вызывать! При пуске таймер смотрит на аппаратные часы и вычисляет время, когда будет пора. Затем просто проверяет по часам пора или не пора, при каждом очередном вызове. Мы сами поступаем аналогично. В ходе ожидания надо регулярно посматривать на часы (вызывать экземпляр блока), иначе можно уехать далеко…

Альтернатива? :cool: Не использовать таймеры МЭК, а засекать время самому по часам, пользуясь функцией TIME().

Назаров Александр
10.11.2008, 16:44
...Не использовать таймеры МЭК, а засекать время самому по часам, пользуясь функцией TIME().
Так это тоже самое будет, что и готовые таймера, не вижу ни какой разницы. Просто сначала было представление, что сравнением времен занимается ядро. А на самом деле я сам их постоянно перезапускал и такой случай, когда запустил таймер в блоке Case, а опрашивал результат из него выйдя, был впервые. Всем успехов!:)