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

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

Стартовый бит Бит четности Стоповый бит
Стартовый бит Стоповый бит Стоповый бит

 

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

Стартовый бит Бит четности Стоповый бит
Стартовый бит Стоповый бит Стоповый бит

 

Каждый символ передается как последовательность битов, причем время, затрачиваемое на передачу одного бита, обратно пропорционально скорости передачи данных. Например, при скорости 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 бит Описание Диапазон адресов входов-выходов
Read coils Чтение текущего состояния (ON/OFF) дискретных выходов 00001 – 10000
Read contacts Чтение текущего состояния (ON/OFF) дискретных входов 10001 – 20000
Write a single coil Изменение состояния дискретного выхода в ON или OFF 00001 – 10000
Write multiple coils Изменение состояния (ON/OFF) нескольких дискретных выходов 00001 – 10000
Read holding registers Чтение регистров хранения 40001 – 50000
Read input registers Чтение входных регистров 30001 – 40000
Write single register Запись одного регистра 40001 – 50000
Write multiple registers Запись нескольких регистров 40001 – 50000
Mask write register Маскированная запись регистра 40001 – 50000
Read/write multiple registers Чтение/запись нескольких регистров 40001 – 50000
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
Прикладной уровень Прикладной протокол Modbus
3-6 Разные функции Нет
Канальный уровень Протокол Modbus для последовательной линии связи
Физический уровень 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
Транспортный уровень Протокол управления передачей
Сетевой уровень Интернет-протокол
Канальный уровень IEEE 802.3
Физический уровень 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».

3.5.2. HART-протокол

HART-протокол (Highway Addressable Remote Transducer – Адресуемый Дистанционный Магистральный Преобразователь), разработан фирмой Fisher Rosemount Inc.

Скорость передачи данных по стандарту HART-протокола до 1200 бит/с. Обмен реализуется по принципу Master/Slave. В сети может присутствовать до 2 Master-узлов, при этом второй Master, как правило, предназначен для связи с какой-либо системой контроля или отображения данных.

Стандартная топология организована по принципу «точка-точка» или «звезда». Для передачи данных по сети используются два режима:

- по схеме «запрос-ответ», режим реализует асинхронный обмен данными со временем одного цикла 500 мс;

- все пассивные узлы непрерывно передают свои данные на Master-узел со временем обновления данных в Master-узле 250÷300 мс.

Возможно построение топологии типа «шина» (до 15 узлов), когда несколько узлов подключены на одну пару проводов. Питание осуществляется по шине.

Весь набор команд, реализованных в HART-протоколе, условно можно разделить на три группы:

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

- Команды для групп устройств: фиксация значения тока на выходном канале, сброс и т.д.

- Команды, зависящие от устройства: старт/стоп, специальные функции калибровки и т.д.

За одну посылку один узел другому может передать до 4 технологических переменных, а каждое HART-устройство может иметь до 256 переменных, описывающих его состояние.

Структура информационного кадра имеет следующий формат: 1 стартовый бит, 8 бит данных, 1 бит контроля нечетности, 1 стоповый бит. Метод контроля корректности передаваемых данных основан на получении подтверждения.

HART протокол использует стандарт BELL 202 кодировки сигнала методом частотного сдвига (FSK), используемого для посылки цифровой информации по телефонным сетям, при этом цифровой сигнал накладывается на аналоговый измерительный сигнал 4÷20 мА. Для представления двоичных «1» и «0» используются две разные частоты, 1200 Гц и 2200 Гц, соответственно (рис. 3.34).

 

 

Рис. 3.34. Форма сигнала передачи

 

Метод формирования физических сигналов и среда передачи данных HART протокола соответствует физическому уровню OSI модели протоколов.

Среднее значение синусоидального сигнала за период равно нулю. Поэтому, несмотря на прохождение цифровых данных, к сигналу 4÷20 мА никакая компонента постоянного тока не добавляется. Следовательно, существующие аналоговые приборы продолжают работать как обычно, кроме того, применяется низкочастотная фильтрация, которая эффективно отбрасывает коммуникационный сигнал, например, однополосный низкочастотный фильтр 10 Гц уменьшает коммуникационный сигнал до амплитуды колебаний примерно ±0,01 % от аналогового сигнала.

Поскольку двоичные числа передаются на скорости обмена данными 1200 бод, число «1» представлено одиночным циклом 1200 Гц, а число «0» представлено приблизительно двумя циклами 2200 Гц.

Протокол HART определяет, что главные устройства (ведущая система управления или ручной коммуникатор) передают сигнал в виде напряжения, в то время как подчиненные (первичные) устройства передают токовый сигнал. Токовый сигнал преобразуется в соответствующее напряжение с помощью сопротивления нагрузки контура, которое должно быть в пределах от 230 до 1100 Ом. Следовательно, все устройства должны использовать такие приемники, схемы которых способны принимать напряжение.

Уровни коммуникационного сигнала HART протокола приведены в табл. 3.20. Все значения даны между пиками сигнала (двойная амплитуда).

 

Таблица 3.20. Уровни коммуникационного сигнала

Сигнал, переданный главным устройством min 400 мВ; max 600 мВ
Сигнал, переданный подчиненным устройством min 0,8 мА; max 1,2 мА
Чувствительность приемника (должен правильно принимать) от 120 мВ до 2,0 В
Порог приемника (должен игнорировать) от 0 мВ до 80 мВ

 

Характеристики чувствительности приемника допускают некоторое затухание сигнала из-за кабеля или воздействия других составляющих. Характеристика порога приемника уменьшает вероятность помех внешних сигналов и предотвращает пересечение с другими HART сигналами.

Стандартная схема соединения двухпроводного передатчика показана на рис. 3.35.

 

 

Рис. 3.35. Схема соединения двухпроводного передатчика

 

На практике все три объекта, блок питания, передатчик и сопротивление нагрузки (R), могут быть соединены в любом порядке.

Ручной коммуникатор или коммуникационные схемы главного устройства не должны быть подсоединены непосредственно параллельно источнику питания. Они должны подсоединяться либо к двум проводам первичного прибора в точках А и В, либо через сопротивление нагрузки в точках B и C, в этом случае цепь замыкается через источник питания.

HART протокол содержит в каждом сообщении адрес назначения. Установив для каждого подчиненного устройства уникальный адрес, можно несколько таких устройств подсоединить параллельно с помощью одной пары проводов. Каждое устройство отвечает только на посланные в его адрес сообщения. Поскольку весь диапазон сигнала 4÷20 мА в данном случае не имеет смысла, присвоение ненулевого адреса устанавливает аналоговый сигнал на уровень 4 мА, что достаточно для питания устройства, такое решение уменьшает общее потребление питания. Пример реализации режима моноканала приведен на рис. 3.36.

 

 

Рис. 3.36. Метран-280 в многоточечном режиме

 

На рисунке 3.36 обозначено: БП – блок питания; PV1 – HART-модем; PV2 – компьютер.

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

Для связи с HART-устройствами служат следующие изделия:

1. HART-коммуникатор – портативное устройство, предназначенное для считывания информации, удаленной настройки и конфигурирования интеллектуальных полевых приборов;

2. HART-модем – служит для связи персонального компьютера или системных средств АСУ ТП с интеллектуальными датчиками. Обеспечивает высокую надежность передачи данных. Используется с программным обеспечением (AMS, Visual Instrument, HMaster) для настройки интеллектуальных устройств.

3. HART-мультиплексор – обеспечивает связь персонального компьютера или средств АСУ ТП с 8-ю или 16-ю интеллектуальными датчиками и любыми другими устройствами, поддерживающими HART-протокол. Мультиплексор обеспечивает преобразование информационного сигнала HART в цифровой сигнал интерфейса RS-485 или RS-232, при этом аналоговый сигнал 4÷20 мА токовой петли может использоваться системой регистрации и управления.

3.5.3. AS – интерфейс

Назначение AS-интерфейса (Actuators Sensors InterfaceASI) – обеспечение взаимосвязи исполнительных устройств и датчиков. В интерфейсе ASI предусмотрены шлюзы в другие промышленные сети – ModBus, PROFIBUS, INTERBUS-S, Device Net.

Топологией ASI-сети может быть шина, кольцо, дерево или звезда. В качестве среды передачи данных используется специальный двухжильный кабель, по которому как передаются данные, так и подается питание на устройства. Характеристики сети ASI приведены в табл. 3.21.

 

Таблица 3.21. Характеристики AS-интерфейса

Характеристика Значение
Общая длина сегмента  
без использования повторителей, м
с использованием повторителей, м
Максимальное время цикла, мс 5÷10
Скорость передачи, Кбод до 167
Максимальное число Slave-устройств, подключаемых Master-узлу

 

Логическим центром любой топологии является один Master-узел, который контролирует работу сети и организует обмен данными с PLC. ASI-Master может быть организован на широком спектре контроллеров, через которые организуются шлюзы в промышленные сети более высокого уровня. Часто ASI-Master оформляется в виде модуля контроллера или отдельной платы компьютера.

Максимальное число ведомых устройств (Slave –. Адрес каждого сетевого устройства записывается в его постоянной памяти.

Каждый узел ASI-сети имеет специальную интерфейсную микросхему с поддержкой ASI-протокола. По одной паре проводов интерфейс ASI позволяет передавать как данные, так и питание к узлам сети. Упрощенная схема ASI-сети представлена на рис. 5.27.

 

 

Рис. 5.27. Пример структуры ASI-сети

 

Для кодирования данных используется Манчестерский код, в котором «0» и «1» кодируются по восходящему и нисходящему фронту сигнала. Такой тип кодирования снижает влияние на ASI-кабель внешних возмущений.