Добрый день.
В программу заведено более 100 электросчетчиков Меркурий 230.
половину из них не удаётся опросить.
Дампы обмена и журналы опроса во вложении.
PollService.rar (6.74 MB)
Возникает две ошибки.
- Прибор присылает недостаточное количество данных. Вместо правильного ответа на запрос отправляется один байт 0.
- Прибор присылает ответ с неверной контрольной суммой. Тут ситуация интереснее. Пакеты с длиной 16 байт и меньше отправляются нормально, потому система смогла считать коэффициенты трансформации. Если длина ответа превышает 16 байт, идущие дальше данные искажаются произвольным образом.
Скорее всего, проблема находится в настройках контроллеров iRZ ATM2.
Удаётся ли опросить приборы заводской программой “Конфигуратор” через iRZ Collector?
Добрый день.
Я готов предоставить доступ к электросчетчикам через модем IRZ ATM2
Настройте модем на подключение к адресу 85.15.66.41:2071
Сообщите идентификатор, серийный номер модема, а так же способ вызова, если он настроен.
Если вызов модема не поддерживается, настройте его для автоматического подключения раз в 5 минут или чаще.
Добрый день!
Модемы IRZ ATM2 подключаются каждую минуту на адрес 85.15.66.41:2071.
Данные по модемам отправлены на почту.
У нас пока нет предположений в чём может заключаться проблема.
Ответ от счётчика состоит из одного символа 0h, в нарушение протокола обмена. Для дальнейших поисков причины, пожалуйста, снимите обмен со счётчиком заводской программы configurator через iRZ collector. У нас, к сожалению, не удаётся установить это ПО из-за выдаваемой MySQL ошибки.
Нужен будет дамп обмена с этим счётчиком:
imei - 353**669
тел. 91956
Электросчетчик - Меркурий 230
№ - 11101784
Сетевой номер - 84
Если опрос будет вестись через виртуальный COM-Порт, для снятия дампа воспользуйтесь SerialPort monitor от eltima software. Если через TCP/IP, можно использовать wireshark.
добрый день!
напишите пожалуйста ход действий в Wireshark, для снятия дампа
подниму
У вас такая же проблема?
да, лэрсом не читаются три счетчика, конфигуратором читаются нормально
У вас такое же подключение через ATM2?
если быть более точным, то в теме описана именно наша проблема)
Давайте убедимся, что чтение выполняется одинаково в конфигураторе и в ЛЭРС УЧЁТ.
Для этого опросите счётчик через конфигуратор, а потом точно по такому же каналу связи (через IRZ Collector) в ЛЭРС УЧЁТ. Удаётся ли считать данные таким способом?
конфигуратор читает, ЛЭРС не очень.
Журнал опроса.xls (28.5 KB)
dump.коллектор(0).2016-03-14.log (4.56 KB)
Сообщение не совсем понятное. На самом деле ошибка в том что считано слишком мало данных. Сообщение мы исправим.
Попробуйте увеличить таймаут на приём ответа на 4-5 секунд.
ничего не поменялось с временем ожидания 20 000мс
Журнал опроса 15.03.2016.xls (21.5 KB)
dump.GPRS(716).2016-03-15.log (60.3 KB)
Из вашего дампа видно, что запросы, у которых ответ длиной до 18 байт прекрасно выполняются, а данные свыше 18 байт не приходят. Ответ, который ожидает ЛЭРС УЧЁТ - 19 байт.
Покажите все параметры, которые у вас настроены в ATM2. Насколько помню, в нём несть настройка то ли таймаута, который выжидается до отправки ответа прибора в ЛЭРС УЧЁТ, то ли максимальной длины пакета.
Похоже, что ваш модем обрубает пакеты свыше 18 байт. При чтении текущих параметров конфигуратор выполняет запросы, ответы на которых укладываются в этот размер.
настройки СОМ порта модема
У вас отмечено использование Modbus RTU с паузой в 20 мс. Это не совсем правильно хотя бы потому что Меркурий 230 работает по другому протоколу.
Попробуйте увеличить паузу с 20 до 500мс. После этого опрос должен пройти успешно.
не помогло
рту 500 мс Журнал опроса.xls (31 KB)
рту 500 мс dump.GPRS(652).2016-03-15.log (114 KB)