2025-04-23
Углубленный анализ протокола Modbus
Углубленный анализ протокола Modbus

Modbus — это наиболее широко используемый протокол последовательной связи в области промышленной автоматизации, который был запущен компанией Modicon (ныне Schneider Electric) в 1979 году. Его основными характеристиками являются простота, открытость и простота реализации, и он стал «универсальным языком» в области промышленного управления.
I. Основные особенности Modbus
1. Основные параметры
- Способ связи:
- Режим «главный-подчиненный»: одно ведущее устройство (например, ПЛК) может опрашивать несколько ведомых устройств (до 247).
- Полудуплекс: данные можно отправлять или получать только одновременно.
- Средство передачи:
- RS-232/RS-485 (наиболее часто используемый)
- TCP/IP (Modbus TCP)
- Оптоволокно, беспроводная связь и т. д. (требуются преобразователи)
- Модель данных
- Четыре типа регистров, единое адресное пространство (0-65535)
2. Преимущества соглашения
| Характеристики | Объяснение |
| Простой и надежный | Протокол имеет низкие накладные расходы и подходит для устройств с ограниченными ресурсами, таких как PLCS. |
| Кросс-платформенный | Поддерживается более чем 500 производителями и имеет надежную аппаратную совместимость. |
| Производительность в реальном времени | Типичное время отклика составляет 10-100 мс. |
| Легко отлаживать | Его можно напрямую протестировать с помощью помощника последовательного порта. |
II. Сравнение версий соглашения
1. Modbus RTU против ASCII
- Особенности: Modbus RTU, Modbus ASCII.
- Кодировать двоичный шестнадцатеричный текст
- Высокая эффективность (компактность) и низкая (на 50% больше объема данных)
- Проверьте CRC-16 LRC
- Совместимость с распространенными старыми системами в прикладной отрасли.
2. Модбус TCP
- Инкапсулировать в стек TCP/IP (порт 502).
- Проверка CRC RTU (зависящая от контрольной суммы TCP) была удалена.
- Поддержка нескольких запросов для одного сообщения (до 260 байт)
III. Подробное объяснение модели данных
1. Регистры класса 4
| Тип | Функция | Метод доступа | Диапазон адресов |
| Катушка | Чтение и запись логических величин | Битовая операция | 00001-09999. |
| Дискретный вход | Читать только логические величины | Битовая операция | 10001-19999. |
| Вести реестр | Чтение и запись числовых значений | Словесная операция | 40001-49999. |
| Входной регистр | Значение только для чтения | Словесная операция | 30001-39999. |
* Примечание. Фактический протокол использует адреса, отсчитываемые от 0 (например, 40001=0x0000) *
2. Сопоставление типов данных
- 16-битное целое число: сохраняется напрямую.
- 32-битное число с плавающей запятой: стандарт IEEE754 (2 регистра)
- Строка: коды ASCII сохраняются последовательно.
Ив. Анализ процесса коммуникации
1.Типичный запрос-ответ
[Запрос основного устройства]
Адрес ведомой станции | Код функции | Начальный адрес | Длина данных | проверка CRC
0x01 0x03 0x0000 0x0002 0xC40A
Адрес ведомой станции | Код функции | Начальный адрес | Длина данных | проверка CRC
0x01 0x03 0x0000 0x0002 0xC40A
[Ответ с устройства]
Адрес ведомой станции | Код функции | Количество байтов | Данные 1 | Данные 2 | проверка CRC
0x01 0x03 0x04 0x00FF 0xA5B3 0x8F12
Адрес ведомой станции | Код функции | Количество байтов | Данные 1 | Данные 2 | проверка CRC
0x01 0x03 0x04 0x00FF 0xA5B3 0x8F12
2. Ключевой код функции
| Код | Имя | Функция |
| 0x01 | Прочтите катушку | Чтение нескольких величин переключателей |
| 0x03 | Чтение регистра удержания | Чтение нескольких 16-битных значений |
| 0x05 | Напишите одну катушку | Установите количество одного переключателя |
| 0x10 | Запись нескольких регистров | Пакетная запись данных |
V. Механизм обработки исключений
1. Формат ответа на исключение
Адрес ведомой станции | Код функции +0x80 | Ненормальный код | проверка CRC
0x01 0x83 0x02 0xF1A2
0x01 0x83 0x02 0xF1A2
2. Общие коды исключений
| Код | Значение | Метод решения |
| 0x01 | Недопустимый функциональный код | Проверьте коды функций, поддерживаемые устройством. |
| 0x02 | Незаконный адрес данных | Подтвердите таблицу сопоставления регистров |
| 0x03 | Недопустимое значение данных | Проверьте диапазон записи |
| 0x04 | Оборудование ведомой станции вышло из строя | Проверьте состояние ведомой станции |
Ви. План повышения безопасности
1. Безопасный Modbus
- Добавьте шифрование TLS/DTLS (требуется аппаратная поддержка)
- Типовое оборудование: Hirschmann MICE
2. Защита шлюза
- Ограничить доступ к порту 502 через брандмауэр.
- Управление белым списком законных IP-адресов основного сайта
VII. Сценарии применения
1. Производственный контроль
- Связь ПЛК и ЧМИ: опрос более 100 регистров в секунду
- Интеграция системы РСУ: Modbus RTU со шлюзом Profibus
2. Энергетический менеджмент
- Сбор данных счетчика электроэнергии: стандарт DL/T645-2007 на основе Modbus.
- Мониторинг фотоэлектрического инвертора: считывание мощности и температуры выработки электроэнергии
3. Автоматизация зданий
- Управление кондиционером: установка значения настройки температуры (регистр 4x).
VIII. Рекомендуемые инструменты отладки
- Опрос Modbus (моделирование главной станции)
- ModScan32 (тест ведомой станции)
- Wireshark (захват пакетов Modbus TCP)
- Отладчик USB-485 (полевые испытания)
IX. Ограничения Соглашения
- Нет механизма обнаружения устройств: требуется ручная настройка адреса ведомой станции.
- Низкая эффективность для больших объемов данных: одновременно можно читать максимум 125 регистров.
- Слабая безопасность: передача открытого текста уязвима для атак «человек посередине».
X. Будущая эволюция
- Modbus через TSN: поддерживает чувствительные ко времени сети.
- Интеграция OPC UA: достижение семантической совместимости за счет поддержки спецификаций.
- Мост MQTT: решение для доступа к облачной платформе
Для получения дополнительной информации о светодиодной промышленности, пожалуйста, обратите внимание на наш LIKELIGHT. Если вы не уверены, какой светодиодный светильник лучше всего подходит для вашего проекта, или вам нужна помощь с настройкой макета, свяжитесь с нами LIKLEIGHT, мы являемся профессиональным производителем светодиодных ламп в Китае; у нас есть инженеры и круглосуточная служба поддержки клиентов для вас. Телефон: +86-755-23328395, электронная почта:contact@like-light.com,Вичат/WhatsApp:86-132-66666-320.