Форум программистов, компьютерный форум, киберфорум
Наши страницы

Контроллеры PLC

Войти
Регистрация
Восстановить пароль
 
Kamerton
7 / 7 / 2
Регистрация: 20.05.2012
Сообщений: 174
Завершенные тесты: 3
#1

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

01.10.2015, 09:41. Просмотров 1603. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Не останавливается таймер TP (ST, Codesys 2.3) (Контроллеры PLC):

Таймер не останавливается - C++ Qt
У меня игра Быки и Коровы И при запуске новой игры запускается таймер, и каждую секунду увеличивается переменная секунд, но при...

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

После первого тика таймер останавливается - C#
У мя у тяймера стоит интервал 100 и в Enable = true а в самом действии таймера private void time_lamber_Tick(object sender, EventArgs...

Таймер с очень маленьким интервалом останавливается не сразу - C#
если у таймера поставить очень маленькое время, то timer.Elapsed не всегда может завершится на timer.Stop(); public static...

Таймер обратного отсчёта останавливается после первого тика - Visual Basic .NET
Здравствуйте! Проблема: не стартует таймер, не могу понять, где ошибка в цикле. Проходит одна секунда и таймер останавливается. ' This...

CodeSYs v 2.3.9.43 - Контроллеры PLC
здравствуйте форумчане. если возможно, то помогите реализовать в среде CodeSYs v 2.3.9.43 данные выражения. проблемы с этим((

3
raxp
10180 / 6563 / 481
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
01.10.2015, 09:47 #2
...а зачем останавливать таймер? Внутри условия останова управляйте логическим флагом, а внутри тела (прерывания) таймера оберните действие по этому флагу.
1
Kamerton
7 / 7 / 2
Регистрация: 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
10180 / 6563 / 481
Регистрация: 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
Привет! Вот еще темы с ответами:

ПО на SFC (Codesys) - Контроллеры PLC
требуется повторить шаги как в прикрепленном файле, и дать файл программы. Очень благодарю всех за помощь! Правила форума: 4.1....

CoDeSys. Таймеры - Контроллеры PLC
Требуется написать программу LD для управления холодильной машиной. Так как только начал познавать кодесис не могу разобраться чем же...

Язык LD в CoDeSys - Контроллеры PLC
Помогите поставить параллельно обмотке в CoDeSys таймер TON (как это сделать?)

CoDeSys. Циклограммы - SCADA
Помогите! Сделал циклограмму! CoDeSys v2.3 язык FBD. Но теперь мне нужно: Добавить визуализацию в CoDeSys. Отображать состояние всех...


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

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

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