[Модуль] Счетчики Меркурий (mercury)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

stellhawk
Сообщения: 96
Зарегистрирован: Чт ноя 08, 2018 5:51 am
Благодарил (а): 4 раза
Поблагодарили: 25 раз

Re: [Модуль] Счетчики Меркурий (mercury)

Сообщение stellhawk » Пт фев 01, 2019 9:54 am

ученик писал(а):
Пт фев 01, 2019 9:15 am
по логу же видно что Вам никто не отвечает.
скорее всего номер не верный.
поле сетевой адрес посмотрите в программе.
Проверил соединение счетчика через конфигуратор и ser2net
в настройках указал работу через TCP/IP. Вбил параметры ip адрес, порт. Нажимаю прочитать, все читает.
Так что проблема только в самом модуле в строке с указанием hex aдреса.
Видимо неправильно конвертируем.
тяжело понять что к чему не имея железки. да и времени нет.
а так я общался с братом, который на работе с счетчиками собаку сьел.
он говорит что там всё неправильно. и модуль работает только потому что сам счетчик в особом режиме и работает по сути без авторизации.
насколько я понял из общения проблема начинается со строки авторизации.
потому что судя по логам строка авторизации
send:01010101010101013D7A
answ:
не дает ответа а должен прийти ответ, значит :
проблемы там две:
1. шлем на первый адрес вместо реального устройства
2. шлем 01 01 01 01 01 01 01, а на самом деле поле пароль символьное. и надо слать 49 49 49 49 49 49 (символьную интерпретацию строки 111111)
как вариант для тестирования можно взять программу
https://usriot.ru/download/software/USR ... 20V1.4.exe
ей подключиться к устройству к счетчику и попытаться добиться ответа. но надо не забыть в конце добавлять контрольную сумму.
честно сказать неохота(другие сейчас задачи в ожидании) мне возвращаться к этому модулю и его долизывать.
directman66
Сообщения: 2125
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 306 раз
Поблагодарили: 411 раз
Контактная информация:

Re: [Модуль] Счетчики Меркурий (mercury)

Сообщение directman66 » Пт фев 01, 2019 2:00 pm

Модуль писался с ограниченным удаленным доступом к оборудованию. Возможно, действительно пароль нужно вводить символами. Пароль дает доступ на управление счетчиками, для получения параметров потребления авторизация не нужна. Важен момент начала диалога,
01 01 01 01 01 01 01 - этот код отправляет стандартный конфигуратор при тестировании. Также этого пароля достаточно для управления встроенным реле.

Сейчас у меня нет доступа меркуриям, поэтому понять, что не работает не могу. У однофазных счетчиков меркурий по моему строка запроса короче. В общем нужно комплексное тестирование при наличии оборудования.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram | +79122962262 Whatsap
denis
Сообщения: 276
Зарегистрирован: Сб ноя 24, 2012 11:47 am
Благодарил (а): 23 раза
Поблагодарили: 28 раз

Re: [Модуль] Счетчики Меркурий (mercury)

Сообщение denis » Пт мар 15, 2019 6:15 pm

ученик писал(а):
Ср янв 30, 2019 3:56 pm
Счетчик 30146016 перевод в 16 1CBFDE0
вот ответ от модуля:
Degug:
Запускаем цикл по счетчикам
Начинаем запрашивать счетчик 1.
30/01/19 15:12 запущен запрос данных по счетчику 1
Сокет создан.
Пытаемся соединиться с '192.168.2.10' на порту '1001'...
Соединение установлено.
Ia: - - IaT:0
Pv: - - -
Cos: - - -
Uv: - -
Total: 0
Total T1: 0
Total T2: 0
Закрываем сокет...OK.
Непонятно почему пишет запрос данных по счетчику 1
а не 1CBFDE0
вот еще какие то сообщения модуль выдает

send:01010101010101013D7A
answ:
send:1CBFDE008054C48
answ:
send:1CBFDE008004C74
answ:
send:1CBFDE008034C60
answ:
send:1CBFDE008024DAC
answ:
send:1CBFDE00102020202020202021C
answ:
send:1CBFDE008184C44
answ:
Аналогичная проблема с отсутствием ответа от счетчика. Счетчик Меркурий-233 3х-фазный , преобразователь rs485-eth из шапки темы, режим преобразователя установлен 'tcp-server' (в других режимах мдм и telnet к нему не коннектятся).
При обычном запуске МДМ не получает ответа. НО если сначала соединиться со счетчиком его родной прогой и отключиться, то ответы волшебным образом начинают идти. Может дело в том, что родная программа сначала посылает 4 байта: первый байт это hex-адрес (у меня десятичный адрес 61, hex соотвественно 3D) и потом еще каких 3 байта. На что счетчик отвечает аналогичными байтами. Только после этого ответа родная прога посылает пароль '111111'. Вообщем я так пока решил проблему коннекта, но причина неясна(

UPD: дело не в первых 4 байтах. Видимо родная прога делает еще какую-то манипуляцию с COM-портом перед установлением соединения.

UPD2: проблема оказалась в настройке преобразователь rs485-eth: нужно обязательно выставить скорость порта 9600 (по умолчанию стояла 115200). Видимо родная прога сама устанавливает скорость виртуального порта 9600.
directman66
Сообщения: 2125
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 306 раз
Поблагодарили: 411 раз
Контактная информация:

Re: [Модуль] Счетчики Меркурий (mercury)

Сообщение directman66 » Сб мар 16, 2019 12:03 pm

denis писал(а):
Пт мар 15, 2019 6:15 pm

UPD2: проблема оказалась в настройке преобразователь rs485-eth: нужно обязательно выставить скорость порта 9600 (по умолчанию стояла 115200). Видимо родная прога сама устанавливает скорость виртуального порта 9600.
в шапке.
За это сообщение автора directman66 поблагодарил:
denis (Сб мар 16, 2019 5:29 pm)
Рейтинг: 1.37%
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram | +79122962262 Whatsap
denis
Сообщения: 276
Зарегистрирован: Сб ноя 24, 2012 11:47 am
Благодарил (а): 23 раза
Поблагодарили: 28 раз

Re: [Модуль] Счетчики Меркурий (mercury)

Сообщение denis » Пн мар 18, 2019 10:28 pm

Не знаю как у других, у меня не меняется период опроса, несмотря на цифры в настройках модуля. Всегда остается 30 мин. В базе данных в таблице "mercury_config" поле EVERY = 30 независимо от настроек модуля. Как я вижу в файле "mercury.class.php" параметр EVERY = 30 жестко прописан и возможно далее нигде не меняется. Просьба к автору заглянуть в код, возможно дело в этом.
Ответить