talbutdinov

Ответы в темах

Просмотр 15 сообщений - с 16 по 30 (из 70 всего)
  • Автор
    Записи
  • talbutdinov
    Участник

    Доброго дня! Пытаюсь создать каналы для данных, получаемых со счетчика, но их почему-то нет, Администратор в драйвере видимо их не находит

    https://yadi.sk/i/fKVv88tkFpl8Gw

    talbutdinov
    Участник

    Если нужна помощь, скидывайте исходники, тоже подключусь. Сейчас доберусь до работы и скину исходники в части создания каналов. Если мне память не изменяет, то каналы создаются во вьюв.

    talbutdinov
    Участник

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

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

    talbutdinov
    Участник

    В целом сложного нет ничего, если в устройстве сбиты часы, то так или иначе, каким бы способом архив не вытаскивался (например через оптопорт) он будет бесполезен. На Веге у меня введен дополнительный параметр, который показывает отставание архива, что показывает отклонение текущего времени от времени на сервере, где стоит скада.

    Что на счет записи архива в скаду, то все не так уж и сложно:
    1. Объявляем переменную в виде среза TagSrez me23x;
    2. Задаем размерность, пока просто все возможные параметры me23x = new TagSrez(70);
    3. Задаем в срез текущее время (в случае с архивом — это время записи, в зависимости от ситуации) me23x.DateTime = DateTime.Now;
    4. Присваиваем значения в срез, например так `me23x.KPTags[0] = KPTags[0];
    me23x.TagData[0].Stat = BaseValues.CnlStatuses.Defined;
    me23x.TagData[0].Val = kanal1;`
    5. Добавляем примечание me23x.Descr = "Дата обновления " + DateTime.Now;
    6. Добавляем срез в базу AddArcSrez(me23x);

    talbutdinov
    Участник

    Архивные данные я пока не загружаю, я пока сохраняю текущие данные в БД скады. Как вытаскивать профили мощности как раз таки разбираюсь, как записать их в БД проблем нет, на Веге это уже проходил. Логика была примерно такая:
    1. Выбирается дата отправная, с которой будет производиться первоначальная загрузка, например 1 число текущего месяца. В драйвере где-то должна сохраняться дата (у конкретного экземпляра КП) последнего загруженного показания из прибора учета (архивного показания)
    2. В час X производится загрузка показаний (у меркурия это архив 30+30), данные загружаются либо с даты последней загрузки, либо с отправной точки (если данные загружаются впервые)
    3. После успешного обновления в параметрах где-то отображается дата последних записанных архивных данных и при следующем обновление данные вытаскиваются только с этого момента по настоящее время

    Как-то так )

    talbutdinov
    Участник

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

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

    Не публикуются картинки, уже всяко их прикладывал

    talbutdinov
    Участник

    Те исходников нет? (
    Может все же я не там смотрю? )

    talbutdinov
    Участник

    Гитхаб показывает, что изменения 18 месяц назад или не там смотрю …

    На счёт архива, задача такая …

    talbutdinov
    Участник

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

    talbutdinov
    Участник

    Есть кстати исходники в обновленной версии? На гитхабе я так понял находятся старые исходники.

    talbutdinov
    Участник

    Странно конечно, хороший драйвер и показывает только картинки. Попробуем «допилить».

    talbutdinov
    Участник

    Доброго дня! При попытке создать входные каналы для данных, Администратор говорит, что в драйвере входных каналов не обнаружено. С чем это может быть связано?

    https://yadi.sk/i/fKVv88tkFpl8Gw

    talbutdinov
    Участник

    Добрый день! DLL закинул в папку КП, но в Администраторе при попытке добавить КП в списке Меркурий не находит. Куда копать?

    в ответ на: Новые проекты: LoraWan и ScadaAdminWeb #13794
    talbutdinov
    Участник

    Спустя некоторое время возвращаемся в проект по сбору показаний с приборов учета.

    И еще одно замечание участнику talbutdinov и именно по ВЕГА. Как раз наше решение базируется на оборудовании этого производителя.
    Предлагаемый Вами алгоритм ничем не отличается от прямого доступа к базе сервера ВЕГА (что можно легко реализовать простым написанием View в MySQL — мы это делали на первом этапе) — смысл брать пакет один раз в час, если он пришел почти час назад.

    Хотелось бы отметить, что у каждого свое видение и подход, по этому замечание не принимается! ) Нам достаточно получать данные и лезть для этого в структуры базы данных, которая кстати со временем может измениться, нам не нет необходимости, когда есть описанный API. Да и открывать базу хотя бы на чтение для нас не совсем с точки зрения безопасности, так как сервисы стоят на разных машинах и общаются по интернету. Так что в нашем случае API — это оптимальный вариант.

    А так я тоже рад, что мы не одни «ковыряемся» с LoRaWan и Вегой. С Вегой разговариваем на тему выпуска прошивки для СИ-13-485, чтобы была возможность отправления определенных команд в канал для опроса каких-либо устройств, чтобы не опрашивать их с сервера. По логике устройство отправляет пакет с адресом устройства в канал, устройства получившее его и имеющее этот адрес отправляет ответ обратно и этот пакет записывается на сервере, мы лишь опрашиваем сервер раз в период. Пока как-то так.

    На днях должны доделать обработку событий и карты, постараемся все описать и выложить.

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

    в ответ на: Работа с Событиями #12761
    talbutdinov
    Участник

    Вот есть часовая загрузка данных, которые отправляют данные о состоянии приборов учета, а точнее их показания. Если что-то идет не так, а именно если показания не изменяются или слишком большой разбег между часовыми показаниями или суточными (будет определяться по отдельной логике), то система выдает событие о том, что в показаниях имеются проблемы и стоит обратить внимание. Соответственно каждый раз будет всплывать в течении дня сообщение об ошибке при следующей проверке. У оператора открыто окно с событиями и по одному каналу 24 строки с одним и том же событием раз в час минимум, а если по 30 каналам будут события, по каждому 24, то будет «свалка» таких событий. Вот здесь будет лучше сделать так, чтобы если такое событие сегодня уже отображалось, то оно вновь не вылазило, так как в списке событий оно и так весит.

Просмотр 15 сообщений - с 16 по 30 (из 70 всего)