Опрос счетчика СТК МАРС NEO У через контроллер шины M-Bus по серийному номеру

Я напишу по завершению. Сейчас, кстати, удалось опросить по серийному номеру.

Проанализировал ситуацию. Как я выяснил, на самом деле по серийному номеру прибор не опрашивается. На примере опроса MBus-Sheet:

TX-buffer:
68 0B 0B 68 73 FD 52 97 27 20 23 FF FF FF FF BF 16 
RX-buffer:

TX-buffer:
10 7B FD 78 16 
RX-buffer:
68 3D 3D 68 08 97 72 97 27 20 23 2D 63 01 0C 5E 00 00 00 0C 04 03 00 00 00 0C 04 13 42 57 00 0C 14 98 19 08 00 0C 2C 77 00 00 00 0C 3B 95 01 00 00 0B 59 15 36 00 0B 5D 61 39 00 04 6D 36 27 2F 34 23 16 

Как видно, сначала идет попытка запроса по серийному номеру, прибор не отвечает и дальше происходит попытка опроса по широковещательному сетевому адресу 253 или 0xFD и на этот запрос прибор отвечает. При добавлении поддержки нам производитель кидал скрины опроса и там происходит аналогичная ситуация.

Вот так выглядит опрос по сетевому адресу сразу через тот же MBus-Sheet:

TX-buffer:
10 5B 97 F2 16 
RX-buffer:
68 3D 3D 68 08 97 72 97 27 20 23 2D 63 01 0C 60 00 00 00 0C 04 03 00 00 00 0C 04 22 42 57 00 0C 14 00 20 08 00 0C 2C 72 00 00 00 0C 3B 93 01 00 00 0B 59 06 36 00 0B 5D 34 39 00 04 6D 02 28 2F 34 2D 16 

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

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

Наверное Вы правы, но тем не менее через м бас я могу опросить приборы используя только серийный номер. Почему нельзя реализовать аналогичным образом в лэрс?
Так вышло что в одной сети у меня оказались приборы с одинаковым сетевым адресом и как его поменять я не знаю.

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

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

Возможно, но через m-bus sheet опрос проходит корректно и тех приборов у которых одинаковый сетевой тоже. В руководстве на счетчик про сетевой адрес нет информации, я запрошу у производителя. Но пока хотелось бы иметь возможность опрашивать приборы, а не заносить показания вручную полученные через m-bus sheet.

Попытался разобраться еще глубже в вопросе и почитал стандарт M-Bus. В нем сказано в пункте 7, какое должно быть поведение устройства при вторичной адресации. Выше я не совсем точно вам сказал.

The master sends a SND_UD with the control information 52h (Mode 1) or 56h (Mode 2 ) to
the address 253 (FDh) and fills the specific meter secondary address (identification number,
manufacturer, version and medium) with the values of the slave which is to be addressed. The
address FDh and the control information 52h / 56h are the indication for the slaves to compare
the following secondary addresses with their own, and to change into the selected state should
they agree. In this case the slave must answer the selection with an acknowledgement (E5h),
otherwise the slave doesn´t send an answer. “Selected state” means that this slave will be
addressed at the following commands (e.g. REQ_UD) with the bus address FDh and in this
example will reply with RSP_UD. In other words the network layer has associated this slave
with the address FDh.

Если коротко, то прибор на запрос типа
68 0B 0B 68 73 FD 52 97 27 20 23 FF FF FF FF BF 16
должен присылать ответ E5, в ином случае считается, что устройство не найдено с указанным в запросе серийным номером. При этом MBus-Sheet игнорирует этот момент, в нем не приходит ответ на поиск устройства, запрос он шлет 3 раза, потом он все же пытается считать данные с устройства, поиск которого он проводил и получает ответ. Это очень странно, что прибор не присылает подтверждение на команду в виде ответа E5, но при этом благополучно дальше опрашивается. В ЛЭРС протокол описан как в документации и судя по списку добавленных ранее приборов M-Bus, где имеется вторичная адресация (по серийному номеру), приборы всегда присылали ответ E5 на запрос поиска прибора при удачном опросе.

Я попробую связаться с производителем и задать им этот вопрос.