Форум программистов, компьютерный форум, киберфорум
Наши страницы
Контроллеры PLC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/10: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Kamerton
7 / 7 / 3
Регистрация: 20.05.2012
Сообщений: 174
Завершенные тесты: 3
#1

Не останавливается таймер TP (ST, Codesys 2.3)

01.10.2015, 09:41. Просмотров 1814. Ответов 3
Метки нет (Все метки)

Здравствуйте.

Помогите разобраться с таймером, знающие люди. Никак не осилю принцип работы.

Добавил таймер в пустой проект - таймер работает нормально. Добавил в боевой - не могу остановить.

Что на боевом:
Вариант 1.
1. Сделал глобальную переменную Timer : PT;
2. Обращаюсь к ней в своём ФБ:
Код
Timer.IN := TRUE;
Timer.PT:=T#30m01s;
Timer;
3. Добавил условие останова
Код
IF Stop THEN
    Timer.IN := FALSE;
END_IF
Итого:
Таймер запускается, но не останавливается при попадании в условие (проверял отладкой, в условие попадает, присваивание проходит).

Вариант 2.
1. Сделал переменную Timer: PT в своём POU
2. Также обращаюсь к ней (см. Вар. 1);

Итого:
Таймер запускаться то ли отказывается, то ли сбрасывается каждый раз при прохождении POU, т.к. значение на дисплее при такой логике не изменяется.

Может кто подсказать, как реализовать корректное поведение таймера в моём случае? В интернетах примеры простые и судя по ним, должно работать... Но не работает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2015, 09:41
Ответы с готовыми решениями:

Не останавливается таймер
Решила сделать свою первую игру, но с таймером все никак не ладиться :wall: ...

Таймер не останавливается
У меня игра Быки и Коровы И при запуске новой игры запускается таймер, и...

После первого тика таймер останавливается
У мя у тяймера стоит интервал 100 и в Enable = true а в самом действии таймера...

Таймер останавливается при блокировке экрана
Он как бы не останавливается вроде до конца, но, например, запускаю, блокирую...

Таймер останавливается после одного тика
Хотел сделать таймер обратного отчета, но в хоте программирования понял что...

3
raxp
10182 / 6565 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
01.10.2015, 09:47 #2
...а зачем останавливать таймер? Внутри условия останова управляйте логическим флагом, а внутри тела (прерывания) таймера оберните действие по этому флагу.
1
Kamerton
7 / 7 / 3
Регистрация: 20.05.2012
Сообщений: 174
Завершенные тесты: 3
01.10.2015, 11:38  [ТС] #3
Цитата Сообщение от raxp Посмотреть сообщение
...а зачем останавливать таймер? Внутри условия останова управляйте логическим флагом, а внутри тела (прерывания) таймера оберните действие по этому флагу.
После C# ищу в таймере что-то типа Timer.Refresh() или TP Timer = new TP()...

Т.е. переприсваивать начальное значение таймера при Timer.IN = FALSE в основном цикле POU?

Добавлено через 1 час 44 минуты
Решил проблему.

Для сброса таймера необходима следующая комбинация:
C
1
2
Timer.PT := T#0s;
Timer;
где Timer:
C
1
2
3
VAR_GLOBAL
   Timer : PT; (* язык ST *)
END_VAR
Учёл для себя следующее:
1. Необходимо устанавливать значение останова Timer.PT в 0 для сброса;
2. Необходимо затем вызвать таймер для применения указанных изменений;
0
raxp
10182 / 6565 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
01.10.2015, 12:01 #4
переприсваивать начальное значение таймера
нет, мое предложение касается решения разрешения выполнения кода по отдельному флагу.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.10.2015, 12:01

Таймер с очень маленьким интервалом останавливается не сразу
если у таймера поставить очень маленькое время, то timer.Elapsed не всегда...

Таймер обратного отсчёта останавливается после первого тика
Здравствуйте! Проблема: не стартует таймер, не могу понять, где ошибка в...

СМА AEG L60060SL PNC914532001, Не заливает воду и останавливается таймер
Всем доброго времени суток ув. коллеги! Проблема следующего характера: при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru