Подключение к счетчику Энергомера СЕ308

Добрый день. Пытаюсь подключиться к счетчику Энергомера СЕ308 S31.543.0AA.SYUVJLFZ по RS-485.

Не получаю данные со счетчика.

Подключаюсь с помощью витой пары длиной не более 2м. Коммутация выполнена аналогично статье в базе знаний. Параметры порта RS-485: 9600,N,8,1. Логи:

18-03-2025 05:29:03.581 DEBUG: [port] /dev/ttyRS485-1: Sleep 12500 us
18-03-2025 05:29:03.569 DEBUG: [port] /dev/ttyRS485-1: Write: 7e a0 0a 00 02 fc bd 41 53 3c ab 7e
18-03-2025 05:29:03.569 DEBUG: [port] /dev/ttyRS485-1: Sleep 20000 us
18-03-2025 05:29:03.567 DEBUG: [serial client] </dev/ttyRS485-1 9600 8 N 1>3249040: Wait until 3249040
18-03-2025 05:29:03.567 DEBUG: [serial client] Failed to open session: Serial protocol error: DisconnectRequest failed. Serial protocol error: request timed out [slave_id is </dev/ttyRS485-1 9600 8 N 1> dlms:16222]
18-03-2025 05:28:53.534 DEBUG: [port] /dev/ttyRS485-1: Sleep 12500 us
18-03-2025 05:28:53.522 DEBUG: [port] /dev/ttyRS485-1: Write: 7e a0 0a 00 02 fc bd 41 53 3c ab 7e
18-03-2025 05:28:53.521 DEBUG: [port] /dev/ttyRS485-1: Sleep 20000 us
18-03-2025 05:28:53.503 DEBUG: [serial client] </dev/ttyRS485-1 9600 8 N 1>3238976: Wait until 3238976
18-03-2025 05:28:53.502 DEBUG: [serial port] Setup /dev/ttyRS485-1 port: 9600 8 N 1
18-03-2025 05:28:53.502 WARNING: </dev/ttyRS485-1 9600 8 N 1>: closed due to repetitive errors
18-03-2025 05:28:53.498 DEBUG: [serial client] Failed to open session: Serial protocol error: DisconnectRequest failed. Serial protocol error: request timed out [slave_id is </dev/ttyRS485-1 9600 8 N 1> dlms:16222]
18-03-2025 05:28:53.498 DEBUG: [serial client] Failed to open session: Serial protocol error: DisconnectRequest failed. Serial protocol error: request timed out [slave_id is </dev/ttyRS485-1 9600 8 N 1> dlms:16222]

Добрый день.
Из лога видно - что ответ от устройства не получен.
А точно используемый адрес принадлежит этому прибору? Подключается ли с помощью штатного ПО?
То есть причин отсутствия ответа может быть несколько:

  • физические проблемы подключения
  • не тот адрес (изменен)
  • возможность подключения отключена в настройках

Подключался через оптическую головку и admintools.


Адрес выглядит правильным. Как проверить возможность подключения в настройках?

И эту же головку используете для подключения к контроллеру?
Подключите пожалуйста снова и создайте диагностический архив.

Нет, с контроллера пытаюсь подключиться по RS-485.

Попробуйте пожалуйста и с компьютера подклбчиться через интерфейс RS-485.

Для чистоты эксперимента я заменил счетчик. Я смог подключиться к счетчику через admintools не только оптической головкой, но и по RS485.

После этого я попытался подключить счетчик к контроллеру. Не получилось. Вот лог:

27-03-2025 03:43:22.676 WARNING: [serial device] TSerialDevice::ReadRegister(): Serial protocol error: Getting 1.0.31.7.0.255:3 failed. Serial protocol error: request timed out [slave_id is </dev/ttyRS485-1 19200 8 N 1> dlms:14686]
27-03-2025 03:43:12.640 DEBUG: [port] /dev/ttyRS485-1: Sleep 15625 us
27-03-2025 03:43:12.625 DEBUG: [port] /dev/ttyRS485-1: Write: 7e a0 1c 00 02 e4 bd 41 32 ce 12 e6 e6 00 c0 01 81 00 03 01 00 1f 07 00 ff 03 00 01 ad 7e
27-03-2025 03:43:12.624 DEBUG: [port] /dev/ttyRS485-1: Sleep 20000 us
27-03-2025 03:43:12.607 DEBUG: [port] /dev/ttyRS485-1: Sleep 0 us
27-03-2025 03:43:12.607 DEBUG: [port] /dev/ttyRS485-1: Sleep 0 us
27-03-2025 03:43:12.605 INFO: [serial device] device </dev/ttyRS485-1 19200 8 N 1> dlms:14686 is connected
27-03-2025 03:43:12.605 DEBUG: [Energomera CE308 14686 (</dev/ttyRS485-1 19200 8 N 1> dlms:14686)] Connection is initialized
27-03-2025 03:43:12.604 DEBUG: [port] /dev/ttyRS485-1: ReadFrame: 7e a0 3a 41 00 02 e4 bd 30 a5 2f e6 e7 00 61 29 a1 09 06 07 60 85 74 05 08 01 01 a2 03 02 01 00 a3 05 a1 03 02 01 00 be 10 04 0e 08 00 06 5f 1f 04 00 00 10 15 04 00 00 07 62 c5 7e
27-03-2025 03:43:12.548 DEBUG: [port] /dev/ttyRS485-1: Sleep 38021 us
27-03-2025 03:43:12.510 DEBUG: [port] /dev/ttyRS485-1: Write: 7e a0 47 00 02 e4 bd 41 10 93 14 e6 e6 00 60 36 a1 09 06 07 60 85 74 05 08 01 01 8a 02 07 80 8b 07 60 85 74 05 08 02 01 ac 0a 80 08 31 32 33 34 35 36 37 38 be 10 04 0e 01 00 00 00 06 5f 1f 04 00 00 1e 5d ff ff a9 fd 7e
27-03-2025 03:43:12.510 DEBUG: [port] /dev/ttyRS485-1: Sleep 20000 us
27-03-2025 03:43:12.490 DEBUG: [port] /dev/ttyRS485-1: ReadFrame: 7e a0 21 41 00 02 e4 bd 73 71 9c 81 80 12 05 01 80 06 01 80 07 04 00 00 00 01 08 04 00 00 00 01 53 3b 7e
27-03-2025 03:43:12.462 DEBUG: [port] /dev/ttyRS485-1: Sleep 6250 us
27-03-2025 03:43:12.456 DEBUG: [port] /dev/ttyRS485-1: Write: 7e a0 0a 00 02 e4 bd 41 93 49 4b 7e
27-03-2025 03:43:12.456 DEBUG: [port] /dev/ttyRS485-1: Write: 7e a0 0a 00 02 e4 bd 41 93 49 4b 7e
27-03-2025 03:43:12.456 DEBUG: [port] /dev/ttyRS485-1: Sleep 20000 us
27-03-2025 03:43:12.436 DEBUG: [Energomera CE308 14686 (</dev/ttyRS485-1 19200 8 N 1> dlms:14686)] Initialize connection
27-03-2025 03:43:12.436 DEBUG: [port] /dev/ttyRS485-1: ReadFrame: 7e a0 0a 41 00 02 e4 bd 1f 1a 20 7e
27-03-2025 03:43:12.427 DEBUG: [port] /dev/ttyRS485-1: Sleep 6250 us
27-03-2025 03:43:12.421 DEBUG: [port] /dev/ttyRS485-1: Write: 7e a0 0a 00 02 e4 bd 41 53 45 8d 7e
27-03-2025 03:43:12.420 DEBUG: [port] /dev/ttyRS485-1: Sleep 20000 us
27-03-2025 03:43:12.402 DEBUG: [serial client] </dev/ttyRS485-1 19200 8 N 1>9512877: Wait until 9512877
27-03-2025 03:43:12.400 DEBUG: [serial port] Setup /dev/ttyRS485-1 port: 19200 8 N 1
27-03-2025 03:43:12.400 WARNING: </dev/ttyRS485-1 19200 8 N 1>: closed due to repetitive errors
27-03-2025 03:43:12.400 WARNING: </dev/ttyRS485-1 19200 8 N 1>: closed due to repetitive errors
27-03-2025 03:43:12.399 WARNING: [serial device] device </dev/ttyRS485-1 19200 8 N 1> dlms:14686 is disconnected
27-03-2025 03:43:12.398 WARNING: [serial device] TSerialDevice::ReadRegister(): Serial protocol error: Getting 1.0.3.8.128.255:3 failed. Serial protocol error: request timed out [slave_id is </dev/ttyRS485-1 19200 8 N 1> dlms:14686]

Отлично. А выложите, текстом из “монитора обмена” отправленное-принятое.
Можно сравнить что отправляется с контроллера и из программы.

Кажется, я совсем упустил момент авторизации со стороны контроллера. Я добавил пароль 1234567812345678 в виде массива байт.

Но в логах получаю Authentication failure. Не понимаю, как правильно прописать авторизацию.

30-03-2025 00:21:16.752 [wb-mqtt-serial] DEBUG: [serial client] </dev/ttyRS485-1 19200 8 N 1>22771226: Wait until 22771226
30-03-2025 00:21:16.752 [wb-mqtt-serial] DEBUG: [serial client] Failed to open session: Serial protocol error: AARQRequest failed. Bad response: 279, Authentication failure. [slave_id is </dev/ttyRS485-1 19200 8 N 1> dlms:14686]
30-03-2025 00:21:16.752 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: ReadFrame: 7e a0 21 41 00 02 e4 bd 73 71 9c 81 80 12 05 01 80 06 01 80 07 04 00 00 00 01 08 04 00 00 00 01 53 3b 7e
30-03-2025 00:21:16.730 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Sleep 6250 us
30-03-2025 00:21:16.724 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Write: 7e a0 0a 00 02 e4 bd 41 53 45 8d 7e
30-03-2025 00:21:16.724 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Sleep 20000 us
30-03-2025 00:21:16.704 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: ReadFrame: 7e a0 3a 41 00 02 e4 bd 30 a5 2f e6 e7 00 61 29 a1 09 06 07 60 85 74 05 08 01 01 a2 03 02 01 01 a3 05 a1 03 02 01 0d be 10 04 0e 08 00 06 5f 1f 04 00 00 10 15 04 00 00 07 71 7c 7e
30-03-2025 00:21:16.658 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Sleep 42188 us
30-03-2025 00:21:16.616 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Write: 7e a0 4f 00 02 e4 bd 41 10 7f ca e6 e6 00 60 3e a1 09 06 07 60 85 74 05 08 01 01 8a 02 07 80 8b 07 60 85 74 05 08 02 01 ac 12 80 10 01 02 03 04 05 06 07 08 01 02 03 04 05 06 07 08 be 10 04 0e 01 00 00 00 06 5f 1f 04 00 00 1e 5d ff ff 60 79 7e
30-03-2025 00:21:16.616 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Sleep 20000 us
30-03-2025 00:21:16.596 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: ReadFrame: 7e a0 21 41 00 02 e4 bd 73 71 9c 81 80 12 05 01 80 06 01 80 07 04 00 00 00 01 08 04 00 00 00 01 53 3b 7e
30-03-2025 00:21:16.572 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Sleep 6250 us
30-03-2025 00:21:16.565 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Write: 7e a0 0a 00 02 e4 bd 41 93 49 4b 7e
30-03-2025 00:21:16.565 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Sleep 20000 us
30-03-2025 00:21:16.545 [wb-mqtt-serial] DEBUG: [Energomera CE308 14686 (</dev/ttyRS485-1 19200 8 N 1> dlms:14686)] Initialize connection
30-03-2025 00:21:16.545 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: ReadFrame: 7e a0 0a 41 00 02 e4 bd 1f 1a 20 7e
30-03-2025 00:21:16.523 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Sleep 6250 us
30-03-2025 00:21:16.517 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Write: 7e a0 0a 00 02 e4 bd 41 53 45 8d 7e
30-03-2025 00:21:16.516 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Sleep 20000 us
30-03-2025 00:21:16.497 [wb-mqtt-serial] DEBUG: [serial client] </dev/ttyRS485-1 19200 8 N 1>22770970: Wait until 22770970
30-03-2025 00:21:16.497 [wb-mqtt-serial] DEBUG: [serial client] Failed to open session: Serial protocol error: AARQRequest failed. Bad response: 279, Authentication failure. [slave_id is </dev/ttyRS485-1 19200 8 N 1> dlms:14686]
30-03-2025 00:21:16.496 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: ReadFrame: 7e a0 21 41 00 02 e4 bd 73 71 9c 81 80 12 05 01 80 06 01 80 07 04 00 00 00 01 08 04 00 00 00 01 53 3b 7e
30-03-2025 00:21:16.475 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Sleep 6250 us

А надо ее еще и включить, если используется, так:


Ну и выполните пожалуйста 10 пункт отсюда: Использование счётчика Энергомера CE308 с контроллером Wiren Board — Wiren Board

Выполнил, но, к сожалению, картина не изменилась, ошибка та же.

31-03-2025 21:55:02.066 [wb-mqtt-serial] DEBUG: [Energomera CE308 14686 (</dev/ttyRS485-1 19200 8 N 1> dlms:14686)] Initialize connection
31-03-2025 21:55:02.066 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: ReadFrame: 7e a0 0a 41 00 02 e4 bd 1f 1a 20 7e
31-03-2025 21:55:02.055 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Sleep 6250 us
31-03-2025 21:55:02.048 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Write: 7e a0 0a 00 02 e4 bd 41 53 45 8d 7e
31-03-2025 21:55:02.048 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Sleep 20000 us
31-03-2025 21:55:02.039 [wb-mqtt-serial] DEBUG: [serial client] </dev/ttyRS485-1 19200 8 N 1>864508: Wait until 864508
31-03-2025 21:55:02.034 [wb-mqtt-serial] DEBUG: [serial client] Failed to open session: Serial protocol error: AARQRequest failed. Bad response: 279, Authentication failure. [slave_id is </dev/ttyRS485-1 19200 8 N 1> dlms:14686]
31-03-2025 21:55:02.030 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: ReadFrame: 7e a0 21 41 00 02 e4 bd 73 71 9c 81 80 12 05 01 80 06 01 80 07 04 00 00 00 01 08 04 00 00 00 01 53 3b 7e
31-03-2025 21:55:02.006 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Sleep 6250 us
31-03-2025 21:55:02.000 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Write: 7e a0 0a 00 02 e4 bd 41 53 45 8d 7e
31-03-2025 21:55:02.000 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Sleep 20000 us
31-03-2025 21:55:01.980 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: ReadFrame: 7e a0 3a 41 00 02 e4 bd 30 a5 2f e6 e7 00 61 29 a1 09 06 07 60 85 74 05 08 01 01 a2 03 02 01 01 a3 05 a1 03 02 01 0d be 10 04 0e 08 00 06 5f 1f 04 00 00 10 15 04 00 00 07 71 7c 7e
31-03-2025 21:55:01.935 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Sleep 42188 us
31-03-2025 21:55:01.893 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Write: 7e a0 4f 00 02 e4 bd 41 10 7f ca e6 e6 00 60 3e a1 09 06 07 60 85 74 05 08 01 01 8a 02 07 80 8b 07 60 85 74 05 08 02 01 ac 12 80 10 01 02 03 04 05 06 07 08 01 02 03 04 05 06 07 08 be 10 04 0e 01 00 00 00 06 5f 1f 04 00 00 1e 5d ff ff 60 79 7e
31-03-2025 21:55:01.892 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Sleep 20000 us
31-03-2025 21:55:01.872 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: ReadFrame: 7e a0 21 41 00 02 e4 bd 73 71 9c 81 80 12 05 01 80 06 01 80 07 04 00 00 00 01 08 04 00 00 00 01 53 3b 7e
31-03-2025 21:55:01.849 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Sleep 6250 us
31-03-2025 21:55:01.843 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Write: 7e a0 0a 00 02 e4 bd 41 93 49 4b 7e
31-03-2025 21:55:01.842 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Sleep 20000 us
31-03-2025 21:55:01.823 [wb-mqtt-serial] DEBUG: [Energomera CE308 14686 (</dev/ttyRS485-1 19200 8 N 1> dlms:14686)] Initialize connection


02_04_2025_17_04_42.txt (16,9 КБ)
При этом, с компа по RS485 я подключаюсь без проблем. Прикладываю лог.

Сейчас видно, что устройство - отвечает:

Явно не тот пароль или механизм.
Попрошу коллег посмотреть.

Я попробовал и все другие доступные в настройке поля режимы авторизации - ошибка одна и та же.

Отключите пожалуйста на счетчике аутентификацию, совсем - и проверьте.

Немного теряюсь, где конкретно это сделать.

Можно не отключать, разработчики ответили.
Вы указываете “пароль как массив байт”.
И - неправильно. Укажите именно asc2 коды символов а не сами символы. То есть для 1 - 0x31 и так далее.

Пробовал и так, ошибка та же.

31-03-2025 23:25:36.733 [wb-mqtt-serial] DEBUG: [Energomera CE308 14686 (</dev/ttyRS485-1 19200 8 N 1> dlms:14686)] Initialize connection
31-03-2025 23:25:36.732 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: ReadFrame: 7e a0 0a 41 00 02 e4 bd 1f 1a 20 7e
31-03-2025 23:25:36.721 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Sleep 6250 us
31-03-2025 23:25:36.715 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Write: 7e a0 0a 00 02 e4 bd 41 53 45 8d 7e
31-03-2025 23:25:36.714 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Sleep 20000 us
31-03-2025 23:25:36.695 [wb-mqtt-serial] DEBUG: [serial client] </dev/ttyRS485-1 19200 8 N 1>4661169: Wait until 4661169
31-03-2025 23:25:36.695 [wb-mqtt-serial] DEBUG: [serial client] Failed to open session: Serial protocol error: AARQRequest failed. Bad response: 279, Authentication failure. [slave_id is </dev/ttyRS485-1 19200 8 N 1> dlms:14686]
31-03-2025 23:25:36.694 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: ReadFrame: 7e a0 21 41 00 02 e4 bd 73 71 9c 81 80 12 05 01 80 06 01 80 07 04 00 00 00 01 08 04 00 00 00 01 53 3b 7e
31-03-2025 23:25:36.673 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Sleep 6250 us
31-03-2025 23:25:36.667 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Write: 7e a0 0a 00 02 e4 bd 41 53 45 8d 7e
31-03-2025 23:25:36.666 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Sleep 20000 us
31-03-2025 23:25:36.646 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: ReadFrame: 7e a0 3a 41 00 02 e4 bd 30 a5 2f e6 e7 00 61 29 a1 09 06 07 60 85 74 05 08 01 01 a2 03 02 01 01 a3 05 a1 03 02 01 0d be 10 04 0e 08 00 06 5f 1f 04 00 00 10 15 04 00 00 07 71 7c 7e
31-03-2025 23:25:36.602 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Sleep 42188 us
31-03-2025 23:25:36.559 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Write: 7e a0 4f 00 02 e4 bd 41 10 7f ca e6 e6 00 60 3e a1 09 06 07 60 85 74 05 08 01 01 8a 02 07 80 8b 07 60 85 74 05 08 02 01 ac 12 80 10 31 32 33 34 35 36 37 38 31 32 33 34 35 36 37 38 be 10 04 0e 01 00 00 00 06 5f 1f 04 00 00 1e 5d ff ff d7 40 7e
31-03-2025 23:25:36.559 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Sleep 20000 us
31-03-2025 23:25:36.539 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: ReadFrame: 7e a0 21 41 00 02 e4 bd 73 71 9c 81 80 12 05 01 80 06 01 80 07 04 00 00 00 01 08 04 00 00 00 01 53 3b 7e
31-03-2025 23:25:36.514 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Sleep 6250 us
31-03-2025 23:25:36.508 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Write: 7e a0 0a 00 02 e4 bd 41 93 49 4b 7e
31-03-2025 23:25:36.508 [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Sleep 20000 us
31-03-2025 23:25:36.488 [wb-mqtt-serial] DEBUG: [Energomera CE308 14686 (</dev/ttyRS485-1 19200 8 N 1> dlms:14686)] Initialize connection

Уберите, пожалуйста, все настройки аутентификации в нашем ПО.
Должно остаться только так.


Если всё ещё показывает, что устройство не подключено, надо смотреть в лог обмена.
Если в логе есть строки Connection is initialized, то авторизация прошла успешно, адрес и пароль - верные, и надо смотреть что там дальше в логе.

1 лайк