Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ТСА-09-2012.docx
Скачиваний:
0
Добавлен:
25.12.2019
Размер:
7.04 Mб
Скачать

3.4.2.1. Адаптер интерфейса овен ас 2

Адаптер предназначен для преобразования сигналов приборов в виде «токовой петли» в сигналы интерфейса RS-232 и обратно. Применяется для подключения к последовательному порту компьютера до 8 приборов. Адаптер имеет встроенный источник питания и гальваническую развязку. Технические характеристики приведены в табл. 3.10, схема подключения на рис. 3.24.

Таблица 3.10. Технические характеристики адаптера АС 2

Напряжение питания

220 В частотой 50 Гц

Потребляемая мощность

не более 2 ВА

Количество подключаемых приборов

до 8

Способ обмена с прибором по двухпроводной линии

токовая петля

Длина соединительной линии с прибором

не более 1000 м

Интерфейс связи с ЭВМ

RS-232

Длина линии связи с ЭВМ

не более 10 м

Габаритные размеры

150х105х65 мм

Степень защиты

IP20

Рис. 3.24. Схема подключения адаптера АС 2

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

Для этого используются две линии последовательного порта – RTS и DTR. Сигналом RTS коммутатор каналов адаптера сети всегда устанавливается на первый канал. Для выбора N-го канала, отличного от первого, по линии DTR необходимо послать N-1 импульс (рис. 3.25). Например, для выбора 5-го канала, после формирования импульса по линии RTS нужно послать 4 импульса по линии DTR. Для надежной коммутации длительность посылаемых импульсов и промежуток между ними должны быть не менее 1 мс.

Рис. 3.25. Пример выбора 5-го канала

После выбора канала, в линии связи «АС2 – прибор» возникает ток, равный примерно 10 мА, что соответствует логической единице. Эквивалентная схема приведена на рис. 3.26.

Рис. 3.26. Функциональная схема канала связи

Далее компьютер посылает прибору код команды, например: установить связь, прочитать измеренное значение, записать новый параметр.

3.5. Протоколы промышленных сетей

3.5.1. Протокол modbus

Протокол Modbus был предложен в 1979 году компанией Modicon. Он должен был служить протоколом реализации внутренних коммуникаций «точка-точка» между ПЛК Modicon и панелью программирования, предназначенной для ввода программ в этот ПЛК. Протокол Modbus построен по принципу открытой системы.

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

Протокол Modbus предназначен для использования в сетевых структурах нескольких разновидностей, в том числе в разработанной компанией Modicon одноранговой сети Modbus Plus.

Modbus представляет собой протокол, построенный по принципу master-slave (ведущий-ведомый). Modbus допускает наличие в структуре только одного ведущего устройства и от 1 до 247 ведомых. В качестве ведомого устройства обычно выступает ПЛК. Роль ведущего устройства обычно играет либо панель программирования, либо главный компьютер.

Идеология протокола такова, что ведущему устройству адрес не присваивается, а ведомые пронумерованы от 1 до 247.

Адрес «0» зарезервирован в качестве адреса широковещательной передачи сообщений, предназначенных всем ведомым устройствам. Такое сообщение получают все ведомые устройства, но ответ на него не предусмотрен.

Сообщения-команды, исходящие от ведущего устройства, именуются запросами, а ответные сообщения, присылаемые ведомым устройством, ответами. Упрощенная структура формата сообщения, как запроса, так и ответа, показана ниже:

Адрес устройства

Код функции

Данные

Контрольная сумма

Ведущее устройство не имеет адреса вообще, поэтому в поле адреса всегда указывается номер ведомого устройства. Если это запрос, то он направляется ведомому устройству с указанным адресом. Если сообщение является ответом, то оно поступает от ведомого устройства с проставленным в этом поле его адресом. Сообщение-запрос всегда содержит тот или иной код функции, например, код 03 – это функция «Чтение регистров хранения».

В последнем поле каждого сообщения помещается код ошибки, формируемый устройством-отправителем, так что устройство-получатель может проверить целостность пришедшего сообщения.

Протокол Modbus рассчитан на два режима последовательной передачи данных. Один именуется ASCII (American Standard Code for Information Interchange), а второй – режимом RTU (Remote Terminal Unit). Термин RTU ведет происхождение от SCADA-систем (Supervisor Control and Data Acquisition), в которых ведущее устройство, именуемое CTU (Central Terminal Unit), обменивается информацией с несколькими удаленными устройствами (RTU), находящимися от него на определенных расстояниях.

Для каждого режима определена структура кадров сообщений и их синхронизация. В процессе передачи по каналам последовательной связи оба режима предусматривают асинхронную передачу, при которой имеется заранее определенная структура кадра и символы пересылаются последовательно – по одному в каждый момент.

В табл. 3.11 и 3.12 показана отправка символа при использовании асинхронной последовательной передачи данных для обоих режимов с битом четности или без него.

Таблица 3.11. Структура кадра для 7-битового режима ASCII

Стартовый бит

1

2

3

4

5

6

7

Бит четности

Стоповый бит

Стартовый бит

1

2

3

4

5

6

7

Стоповый бит

Стоповый бит

Таблица 3.12. Структура кадра для 8-битового режима RTU

Стартовый бит

1

2

3

4

5

6

7

8

Бит четности

Стоповый бит

Стартовый бит

1

2

3

4

5

6

7

8

Стоповый бит

Стоповый бит

Каждый символ передается как последовательность битов, причем время, затрачиваемое на передачу одного бита, обратно пропорционально скорости передачи данных. Например, при скорости 9600 бод время передачи 1 бита равно 104,1 мкс. Когда информация не передается, линии связи находится в маркерном (marking) состоянии. Противоположное ему состояние именуется заполненным (spacing). Когда линия переходит в заполненное состояние для побитовой передачи данных, каждому символу предшествует стартовый бит, а в конце идет один стоповый бит или больше, после этого линия возвращается в маркерное состояние.

В промежутке между стартовым и стоповым битами осуществляется передача 7, в режиме ASCII, или 8, в режиме RTU, битов, составляющих символ, причем первым посылается младший бит (LSB). После символа идет либо бит четности, либо еще один стоповый бит. При этом пользователь имеет возможность выбирать один из трех вариантов: контроль на четность, или на нечетность, либо отсутствие контроля. В режиме ASCII передача одного символа требует передачи 10 битов, а в режиме RTU – 11. При асинхронной связи символы могут пересылаться либо вплотную, либо с временным интервалом между ними. Последовательности символов, образующих сообщения, имеют различные структуры в зависимости от режима – ASCII или RTU.

Для протокола Modbus в режиме ASCII последовательность CRLF (CR – возврат каретки и LF – перевод строки) сейчас просто указывает на конец кадра. Преимуществом данного режима является то, что если в качестве ведомого устройства включить ЭЛТ–терминал, то можно увидеть на экране понятный человеку отформатированный код, который послан ведущим устройством на экран ЭЛТ–терминала. В табл. 3.13 показана структура сообщения Modbus в режиме ASCII.

Таблица 3.13. Структура кадра сообщения Modbus ASCII

Начало

Адрес

устройства

Код функции

Данные

Контрольная

сумма (LRC)

Конец

1 символ (:)

2 символа

2 символа

n символов

2 символа

2 символа (CRLF)

Его начало обозначается символом «:», а конец – последовательностью CRLF (два символа ASCII). Любой символ ASCII представляется 7 битами. Все остальные символы во всех остальных полях фрейма должны быть либо цифрами от 0 до 9, либо буквами от A до F, так как предполагается, что данные представляются в шестнадцатеричном формате, но отображаются в виде символов ASCII. Например, код функции 03 будет отображаться двумя ASCII-символами – «0» и «3». То же самое относится и к содержимому поля данных. Одним из преимуществ режима ASCII является то, что он не предъявляет особо жестких требований к синхронизации. Допускается временной промежуток между символами до 1 с – только по истечении его генерируется сообщение о превышении лимита времени.

При работе в режиме RTU синхронизация имеет более важное значение, чем в режиме ASCII. В этом варианте специальный начальный символ отсутствует. Вместо этого кадр сообщения начинается с маркерного интервала, длительность которого равна времени передачи четырех символов. После истечения этого интервала передается адрес устройства, затем код функции и собственно данные. Имеются и другие отличия от кадра сообщения в режиме ASCII, как это показано в табл. 3.14.

Таблица 3.14. Структура кадра сообщения Modbus RTU

Начало

Адрес

устройства

Код функции

Данные

Контрольная сумма (CRC)

Конец

Интервал, равный времени передачи 4-х символов

8 бит

8 бит

n×8 бит

16 бит

Интервал, равный времени передачи 4 символов

Вместо контрольной суммы LRC (Longitudinal Redundancy Check – продольный контроль по избыточности) в режиме RTU используется контрольная сумма CRC (Cyclic Redundancy Check – циклический контроль по избыточности). Конец кадра отмечается маркерным интервалом, равным времени передачи четырех символов.

Сообщения в формате RTU должны посылаться в виде непрерывного потока, и появление значительного временного «зазора» между смежными символами рассматривается как прерывание в передаче сообщения. В отличие от режима ASCII сообщения в режиме RTU не поддаются считыванию человеком. Однако сообщения в этом режиме весьма компактны и более эффективны с точки зрения их передачи. Поэтому режим RTU является более популярным.

Таблица распределения регистров Modbus показана в табл. 3.15, поскольку коды некоторых функций привязаны к конкретным диапазонам регистров.

Таблица 3.15. Таблица распределения регистров протокола Modbus

Адреса регистров

Описание

00001 – 10000

Дискретные выходы (чтение/запись)

10001 – 20000

Дискретные входы (чтение)

30001 – 40000

16-битовые аналоговые входы (чтение)

40001 – 50000

Регистры хранения (чтение/запись)

Каждый дискретный вход и дискретный выход представлен в таблице распределения регистров 1 битом. Для ПЛК компании Modicon дискретные выходы начинаются с адреса (ячейки) 00001, а дискретные входы – с адреса 10001. Каждому из них требуется 1 бит памяти. Содержимое входных регистров (contacts) можно только читать, содержимое выходных регистров (coils) можно и читать, и записывать.

Регистры аналоговых входов и выходов являются 16-разрядными. Их адреса начинаются с 30001 – это адрес первого аналогового входа. С адреса 40001 начинается диапазон универсальных регистров (чтение и запись), которые могут служить также и аналоговыми выходами. Однако не все функциональные коды работают с адресами этих регистров.

Перечень кодов, которые обеспечивают доступ к однобитовым и 16-битовым данным приведен в табл. 3.16.

Таблица 3.16. Коды функций для доступа к данным

Код

1 или 16 бит

Описание

Диапазон адресов входов-выходов

1

1

Read coils

Чтение текущего состояния (ON/OFF) дискретных выходов

00001 – 10000

2

1

Read contacts

Чтение текущего состояния (ON/OFF) дискретных входов

10001 – 20000

5

1

Write a single coil

Изменение состояния дискретного выхода в ON или OFF

00001 – 10000

15

1

Write multiple coils

Изменение состояния (ON/OFF) нескольких дискретных выходов

00001 – 10000

3

16

Read holding registers

Чтение регистров хранения

40001 – 50000

4

16

Read input registers

Чтение входных регистров

30001 – 40000

6

16

Write single register

Запись одного регистра

40001 – 50000

16

16

Write multiple registers

Запись нескольких регистров

40001 – 50000

22

16

Mask write register

Маскированная запись регистра

40001 – 50000

23

16

Read/write multiple registers

Чтение/запись нескольких регистров

40001 – 50000

24

16

Read FIFO queue

Чтение содержимого очереди FIFO

40001 – 50000

Как видно из табл. 3.16, одноразрядные коды функций относятся к дискретным входам и выходам, а 16-разрядные – к входным регистрам и регистрам хранения. При этом имеется четкая привязка каждого кода функции к определенному диапазону адресов входов-выходов. Например, функциональный код 06 (запись одного регистра) относится только к диапазону адресов 40001 – 50000 и ни к какому другому. Следовательно, при описании сообщения можно указывать не абсолютный адрес входа или выхода, а задать величину смещения относительно базового адреса. Таким образом, в данном случае вместо адреса 40001 мы указываем просто 0000.

При разработке протокола компания Modicon приняла решение нумеровать физические координаты точек, входящих в тот или иной диапазон, начиная с 0, а не с 1. Дискретный выход 1 адресуется в сообщении как ячейка 0000, а не 00001. Дискретный вход 1 адресуется как ячейка 0000, а не 10001. То же самое относится и к регистру хранения 1, которому поставлена в соответствие ячейка 40001, – его адрес записывается в виде 0000. Код функции всегда ассоциирован с конкретным диапазоном адресов входов-выходов, и поэтому для однозначной идентификации координат точки достаточно указать величину ее смещения относительно базового адреса.

Смещение записывается в виде 16-разрядного слова и при просмотре реального Modbus-сообщения отображается соответствующим шестнадцатеричным числом, а в таблице распределения регистров Modbus все адреса даются в виде десятичных чисел. Поэтому регистру 40016 соответствует число 0х000F, которое является шестнадцатеричным представлением разности 40016 – 40001.

В отличие от традиционной 7-уровне-вой сетевой модели OSI, принятой ISO, модель Modbus для передачи данных по последовательной линии связи (Modbus over Serial Line) «сжата» до трех уровней, как это показано в табл. 3.17.

Таблица 3.17. Трехуровневая модель Modbus передачи данных по последовательной линии

Уровень

Функция в модели OSI

Функция в модели Modbus

7

Прикладной уровень

Прикладной протокол Modbus

3-6

Разные функции

Нет

2

Канальный уровень

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

1

Физический уровень

RS-232C, RS-485 (EIA-232C, EIA-485)

Верхним является прикладной уровень, рассмотренный выше. Он именуется прикладным протоколом Modbus, или просто протоколом Modbus. Уровни 36 не используются – вместо них в данной модели выступает прикладной уровень, на котором обеспечивается сквозная передача сообщений. Канальный уровень (уровень 2) представлен Modbus-протоколом передачи данных по последовательной линии связи. Наконец, физический уровень (уровень 1) представлен интерфейсом RS-232C (EIA-232C), либо RS-485 (EIA-485). Трехуровневый протокол Modbus для передачи данных по последовательной линии связи гораздо проще в понимании по сравнению с другими промышленными протоколами передачи данных.

Канальный уровень организовывается следующим образом. Кадр сообщения включает в себя PDU (Protocol Data Unit – модуль данных протокола) – элементарный пакет протокола Modbus для последовательной линии передачи данных. На рис. 3.27 показано, что PDU состоит из четырех элементов.

Рис. 3.27. Структура Modbus PDU

В центре находится собственно Modbus PDU, содержащий два элемента – код функции и данные. В большинстве реализаций Modbus используется ограниченный набор кодов функций. При этом структура данных может варьироваться в зависимости от кода функции. В случае последовательной линии передачи данных перед Modbus PDU находится поле адреса, а после него – поле контрольной суммы. В поле адреса содержится только адрес ведомого устройства или адрес широковещательной передачи. Адрес ведущего устройства не требуется и не указывается, поскольку речь идет о протоколе «ведущий – ведомый», в котором команды исходят от уникального ведущего устройства.

Структура Modbus-сообщения для последовательной линии передачи данных зависит от того, какой режим используется – ASCII или RTU. На рис. 3.28 показана структура кадра для более распространенного режима RTU.

Рис. 3.28. Структура кадра для режима RTU

Структура отличается компактностью – всего один байт занимает адрес ведомого устройства или адрес широковещательной передачи, один байт – код функции и два – контрольная сумма (CRC). Следует отметить, что в сообщении отсутствует последовательность, обозначающая конец кадра. В режиме RTU конец кадра отмечается паузой, равной времени передачи 3,5÷4,5 символов.

Максимальное по длине сообщение занимает всего 256 байтов. В режиме RTU для передачи каждого байта необходимо 11 битов. Сам символ – это восемь битов, плюс стартовый и стоповый биты и один бит четности. Если бит четности не используется, то вместо него посылается еще один стоповый бит. При использовании бита четности осуществляется контроль на четность либо на нечетность.

Формат сообщения в режиме ASCII, показанный на рис. 3.29, предусматривает два байта для адреса ведомого устройства и два байта для кода функции. В отличие от RTU в режиме ASCII используется 2-х байтовая контрольная сумма LRC. Преимуществом формата ASCII является то, что сообщения в этом формате могут быть прочитаны человеком. Следует отметить, что в данном случае имеется последовательность, обозначающая конец сообщения и представленная управляющими символами CR (возврат каретки) и LF (перевод строки).

Рис. 3.29. Структура кадра для режима ASCII

При этом паузы в процессе передачи сообщения не имеют значения. Данные представляются в шестнадцатеричном формате в коде ASCII. Каждый символ ASCII требует всего 7 битов, но каждый байт данных представляется двумя символами. При этом используются один стартовый и один стоповый бит. Если используется бит четности, то осуществляется контроль на четность либо на нечетность. Если бит четности не используется, то вместо него посылается еще один стоповый бит. Это означает, что передача каждого байта в режиме ASCII выливается в передачу 10 битов.

Изначально протокол Modbus разрабатывался с ориентацией на соединение «точка-точка» между главным компьютером и ПЛК через интерфейс RS-232C (EIA-232C). Этот вариант актуален и сегодня. Но спецификация протокола Modbus для передачи данных по последовательной линии обеспечивает возможность многоточечного соединения по стандарту RS-485 (EIA-485) – схему, поддерживающую до 32 устройств, подключенных к общей шине. Такая конфигурация может быть реализована с применением либо двухпроводного, либо четырехпроводного подключения. В любом из вариантов последовательной передачи данных возможен широкий диапазон скоростей – от 1,2 до 115 Кбит/с, но все реализации должны, как минимум, обеспечивать работу на скоростях 9,6 и 19,2 Кбит/с. По умолчанию принимается значение скорости передачи данных 19,2 Кбит/с.

На рис. 3.30 показана рекомендуемая схема двухпроводной сети с интерфейсом RS-485 (EIA-485) с линейной поляризацией. В такой сети, естественно, имеется один узел, являющийся ведущим устройством, и множество ведомых узлов, подключенных к общей двухпроводной шине, провода которой обозначены как D0 и D1.

Рис. 3.30. Двухпроводная схема подключения

Как минимум, такая схема обеспечивает поддержку 32 устройств. При использовании двухпроводной шины выход трансмиттера напрямую соединен с входом приемника каждого из устройств. Несмотря на то, что шина именуется двухпроводной, здесь имеется третий – общий (common) провод опорного потенциала, обозначенный на рисунке как «общий». Чтобы максимальное синфазное напряжение устройство не превышало установленного максимально допустимого значения, каждое устройство должно делить общий провод со всеми остальными устройствами, выходящими на шину. Резисторы pull up и pull down (подтягивающие резисторы) создают предопределенный уровень на линии передачи данных, когда ни один из узлов сети не передает данные. Для того чтобы приемник RS-485 (EIA-485) мог фиксировать, что линия находится в состоянии off (отключено), требуется отказоустойчивое смещение 200 мВ. Такое подключение создает дополнительную помехоустойчивость системы. На обоих концах шины находятся терминаторы (LTLine Terminator), необходимые для согласования с волновым сопротивлением шины. Спецификация протокола Modbus для передачи данных по последовательной линии связи рекомендует, чтобы подтягивающие резисторы имели значения сопротивления в диапазоне от 450 до 650 Ом, и чтобы использовалась только одна такая сеть. Следует отметить, что отказоустойчивое смещение вообще необходимо, поэтому некоторые трансиверы имеют встроенные схемы смещения, и тогда потребность во внешнем смещении отпадает.

На рис. 3.31 показана рекомендуемая схема четырехпроводной сети с интерфейсом, где также применяются устройства RS-485 (EIA-485).

Рис. 3.31. Четырехпроводная схема подключения

В каждом из устройств передатчик и приемник разделены. При этом передатчик ведущего устройства соединен с приемниками всех ведомых устройств, а передатчики всех ведомых устройств соединены с приемником ведущего устройства. Пара проводов ведущего устройства обозначена – RxD0, RxD1, пара проводов ведомого устройства обозначена – TxD0, TxD1. Здесь также используются отказоустойчивое смещение и терминатор, но в четырехпроводной сети они дублируются. В четырехпроводной схеме требуется «пятый» провод, играющий роль общего.

Несмотря на то что спецификация протокола Modbus для передачи данных по последовательной линии связи поддерживает и двухпроводную, и четырехпроводную схему, более популярной является первая. Хотя четырехпроводная схема дает возможность иметь полнодуплексную связь, сам протокол Modbus является полудуплексным. Ведущее устройство выдает команды конкретному ведомому устройству и ждет ответа. Такой порядок вполне эффективно работает в двухпроводной схеме.

В настоящий момент в системах автоматизации больший интерес вызывает подключение к сетям Ethernet, конкретнее, к сетям IP/Ethernet. Протокол Modbus также адаптирован для применения в этих сетях. Вместо трехуровневой модели, которая существует в Modbus для передачи данных по последовательной линии связи, в Modbus TCP используется принятая в Internet пятиуровневая модель, представленная в табл. 3.18.

Таблица 3.18. Пятиуровневая модель Modbus TCP для Internet

Уровень

Функция в модели OSI

Функция в модели Modbus

5,6,7

Прикладной уровень

Прикладной протокол Modbus

4

Транспортный уровень

Протокол управления передачей

3

Сетевой уровень

Интернет-протокол

2

Канальный уровень

IEEE 802.3

1

Физический уровень

IEEE 802.3

В сетевом стандарте Modbus TCP говорится только о том, как Modbus PDU (содержащий код функции и данные) встроен в протокол более высокого уровня, при этом не рассматривается, как физически подключать станции, какие провода или разъемы применять, для этого в стандарте Modbus TCP дается ссылка на стандарт IEEE 802.3.

Еще одним значительным отличием является то, что в данном случае шина Modbus фактически является шиной IP, что иллюстрирует рис. 3.32.

Рис. 3.32. В модели Modbus TCP используются клиенты и серверы

При этом физический и канальный уровни не конкретизируются. Вместо привычного ведущего устройства, к которому подключено множество ведомых устройств, используются термины «клиент» и «сервер». В качестве клиентов могут выступать устройства человеко-машинного интерфейса (ЧМИ) или программируемые логические контроллеры (ПЛК), а в качестве серверов – стойки сетевого оборудования. Аналогично ведущему устройству клиенты выдают команды серверу. Аналогично ведомому устройству серверы отвечают на команды клиента. Однако в точной терминологии взаимодействия между клиентом и сервером подразумевается, что клиенты выдают запросы, а серверы отвечают на них. В действительности процесс несколько сложнее:

  • клиент с целью инициировать транзакцию посылает запрос (request);

  • сервер посылает уведомление (indication), чтобы подтвердить, что запрос получен;

  • сервер посылает ответ (response) во исполнение запроса клиента;

  • клиент посылает подтверждение (confirmation) о получении ответа.

Важно подчеркнуть, что согласно этой модели в IP-сети может быть несколько клиентов, которые имеют доступ к общей группе серверов. В этом заключается фундаментальное отличие в работе данного варианта протокола Modbus. Здесь нет одного-единственного ведущего устройства, управляющего определенным набором ведомых устройств. Любое число клиентов может обращаться к любому числу серверов. Возможны ли конфликты, когда клиенты посылают несовместимые запросы к одному и тому же серверу? Да, возможны, но риск – это та цена, которую приходится платить за гибкость, предлагаемую данной моделью.

На рис. 3.33 показано, как формируется прикладной пакет протокола (Application Data UnitADU) Modbus TCP/IP.

Рис. 3.33. К Modbus PDU добавляется заголовок МВАР

Традиционный Modbus PDU в приложении к последовательной линии передачи данных сохраняется – поля кода функции и данных присутствуют. В дополнение к PDU появляется заголовок MBAP (ModBus Application Protocol) длиной 7 байтов, структура которого показана в табл. 3.19.

Таблица 3.19. Структура заголовка МВАР

Идентификатор транзакции

Идентификатор протокола

Длина

Идентификатор устройства

2 байта

2 байта

2 байта

1 байт

Идентификатор транзакции поступает от клиента и используется для отслеживания индивидуальных запросов. Сервер при ответе должен возвратить клиенту тот же самый идентификатор. Это позволяет клиенту посылать серверу множество запросов и не дожидаться получения ответа на каждый отдельный запрос. Наличие идентификатора протокола позволяет системе поддерживать несколько протоколов. Для Modbus этот идентификатор имеет значение «0». Поле длины содержит значение, равное длине всех остальных полей, включая поля PDU. И, наконец, поле идентификатора устройства содержит адрес ведомого устройства Modbus, доступ к которому должен осуществляться через шлюз.

При взаимодействии клиентов и серверов Modbus TCP адресация станций реализуется с применением IP-адресов. Но если ведомое устройство Modbus подключено к последовательной линии передачи данных, то необходимо указать его фактический адрес. В этом случае в качестве IP-адреса будет выступать адрес шлюза. Для того чтобы переслать ADU по протоколу TCP, необходимо пользоваться зарегистрированным номером порта TCP, для этой цели зарегистрирован порт «502».