Драйвер счетчика Меркурий 230, 231, 232, 233, 236

Стартовая страница Форумы Разработка и интеграция Драйвер счетчика Меркурий 230, 231, 232, 233, 236

В этой теме 32 ответа, 4 участника, последнее обновление Аватар Aidar 4 мес., 1 неделя назад.

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

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

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

    а если в перечислении 0, 1, 2, 3 и т.д. то тогда ТИ ?

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

    Тоже ТС.

    #13150
    Аватар
    manjey73
    Участник

    KpMercury23x_v3

    Для проверки отсутствия double.NaN

    #13178
    Аватар
    manjey73
    Участник

    KpMercury_v3_обновление

    Обновил ссылку для проверки, ScadaCommFunc тут еще вроде не требуется.

    #13192
    Аватар
    manjey73
    Участник
    #13198
    Аватар
    manjey73
    Участник
    #13514
    baur
    baur
    Участник

    можно ли получить коды ошибок
    потом у самого драйвера есть Код ошибки
    | 70 | Код ошибки: | 0,000 | 1 |
    покажите по нему все возможные значения, например как я понял 70 — Нет ответа от прибора

    #13520
    Аватар
    manjey73
    Участник

    70 это номер канала, куда считывается код. Как его разбирать, надо смотреть в документации на протокол или запросить у производителя.

    Кстати странно, У меня на днях один счетчик показывал ошибку E-01 — разряженная батарея, а Код ошибки был равен 0.
    Надо посмотреть что это за параметр считывается по коду, сейчас уже не помню.

    Возможно это не те ошибки, которые счетчик выдает в виде E- на экране

    • Ответ изменён 4 мес., 2 нед. назад пользователем Аватар manjey73.
    #13527
    Аватар
    manjey73
    Участник

    0x00 = «Связь восстановлена»
    0x01 = «Недопустимая команда или параметр»
    0x02 = «Внутренняя ошибка счетчика»
    0x03 = «Недостаточен уровень доступа»
    0x04 = «Внутренние часы корректировались»
    0x05 = «Не открыт канал связи»
    0x10 = «Нет ответа от прибора»
    0x11 = «Нет устройства с таким адресом»

    Это часть этих ошибок при запросе счетчика с 1 по 5. к ошибкам E-хх не имеют отношения.
    Надо посмотреть в документации, можно ли считывать ошибки E-хх

    Вроде так. По сути это статусы счетчика при разборе ответа на запросы.

    #13558
    Аватар
    Aidar
    Участник

    Имеется меркурий 230. Подключился конфигуратором, получил адрес прибора.
    настройки конфигуратора
    Воспользовался вашим драйвером.
    но получаю все нули.
    связь в норме, а в журнале одни ошибки.
    настройки конфигуратора скады
    состояние линии
    журнал
    данные1
    данные2

    #13559
    Аватар
    manjey73
    Участник

    У вас в логах — Нет устройства с таким адресом

    Необходимо понять почему ? Покажите настройки Опрос в Коммуникаторе на линии связи и настройку в Администраторе.

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

    связь в норме, а в журнале одни ошибки.

    В драйвере желательно реализовать установку состояния КП. Могу рассказать manjey73, как это сделать.

    #13574
    Аватар
    manjey73
    Участник

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

    Это практически первый мой опыт программирования вообще, так что прошу понять и прастить 🙂

    • Ответ изменён 4 мес., 2 нед. назад пользователем Аватар manjey73.
    #13582
    Mikhail
    Mikhail
    Модератор

    Используйте CalcSessStats(); в конце метода Session()
    и CalcCmdStats(); в конце метода SendCmd(…)

    Эти методы автоматически увеличивают счётчики сессий/команд, а также устанавливают статус КП на основе переменной lastCommSucc.

    Метод FinishRequest(); ставится после каждого запроса для увеличения счётчика запросов.

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

    Что делают эти методы можно посмотреть в KPLogic

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

Для ответа в этой теме необходимо авторизоваться.