Энциклопедия АСУ ТП Спонсор проекта: Skip Navigation LinksЭнциклопедия АСУ ТП : 2 Промышленные сети и интерфейсы : 2.5 HART-протокол Соспонсор:




Робот BotEyes




Промышленные контроллеры RealLab!

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

HART-протокол (Highway Addressable Remote Transducer - "магистральный адресуемый удаленный преобразователь") [HART] является открытым стандартом на метод сетевого обмена, который включает в себя не только протокол взаимодействия устройств, но и требования к аппаратуре канала связи, поэтому устоявшийся термин "протокол", означающий алгоритм взаимодействия устройств, применен здесь не совсем корректно. Стандарт HART был разработан в 1980 году фирмой Rosemount Inc., которая позже сделала его открытым. В настоящее время стандарт поддерживается международной организацией HART Communication Foundation (HCF), насчитывающей 190 членов (на декабрь 2006 г.). HART находит применение для связи контроллера с датчиками и измерительными преобразователями, электромагнитными клапанами, локальными контроллерами, для связи с искробезопасным оборудованием.

Несмотря на свое низкое быстродействие (1200 бит/с) и ненадежный аналоговый способ передачи данных, а также появление более совершенных сетевых технологий, устройства с HART-протоколом разрабатываются до сих пор и объем этого сегмента рынка продолжает расти. Однако применение HART в России довольно ограничено, поскольку внедрение датчиков с HART-протоколом требует одновременного применения HART-совместимых контроллеров и специализированного программного обеспечения. Типовой областью применение HART являются достаточно дорогие интеллектуальные устройства (электромагнитные клапаны, датчики потока жидкости, радарные уровнемеры и т. п), а также взрывобезопасное оборудование, где низкая мощность HARTсигнала позволяет легко удовлетворить требованиям стандартов на искробезопасные электрические цепи.

Стандарт HART включает в себя 1-й, 2-й и 7-й уровни модели OSI (табл. 2.4). Полное описание стандарта можно купить в организации HCF.

Табл. 2.4. Модель OSI HART-протокола

Номер уровня

Название уровня

HART

7

Прикладной

HART-команды, ответы, типы данных

6

Уровень представления

Нет

5

Сеансовый

Нет

4

Транспортный

Нет

3

Сетевой

Нет

2

Канальный (передачи данных)

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

1

Физический

Наложение цифрового ЧМ сигнала на аналоговый 4-20 мА; медная витая пара

Принципы построения

Рис. 2.15. Суммирование аналогового и цифрового сигнала в HART-протоколе

При создании HART-протокола в 1980 году преследовалась цель сделать его совместимым с широко распространенным в то время стандартом "токовая петля", но добавить возможности, необходимые для управления интеллектуальными устройствами. Поэтому аналоговая "токовая петля" 4...20 мА была модернизирована таким образом, что получила возможность полудуплексного цифрового обмена данными. Для этого аналоговый сигнал  суммируется с цифровым сигналом   (рис. 2.15) и полученная таким образом сумма передается с помощью источника тока 4...20 мА по линии связи. Благодаря сильному различию диапазонов частот аналогового (0...10 Гц) и цифрового (1200 Гц и 2200 Гц) сигналов они легко могут быть разделены фильтрами низких и высоких частот в приемом устройстве. При передаче цифрового двоичного сигнала логическая единица кодируется синусоидальным сигналом с частотой 1200 Гц, ноль - 2200 Гц. При смене частоты фаза колебаний остается непрерывной. Такой способ формирования сигнала называется частотной манипуляцией с непрерывной фазой. Выбор частот соответствует американскому стандарту BELL 202 на телефонные каналы связи.

Принцип взаимодействия устройств на физическом уровне модели OSI показан на рис. 2.16. Сопротивление   выбирается так же, как и в токовой петле (стандартом предусмотрена величина 230...1100 Ом) и служит для преобразования тока 4...20 мА в напряжение. Акт взаимодействия устройств инициирует контроллер. Цифровой сигнал от источника напряжения  через конденсатор  подается в линию передачи и принимается на стороне датчика в форме напряжения в диапазоне от 400 до 800 мВ. Приемник датчика воспринимает HART-сигналы в диапазоне от 120 мВ до 2 В, сигналы от 0 до 80 мВ приемником игнорируются.  Получив запрос, датчик формирует ответ, который в общем случае может содержать как аналоговый сигнал , так и цифровой (). Аналоговый сигнал обычно содержит информацию об измеренной величине, а цифровой - информацию о единицах и диапазоне измерения, о выходе величины за границы динамического диапазона, о типе датчика, имени изготовителя и т. п.). Аналоговый и цифровой сигнал суммируются и подаются в линию связи в форме тока (рис. 2.15, рис. 2.16). На стороне контроллера ток преобразуется в напряжение резистором . Полученный сигнал подается на фильтр нижних частот с частотой среза 10 Гц и на фильтр верхних частот с частотой среза 400...800 Гц. На выходе фильтров выделяются цифровой сигнал  и аналоговый . При использовании фильтров второго порядка погрешность, вносимая цифровым сигналом в аналоговый, составляет всего 0,01% от 20 мА.

Как и в обычной "токовой петле", источник тока в HART-устройстве может иметь внешний или встроенный источник питания.

Рис. 2.16. Принцип работы HART-протокола на физическом уровне

В частном случае HART-протокол может использовать только цифровой сигнал, без аналогового, или только аналоговый сигнал 4...20 мА, без цифрового.

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

HART-устройства всегда содержат микроконтроллер (рис. 2.17) с UART и ППЗУ (перепрограммируемое постоянное запоминающее устройство). Цифровой сигнал, сформированный микроконтроллером, преобразуется в UART в непрерывную последовательность бит, состоящую из двоичных слов длиной 11 бит каждое (рис. 2.18-а). Каждое слово начинается со стартового бита (логический ноль), за которым следует байт передаваемых данных, затем бит паритета и стоповый бит. Сформированная таким образом последовательность нулей и единиц передается в модем, выполняющий частотную манипуляцию (ЧМ). Полученный частотно-манипулированный сигнал передается в интерфейсный блок для формирования напряжения, подаваемого в линию связи (напомним, что от контроллера к датчику передается сигнал в форме напряжения,  а обратно - в форме тока).

Рис. 2.17. Прохождение аналоговых и цифровых сигналов через устройства с HART-протоколом

HART_формат_слова.tif

а)

б)

Рис. 2.18. Структура слова (а) и сообщения (б) в HART-протоколе

На стороне датчика сигнал принимается из линии интерфейсным блоком, преобразуется ЧМ модемом в последовательность битов, из которой контроллер выделяет байты данных и биты паритета. Микроконтроллер проверяет соответствие бита паритета переданному байту для каждого переданного слова, пока не обнаружит признак конца сообщения.

Получив команду, контроллер приступает к ее выполнению. Если пришла команда запроса измеренных данных, контроллер датчика принимает через АЦП сигнал датчика, преобразует его в аналоговую форму с помощью ЦАП, суммирует со служебной информацией на выходе ЧМ модема и передает в линию связи в форме тока 4...20 мА (рис. 2.17).

Сеть на основе HART-протокола

Описанный выше обмен информацией между двумя устройствами (типа "точка-точка") является наиболее типичным применением HART-протокола. Однако HART-устройства могут быть объединены в сеть. Для этого используют только цифровую часть HART-протокола, без аналоговой, а информация передается в форме напряжения, что позволяет соединять HART-устройства параллельно. Максимальное количество устройств в сети может составлять 15, если не использовать HART-повторители (ретрансляторы, репитеры). HART-сеть может иметь произвольную топологию, поскольку при малых скоростях передачи (1200 бит/с) эффектов, характерных для длинных линий, не возникает. Этим же объясняются крайне низкие требования к полосе пропускания кабеля (2,5 кГц по уровню - 3 дБ). Такой полосе соответствует постоянная времени линии передачи 65 мкс, т.е. при сопротивлении линии 250 Ом ее емкость может достигать 0,26 мкФ, что соответствует длине кабеля около 2...3 км (табл. 2.5).

Табл. 2.5. Зависимость длины кабеля от погонной емкости

Количество устройств в сети

Длина кабеля при погонной емкости

65 пФ/м

95 пФ/м

160 пФ/м

225 пФ/м

1

2800 м

2000 м

1300 м

1000 м

5

2500 м

1800 м

1150 м

900 м

10

2100 м

1600 м

1000 м

750 м

15

1800 м

1400 м

900 м

700 м

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

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

В HART-сети только один узел может посылать сигнал, в это время остальные "слушают" линию. Инициирует процедуру обмена ведущее устройство (контроллер или ручной коммуникатор). Ведомые получают команду и посылают ответ на нее. Каждое ведомое устройство имеет персональный сетевой адрес, который включается в сообщение ведущего устройства. Адрес имеет длину 4 бита ("короткий адрес") или 38 бит ("длинный адрес"). Имеется также второй способ адресации - с помощью тегов (идентификаторов, назначаемых пользователем).

Каждая команда или ответ на нее называются сообщением и имеют длину от 10... 12 байт до 20...30 байт. Сообщение начинается с преамбулы и заканчивается контрольной суммой (рис. 2.18). Элементы сообщения (слова) перечислены в табл. 2.6.

Табл. 2.6. Значения слов в HART-сообщении

Обозначение

Название

Длина в байтах

Назначение

PA

Преамбула

5...20

Синхронизация и обнаружение несущей

SD

Признак старта

1

Указывает формат сообщения и источник сообщения

AD

Адрес

1 байт или 38 бит

Указывает адреса обоих устройств

CD

Команда

1

Сообщает подчиненному, что нужно сделать

BC

Количество байт в DT

1

Показывает количество байт между BC и CHK

ST

Статус

0 если ведущий

2 если ведомый

Сообщает ошибки обмена данными, состояние устройства

DT

Данные

0...253

Аргумент, соответствующий команде CD

CHK

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

1

Обнаружение ошибок

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

Ведомое устройство может быть защищено от записи. Обычно это выполняется с помощью переключателя на плате.

Контрольная сумма используется для обнаружения ошибок в данных. Если ошибка обнаружена, обычно выполняется повторный обмен сообщениями.

Ведомое устройство может иметь режим ускоренной передачи ("burst mode"), при котором оно периодически посылает ответ на ранее принятую команду, хотя ведущий не посылает ее повторно. Это сделано для увеличения частоты получения значений измеряемой величины от датчика (до 3...4 раз в секунду [HART]) в случае необходимости. Только одно устройство может находиться в таком режиме (его еще называют монопольным), поскольку линия передачи оказывается занята. После выключения и повторного включения питания ведомое устройство остается в монопольном режиме и перевести его в обычный режим можно только командами с номерами 107, 108, 109, которые посылают в паузах между периодическими ответами ведомого устройства.

Сеть на основе HART-протокола может подключаться к другим сетям (Modbus, Profibus, Ethernet) с помощью соответствующих шлюзов. В сети также широко используются мультиплексоры, позволяющие подключить к одному контроллеру несколько HART-сетей и одновременно выполнить роль шлюза. Для подключения сети или HART-устройства к компьютеру необходим специальный HART-интерфейс, который выпускается рядом производителей. Программный доступ SCADA к HART-устройствам выполняется с помощью HART OPC сервера.

Адресация

Каждое HART-устройство должно иметь уникальный адрес. Посылаемые ведущим устройством адреса декодируются одновременно всеми устройствами, находящимися в сети. Однако отвечает только то устройство, чей адрес совпадает с принятым.

Метод адресации в HART протоколе содержит несколько потенциальных проблем. Стандартом предусмотрено два вида адресов: короткий адрес (длиной 4 бита) и длинный адрес (длиной 38 бит). В настоящее время используется комбинация короткого и длинного адреса. Длинный адрес устанавливается изготовителем HART-устройства и не может быть изменен пользователем.

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

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

Существует второй способ узнать длинный адрес устройства - с помощью команды с номером 11, которая обращается к устройствам не по адресу, а по имени тега. Она применяется, если в сети более 15 устройств (это возможно, если используются повторители) или если устройствам не присвоены короткие адреса.

Длинный адрес формируется из 40-битного уникального идентификатора HART-устройства (рис. 2.19) путем отбрасывания двух старших битов. Поэтому адрес получается 38-битным. Уникальный идентификатор HART-устройства состоит из идентификатора изготовителя (ID изготовителя), кода типа HART-устройства и  серийного номера, который занимает 3 байта.

Рис. 2.19. Структура уникального идентификатора HART-устройства

Следующая проблема HART-протокола связана с тем, что идентификатор (ID) изготовителя (рис. 2.19) имеет длину всего 8 бит, т.е. с его помощью можно однозначно идентифицировать только 256 изготовителей, что слишком мало. Поэтому для идентификации изготовителя используются также часть поля серийного номера.

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

Короткий адрес имеет еще одно назначение: с его помощью отключают возможность использования в HART сообщении аналогового токового сигнала, что необходимо для объединения нескольких устройств в сеть. Перевод HART устройства в этот режим называется парковкой ("parking") и выполняется путем установления значения короткого адреса равным 1...15.

Команды HART

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

Специфические команды создаются изготовителем конкретного устройства и могут иметь идентификационные номера от 128 до 253. Поэтому одни и те же функции у разных производителей могут иметь различные номера. Команда с номером 255 не используется, чтобы ее можно было отличить от преамбулы (которая состоит из последовательности логических единиц). Команда с номером 254 зарезервирована.

Приведем примеры универсальных команд:

"Считать имя изготовителя и тип устройства",

"Считать переменную и единицу измерения",

"Считать переменную как величину тока и в процентах от диапазона",

"Считать или записать 8-симольный тег, 16-символьный дескриптор и дату",

"Считать или записать 32-символьное сообщение",

"Считать диапазон значений переменной и единицу измерения",

"Считать или записать серийный номер устройства",

"Записать тег, описатель и дату ",

"Записать адрес устройства".

Примеры распространенных команд:

"Считать четыре динамические переменные",

"Записать постоянную демпфирования",

"Записать диапазон измерения",

"Калибровать",

"Задать фиксированное значение выходного тока",

"Выполнить самодиагностику",

"Выполнить сброс",

"Настроить ноль",

"Записать единицы измерения",

"Настроить ноль и коэффициент передачи АЦП",

"Записать функцию преобразования",

"Записать серийный номер сенсора".

Примеры специфических команд:

"Записать уставку ПИД-регулятора",

"Включить ПИД-регулятор",

"Считать или записать калибровочные коэффициенты",

"Подстроить сенсор",

"Установить позицию клапана".

Язык описания устройств DDL

HART-устройство может иметь уникальный набор команд, устанавливаемых изготовителем или специфическую последовательность команд, необходимых, например, для выполнения процедуры калибровки. Ведущее устройство должно знать эти команды. Один из возможных вариантов передачи описания команд от изготовителя пользователю - с помощью текстового описания в руководстве по эксплуатации. Другим путем является описание устройства с помощью специального языка описания устройств - Device Description Language (DDL), который распространяется и поддерживается организацией HCF.

Описание устройства на языке DDL представляет собой текстовый файл, который может быть прочитан компилятором языка и преобразован в двоичный формат, воспринимаемый ведущим HART-устройством. Описание устройства может быть представлено компилятором в форме, удобной для системного интегратора. Применение DDL устраняет необходимость написания кода для общения с HART-устройствами.

Язык DDL поддерживается не всеми производителями и пока не получил достаточно широкого распространения.

Разновидности HART

Традиционный HART-протокол используется совместно с токовой петлей 4...20 мА. Однако в некоторых приложениях, где отсутствует токовая петля, можно использовать только программный протокол "HART-протокола" совместно с другими методами реализации физического канала связи. Например, из рис. 2.17 можно удалить все аналоговые блоки и подключить к UART преобразователь интерфейса RS-485. При этом свойства канала связи на 1-м уровне модели OSI будут соответствовать интерфейсу RS-485, а протокол - стандарту HART.

Существует также возможность передачи сигнала HART по выделенной телефонной линии, что связано с соответствием метода частотной модуляции в HART протоколе американскому стандарту для телефонных линий  BELL202. Для этого используется передача сигнала только в форме напряжения при отключенном передатчике токовой петли 4...20 мА.

Аналогично, HART-протокол (как и другие протоколы) может использоваться для связи через оптоволокно (Fiber Optic HART) или радиоканал (Wireless HART), см. www.thehartbook.com.

HART 6.0

В настоящее время готовится очередная, 6-я версия HART-протокола. В ее основе лежит когерентная фазовая модуляция с 8 точками (фазами). Это позволит передавать данные со скоростью 9600 бит/с. В то же время 6-я версия будет обратно совместима с версией 5.0, в том числе с токовой петлей 4...20 мА.


© RLDA Ltd. info@rlda.ru  Рейтинг@Mail.ru Спонсоры проекта: , а также