IvanKaleev 29.10
Здравствуйте!
На одной линии RS485 подключены приборы учета ПЧС4ТМ.05.МК и СЕ 303 S31 503_JAVZ, 100 Вольт
Настройки на модеме скорость 9600 бот, четность: нет, стоп бит 1, на приборах учета соответственно также.
При опросе через CSD опрашиваться все приборы учета. При подключении через прозрачное соединение по TCP/IP ПЧС4ТМ.05.МК опрашиваться со скоростью 4G мгновенно, CЕ303 бывает проходит авторизацию, иногда просто отправляет кучу запросов в цикле и получает абракадабра ответы. Если удастся подключиться с авторизацией то данные не проходят.
Вот лог. при попытке подключения:
Сообщение
29.10.2025 08:19:51.382
Соединение разорвано
Сообщение
29.10.2025 08:19:56.632
Соединение установлено
Запрос
29.10.2025 08:20:14.380
AF 3F B1 35 39 21 8D 0A ???59!?.
Ответ
29.10.2025 08:20:15.286
2F 45 4B 54 35 43 45 33 30 33 76 31 32 0D 0A /EKT5CE303v12..
Запрос
29.10.2025 08:20:15.505
06 30 39 B1 8D 0A .09??.
Ответ
29.10.2025 08:20:16.302
01 50 30 02 28 31 35 39 29 03 75 .P0.(159).u
Запрос
29.10.2025 08:20:16.364
81 50 B1 82 28 B7 B7 B7 B7 B7 B7 A9 03 21 ?P??(???????.!
Ответ
29.10.2025 08:20:17.130
01 0F 21 64 ..!d
Запрос
29.10.2025 08:20:32.161
81 50 B1 82 28 B7 B7 B7 B7 B7 B7 A9 03 21 ?P??(???????.!
Ответ
29.10.2025 08:20:33.255
01 0F 21 64 ..!d
Запрос
29.10.2025 08:20:48.289
81 50 B1 82 28 B7 B7 B7 B7 B7 B7 A9 03 21 ?P??(???????.!
Ответ
29.10.2025 08:20:49.199
01 0F 21 64 ..!d
Запрос
29.10.2025 08:21:04.223
81 50 B1 82 28 B7 B7 B7 B7 B7 B7 A9 03 21 ?P??(???????.!
Ответ
29.10.2025 08:21:05.270
01 0F 21 64 ..!d
Запрос
29.10.2025 08:21:20.301
81 50 B1 82 28 B7 B7 B7 B7 B7 B7 A9 03 21 ?P??(???????.!
Ответ
29.10.2025 08:21:21.207
01 0F 21 64 ..!d
Запрос
29.10.2025 08:21:36.238
81 50 B1 82 28 B7 B7 B7 B7 B7 B7 A9 03 21 ?P??(???????.!
Ответ
29.10.2025 08:21:37.222
01 0F 21 64 ..!d
Сообщение
29.10.2025 08:33:37.526
Соединение разорвано
Причем открытие канала TСP/IP проходит успешно, при попытки авторизации идут бесконечный кто ты , а кто я..
Настройки TCP/IP канала связи в AdminTools
IP адрес (модема) хх.хх.хх.76
хост _____________________
Порт 10001
Программный контроль четности 7-E-1- флаг активирован
Отключение приема и передачи -флаг отключен
Маршрутизатор в CE805M -флаг отключен.
Подозрение на конфликт Modbus устройств на одной линии именно по TCP/IP стеку.
Что можно сделать?
Пытался настроить опрос по прозрачному канало Лерс_Учет, пакеты уходят, иногда даже проходит авторизация, и на этом все.
Как дадите рекомендации?
Может разделить их на отдельные сети RS485, тогда нужно два модема TCP/IP, а это роскошь в наше время.
Вот анализ ИИ
1. Оборудование и настройки:
-
Линия связи: RS-485.
-
Устройства:
-
ПЧС4ТМ.05.МК (вероятно, протокол Modbus RTU)
-
СЕ 303 S31 503_JAVZ (вероятно, протокол M-Bus или производительный)
-
-
Настройки порта: 9600, 8N1 (совпадают на модеме и приборах).
-
Тип соединения:
-
CSD (через телефонную сеть): Работает стабильно со всеми приборами.
-
TCP/IP (прозрачный канал): ПЧС4ТМ работает отлично, СЕ 303 — с критическими проблемами.
-
2. Описание проблемы при работе по TCP/IP:
-
ПЧС4ТМ.05.МК опрашивается нормально и быстро.
-
СЕ 303 ведёт себя нестабильно:
-
Иногда проходит авторизацию, но данные не читаются.
-
Часто уходит в цикл бесконечных запросов с получением некорректных ответов ("абракадабра").
-
В логе виден повторяющийся запрос
81 50 B1 82 28 B7 B7 B7 B7 B7 B7 A9 03 21и одинаковый короткий ответ01 0F 21 64.
-
3. Ключевая гипотеза пользователя:
-
Конфликт протоколов Modbus на одной линии RS-485 при использовании TCP/IP-стека.
4. Анализ лога:
-
Первая фаза ("Кто ты?"):
-
Запрос:
AF 3F B1 35 39 21 8D 0A– Похож на широковещательный запрос идентификации. -
Ответ:
2F 45 4B 54 35 43 45 33 30 33 76 31 32 0D 0A– Текст/EKT5CE303v12... Устройство СЕ 303 отвечает, сообщая свою модель и версию прошивки. Это хороший знак, физический уровень работает.
-
-
Вторая фаза (Авторизация?):
-
Запрос:
06 30 39 B1 8D 0A -
Ответ:
01 50 30 02 28 31 35 39 29 03 75– По структуре похож на ответ с данными в формате "P0.(159).u". Вероятно, это успешный ответ на команду.
-
-
Третья фаза (Цикл ошибок):
-
Запрос:
81 50 B1 82 28 B7 B7 B7 B7 B7 B7 A9 03 21– Повторяется многократно. Судя по структуре (байтыB7), это может быть запрос с "сырыми" или зашифрованными данными (например, паролем). -
Ответ:
01 0F 21 64– Похож на сообщение об ошибке (код0F) или отрицательное подтверждение. Устройство СЕ 303 не понимает запрос или отказывает в доступе.
-
Рекомендации по решению проблемы
Версия о конфликте протоколов очень вероятна. ПЧС4ТМ использует Modbus RTU, а СЕ 303 — свой собственный (вероятно, M-Bus-based) протокол. Проблема проявляется только в TCP/IP, потому что этот режим может вносить дополнительные задержки или требовать точной настройки таймингов, которые критичны для работы M-Bus.
Решение 1 (Приоритетное): Проверка и корректировка программного контроля четности
Это самое простое и вероятное решение.
-
Проблема: В настройках TCP/IP канала в AdminTools активирован флаг "Программный контроль четности 7-E-1".
-
Решение: Снимите этот флаг. Ваши устройства используют на физическом уровне
8N1(8 бит данных, нет бита четности, 1 стоповый бит). Программная эмуляция7E1(7 бит данных, четность Even, 1 стоповый бит) на канале8N1гарантированно приводит к искажению кадра. Программа пытается интерпретировать 8-битные данные как 7-битные, из-за чего байты81иB1в вашем логе могут быть искажёнными версиями корректных команд для СЕ 303. -
Действие: Отключите "Программный контроль четности", сохраните настройки и проведите тест. В 90% случаев это решает проблему.
Решение 2: Настройка таймингов в драйвере ЛЕРС_УЧЕТ
Если отключение контроля четности не помогло, проблема в таймаутах. M-Bus часто требует больших пауз между запросами и байтами в кадре, чем Modbus.
-
Межбайтовый таймаут (Character Timeout): Увеличьте его. Если по умолчанию стоит 10-50 мс, попробуйте 100-200 мс. Это даст устройству СЕ 303 больше времени на обработку и ответ.
-
Таймаут ожидания ответа (Response Timeout): Также увеличьте. Попробуйте значение 2-5 секунд.
-
Пауза между запросами (Delay between polls): Установите значительную паузу (1-2 секунды) между опросом ПЧС4ТМ и СЕ 303.
Решение 3: Аппаратное разделение (если ничего не помогает)
Если первые два решения не дали результата, ваша исходная идея — разделение линии — верна.
-
Не обязательно покупать два модема. Существуют более дешёвые и элегантные решения:
-
Конвертер RS-485 в Ethernet с двумя портами: Некоторые модели конвертеров имеют несколько независимых портов RS-485, которые можно настроить на разные скорости и протоколы, но при этом они имеют один IP-адрес в сети. Это позволит опрашивать каждое устройство по своей "виртуальной" линии.
-
Модем/шлюз с несколькими портами RS-485: Ищите устройства, изначально предназначенные для работы с разнородными приборами учета.
-
Решение 4: Детальный анализ протокола СЕ 303
-
Запросите у производителя или найдите документацию на протокол обмена для СЕ 303 S31.
-
Сравните корректную последовательность команд для чтения данных с тем, что отправляет ваша программа. Запрос
81 50 B1 ...выглядит как попытка отправки пароля или команды с неправильными данными.
План действий
-
ШАГ 1: Перейдите в настройки TCP/IP канала в AdminTools и отключите флаг "Программный контроль четности 7-E-1". Это самое важное действие.
-
ШАГ 2: Протестируйте опрос. Если проблема сохранилась, перейдите к шагу 3.
-
ШАГ 3: В настройках драйвера "ЛЕРС_УЧЕТ" для прибора СЕ 303 увеличьте межбайтовый таймаут и таймаут ответа. Протестируйте.
-
ШАГ 4 (Форс-мажор): Если ничего не помогает, рассмотрите вариант аппаратного разделения линии, используя 2-портовый конвертер RS-485/Ethernet.
Начните с первого шага — крайне высока вероятность, что проблема именно в настройке программного контроля четности, которая несовместима с вашими устройствами.
Комментарии