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

Тема: Подскажите программу логгер/сниффер Modbus

  1. #1

    По умолчанию Подскажите программу логгер/сниффер Modbus

    Добрый день!

    Во время ПНР появилась задача разобраться с периодической ошибкой в обмене по Modbus RTU.
    Система содержит 8 модулей ввода-вывода, для опроса каждого требуется сделать по 9 запросов (1 для восьми измеренных значений и ещё 8 для восьми регистров качества измерений) - так уж устроены эти модули и получить все данные одним или двумя групповыми запросами невозможно и это оговорено в документации на модуль.
    Опрос модулей выполняется за счёт конфигуратора и применение другого способа (библиотеки обмена) невозможен.
    Периодически на разных модулях возникает какая-то ошибка, диагностика ПЛК просто выдаёт невразумительный код ошибки.

    Хочу разобраться с причиной ошибки.
    Для этого подключился к линии на прослушку, могу сохранить обмен.
    Имеющиеся логгеры-снифферы позволяют сохранять или сплошной дамп без отметок времени или просто сообщения вида "(дата-время) Modbus запрос к устройству с адресом XX и регистру YYYY".
    Ошибки возникают раз в 10-15 минут, объём сохранённых данных в логах очень велик, найти запрос+ответ с ошибкой трудно.
    Т.е. даже не понимаю характер ошибки - пропуск обмена (таймаут), искажения на линии (неправильный пакет).

    Поэтому вижу два варианта:
    - найти логгер с сообщениями вида "дата-время запрос (или ответ) устройство XX регистр YYYY: XX 03 YY YY LL LL CRC CRC"
    - или написать собственный парсер дампа для получения нужных сообщений с диагностикой ошибок в пакетах.

    Подскажите бесплатный логгер с такой возможностью или, может быть, готовую библиотеку разбора дампа с диагностикой.

  2. #2

    По умолчанию

    Цитата Сообщение от FPavel Посмотреть сообщение
    ...........
    Подскажите бесплатный логгер с такой возможностью или, может быть, готовую библиотеку разбора дампа с диагностикой.
    Не поверите, Эксель, вкладка данные.
    При создании фильтра сразу увидите аномальные строки, можно удалить дубликаты и увидеть что то лишнее, там дофига всего можно. Да;е на другом листе сделать выборку почти ка SQL запрос
    Последний раз редактировалось BETEP; 26.05.2026 в 21:34.

  3. #3

    По умолчанию

    Цитата Сообщение от BETEP Посмотреть сообщение
    Не поверите, Эксель.
    Я верю всем после обоснования.

  4. #4

    По умолчанию

    Обосновал?
    Вложения Вложения
    • Тип файла: rar Excel.rar (3.36 Мб, Просмотров: 9)
    Последний раз редактировалось BETEP; 26.05.2026 в 21:53.

  5. #5

    По умолчанию

    Как понимаю, VBA for Excel, как и макросы и функции Excel - Тьюринг-полные машины и позволяют воспроизвести любой алгоритм.

    У меня в наличие просто бинарные дампы на десятки и сотни килобайт. Думаю, что после их открытия в Hex-редакторе смогу скопировать их hex представление и отправить в Excel, а может и сам Excel может работать с бинарными файлами.

    Но, наверное, вместо изучения нового языка и его особенностей мне проще сделать парсер на знакомом FreePascal - неделю сэкономлю. У меня с середины декабря было всего 6 выходных дней - сейчас реально не способен и не расположен к обучению.

  6. #6

    По умолчанию

    У вас лог бинарник? жесть. Логи ведь понятными для человека делают.
    Как разбирать лог? так как вам удобнее. Но иметь поверхностное знакомство с Экселем нам не помешает. VBA for Excel.... есть фича, запись макроса, т.е. что то делаете в Экселе, потом это воспроизводите, нажав на кнопочку.

  7. #7

    По умолчанию

    А что за модули? И чем читаете?
    Почему вот у меня ни одной ошибки нет интересно, приходится изобретать как ошибку сделать.

  8. #8
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,709

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    А что за модули? И чем читаете?
    Почему вот у меня ни одной ошибки нет интересно, приходится изобретать как ошибку сделать.
    Вы вероятно сами делаете или под вашим чутким руководством, а у товарища кто-то делает, я так понимаю, кто в тонкостях процесса не разбирается.

    Я так понимаю что и у товарища процент ошибок очень-очень маленький, непонятно зачем этим заморачиваться, в смысле, ничего идеального не бывает, даже на Солнце пятна, сейчас особенно на противоположной к Земле стороне, короче, никто же не рвётся, как Ленин в Петроград, эти пятна устранять, надеюсь, смысл понятен?
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  9. #9

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    А что за модули? И чем читаете?
    Почему вот у меня ни одной ошибки нет интересно, приходится изобретать как ошибку сделать.
    Контроллер Regul R500.
    Среда программирования - кастомизованный CODESYS 3.5. Кроме конфигурации Modbus - других средств нет, в официальных документах не рассматривается.
    https://reglab.ru/upload/iblock/c63/...1_v1.7_rus.pdf
    Модули RealLab NLS-8TI на 8 каналов термодатчиков, в данном случае термопар. https://www.reallab.ru/Support/download/

    Диагностика обмена по Modbus в ПЛК не очень внятная, обобщённая.
    У меня есть подозрение, что модули иногда пропускают ответ или помеха на линии искажает пакеты.
    Интересует - причина диагностирования ошибки и период между опросами при такой диагностики.

    Снял логи программой Serial Advansed Monitor (trial) - пишу по памяти. Пробовал ещё HHM Advansed Serial Logger - тоже название по памяти. Пару дней назад на хабре было описание какого-то нового логгера - и им пробовал.
    При сохранении получаю бинарик.
    Если лог без дампа типа "(дата-время) Modbus запрос к устройству с адресом XX и регистру YYYY" - то в тексте.
    Преобразовать бинарный в текстовый дамп - труда не предоставляет - делал такое даже на ассемблере.
    Сделать парсер на Free Pascal - думаю по силам, только время потребуется. Но, подозреваю, что не первым вижу такую задачу.

    В идеале - сразу из логгера получать лог с диагностикой ошибок и разбором "запрос / ответ / адрес / регистр / время / ошибки". Самодельный парсер - это на крайний случай.
    Последний раз редактировалось FPavel; 27.05.2026 в 06:39.

  10. #10

    По умолчанию

    Цитата Сообщение от BETEP Посмотреть сообщение
    Обосновал?
    Спасибо за пример. На работе посмотрю - на домашнем пользуюсь Libre Office, открыть не смогу.

Похожие темы

  1. Подскажите по выбору электросчетчика с ModBus RTU
    от Harp в разделе Трёп (Курилка)
    Ответов: 20
    Последнее сообщение: 08.04.2026, 16:26
  2. Ответов: 28
    Последнее сообщение: 20.01.2017, 18:38
  3. PCLogger - универсальный логгер для CDS v3
    от Mikhail Shvetsov в разделе ПЛК3xx (архив)
    Ответов: 0
    Последнее сообщение: 23.11.2012, 13:39
  4. Ответов: 2
    Последнее сообщение: 30.06.2011, 09:45
  5. Подскажите ссылочку на спецификацию modbus?
    от Gosha в разделе Помощь Разработчикам
    Ответов: 0
    Последнее сообщение: 29.03.2010, 07:39

Ваши права

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