HART протокол
HART протокол является одним из коммуникационных протоколов, широко применяемых в промышленной автоматике. Каждый протокол заточен под свои задачи, так и HART — лучшее решение как для получения информации о измеренных величинах устройств КИП и А, диагностирования и настройки этих устройств по стандартной токовой петле 4-20 мА (современный стандартный аналоговый сигнал токовой петли). Наиболее часто HART интерфейсом оснащаются датчики, но также его могут иметь и исполнительные устройства, клапаны, заслонки с управляющим токовым сигналом и др.
HART («Highway Addressable Remote Transducer») специально разработан для промышленной автоматики и измерительной техники. Его еще называют гибридным потому что он совмещает как аналоговый так и цифровой сигнал. Другими словами, цифровой сигнал передается по аналоговому выходу датчика. Цифровая составляющая сигнала никак не влияет на аналоговый выход датчика,- она просто отфильтровывается.
Аналоговая составляющая сигнала передается как правило в одном направлении, например от выхода датчика ко входу вторичного прибора, в то время как цифровой сигнал может передаваться по линии в двух направлениях,- от HART устройства к датчику, запрашивая его состояние и от датчика к HART коммуникатору сообщая измеренную величину.
Физический уровень
Для передачи/приема информации на физическом уровне, HART протокол использует довольно низкоскоростной метод частотной манипуляции, где для кодирования двоичных данных:
- Логическая «1» представлена частотой 1200 Гц
- Логическая «0» представлен частотой 2200 Гц
HART коммуникаторы
HART коммуникатор — это микропроцессорный прибор, подключаемый в токовую петлю, часто с трансформаторным входом, для приема, обработки и передачи цифровой информации в этой схеме. Также существуют и HART модемы — устройства, подключаемые к компьютеру в USB или RS232 порт.
На рисунке слева показана типичная схема включения HART коммуникатора в токовую петлю между датчиком и вторичным прибором. На резисторе R, обычно 250 Ом, при прохождении по нему тока, по закону Ома происходит формирование напряжения, которое подается на вход HART коммуникатора.
HART коммуникатор может считывать, измеренную датчиком физическую величину, а может использоваться для диагностики и настройки датчика. Обычно HART коммуникатор это переносное устройство для калибровки датчиков и подобных устройств, и нет необходимости использовать его постоянно по приведенной схеме. Чаще он подсоединяется в цепь аналогового сигнала временно.
Было бы очень неудобно, если бы приходилось каждый раз разрывать токовую петлю для подсоединения HART коммуникатора, особенно в системах регулирования. Поэтому большинство HART совместимых датчиков и устройств имеют клеммы для его подключения, не обрывая выходного аналогового сигнала.
Обычно аналоговые или цифровые вторичные приборы могут только измерять/отображать входной сигнал от датчика и мало что могут рассказать о его состоянии. HART коммуникатор может не только показывать измеряемый параметр, но и
- Показывать статус устройства и диагностические предупреждения
- Измеряемые величины и единицы измерения
- Ток на выходе датчика, как в миллиамперах, так и в процентах
- Отображать/изменять основные параметры конфигурирования
- Сведения о производителе
Как HART коммуникатор узнает с каким типом датчика он работает и как этот датчик настраивать? Для этого в коммуникаторе существует база драйверов совместимых устройств. При подключении к устройству HART коммуникатор опознает и загружает из своей базы необходимый драйвер устройства.
А что, если устройство новее самого коммуникатора, выпущено недавно, и нужного драйвера устройства в базе точно нет? Для этого нужно поискать драйвер описания устройства на сайте производителя устройства или на сайте ассоциации HART Communication Foundation, с которой обычно взаимодействуют известные производители устройств для КИП и Автоматики. Все это касается универсальных HART коммуникаторов.
Хотя HART протокол является открытым и стандартным, иногда производители оборудования исходя или из коммерческих целей, для увеличения числа продаж, или из целей упрощения устройств в ущерб их универсальности, предпочитают выпускать собственные HART устройства для настройки своего оборудования. В этом случае ничего другого не остается, кроме как приобрести соответствующий прибор у производителя.
Что это такое, как работает и где используется протокол HART?
Технология, использующая слаботочный сигнал связи в диапазоне 4-20 мА, используется в автоматизации технологических процессов уже более 40 лет. Благодаря этому решению важная информация от измерительных устройств может быть передана в систему контроля, регулирования и управления, например, в программируемый логический контроллер (ПЛК).
Преимущество этого типа связи — простота и использование двухпроводной линии как для подачи питания, так и для передачи измерительного сигнала. Когда дело доходит до непрерывного измерения, 4 мА составляет 0%, а 20 мА — 100%.
В случае повреждения линии значение тока падает до 0 мА, поэтому мы можем легко получить простую диагностическую информацию. Еще одно преимущество — возможность передачи сигнала даже на расстояние до 1000 м. Сегодня аналоговая связь используется даже в простейших измерительных датчиках.
HART – цифровой промышленный протокол передачи данных в современных технологиях автоматизации.
Как работает HART?
В 1970-х годах исследовательская компания Bell Labs разработала стандарт Bell 202, который получил более широкое распространение в отрасли во второй половине 1980-х годов. С 1993 года стандарт был назван HART и является открытым и бесплатным для использования любым производителем.
Протокол HART обеспечивает связь с полевым прибором через токовую петлю 4-20 мА, как данные конфигурации, так и параметры, а также измерения процесса, такие как температура, расход, давление или любые другие. Управляющая информация прибора модулируется в цифровом виде по токовой петле. Его скорость составляет 1200 бит/с, так что главный компьютер может обновлять информацию несколько раз в секунду.
Революционное решение, использующее протокол связи HART (Highway Addressable Romete Transducer), позволило устройствам работать как в аналоговом, так и в цифровом режимах.
Настройка аналогового сигнала на HART заключается в наложении сигнала переменного тока, где логическая единица соответствует 1200 Гц, а нулевая — 2200 Гц.
Среднее значение переменного цифрового сигнала равно нулю, поэтому нет никакого беспокойства о взаимных помехах с сигналом постоянного тока.
В дополнение к основной информации об измерениях через HART, дополнительные данные, такие как настройки калибровки, маркировка точек измерения или другие диагностические сообщения, могут быть отправлены с использованием того же двухпроводного соединения.
Сегодня это стандарт связи для измерительных приборов в промышленности, и он используется всеми производителями оборудования, в том числе Endress + Hauser, Emerson, Yokogawa, ABB и многими другими компаниями.
HART чаще всего используется как протокол ведущий-ведомый, когда ведомое устройство отправляет данные только по запросу ведущего устройства.
Ведущее устройство может быть консолью на станции управления или портативным программатором HART в виде специального мобильного устройства или модема, подключенного к портативному компьютеру.
Разработка протокола и новые приложения
Для того, чтобы координировать деятельность и правильно подавать заявки, была создана основа для производителей HART Foundation. Эта независимая организация работает над разработкой, поддержкой и координацией этого открытого стандарта связи. В настоящее время последней версией является HART 7.1.
Наряду с развитием самого протокола и улучшением передачи данных, существуют также такие решения, как Wireless HART, то есть беспроводная связь, позволяющая, например, передавать сигнал из мест, которые до сих пор не были подключены к системе контроля.
Используемый до сих пор метод связи, в основном используемый для программирования и диагностики, все чаще является основным или резервным каналом связи. Через него можно отправить до четырех дополнительных значений с измерительного устройства.
Например, на бесконтактном радареFMR62 от Endress + Hauser может включать в себя: уровень, расстояние, температуру электроники, амплитуду эхо-сигнала или другую информацию, относящуюся к расширенной диагностике.
HART как основа оцифровки оборудования
Одно из самых интересных приложений протокола HART — это простая реализация данных с устройств в облачном решении. Все больше и больше предприятий убеждают воспользоваться широкими возможностями, предлагаемыми облачными вычислениями.
Доступ к данным измерений и диагностики из любого места в любое время, возможность анализировать исторические данные, новые возможности оптимизации процесса, сокращение времени, необходимого для устранения сбоев или прогнозной диагностики позволили протоколу HART стать самым популярным коммуникационным стандартом для промышленных сетей.
Устройства с HART-связью смело можно назвать цифровыми, и поэтому в большинстве случаев они готовы к работе с облачной средой (облачными системами хранения данных).
Одним из примеров такого решения является экосистема Netilion, доступная как услуга от Endress + Hauser. Любое устройство HART может быть подключено к облаку через шлюз, а затем граничное устройство отправляет информацию в облачные вычисления на основе безопасного решения AWS (Amazon Web Services).
Также можно использовать беспроводное соединение HART или оснастить имеющееся устройство специальным адаптером, который обеспечит такое соединение. Таким образом, для того, чтобы пользоваться преимуществами новейших цифровых решений, не требуется серьезной реконструкции предприятия.
Во многих случаях пользователи сталкиваются с цифровыми устройствами, потенциал которых не полностью используется.
Однако достаточно небольшого шага, чтобы использовать известный до сих пор метод связи гораздо шире и в сочетании с новейшими информационными технологиями, чтобы предложить пользователю ранее неизвестные улучшения. Протокол HART, безусловно, может стать отличной основой для внедрения цифровых решений на предприятии.
Присоединяйтесь к нашему каналу в Telegram «Автоматика и робототехника»! Узнавайте первыми о захватывающих новостях и увлекательных фактах из мира автоматизации: Автоматика и робототехника в Telegram
Если Вам понравилась эта статья, поделитесь ссылкой на неё в социальных сетях. Это сильно поможет развитию нашего сайта!
Не пропустите обновления, подпишитесь на наши соцсети:
HART-протокол
HART-протокол (англ. Highway Addressable Remote Transducer Protocol) — цифровой промышленный протокол передачи данных, попытка внедрить информационные технологии на уровень полевых устройств. Модулированный цифровой сигнал, позволяющий получить информацию о состоянии датчика или осуществить его настройку, накладывается на токовую несущую аналоговой токовой петли уровня 4—20 мА. Таким образом, питание датчика, снятие его первичных показаний и вторичной информации осуществляется по двум проводам. HART-протокол это практически стандарт для современных промышленных датчиков. Приём сигнала о параметре и настройка датчика осуществляется с помощью HART-модема или HART-коммуникатора. К одной паре проводов может быть подключено несколько датчиков.По этим же проводам может передаваться сигнал 4—20 мА.
HART протокол использует принцип частотной модуляции для обмена данными на скорости 1200 бод. Для передачи логической «1» HART использует один полный период частоты 1200 Гц, а для передачи логического «0» — два неполных периода 2200 Гц. HART составляющая накладывается на токовую петлю 4—20 мА. Поскольку среднее значение синусоиды за период равно «0», то HART сигнал никак не влияет на аналоговый сигнал 4—20 мА. HART протокол построен по принципу «Ведущий — Ведомый», то есть полевое устройство отвечает по запросу системы. Протокол допускает наличие двух управляющих устройств (управляющая система и коммуникатор). Существует два режима работы датчиков, поддерживающих обмен данными по HART протоколу.
Режим передачи цифровой информации одновременно с аналоговым сигналом. Обычно в этом режиме датчик работает в аналоговых АСУ ТП, а обмен по HART-протоколу осуществляется посредством HART-коммуникатора или компьютера. При этом можно удаленно (расстояние до 3000 м) осуществлять полную настройку и конфигурирование датчика. Оператору нет необходимости обходить все датчики на предприятии, он может их настроить непосредственно со своего рабочего места.
В многоточечном режиме — датчик передает и получает информацию только в цифровом виде. Аналоговый выход автоматически фиксируется на минимальном значении (только питание устройства — 4 мА) и не содержит информации об измеряемой величине. Информация о переменных процесса считывается по HART-протоколу. К одной паре проводов может быть подключено до 15 датчиков. Их количество определяется длиной и качеством линии, а также мощностью блока питания датчиков. Все датчики в многоточечном режиме имеют свой уникальный адрес от 1 до 15, и обращение к каждому идет по соответствующему адресу. Коммуникатор или система управления определяет все датчики, подключенные к линии, и может работать с любым из них.
HART-протокол был разработан в середине 1980-х годов американской компанией Rosemount. В начале 1990-х годов протокол был дополнен и стал открытым коммуникационным стандартом. Однако, полных официальных спецификаций протокола в открытом доступе нет — их необходимо заказывать за деньги на сайте фонда HART-коммуникаций [1] . На март 2009 года доступна спецификация версии HART 7.2, поддерживающая технологию беспроводной передачи данных.
Общие сведения
Преимущества
- высокая помехозащищённость
- простота и низкая стоимость монтажа
- дешевизна
- широкая распространённость в мире и России
Недостатки
- малые скорости.
- нестабильное подлкючения.
Описание протокола
Физический уровень
Wired HART
HART протокол использует метод частотного сдвига для наложения цифровой связи на токовый сигнал 4—20 мА, идущий по цепи, соединяющей центральную систему с первичными датчиками. Для представления двоичных 1 и 0 используются две разные частоты (1200 Гц и 2200 Гц соответственно).
WirelessHART
Расширение стандарта, основанное на стандарте передачи данных по беспроводным сетям IEEE 802.15.4-2006 и использующее мультиплексирование с разделением по времени.
HART over IP
TCP/IP транспорт расширяет число применимых физических уровней до тех, которые поддерживают TCP/IP коммуникацию. Возможные реализации: Ethernet (802.3), Wi-Fi (802.11b/g) или RS-232 используя PPP.
Формат фрейма
Название поля | Длина (байт) | Назначение |
---|---|---|
Delimiter | 1 | Битовое поле. Используется для определения типа фрейма |
Address | 1—5 | Определяет адрес master, slave и индикатор Burst Mode |
[Expansion bytes] | 0—3 | |
Command | 1 | Цифровое значение команды для исполнения |
Byte Count | 1 | Указывает размер поля Data |
[Data] | 0—255 | Данные ассоциированные с командой |
Check Byte | 1 | XOR для всех байт сообщения начиная с Delimiter по последний байт Data |
Команды
Примечания
- ↑(англ.) Спецификации HART-протокола
Ссылки
- HART протокол первичной связи
- Описание протокола HART
- (англ.) Фонд HART-коммуникаций
- (англ.) Подробное описание протокола HART — временные диаграммы, структура сообщений и т. д.
- Образовательный сайт об АСУ ТП. Спецификация HART на английском
Точка-точка | токовая петля • RS-232 • IrDA • HART • модем |
Сетевые | RS-422 • RS-423 • RS-485 • LIN |
Специальные | en:Kansas City Standard (Компакт-кассета, грампластинка). |
Точка-точка | PPP • SLIP • IrDA • HART • ISO 7816 |
Сетевые | Modbus • LIN • DMX-512 • P-NET • Profibus |
- Промышленные сети
- Датчики
Wikimedia Foundation . 2010 .
Полезное
Смотреть что такое «HART-протокол» в других словарях:
- PPP (сетевой протокол) — У этого термина существуют и другие значения, см. PPP. PPP (англ. Point to Point Protocol) двухточечный протокол канального уровня (Data Link) сетевой модели OSI. Обычно используется для установления прямой связи между двумя узлами сети,… … Википедия
- Infrared Data Association — Внешний USB модуль инфракрасного порта … Википедия
- SLIP — (Serial Line Internet Protocol) устаревший сетевой протокол канального уровня эталонной сетевой модели OSI для доступа к сетям стека TCP/IP через низкоскоростные линии связи путём простой инкапсуляции IP пакетов. Используются коммутируемые… … Википедия
- Modbus — Modbus открытый коммуникационный протокол, основанный на архитектуре «клиент сервер». Широко применяется в промышленности для организации связи между электронными устройствами. Может использоваться для передачи данных через последовательные … Википедия
- LIN — (англ. Local Interconnect Network локальная сеть) стандарт промышленной сети, разработанный консорциумом европейских автопроизводителей и других известных компаний, включая Audi AG, BMW AG, Daimler Chrysler AG, Motorola Inc.,… … Википедия
- DMX-512 — DMX512 (англ. Digital Multiplex) стандарт, описывающий метод цифровой передачи данных между контроллерами и световым, а также дополнительным оборудованием. Он описывает электрические характеристики, формат данных, протокол обмена… … Википедия
- P-NET — P NET это промышленная сеть, которая была создана для объединения отдельных компонент вычислительного процесса, а именно: компьютера, датчиков, исполнительных устройств, устройств ввода/вывода, центрального и периферийного контроллеров… … Википедия
- PROFIBUS FMS — протокол предназначен в основном для связи программируемых контроллеров друг с другом и станциями оператора. Он используется в тех областях, где высокая степень функциональности более важна нежели чем быстрое время реакции системы. При связи… … Википедия
- Ихэтуаньское восстание — Ихэтуаньское восстание … Википедия
- Договор об охране художественных и научных учреждений и исторических памятников — Н. К. Рерих «Мадонна Орифламма» Пакт Рериха (англ. The Roerich Pact), так же известный как Договор об охране художественных и научных учреждений и исторических памятников (англ. Treaty on the Protection of Artistic and Scientific Institutions and … Википедия
- Обратная связь: Техподдержка, Реклама на сайте
- Путешествия
Экспорт словарей на сайты, сделанные на PHP,
WordPress, MODx.
- Пометить текст и поделитьсяИскать в этом же словареИскать синонимы
- Искать во всех словарях
- Искать в переводах
- Искать в ИнтернетеИскать в этой же категории
HART-протокол. Теория.
HART (Highway Addressable Remote Transducer) — открытый промышленный протокол цифровой связи. Протокол был разработан в далёком 1980-м году фирмой Rosemount, в 1986-м стал открытым стандартом. Строго говоря, это не только протокол, но и интерфейс, поскольку описывает 3 уровня сетевой модели OSI, включая в себя как алгоритмы и логику передачи данных (уровень приложения и канальный уровень), так и параметры электрических сигналов и линий связи (физический уровень).
Как практикующий инженер по промышленной автоматизации, смело могу заявить, что не смотря на очень солидный возраст, протокол HART является одним из самых популярных на сегодняшний день протоколов цифровой связи полевых устройств. Трудно найти прибор, в котором в качестве опции не было бы этого протокола.
Причина этой популярности довольна проста, — один из вариантов подключения подразумевает не чисто цифровую связь, а наложение цифрового сигнала поверх стандартного токового сигнала 4-20 мА. В итоге, мы по-прежнему можем передавать важные параметры простым и надёжным как лом токовым сигналом и в тоже время с помощью HART-протокола можно по этим же проводам передавать дополнительные, менее важные для безаварийного управления, параметры или даже перепрограммировать «на лету» полевое устройство. Есть ещё вариант с подключением на одну шину несколько устройств HART, однако он намного менее популярен, поскольку в этом случае мы теряем возможность использовать для передачи данных токовый сигнал, а для чисто цифровой связи обычно используются более современные протоколы.
Как это сейчас повсеместно принято, развитием стандарта занимается «некоммерческий» фонд, поэтому скачать открытый стандарт с сайта довольно непросто, можно только читать. Меня терзают смутные сомнения, что это сделано специально чтобы люди платили «некоммерческому» фонду очень немаленькие деньги за бумажный вариант, но… Как говорится, спасибо и на этом, у многих «открытых» стандартов даже такой опции нет, а тут хотя бы так. Кому сильно нужно, тот найдёт способ скачать Вот ссылка.
Если окунуться в историю, то можно увидеть, что сначала HART развивался довольно бурно, — с 1986-го по 1989-й каждый год выходила новая спецификация протокола, однако потом был довольно длительный перерыв, спецификация 6.0 вышла аж в 2001 году, 7.0 — в 2007-м, 7.5 — в 2012-м а действующая на сегодняшний момент спецификация 7.8 — в 2022-м. Ну то есть, сначала было бурное развитие, потом долгий перерыв и потом в нулевых — десятых годах снова пошло бурное развитие. На самом деле этот новый всплеск развития был связан по большей части не с улучшением старых технологий, а с добавлением новых: были добавлены новые способы модуляции, новые среды передачи данных, новые скорости… Однако, подавляющее большинство промышленных приборов использует всё ту же старую добрую спецификацию версии 5.0. За 20 лет в отрасли я видел очень много различных приборов, и только один с хартом 7-й версии (как раз в этом году и то это был наш, отечественный прибор). Я тоже буду в этой статье рассматривать только спецификацию 5.0, поскольку рассматривать остальные пока особого смысла нет.
В пятой версии протокола был только один способ передачи данных — с помощью FSK-модуляции, аналоговым сигналом по медным проводам. Последний вариант физики с такой модуляцией подробно описан в документе 2016-го года «FSK Physical Layer Specification». В этой доке подробно описаны уровни сигналов и шумов, время нарастания, спада, фильтры, степени усиления и ослабления, частоты среза, в общем, все подробности, поэтому за наиболее полным описанием идём туда, а ниже я опишу всё тоже самое, но в общих чертах, зато с реальными осциллограммами.
Итак, физика передачи данных устроена следующим образом: для передачи нулей и единиц в цепи генерируются периодические колебания тока с частотами 1200 и 2200 Гц, которые накладываются прямо на аналоговый токовый сигнал (картинка ниже).
Наложение цифрового сигнала на аналоговый
Hart-устройства бывают главные и подчинёные, и если подчинённые устройства управляют непосредственно током в цепи, то главные устройства подключаются в цепь через нагрузочное сопротивление (резистор), которое выполняет роль преобразователя тока в напряжение и обратно (картинка ниже).
Подключение главных и подчинённых устройств
В пятой версии протокола подчинённых устройств может быть до 15 штук, а главных — максимум 2 (Primary Master и Secondary Master). Как я уже говорил, — в случае использования нескольких подчинённых HART-устройств на одной шине, аналоговый сигнал использовать для передачи информации не получится (мы просто не смогли бы разделить аналоговые сигналы от разных устройств). При задании подчинённому устройству любого адреса, отличного от нулевого, устройство автоматически переключается в так называемый режим моноканала, при этом ток в цепи устанавливается на уровне 4 мА и перестаёт зависеть от измеряемой величины. Другими словами, когда на одной шине есть несколько HART-устройств, — нам доступна только цифровая связь.
Во многих статьях в интернете написано, что единичный бит передаётся одним периодом на частоте 1200 Гц, а нулевой бит — двумя периодами на частоте 2200 Гц и в теории это должно обеспечить нулевой итоговый вклад обоих сигналов в первичный сигнал (на который они наложены). На самом деле это пизд…ж не соответствует стандарту (хотя мне даже в институте так рассказывали) и сейчас объясню почему.
Не нужно быть крутым математиком, чтобы заметить, что частота 2200 Гц не кратна частоте 1200 Гц. Что это означает? Ну, например, это означает, что если бы нули и единицы передавались точно как написано выше, то длина передачи зависела бы от количества нулей и единиц, что было бы вообще неудобно. На практике (как и в стандарте), естественно, ничего такого и нет, все биты имеют одинаковую длительность, равную длительности единичного бита, и посылки одного размера передаются за одно и то же время. Осциллограммы реальных харт-сигналов приведены на рисунке ниже (все они сняты осциллографом в ходе одного и того же эксперимента прямо с резистора, с шины, на которой присутствуют 3 слэйв-устройства и один мастер).
Осциллограммы реальных харт сигналов
Например, по рисунку 2 отлично видно, что передача двух нулевых битов длится вовсе не четыре периода по 2200 Гц. Более того, по рисунку 3 видно, что сигналы даже не всегда гармонические. Собственно говоря, по стандарту сигналы и не обязаны быть чисто гармоническими, там написано, дословно: «предпочтительна трапециевидная или чисто синусодидальная форма сигналов», в реальности бывает и трапеция, и треугольник, и прямоугольник…
Что нам тут важно? Важно, что все переходы между частотами — гладкие, без резких фазовых переходов, то есть перед нами не просто FSK-модуляция, а CPFSK — частотная модуляция с непрерывной фазой), хотя и не совсем понятно, как при усреднении получается ноль, при том, что в нулевом бите не целое число периодов.
В целом, на низком уровне передача выглядит так:
- сначала включается передатчик, при этом на шине появляется несущая частота (1200 Гц)
- затем начинают передаваться байты данных, при этом нулевые биты передаются частотой 2200 Гц, единичные — частотой 1200 Гц
- после передачи всех данных, на шине некоторое время (до выключения передатчика) продолжает висеть несущая частота
В спеках пишут, что раз передача асинхронная, то между байтами могут быть разрывы (но не более 1 бита) и в это время на шине должен висеть высокий уровень сигнала (то есть должна просто висеть несущая). На практике, я такого ни разу не видел, всегда после передачи стоп-бита сразу начинает передаваться стартовый бит следующего байта. Единственные моменты, когда на шине просто висит несущая — это сразу после включения передатчика (до начала передачи данных) и сразу после передачи всего пакета (до отключения передатчика). Тем не менее, раз написано, значит алгоритмы приёма должны это учитывать.
В протоколе есть специальный сигнал, который управляет передачей — RTS (request to send), точно как в UART. Соответственно, в подключенных через UART HART-модемах для управления передачей как раз и используется сигнал RTS от UART. К слову сказать, для питания таких HART-модемов обычно используется сигнал DTR. Кроме того, есть ещё один сигнал управления — это сигнал CD (carrier detect), — этот сигнал формируется приёмником при обнаружении несущей частоты.
Ниже приведены таблички с разными параметрами физики:
Сигнал от главного устройства (на резисторе 500 Ом), mVpp | 400-600 |
Сигнал от подчинённого устройства, мА | размах 0,8-1,2 мА |
Минимальный уровень сигнала, при котором гарантированно должна определяться несущая, mVpp | 120 |
Максимальный уровень сигнала, при котором гарантированно не должна определяться несущая, mVpp | 80 |
Нагрузочное сопротивление, Ом | 230-1100 |
Максимальный рассинхрон по фазе при переключениях 1 0, градусов | 20 |
Carrier Start Time — максимальное время от подачи на передатчик сигнала RTS до момента, когда выходной сигнал передатчика вырастет до уровня выше 120 mVpp, бит | 5 |
Carrier Stop Time — максимальное время от выключения сигнала RTS до момента, когда выходной сигнал передатчика упадёт до уровня ниже 80 mV, бит | 3 |
Carrier Decay Time — максимальное время от выключения сигнала RTS до момента, когда выходной сигнал передатчика упадёт до уровня, сравнимого с уровнем помех, бит | 6 |
Максимальное время от включения сигнала RTS до начала передачи первого бита (то есть до первого нулевого бита, поскольку стартовый бит всегда 0), бит | 5 |
Максимальное время от передачи последнего бита до выключения несущей, бит | 11 |
Каждый байт пакета предаётся с помощью фрейма из 11 бит: стартовый бит (всегда 0), 8 бит данных (от младшего бита к старшему), бит чётности (используется дополнение до нечётного) и один стоповый бит (всегда 1).
Формат байта в пакете HART
Ну, немного мы про канальный уже поговорили, например, про то, что есть главные устройства (Master) и подчинённые (Slave). Cоответственно, обмен данными происходит в формате запрос-ответ. Главное устройство посылает запрос (команда + данные), подчинённое устройство на этот запрос присылает ответ (данные), — всё просто. Запросы от мастера в HART-протоколе принято обозначать как STX, а ответы слэйва — как ACK.
Есть одно исключение — так называемый пакетный режим (Burst-mode), который поддерживают все устройства, начиная с 5-й версии протокола. В этом режиме подчинённое устройство самостоятельно, без участия мастера, с определённой периодичностью посылает в шину пакеты с данными. Такие пакеты принято обозначать как BACK (Burst ACK) и на самом деле они не являются ответами, поскольку формируются без наличия запросов от мастера, хотя в них и указывается какому именно мастеру они предназначены. В этом режиме слэйв делает паузы между передачами, ожидая команды от мастера (для возможности выхода из пакетного режима).
Сами пакеты данных HART оформлены в PDU-фреймы (process data unit), которые я в дальнейшем буду стараться называть просто пакетами, чтобы не путать с фреймами в которых передаются байты (но иногда могу забыть). Каждый пакет начинается с так называемой преамбулы (три и более байт 0xFF), которая позволяет произвести синхронизацию приёмника перед началом приёма полезных данных.
Формат пакета HART
Обсудим каждое из полей пакета в отдельности:
-
Стартовый символ или разделитель (delimiter). Он содержит информацию о формате адреса, физике и направлении передачи данных (тип пакета).
Формат разделителя пакета HART
Формат полей адреса для короткого и длинного пакетов HART
- Универсальные (0..31) — их поддерживают все HART-устройства и они одинаковы для всех HART-устройств.
- Общие (32..127) — эти команды не обязательно должно поддерживать каждое устройство, но они также одинаковы для всех устройст, которые их поддерживают
- Специфические (128-253) — эти команды создаются производителем под различные специфические нужды каждого конкретного устройства, соответственно, в каждом конкретном устройстве одни и те же команды будут работать по-разному.
бит | название | описание |
---|---|---|
Байт статуса слэйва | ||
0 | Primary variable out of range | Значение первичной переменной вышло за пределы диапазона измерения |
1 | Secondary variable out of range | Значение вторичной переменной вышло за пределы диапазона измерения (подробности можно получить командой 48) |
2 | Analog output saturated | Аналоговый выходной сигнал достиг насыщения и больше не отражает измеренное значение |
3 | Analog output fixed | На аналоговом выходе установлено фиксированное значение и он больше не отражает измеренную величину |
4 | More statuses available | Есть некие дополнительные статусы, которые можно вычитать командой 48 |
5 | Cold restart | На приборе пропадало питание, которое затем было восстановлено, что привело к сбросу параметров настройки. Этот флаг может быть также установлен при самотестировании. |
6 | Configuration changed | Сигнализирует, что с прибором были произведены команды записи или изменения параметров. |
7 | Field device failed | В устройстве произошла аппаратная ошибка или сбой (подробности можно получить командой 48) |
Байт статуса связи | ||
0 | not defined | Использвание этого бита не определено спецификацией |
1 | Buffer overflow | При приёме сообщения от мастера произошло переполнение приёмного буфера слэйва |
2 | Reserved | Значение этого бита всегда равно 0 |
3 | Checksum error | Вычисленная устройством контрольная сумма сообщения не совпала с контрольной суммой, переданной мастером (на самом деле устройство, естественно, вычисляет контрольную сумму всего сообщения, включая байт CRC и если всё в порядке, то результат должен быть ноль). |
4 | Frame Error | Здесь имеется ввиду не ошибка всего фрейма HART, а ошибка кадра UART при передаче байта. Она возникает, если для одного или нескольких принятых байтов приёмнику не удалось обнаружить стоповый бит. |
5 | Rewrite Data | Ошибка возникает, если один или несколько байт в приёмном буфере UART были перезаписаны до того, как были прочитаны. |
6 | Parity Error | возникает при нарушении бита чётности одного или нескольких принятых байт. |
7 | Communication Error | Во время сеанса связи были какие-либо ошибки |
Данные. Это поле содержит информативную часть команды или ответа. Может отсутствовать как в запросе, так и в ответе. Например, запрос описания устройства (команда 0) не подразумевает отправку каких-либо дополнительных данных, кроме самой команды. Слэйв не возвращает какие-либо данные в ответе при обнаружении ошибок сеанса связи (в этом случае ответ содержит только два байта статуса).
CRC. Контрольная сумма обеспечивает дополнительную защиту от ошибок передачи. Она вычисляется простым суммированием по XOR всех байтов пакета, начиная со стартового символа (преамбула в вычислении CRC не участвует).
Ну и напоследок немного о логике разделения шины.
На каждой шине HART может быть до трёх устройств, инициирующих передачу данных: первичный мастер, вторичный мастер и устройство в пакетном режиме (такое устройство на шине может быть только одно). При этом все три устройства должны делить шину таким образом, чтобы друг другу не мешать.
Для эфективного разделения шины между различными устройствами используется, так называемый «виртуальный маркер», который определяет, кто именно должен быть активен в каждый момент времени. При этом все устройства на шине анализируют трафик и исходя из этого трафика понимают, у кого в данный момент находится «виртуальный маркер». На рисунках ниже показаны диаграммы передачи пакетов и переходов «виртуального маркера» в зависимости от наличия или отсутствия на шине устройств в пакетном режиме.
Диаграммы передачи виртуального маркера между устройствами на шине HART
Для обычного слэйв устройства, которое не находится в пакетном режиме, в обоих случаях всё довольно просто, — устройство постоянно слушает шину и если обнаружит предназначенный для него пакет — считает, что получило маркер. После этого устройство должно ответить не позднее, чем через время STO (Slave Time-Out), равное 28 кадрам UART (1 кадр UART = 11 бит данных на скорости 1200 Бод).
Теперь переходим к мастеру. При подключении к шине оба мастера должны выдержать время RT1 (Link Quiet Time), равное 33 кадра UART для первичного мастера или 41 кадр UART для вторичного мастера. Если за это время они не увидели на шине никакой активности, то считается, что шина находится в режиме тишины и они могут начать свою передачу. Это время специально сделано разным для первичного и вторичного мастеров, чтобы при первом включении или восстановлении после сбоя первичный мастер имел преимущество. Если за время RT1 мастер увидел на шине какую-либо активность, то он синхронизирует своё состояние в соответствии с этой активностью.
Если на шине нет устройств в пакетном режиме, то мастер получает маркер одновременно с ответом слэйв-устройства другому мастеру. То есть мастер анализирует все пакеты на шине и если видит, что в очередном принятом пакете направление стоит от слэйва к мастеру, а адрес мастера не совпадает с его собственным — мастер понимает, что он получил маркер. Теперь, не ранее времени HOLD (2 кадра UART), но не позднее времени RT2 (Link Grant Time), равного 8 кадров UART, он может начать передачу данных.
С Burst Mode всё несколько сложнее, фактически шиной управляет устройство, находящееся в пакетном режиме. Оно посылает пакеты, поочерёдно меняя адрес мастера. При этом тот мастер, адрес которого не совпадает с адресом в очередном пакете от устройства в пакетном режиме, получает маркер и может не ранее времени HOLD и не позднее времени RT2 начать передачу. Если в течении времени RT2 устройство в пакетном режиме не увидело пакет от мастера или в течении времени STO после пакета мастера не увидело пакет от слэйва, то оно занимает шину.
Параметр | Описание | Длительность |
UART frame | Время передачи одного байта данных по UART (11 бит на скорости 1200) | 9,167 мс = 11*1000/1200 |
STO — Slave Time Out | Время, в течении которого слэйв должен начать отвечать мастеру | 256,676 мс = 28 кадров UART |
HOLD | Время, в течении которого нельзя занимать шину после предыдущей активности | 18,334 мс = 2 кадра UART |
RT2 — Link Grand Time | Время, в течении которого мастер должен занять шину после получения маркера | 73,336 мс = 8 кадров UART |
RT1 — Link Quiet Time | Время, в течении которого на шине не должно быть активности, чтобы мастер решил, что шина находится в режиме тишины (на ней нет никакого обмена) | 302,511 мс = 33 кадра UART — для Primary Master 375,847 мс = 41 кадр UART — для Secondary Master |
Вот и всё на сегодня. Как уже было сказано ранее, — более полную информацию со всеми подробностями можно прочитать в самой спецификации (ссылки я дал выше).
Понравилась статья? Поделись с друзьями!