Счетчик нарастающим итогом по изменению

Стартовая страница Форумы Понять, как работает ПО Использование формул Счетчик нарастающим итогом по изменению

Просмотр 15 сообщений - с 1 по 15 (из 40 всего)
  • Автор
    Сообщения
  • #22409
    manjey73
    Участник

    Как реализовать подобный счетчик в 5-й версии?

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

    То есть не каждую минуту или час а именно по изменению.

    #22420
    a80808
    Участник

    А если в дорасчетном канале хранить «старое» значение и формулой сравнивать значение канала с ним. Как только изменилось — переписать новое на место старого и приплюсовать в счетчике? Надеюсь понятно объяснил, хотя и сумбурно…

    #22421
    a80808
    Участник

    В принципе хранить и не обязательно в дорасчетном…

    #22423
    manjey73
    Участник

    В дорасчетном канале зырим глазками что показывает счетчик воды и вносим туда значение, далее следуют импульсы и мы вычитываем счетчик импульсов, делим на значение, указанное прибором и прибавляем к ДТИ.

    В случае корректировки показаний, корректируем по новой ДТИ и обнуляем счетчик регистратора.

    Надо повторить принцип работы нормальных регистраторов импульсов.

    #22431
    Mikhail
    Модератор

    Коммуникатор передаёт данные на сервер не только по изменению, но и периодически (хотя это можно отключить). Поэтому считаем, что формула для прибавляемого канала может вызываться когда угодно. То есть нужно проверять, действительно ли значение изменилось.
    Чтобы проверить факт изменения, можно использовать
    Val() != CnlVal || Stat() != CnlStat
    Если изменилось, то SetVal в нужный канал.
    Это всё оформить в виде отдельной функции в таблице Формулы.

    #22437
    a80808
    Участник

    Вот про это не знал…класс! Надо запомнить!

    #22443
    manjey73
    Участник

    ок, покумекаю, как все сделать… Спасибо.
    С регистраторами Пульсар как-то все проще, в нем хранится начальное значение, к которому можно прибавлять и корректировать.

    • Этот ответ был изменен 2 года, 1 месяц назад от manjey73.
    #22480
    manjey73
    Участник

    Упс. Не приложу ума что делать дальше.
    Объясню. Данные, получаемые от счетчика это постоянно увеличивающийся счетчик, который может перешагнуть через верхний порог и считать дальше.

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

    (Новое значение — Предыдущее значение)/Вес импульса

    Но это значение Дорасчетного канала. Теперь вопрос, как использовать еще один ДТИ, в который я первоначально введу заведомо известную цифру, например с экрана счетчика, к которому подключен счетчик импульсов и главное как к нему прибавлять значение, посчитанное по формуле выше?

    Оба канала ДТИ, канал из прибора просто показания регистратора импульсов.

    #22483
    Romiros
    Участник

    Чисто из опыта — всё это ерунда и рано или поздно не сработает. Такие вещи делаются только через архивы прибора. Если учёт коммерческий, тем более. А так чисто справочно для отображения текущей информации оператору.

    #22485
    manjey73
    Участник

    @Именно чисто справочно, так как через радиоканальный счетчик происходит чтение.
    А коммерческий учет он по показаниям прибора вполне осуществим.

    Суть то проблемы, как вызвать на исполнение ДТИ только при смене показаний в ТИ ?

    #22488
    a80808
    Участник

    Для коммерческого учета у вас вся цепочка (датчик, линия связи, расчетная система…) должны быть сертифицированным средством измерения.

    Счетчики не LoraWAN случаем? 🙂

    Пусть канал 100 — это данные от счетчика.
    101 — данные со «старым» значением канала 100 для сравнения.

    102 — дорасчетный ТИ.
    Сравниваем 100 и 101, если равны — ничего не делаем. Если в 100 изменилось — делаем что нам надо, потом переписываем из 100 в 101.
    И сначала…

    Вроде должно работать

    #22493
    manjey73
    Участник

    @a80808 нет Риелта Счетчик РК.

    Еще раз, учет ТЕХНИЧЕСКИЙ. счетчик обычный Меркурий, подключен к регистратору импульсов радиоканальному. Надо заплатить, смотрим на показания электрического счетчика и платим.
    Надо посмотреть потребление удаленно, смотрим в Scada или на показания счетчика.

    Просто это простой счетчик импульсов, не регистратор и я получаю с него импульсы, которые надо превратить в кВт/ч

    Мне надо разницу между новыми и прошлыми показаниями разделить на вес импульса и прибавить к первоначально заданному значению.

    #22494
    manjey73
    Участник

    Аааа, а как записать в дорасчетный канал Старое значение счетчика ? Дорасчетный же выполняет формулу всегда… Тут та же проблема

    #22495
    a80808
    Участник

    Ну не надо дорасчетный. Пусть будет просто входной.

    Опять приходим к глобальным переменным в памяти…

    #22497
    a80808
    Участник

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

Просмотр 15 сообщений - с 1 по 15 (из 40 всего)
  • Вы должны авторизироваться для ответа в этой теме.