На раннем этапе мы подробно представили определение данных, функциональный код и модель Modbus, а также сравнение PDU трех протоколов.
В этом выпуске основное внимание уделяется Modbus TCP/IP, также известный как Modbus-TCP.,По сути это Modbus Protocol RTU, работающий в Ethernet с TCP-интерфейсом.
TCP/IP
TCP/IP,полное имяПротокол управления передачей и Интернет-протокол,этоModbus Обмен сообщениями TCP/IP обеспечивает среду передачи.
TCP/IPподдерживатьБольшое количество одновременных подключений,Таким образом, инициатор может выбрать, следует ли повторно установить соединение или повторно использовать активное соединение.
как мы уже знаем,TCP/IP используется для обмена блоками данных между компьютерами. Основная функция TCP — гарантировать получение всех отправленных пакетов данных, тогда как IP обеспечивает правильную адресацию и маршрутизацию сообщений.
TCP/IPКомбинацию можно просто назватьтранспортный протокол,Он не определяет значение данных или то, как данные интерпретируются.,ноModbus в сочетании с TCP/IP в качестве прикладного протокола может использоваться для интерпретации данных.。
Протокол MODBUS TCP/IP является ключевым методом связи в области промышленной автоматизации, и его реализация имеет решающее значение для обеспечения эффективной связи между устройствами.
В сети Ethernet,Адресом устройства является его IP-адрес. в целом,Устройства находятся в одной подсети,Последние две цифры IP-адреса разные,Например, используйте наиболее распространенныйМаска подсети 255.255.255.0час,IPАдрес192.168.1.100。
Интерфейс представляет собой сеть Ethernet.,передача данныхпротоколдаTCP/IP。
использовалTCPпортда:502。
Описание протокола Modbus TCP
Modbus TCP/IPна основеклиент и сервермодельная работа。Ведущая станция Modbus называется клиентом, а ведомая станция Modbus — сервером.Modbus TCP/IPклиент и серверпроходитьПорт 502Отправить и получитьModbusданные。
Теперь, если мы говорим о Modbus Структура сообщения TCP/IP,Он добавляет7 байтголова,называетсяРуководитель МБАП(Заголовок протокола приложения Modbus),иPDU (блок данных протокола)。
Ниже приведен пример запроса Modbus RTU для получения значения аналогового входа AI для регистров хранения с номерами от 40108 до 40110 адреса устройства 17.
11 03 006B 0003 7687
Для приведенного выше идентификатора подчиненного устройства (11), если это протокол Modbus TCP, заголовок MBAP:
0001 0000 0006 11
Конкретное сравнение выглядит следующим образом:
Заголовок MBAP (заголовок приложения Modbus). Этот заголовок содержит следующие данные:
Итак, приведенный выше пример запроса указывает:
в:
В ответе от ведомого устройства Modbus TCP получаем:
0001 0000 0009 11 03 06 022B 0064 007F
в:
Выше:
Значение регистра аналогового выхода AO0 равно 02 2B в шестнадцатеричном виде или 555 в десятичном виде.
Значение регистра аналогового выхода AO1 равно 00 64 в шестнадцатеричном виде или 100 в десятичном виде.
Значение регистра аналогового выхода AO2 равно 00 7F в шестнадцатеричном формате или 127 в десятичном формате.
другой
Конкретное значение определений команд Modbus TCP,мыКод функции Modbusподробно описано в одном разделе,Здесь это повторяться не будет.
Подробное объяснение функциональных кодов протокола Modbus.
Мы также подробно представили механизм обработки ошибок запросов Modbus:
Код функции+0x80ответить на ошибку ответить для:
За исключением того, что Modbus TCP не требует CRC, LRC и проверки четности, конкретные коды ошибок соответствуют описанию ошибок протокола Modbus:
Кроме того, необходимо выделить следующие моменты:
Что касается подробного сравнения Modbus RTU и Modbus TCP, мы поделимся им в следующем выпуске, так что следите за обновлениями.
Справочные ссылки: