![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Modbus TCP
Протокол Modbus TCP (Modbus) (или Modbus TCP/IP) используется для того, чтобы подключить устрой ства с протоколом Modbus к Ethernet или Internet сети. Он использует кадры Modbus RTU на 7-м (прикладном) уровне модели OSI, протоколы Ethernet на 1-м и 2-м уровне модели OSI и TCP/IP на 3-м и 4-м уровне, т. е. Ethernet TCP/IP используется для транспортировки модифицированного кадра Modbus RTU. Кадр Modbus RTU используется без поля контрольной суммы, поскольку используется стандартная контрольная сумма Ethernet TCP/IP. Не используется также поле адреса, поскольку в Ethernet используется иная систем адресации. Таким образом, только два поля: " Код функции" и " Данные" (блок PDU) встраиваются в протокол Ethernet TCP/IP. Перед ними вставляется новое поле - заголовок MBAP (ModBus Application Protocol - " прикладной протокол MobBus"). Поле " Идентификатор обмена" используется для идентификации сообщения в случае, когда в пределах одного TCP соединения клиент посылает серверу несколько сообщений без ожидания ответа после каждого сообщения. Поле " Идентификатор протокола" содержит нули и зарезервировано для будущих применений. Поле " Длина" указывает количество следующих за ним бай т. Поле " Идентификатор устрой ства" идентифицирует удаленный сервер, расположенный вне сети Ethernet (например, в сети Modbus RTU, которая соединена с Ethernet с помощью межсетевого моста). Чаще всего это поле содержит нули или единицы, игнорируется сервером и отправляется обратно в том же виде (как эхо). Изображенный на рисунке фрей м называется фрей мом ADU (Application Data Unit), встраивается в поле " Данные" фрей ма Ethernet и посылается через TCP порт 502, специально зарезервированный для Modbus TCP (порты назначаются и контролируются организацией IANA (Internet Assigned Numbers Authority), www.iana.org). Клиенты и серверы Modbus посылают, получают и прослушивают сообщения через TCP порт 502. Таким образом, структура кадра и смысл его полей " Код функции" и " Данные" для Modbus и Modbus TCP совершенно идентичны, поэтому для работы с Modbus TCP не требуется дополнительного обучения по сравнению с Modbus RTU. Те же самые коды функций и данные, что и в Modbus RTU, передаются по очереди с прикладного (7-го) уровня модели OSI на транспортный уровень, который добавляет к блоку PDU кадра Modbus RTU заголовок с протоколом TCP. Далее новый полученный кадр передается на сетевой уровень, где в него добавляется заголовок IP, затем он передается на канальный уровень Ethernet и на физический. Дой дя до физического уровня, блок PDU оказывается " обросшим" заголовками протоколов всех уровней, через которые он прошел. Прой дя по линии связи, сообщение продвигается снизу вверх по стеку протоколов (уровням модели OSI) в устрой стве получателя, где на каждом уровне из него удаляется соответствующий заголовок, а на прикладном уровне выделяется блок PDU (код функции и данные) кадра протокола Modbus RTU. В сети c протоколом Modbus TCP устрой ства взаимодей ствуют по типу " клиент-сервер", где в качестве клиента выступает ведущее устрой ство, в качестве сервера - ведомое. Сервер не может инициировать связи в сети, но некоторые устрой ства в сети могут выполнять роль как клиента, так и сервера. Modbus TCP не имеет широковещательного или многоабонентского режима, он осуществляет соединение только между двумя устрой ствами.
|