Как реализовать опрос архива прибора?

Стартовая страница Форумы Понять, как работает ПО Как реализовать опрос архива прибора?

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

    Здравствуйте.
    Дано: расходомер (счётчик воды).
    Опрос накопленного объёма происходит по Modbus. Проблем нет.
    Встала задача — создать ежесуточный отчёт об объёме пройденной воды через этот счётчик. Из архива скады это можно взять.
    Но есть одно «Но».
    Как быть, если к примеру, на начало (или конец) календарных суток не было связи с прибором. Тогда в архивных данных скады будут прочерки. В этом случае надо опрашивать архивные данные прибора. Как это сделать на уровне скады — непонятно.
    Да, у прибора есть возможность чтения архивов (там правда используется нестандартная функция ModBus, но это уже другой вопрос).

    • Тема изменена 5 лет, 3 месяца назад пользователем ppwkh.
    #18553
    Romiros
    Участник

    Как обычно. Нужен драйвер для данного прибора
    А какой расходомер? В существующих драйверах такого нет?

    #18554
    manjey73
    Участник

    В существующих драйверах Modbus не реализованы пользовательские функции, к сожалению.
    Нетривиальная задача на первый взгляд, но реализовать в принципе можно было бы, особенно в свете 6-й версии Scada где появятся архивные БД.

    встречал подобные приборы, где есть архивы и протокол Modbus

    #18555
    a80808
    Участник

    Аппроксимация не поможет? С последующей актуализацией…

    #18557
    Romiros
    Участник

    На самом деле даже существующая бд позволяет складывать архивы. Минус то что они только часовые. И минус то, что часовой архив перезаписывает минутный за эту же метку времени. Если в 6-ой верси будет возможность архивировать сутки, и уйдет эта болячка с перезаписью минутного архива, то вообще будет красота.

    Если мы говорим о коммерческом учёте, то никакая апроксимация здесь не поможет. Нужны данные непосредственно с прибора.

    #18558
    a80808
    Участник

    По коммерческому да. Но тогда нельзя брать из архива.

    #18559
    ppwkh
    Участник

    Прибор — ультразвуковой расходомер РУС-1 (г.Чебоксары).
    И учёт будет коммерческим. Объекты — скважины, с которых происходит подъём воды, от объёма которой мы платим налоги.

    Я тут подумал, а если создать ещё один (несколько) входных каналов, в которые будут забиваться опрашиваемые данные из архива прибора на начало и конец суток? Досконально ещё не продумывал этот вариант.

    #18560
    Romiros
    Участник

    В идеале конечно нужен драйвер. Это более надежно с точки зрения записи в архив scada на любую глубину. С дополнительными каналами мне кажется не получится.

    #18561
    a80808
    Участник

    Я сейчас посмотрел описание этого прибора — там нет ни слова про ModBus ни про внутренние архивы…
    http://www.nponauka.com/produktsiya/raskhodomery/ultrazvukovoj-raskhodomer-rus-1.html
    Импульсный выход, это значит должен стоять еще счетчик с преобразованием в Modbus.
    Я такое делал для артскважин (счетчик правда с «пропеллером», умер через год от грязи), но счет импульсов и передача данных выполнялись оборудованием LoraWAN. У них счетчики настраиваются на передачу в разные периоды, и существуют разные периоды сбора. Раз речь идет о коммерческом учете, вам же достаточно раз в сутки получать данные?

    #18562
    Romiros
    Участник
    #18563
    ppwkh
    Участник

    Вот описание ModBus этого прибора:

    https://www.mzta.ru/media/kunena/attachments/3819/ModBusRTU_-1_jan15.pdf

    • Ответ изменён 5 лет, 3 месяца назад пользователем ppwkh.
    #18565
    a80808
    Участник

    У нас почему то ссылки немного разные, видимо я нашел более старую версию.
    Ну что же, стандартный ModBus RTU (Slave). Придется для него сочинять конфигурационный файл — это когда вы будете подключать его в Коммуникаторе. Там вам надо как я вижу всего с десяток каналов. Ну и придумать как подключить удаленно.

    #18566
    manjey73
    Участник

    Ну и что вас смущает? кроме команды 0x11 там стандартные команды.

    Правда простым подключением драйвера архивы просто так не вычитать. так как надо подавать несколько команд и принимать ответы…

    Такой своеобразный подход у производителя, вроде и команды стандартные, но простыми способами их не обработать…

    В данном случае надо писать драйвер надстройку над драйвером Modbus и посылая команды вычитывать архивы и раскладывать их как архивные значения. Тот еще геморрой.

    #18567
    manjey73
    Участник

    a80808 — не поможет, чтобы прочитать архив, надо послать команду с номером записи, убедиться, что архив не поврежден по ответу и только потом читать регистры архива.

    Текущий драйвер на такое не способен. Собственно текущий механизм Коммуникатора в некотором роде на такое не способен. Надо расставлять «ловушки» чтобы не происходило опроса например при простой перезагрузке Коммуникатора, чтобы он работал строго по командам и никак иначе.

    • Ответ изменён 5 лет, 3 месяца назад пользователем manjey73.
    #18569
    a80808
    Участник

    Я такую примерно проблему решал по опросу метеостанции МК-26 :). Написал на Python простенькую программку опроса, а читал Скадой. Опросник можно через шедулер запускать. Тоже вариант. Понятно что костыль с колхозом, но свою роль выполнял исправно :).

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