Учебное пособие по интерфейсам систем промышленной автоматизации (1015600), страница 21
Текст из файла (страница 21)
Структурная схема подключения HART-устройств:а – цифровой канал «точка-точка» с аналоговым сигналом; б – цифровой канал(топология – шина) без передачи аналогового сигнала, но с удалённым питаниемпо цепям связиРеализация HART-протоколаHART-протокол реализует уровни 1, 2 и 7 модели взаимодействия открытыхсистем.
Дополнительно протокол предусматривает надстройку к уровню 7 в форме HART Device Description Language.104При реализации физического уровня HART-протокол опирается на стандартBell 202. Таким образом, аппаратно он ориентирован на так называемые Bell- илиHART-модемы. На уровне канала данных реализуется протокол передачи данных,который использует принцип «ведущий-ведомый» (master-slave). Активное ведущее устройство передаёт соответствующую HART-команду на ведомое HARTустройство (как правило, приборы низовой автоматики). Запрашиваемое HARTустройство интерпретирует соответствующую команду и отвечает.
Оба ведущихимеют различные адреса, что и гарантирует однозначность при обмене командамии ответами. Передача данных происходит асинхронно в полудуплексном режиме.Структура пакетов во всех режимах работы одинаковая, что создаёт однозначноесоответствие между HART-командами и ответами устройств в многоточечномрежиме. Различия существуют только между структурой запроса ведущего(HART-терминала или ПЛК) и структурой ответа ведомых устройств (рис. 4.3).а) Запрос от ведущего устройстваб) Ответ от ведомого устройства3.Рис.
4.3. Структура HART-сообщенияВсе HART-сообщения передаются побайтно в асинхронном режиме. Передача каждого байта начинается со стартового бита, затем идут биты данных (начиная со старшего), бит чётности и стоповый бит.Сообщение состоит из следующих элементов (табл.
4.3).Длина преамбулы зависит от требований ведомых устройств. Ведущее устройство использует самую длинную преамбулу только при первом обращении кведомому устройству. Затем, запросив требуемую ведомым устройством длинупреамбулы, ведущее устройство использует преамбулу требуемой длины.Длинная преамбула приводит к снижению скорости передачи полезных данных, поэтому практически все современные ведомые устройства используют пятибайтовую преамбулу.Поле статуса (ST) появляется только в ответе ведомого устройства.
Если ведомое устройство не выполнило команду, в поле статуса отображается причина,105например, сообщение получено устройством с ошибкой или устройство не можетвыполнить полученную команду.3.Имя поляPA (Preamble)ПреамбулаSD (Start Delimiter)Стартовый байтAD (Address)АдресCD (Command)КомандаBC (Byte Count)Количество байтовST (Status)Статус ведомогоустройстваDT (Data)ДанныеCHK (Checksum)Контрольная суммаТаблица 4.3.Поля HART-сообщенияДлина, байтНазначениеСинхронизация HART-модемов и обнаружениеот 5 до 20несущейПризнак начала сообщения.
Синхронизация1приёмника и передатчикаСодержит адрес приёмника или признак пакетного1 или 5режима.Содержит код HART-команды, которую должно1выполнить Slave-устройствоСодержит суммарную длину полей ST и DT1в байтах0 – для ведущегоВедомое устройство сообщает ведущемуустройства,устройству о выполнении или не выполнении2 – для ведомогокоманды и причину невыполненияустройстваПоле содержит параметры или результатот 0 до 25выполнения команды (например, результатизмерения)Поле используется для обнаружения ошибок при1передачеНадёжность передачи данных по HART-протоколу обеспечивается различными мерами контроля, как на уровне байта, так и на уровне пакета.
Частота возникновения ошибки на уровне передачи битов составляет одну ошибку на 105 бит.Каждый передаваемый байт внутри HART-пакета имеет бит паритета; каждыйHART-пакет имеет контрольную сумму, с помощью которой можно распознаватьдо 3 ошибочных битов.Управление доступом к среде передачиПоскольку в сети может быть два ведущих устройства, то должен быть определён протокол доступа этих устройств к среде передачи. Оба ведущих устройства постоянно контролируют сетевой трафик, поочерёдно посылая запросы и получая ответы от ведомых устройств (рис. 4.4).
Если ведущему устройству не нужно ничего передавать, то он не занимает шину. В этом случае ведущее устройство,передававшее последний раз выжидает в течение времени RT2, после чего начинает новый цикл обмена (рис. 4.4, а) [40].106RT2Мастер 1ЗапросОтветЗапросОтветМастер 2ЗапросЗапросОтветМастер 2 пропускаетцикл обменаОтветЗапросОтвета) Пропуск цикла одним из ведущих устройствМастер 1ЗапросНет ответа отведомого устройстваЗапросЗапросОтвет…Мастер 2ЗапросОтветЗапросОтветRT1б) Нет ответа от ведомого устройства4.Рис. 4.4. Циклы обмена по HART-протоколуЕсли ведущее устройство не получает ответа в течение времени RT1 с момента окончания передачи кадра-запроса, то право на запрос переходит к другомуведущему устройству (рис. 4.4, б). Длительность временного интервала RT1 определена так, чтобы она была немного больше предельного времени отклика ведомого устройства TT0.
Если ведомое устройство не успевает ответить в течениеинтервала TT0 с момента окончания передачи кадра-запроса, то оно не отвечаетвообще. Благодаря этому не возникает конфликта между ведомым устройством иведущим устройством, начавшим передачу по истечении времени RT1.Значения временных интервалов, использующиеся в HART-протоколе длясинхронизации устройств приведены в табл. 4.4.Длительность в табл. 4.4 измеряется временным интервалом, который нужендля передачи одного байта (символа). Зная, что каждый байт данных передаётся11 битами, а скорость передачи 1200 бит/с, можно рассчитать длительность одного символа – 9,167 мс.Различные значения интервалов RT1 для главного и второстепенного ведущих устройств введены для того, чтобы после инициализации сети первым началопередачу главное ведущее устройство.1074.Таблица 4.4.Временные интервалы, определённые в HART-протоколеОбозначениеRT2RT1(0)RT1(1)TT0ОписаниеОжидание ведущего устройства перед повторнымиспользованием сетиОжидание ответа от ведомого устройства главным ведущимустройствомОжидание ответа от ведомого устройства второстепеннымведущим устройствомПредельное время начала ответа ведомого устройстваДлительностьв символах8334128Команды HART-протоколаВнутри уровня 7 протокол HART использует команды, которые подразделяются на три основных класса.Универсальные команды.
Эти команды используются и поддерживаютсявсеми ведомыми устройствами. Они служат решению таких общих задач, как, например, считывание первичных значений измерений, диапазона измерений, граничных величин или констант. Имеется 10 таких команд:• прочитать производителя и тип устройства;• прочитать главную переменную (ГП) и единицы измерения;• прочитать силу тока на аналоговом выходе и процент от диапазона;• прочитать силу тока на аналоговом выходе и до четырёх предопределённых динамических переменных;• прочитать/записать 8-символьный идентификатор и 16-символьное описание;• прочитать/записать 32-символьное сообщение;• прочитать диапазон значений устройства, единицы измерения и время выборки;• прочитать серийный номер устройства и ограничения;• прочитать/записать последний шифр комплекта устройств;• записать адрес запроса.Стандартные команды.
Они используются в большинстве HART-приборов,но не во всех. К этой группе принадлежат прежде всего такие команды, как считывание и запись стандартных и приборных параметров:• прочитать выборку значений динамических переменных (до четырёх переменных);• записать константу времени выборки;108• записать диапазон значений устройства;• калибровать (установка нуля, диапазона);• установить постоянное значение выходного тока;• выполнить самотестирование;• выполнить перезапуск устройства;• установить ГП в нуль;• записать единицы измерения ГП;• установить нулевое значение ЦАП и коэффициент усиления;• записать функцию преобразования (квадратный корень или линейное);• записать серийный номер устройства;• прочитать/записать привязки динамических переменных.Специфические команды устройств. Эти команды содержат функции, которые ограничиваются данной моделью или типом прибора.
К ним относятся команды, связанные с настройкой, вводом в эксплуатацию или работой специфических приборов:• прочитать/записать уровень обрезки малых значений;• пуск, останов или общий сброс;• прочитать/записать коэффициент поправки на плотность;• выбрать ГП (масса, расход или плотность);• прочитать/записать информацию о материале и конструкции;• калибровать датчик;• включить ПИД-регулятор;• записать уставку ПИД-регулятора;• характеристика регулирующего клапана;• уставка положения регулирующего клапана;• границы перемещения регулирующего клапана;• единицы измерения пользователя;• информация локального дисплея.Для каждой команды определён код, а также значения полей данных в запросе и ответе.
Например, для универсальной команды «Прочитать силу тока на аналоговом выходе и процент от диапазона» код команды – 2, поле данных в запросебудет пустым (длина – нуль байтов). Ответ на эту команду будет содержать поледанных из 8 байтов: байты 0–3 содержат значение тока в миллиамперах в форматес плавающей запятой (4 байта); байты 4–7 – процент от диапазона в формате сплавающей запятой. Подробнее с форматами команд и передаваемыми даннымиможно познакомиться в [41].109Средства параметрирования и подключения HART-устройствДля обеспечения нормальной работы устройств различных производителей всистемах с HART-протоколом был введён Device Description Language (DDL) –язык описания устройств.