Victor_Panic
@Victor_Panic
Инженер по морской электронике

Как распознать протокол общения по RS485 средств судовой автоматики?

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

Назначение блоков - сигнализация, т.е. по команде зажигать один из 8 светодиод и пищать. Между собой общаются по некой "сети" (net), судя по году выпуска предполагаем, что это RS-485 и протокол ModBus или нечто подобное. Есть блок который передаёт (инициирует) команды.
Задача - "расшифровать" протокол (т.е. какое событие каким набором символов кодируется) и заменить данный блок на какой-нибудь дешёвый современный ПЛК, имеющий RS-485.
64632db6e68b3217725223.jpeg 64632dceb7b15858343795.jpeg

Что сделано:
Подключились с помощью RS-485 конвертера с AliExpress
64632e4342b33764395076.jpeg

Попробовали помониторить просто как com-порт (делаем так с NMEA), идут непонятные кракозябры
64632e7fbaf67046211803.jpeg
Попробовали наугад программу ModBus Listener - результат ниже

64632eb7168bb767963364.jpeg

Вопрос:
Как определить, какой это протокол, или хотя бы убедиться - ModBus это или нет?
Какой программой (желательно бесплатной или с trial-периодом или недорогой) можно расшифровать посылки, представить их в каком-нибудь более-менее наглядном виде?
  • Вопрос задан
  • 202 просмотра
Пригласить эксперта
Ответы на вопрос 3
BasiC2k
@BasiC2k
.NET developer (open to job offers)
Цифровым осциллографом можно увидеть структуру посылки - стартовые, стоповые биты, контрольную сумму. А потом уже читать документы по стандартам и смотреть что подходит. С анализаторами много мороки - уровень входного сигнала должен соответствовать, скорость и тд.
Ответ написан
Комментировать
hint000
@hint000
у админа три руки
https://ru.wikipedia.org/wiki/NMEA_0183
NMEA 0183 (от «National Marine Electronics Association») — стандарт, определяющий текстовый протокол связи морского (как правило, навигационного) оборудования (или оборудования, используемого в поездах) между собой.


Но в коментариях правильно написал Wan-Derer, (да и ответ Sergey В. плюсую) в первую очередь нужно подобрать параметры работы последовательного порта - скорость передачи и т.д., чтобы в терминале появился какой-то структурированный текст (вероятно, буквенные сокращения команд и\или числа) а не тот явный мусор, что видно сейчас (передавать бинарный поток не принято, это был бы одень дурной тон). Только тогда анализировать этот текст чем угодно. Мусор анализировать бессмысленно.
646476e17f05e344975810.png
Ответ написан
@AlexSku
не буду отвечать из-за модератора
Один из примеров.
Ещё. Короче, анализаторов полно, надо брать такие, которые могут выделять Modbus.
Но проще получить техзадание и заново запрограммировать любой контроллер.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы