Алгоритм счётчика воды

Ответить
Gordzei
Сообщения: 86
Зарегистрирован: 23 июн 2015, 09:35
Откуда: Калужская обл. Балабаново

Алгоритм счётчика воды

Сообщение Gordzei »

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

Помогите пожалуйста что-то не получается...

- на удалённых объектах стоят счётчики воды с импульсным выходом (геркон 100л/им.).
- приёмник: головка RTU-EN01+ВХОДЫ/ВЫХОДЫ, центральный SE их считывает.
- в RTU-EN01 имеется 16 автономных счётчиков C0-C15 диапазон счета: -32768 ~ 32767, а также часы реального времени.
- счетчики считают от любого из DI (X0), при достижении выставленного значения в регистре C0 выставляется бит C0 и счет останавливается.
- через SMART PLC могу организовать самосброс счетчика.
- в реале по расходу воды: от 0-32767 заполняется дня за 2-3.

Задача:как бы правильно организовать данные с одной стороны используя автономность счёта RTU-EN01 (без работы центрального SE), с другой возможность скорректировать накопленное (в SE) значение с панели?
Могу посредством ETHRW считывать/записывать как регистр C0, так и дискретный выход C0 - команда H03 или H02.
Предполагалось просто...Что-то в голову не лезет...

Спасибо!

pkl
Сообщения: 1468
Зарегистрирован: 23 ноя 2010, 10:08

Re: Алгоритм счётчика воды

Сообщение pkl »

Считывать через определенный интервал значение счетчика в нужный регистр складывать с регистром в который вводится коррекция с панели оператора. Не?

Gordzei
Сообщения: 86
Зарегистрирован: 23 июн 2015, 09:35
Откуда: Калужская обл. Балабаново

Re: Алгоритм счётчика воды

Сообщение Gordzei »

так он (счетчик) дойдет до 32767 и остановиться...или сброситься в 0, если это указать.
Не понял.

bayk
Сообщения: 887
Зарегистрирован: 30 май 2015, 21:20

Re: Алгоритм счётчика воды

Сообщение bayk »

давайте тогда определимся, насколько долго может отсутствовать связь контроллера верхнего уровня с прибором?
в описании EN01 есть встроенный "типо ПЛК". я его в руках не вертел, потому не знаю, но предполагаю, что можно сделать каскадный счетчик. первый счетчик обнуляется сам по достижении счета, и это же условие добавляет 1 в новый счетчик. тогда ограничиваете счет 1000 а следующий счетчик уже будет считать число с множителем 10^3, а еще один уже 10^6. но тут снова встает вопрос - а энергонезависимые ли счетчики в EN01?
если каскадный счет сделать не получается, а возможен только самосброс - то тогда встает вопрос - возможно ли что вышестоящий контроллер будет не на связи дольше чем один полный цикл счета. если такого быть не может - то отслеживайте факт сброса счетчика и прибавляйте к аккумулируемому на ПЛК верхнего уровня данные с этим учетом, ведь вы точно будете знать, на каком числе сбросится счетчик. реализовать это в программе - уже дело не сложное, просто посидеть и поупражняться. есть только один подводный камень, если счетчики не энергонезависимые, то контролировать факт пропадания питания, а соответственно сброса счетчика - надо очень долго думать. кроме этого надо подумать, возможна ли работа счетчика при отключенном питании
если совсем все плохо в EN01, то купите аппаратный счетчик с модбас и голову себе не любите, и обрабатывайте его через en01 rs485

pkl
Сообщения: 1468
Зарегистрирован: 23 ноя 2010, 10:08

Re: Алгоритм счётчика воды

Сообщение pkl »

Можно инкрементировать двойное слово по фронту входного бита. Диапазон расширяется значительно. Если есть энергонезависимая память регистров в этом звере.

Gordzei
Сообщения: 86
Зарегистрирован: 23 июн 2015, 09:35
Откуда: Калужская обл. Балабаново

Re: Алгоритм счётчика воды

Сообщение Gordzei »

О каскадном я тоже подумал...но счётчики считают только с входов DI...
Даже думал через SMART PLS выдавать на выход DO импульс с переполнения C0, на следующий вход - на X1 и тактовать C1.
Только вот энергонезависимости у них нет и в случае кратковременного перебоя по питанию, всё посыпется.
Хотя, есть одно НО..при пропадании питания расход воды отсутствует - насосы стоят.

Про аппаратные счётчики совет дельный-после запуска системы постепенно сделаю.

Насколько долго ожидается перебои-надеюсь кратковременно (меньше цикла счетчика 0-32767).
Система рассчитывалась как вспомогательная - что бы сантехникам не бегать (по возможности :) ), то есть корректировки показаний допустимы.
Т.е. как всё-таки сделать - считываю импульс перезагрузки счетчика, обнуляю его (или чтоб он сам обнулялся-но тут слишком короткий импульс могу не успеть снять его через связь), и добавляю значение в регистру ПЛК?
Получается если выбрать относительно большое число, то обновление значений на панели будет происходить слишком редко...

bayk
Сообщения: 887
Зарегистрирован: 30 май 2015, 21:20

Re: Алгоритм счётчика воды

Сообщение bayk »

Зачем его обнулять? Пусть сам себя обнуляет. А разве если будет считано число 9900 а при следующем считывании у же 10 разве вам не достаточно этого чтобы понять, что за время между опросами произошло обнуление? Вот и сравнивайте предыдущее значение в условном буфере с новым. Вам все равно нужен будет этот буфер, чтобы добавлять к основному счётчику только разницу значений, а не абсолютное. По поводу пропадания питания можно поставить реле задержки на включение на пару секунд, чтобы головной контроллер успел понять, что была бяда и следующее значение уже прибавил зная, что счётчик сбросился не досчитав. Тем более никто не мешает опрос вести постоянно, а в переменную накопления писать с некоторой периодичностью, как раз чтобы не елозить по 1 импульсу.

Ответить