Показано с 1 по 7 из 7

Тема: Проблема с таймером "ТР"

  1. #1

    По умолчанию Проблема с таймером "ТР"

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

  2. #2

    По умолчанию

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

  3. #3

    По умолчанию

    Цитата Сообщение от TVV Посмотреть сообщение
    Если суть в том, чтобы Входу TP IN:=false то он на это не реагирует. Если можно поподробнее пожалуйста?
    Вам необходимо не только входу присвоить false, но и к самому экземпляру после этого обратиться. А то получается, что вы на вход false подали, фб об этом сказать забыли.

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

  4. #4

    По умолчанию

    Спасибо, гораздо понятнее!

  5. #5

    По умолчанию

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

  6. #6

    По умолчанию

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

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

  7. #7

    По умолчанию

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

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •