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-периодом или недорогой) можно расшифровать посылки, представить их в каком-нибудь более-менее наглядном виде?
  • Вопрос задан
  • 152 просмотра
Пригласить эксперта
Ответы на вопрос 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.
Но проще получить техзадание и заново запрограммировать любой контроллер.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы