Проверка кадров последовательной связи

калькулятор CRC Modbus

Рассчитайте CRC без контрольных байтов или проверьте полный кадр с двумя байтами CRC в конце.

калькулятор CRC Modbus

Байты кадра (hex)

Полные пары, пробелы, переносы или запятые; префикс 0x только для одного байта.

Результат

Обработка выполняется в этой вкладке. Введённые данные не отправляются и не сохраняются.

Параметры

Фиксированные параметры CRC-16/MODBUS

Ширина 16 · Полином 8005 (отражённый A001) · Начало FFFF · RefIn/RefOut true · XorOut 0000

Совпадение CRC не проверяет функции, регистры или связь с устройством.

Введите байты или загрузите пример.

В журнале указано CDC5, а в захвате стоят C5 CD: это может быть один и тот же результат. Калькулятор CRC Modbus разделяет числовое значение и порядок передачи, чтобы различия в записи не приводили к исправлению работающего кода.

Расчёт CRC-16 выполняется для адреса, функции и данных. Если контрольная сумма уже добавлена, нужна проверка CRC полного кадра: последние два байта отделяются перед вычислением. Перенос строки разделяет байты, а не запускает обработку следующего кадра.

Зачем нужен калькулятор CRC Modbus

От числа к порядку передачи

Калькулятор CRC Modbus выдаёт CDC5 для 01 03 00 00 00 0A, а стандартный хвост кадра составляет C5 CD. Диагностический порядок со старшим байтом первым меняет только пару CRC. Адрес регистра и остальные данные не переставляются.

Два разноцветных байта CRC меняют числовой порядок на порядок передачи и добавляются в конец кадра.

Принятые данные остаются нетронутыми

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

Принятые и пересчитанные последние байты показаны рядом, один отличающийся байт выделен.

Сначала уточните границы и порядок

01

Укажите наличие контрольных байтов

Расчёт использует все введённые байты. Проверка отделяет ровно два последних. Автоматического определения уже добавленного CRC нет. Пример учитывает выбранный режим и порядок; перед заменой показывается предварительный просмотр.

02

Начинайте со стандартного порядка

В Modbus RTU младший байт CRC передаётся первым. Это отдельное правило, не определяющее порядок данных регистров. Обратный порядок служит диагностике и помечается как нестандартный даже при совпадении. Одинаковые старший и младший байты не позволяют заметить перестановку.

03

Экспортируйте актуальный результат

Автоматика ждёт 350 мс после изменения. Отключите её для запуска кнопкой или Ctrl/Cmd+Enter. Изменение ввода, режима или порядка сразу блокирует старый экспорт. Замену примером и очистку можно просмотреть и один раз отменить вместе с результатом.

Сравнение суммы и самого кадра

Фиксированная модель CRC-16/MODBUS

Разрядность 16, полином 8005, отражённая форма A001, начальное значение FFFF, отражение входа и выхода включено, финальный XOR равен 0000. Для байтов 31–39 проверочное значение составляет 4B37. Параметры видны и не переключаются на другую разновидность.

Строгий ввод шестнадцатеричных байтов

Допускаются группы чётной длины, пробелы, переносы строк и запятые. Префикс 0x относится только к одному байту. Нечётная группа или посторонний символ вызывают ошибку со строкой и столбцом; фрагменты журнала не удаляются незаметно.

Ожидаемая и принятая пары

В результат входят число CRC, младший и старший байты, ожидаемая пара и полный кадр. При проверке сохраняются принятые байты и итог сравнения. Несовпадение — завершённая проверка, поэтому диагностический отчёт можно экспортировать.

Отчёт с условиями вычисления

Скопируйте байты CRC или восстановленный кадр. JSON содержит режим, порядок, параметры, проверяемые данные, принятую пару и результат сравнения. По отчёту можно повторить вычисление без догадок о том, что означали четыре цифры.

Что не доказывает совпадение

Один кадр ограниченной длины
Расчёт принимает 2–254 байта без CRC, проверка — 4–256 с CRC. Ограничение исходного текста составляет 4096 символов. Большие бинарные файлы и пакетная обработка не поддерживаются. По переносам строк нельзя восстановить паузы последовательной линии.
Без проверки устройства и команды
Совпадение CRC не подтверждает корректность функции, регистра, адреса или ответа устройства. Страница не соединяется с оборудованием и не отправляет кадры. CRC обнаруживает случайные ошибки, но не удостоверяет отправителя и не защищает от намеренной подмены.
Без LRC, MBAP и других моделей
Страница вычисляет поле CRC для RTU. Здесь нет LRC для ASCII, заголовков MBAP для TCP или изменения полинома. Для другого начального значения и отражения используйте общий инструмент контрольных сумм. Одинаковая разрядность не означает одинаковый алгоритм.
Без догадок и автоматического ремонта
Расчёт не удаляет предполагаемый прежний CRC. Проверка не переставляет байты до совпадения. Обратный порядок всегда обозначен как нестандартный. Восстановленный кадр не записывается во ввод и не добавляет к нему ещё одну контрольную пару.
Только явно введённые байты
Импорта файлов, URL, массивов C и журналов захвата нет. Удалите смещения, скобки и комментарии самостоятельно. Постоянная история не ведётся. Предпросмотр показывает количество заменяемых символов; однократная отмена возвращает предыдущее состояние.

Калькулятор CRC Modbus: вопросы

Почему разные инструменты дают разные результаты CRC?

Сравните полный набор параметров и точные байты входа. Частая причина — старый CRC, включённый в новый расчёт, либо сравнение числа с порядком передачи. Значение CDC5 и байты C5 CD могут соответствовать одному вычислению.

Чем CRC-16 MODBUS отличается от CCITT-FALSE?

У моделей различаются полином и отражение. MODBUS использует 8005 и отражённую обработку, CCITT-FALSE — 1021 без отражения; у обеих начальное значение FFFF. Поэтому одинаковая длина результата не делает контрольные суммы взаимозаменяемыми.

Можно ли проверить двоичные данные вместо текста?

Да, представьте реальные байты в шестнадцатеричном виде. 01 означает один байт со значением один, а не закодированные символы 0 и 1. Файл загрузить нельзя; ограничения одиночного RTU-кадра продолжают действовать.

Почему младший байт CRC отправляется раньше старшего?

Так определён порядок поля CRC в спецификации Modbus RTU. Для числа CDC5 передаются C5 CD. Это не указание переворачивать остальные данные. Диагностический обратный порядок нужен лишь для сравнения записей и не является вторым стандартным вариантом.

Отражение refin и refout меняет биты или байты?

Эти параметры относятся к отражению битов при вычислении CRC. Порядок двух байтов на линии — отдельное правило. Здесь отражение фиксировано моделью MODBUS, а выбор порядка меняет только представление или сравнение последней пары, не сам числовой CRC.

Остался вопрос?

Проверьте следующий кадр

Калькулятор CRC Modbus поможет сравнить отдельный захват с результатом отправителя. Сохраните принятые байты до изменения программы.