PDA

Просмотр полной версии : Сохранение состояния счётчика CTN



a_sergeevich
23.03.2021, 09:46
Здравствуйте, коллеги.
Есть проект для ротации двух насосов, всё работает как надо, но есть одна загвоздка. В одном из макросов использую счётчик CTN и в его параметрах установил, чтобы он сохранял своё состояние, но при отключении питания и последующем его включении счётчик сбрасывается. Может я неправильно понимаю эту настройку ? Просто мне нужно, чтобы при пропадании питания, а затем его восстановлении счётчик продолжил считать дальше, а не начинал сначала. Сам макрос и проект прилагаю. В проекте и макросе для отладки считаются минуты, а не часы. Реле использую ПР200-24-1.1.0.

a_sergeevich
23.03.2021, 12:33
Сейчас сделал пробный проект со счётчиком CTN без макроса, чтобы проверить сохраняет ли он своё состояние вне макроса, а то мало ли что. Увы, после отключения включения питания счётчик сбрасывается. Вопрос, что значит тогда параметр сохранять состояние ? Получается этот параметр никак не связан с энергонезависимостью и надо применять, какое-то другое решение ?

melky
23.03.2021, 13:09
У вас на вход сброса что-то подключено ? возможно при включении ПР там идет в первом шаге импульс....

a_sergeevich
23.03.2021, 13:33
У вас на вход сброса что-то подключено ? возможно при включении ПР там идет в первом шаге импульс....
Да, подключено, цепочка сброса, но она не активна, сейчас проверил если её отключить то сохраняет значение. Надо теперь думать откуда при запуске этот импульс берётся и как от него избавиться. Спасибо за наводку.

Ревака Юрий
23.03.2021, 13:42
Сейчас сделал пробный проект со счётчиком CTN без макроса, чтобы проверить сохраняет ли он своё состояние вне макроса, а то мало ли что. Увы, после отключения включения питания счётчик сбрасывается. Вопрос, что значит тогда параметр сохранять состояние ? Получается этот параметр никак не связан с энергонезависимостью и надо применять, какое-то другое решение ?

У Вас там еще идут сигналы на сброс, скорее всего в момент запуска туда прилетает сигнал, а так счетчик должен сохранять, проверьте по этому алгоритму
https://youtu.be/1Er-MqJ6vZ4?t=85

melky
23.03.2021, 14:05
a_sergeevich при первом включении ПР, сигналы, которые имеют лог 1 в первом цикле дают лог 1 по всей цепочке.
Иногда надо делать таймер на такие сигналы. А иногда наоборот, чтобы что-то проинициализировать, нужно без таймера.

a_sergeevich
23.03.2021, 14:42
У Вас там еще идут сигналы на сброс, скорее всего в момент запуска туда прилетает сигнал, а так счетчик должен сохранять, проверьте по этому алгоритму
https://youtu.be/1Er-MqJ6vZ4?t=85
Всё, решил проблему тем, что использовал прямой счёт, а остаток времени определяю с помощью вычитания. Получилось даже лучше чем было. Рисунок как переделал прилагаю.
Так же прикладываю проект уже исправленный, может кому пригодится. Работает всё следующим образом: по умолчанию запускается Р2 первым, уставка ротации по умолчанию задана 24 часа, насосы переключаются по часам, если работающий насос уйдёт в аварию ( в моём проекте насосы работают от одного датчика перепада) либо можно переключить насосы кнопкой на входе DI6. При пропадании питания и подачи его вновь, запускается тот насос, который работал до пропадания питания, счёт времени продолжается с момента остановки. Вход EN предназначен для запуска алгоритма. Остальное понятно на схеме.