Показано с 1 по 9 из 9

Тема: Modbus-снифер

  1. #1
    Пользователь
    Регистрация
    21.12.2011
    Адрес
    Северодвинск
    Сообщений
    334

    По умолчанию Modbus-снифер

    Коллеги, подскажите программку для прослушивания (подслушивания) линии, по которой Modbus гуляет.
    Advanced serial Com-port monitor слушает, но Modbus пакеты не умеет разбирать, все в кучу валит. Modbus Pull не умеет просто линию слушать, а хочет из себя мастера изобразить (или я с ним не разобрался??).
    Кто чем пользуется?

  2. #2
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,518

    По умолчанию

    Подслушивать неприлично. А какая цель оного ?

  3. #3
    Пользователь
    Регистрация
    21.12.2011
    Адрес
    Северодвинск
    Сообщений
    334

    По умолчанию

    Ну-у, разобрать непонятки с трафиком между ПЛК и панелью, к примеру. Подключив на линию комп.

  4. #4
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,518

    По умолчанию

    между ПЛК и панелью,
    syscomread на 2-ом порту ПЛК вклинившимся в ту же сетку + пара-тройка функций. Не ?
    А какие там непонятки ? Конфигуратор опять что-ли чудит ?

  5. #5
    Пользователь
    Регистрация
    21.12.2011
    Адрес
    Северодвинск
    Сообщений
    334

    По умолчанию

    Зачем кодесис-то приплетать?
    Нужна сторонняя прога для РС. Два примера дал выше.
    Видел (давно) у приезжавшего наладчика, ноутом прицепился к сети из сотни приборов, задал маску для своих, увидел, что один из приборов периодически сильно тормозит с ответом, в течение часа решил проблему.
    Вот примерно такая нужна.

    Вот обзор подобного ПО на хабре
    https://habr.com/ru/post/281430/

    Но вот модбас+сниффер, - нет. Отсюда и вопрос.
    Последний раз редактировалось VaBo; 24.09.2020 в 16:35.

  6. #6
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,518

    По умолчанию

    Зачем стороние проги-то приплетать ?
    Когда-то давно была проблема, зацепил второй порт, накидал пару функций, посмотрел что отвечает прибор и решил проблему в течении четверти часа.
    И ничего не искал.

  7. #7

    По умолчанию

    Я недавно смотрел через купленный на Алишке логический анализатор Saleae. Стоит он там 2-5 тыр.
    Качаешь под него официальную прогу с сайта, и вуаля. Даже все данные байтов расшифровывает.
    Вот например общая картина. СПК1хх опрашивает пару датчиков: Saleae-Modbus-1.gif
    Слева идут запросы от СПК, а ответа нет (узкие палочки). В середине видно, что есть какой-то обмен с устройством (запросы и ответы).

    Вот увеличил крупнее: Saleae-Modbus-2.gif
    Слева огрызок пустого запроса, справа идут запрос-ответ, запрос-ответ.

    И вот как он декодирует данные, если линия в порядке: Saleae-Modbus-3.gif
    Видим данные в HEX: 2E, 03, 00 01, 00 01, D2 55.
    Расшифровываем: Адрес 2E (46), Команда чтения регистров (03), прочитать 1 штуку регистра с адресом 1, CRC (CRC можно сверять тут онлайн: https://crccalc.com/)
    Соображаем в моём примере, что запрос идёт к датчику с адресом 46, который я отключил. Вот СПК и долбится в него периодически.
    Причём можно даже увидеть (я про это позже напишу пост), что пока СПК (CodeSys v3) долбится в неотвечающее устройство, оно забивает и не опрашивает другие. То есть, видно что идут попытки связаться с мёртвым датчиком, и их много. А потом раз - и быстрый опрос датчика, который отвечает.

  8. #8
    Пользователь
    Регистрация
    21.12.2011
    Адрес
    Северодвинск
    Сообщений
    334

    По умолчанию

    Чем ОНО отличается от Advanced serial Com-port monitor? Только тем, что интересующие пакеты нужно искать в осциллограмме, а не в таблице (что неудобней, на мой взгляд).
    Но тайминги да, как на ладони...

  9. #9

    По умолчанию

    VaBo Тем, что тут показывается всё на сигнальном уровне.
    У меня одно устройство глючило так, что когда терминатор в линию подключаешь - оно переставало отвечать. И фиг знает почему.
    Анализатором тут можно посмотреть, что было кривое CRC посылок из-за того, что когда в линии был терминатор, устройство почему-то гадило в линию и выдавало кривые стартовые биты. А программа, которая работает с уже принятыми данными, не покажет этого. Точнее, покажет что-то типа CRC_ERROR, но не покажет почему.
    Я советую, потому что на Алишке эти анализаторы стоят копейки и тем, кто постоянно таким занимается, это будет удобнее. Тьфу, короче, это мой опыт, и я раньше от этого плевался и открещивался, а щас вот, пока с CodeSys v3 разбирался, всё это оценил.
    Например, по анализатору я увидел что в CodeSys v3 штатная реализация Modbus кривая: она опрашивает по одному регистру (запросу - строчке из конфигурации Slave) за один раз, а косяк вот в чём: если устройство не ответило, то CodeSys v3 ждёт указанный таймаут и.... пытается опросить второй регистр этого же устройства. И так далее.
    И в итоге общий таймут опроса устройства получается равен не тому таймауту, который мы задали в настройках слейва, а этом таймауту, умноженному на число регистров. И вот это ОФИГЕТЬ!

Похожие темы

  1. Ответов: 23
    Последнее сообщение: 27.11.2019, 10:33
  2. Снифер RS-485 из ПЛК110
    от Parovoz в разделе ПЛК1хх [М02]
    Ответов: 10
    Последнее сообщение: 25.10.2019, 14:00
  3. Ответов: 2
    Последнее сообщение: 04.06.2019, 16:55
  4. Ответов: 10
    Последнее сообщение: 10.06.2018, 16:36
  5. Ответов: 5
    Последнее сообщение: 14.10.2010, 14:42

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •