Подробное объяснение сообщений HART
Подробное объяснение сообщений HART

1. Введение

Протокол HART (Highway Addressable Remote Transducer) в основном используется в качестве протокола связи в области промышленной автоматизации. Он также поддерживает передачу аналоговых сигналов (например, сигналов 4–20 м А). Такая конструкция позволяет устройствам HART одновременно передавать аналоговые сигналы и цифровые данные, обеспечивая более гибкие и мощные возможности связи.

Стандартной передачей HART является сигнал FSK (манипуляция движения), наложенный на сигнал 4–20 м А. Альтернативой является сигнал C8PSK (когерентная 8-канальная фазовая манипуляция). Альтернатива повышает скорость цифровой передачи HART. Кроме того, существуют некоторые методы связи HART, основанные на RS-485, IP и TDMA, которые здесь не будут подробно описаны.

В этой статье обсуждается только HART FSK.

2. Формат сообщения

2.1 HART-байт

Поскольку протокол HART имеет свой собственный уникальный метод связи на физическом уровне, его передача на уровне канала передачи данных использует метод передачи, называемый группой байтов HART. При каждой передаче отправляется несколько 11-битных байтов HART. Части данных в байтах HART объединяются. в действительный кадр данных HART. (Этот процесс без подготовки можно сравнить с процессом отправки длинной последовательности данных через несколько пакетов TCP/IP)

Формат байтов HART следующий:

использовать

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

HART-байт

Бит нечетной четности

Стоп-бит

длина

1bit

8bit

1bit

1bit

описывать

Фиксировано на 0, что указывает на начало.

Данные HART начинаются с младшего значащего бита (наименьшего значащего бита) и заканчиваются старшим значащим битом (старшим битом).

Используется для проверки данных

Фиксировано до 1, что указывает на конец

2.2 Формат сообщения HART

Структура следующая:

использовать

длина

описывать

преамбула

5–20 байт

5-20 0xFF, используется для начала передачи,

стартовый байт

1 байт

Используется для определения начальной позиции пакета данных.

адрес

1 или 5 байт

Содержит адрес хоста и адрес подчиненного устройства, 1 байт в коротких кадрах и 5 байт в длинных кадрах.

Расширять

0-3 байта

для потенциальных Расширять,длина указывается фактическим байтом

Заказ

1 байт

Указывает роль этого фрагмента данных

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

1 байт

Размер частей состояния и данных в байтах

состояние

2 байта

Сообщения, которые существуют только тогда, когда ведомое устройство отвечает ведущему.,Сообщать об ошибках и состоянии

данные

0–253 байта

Не все заказы имеют байты данных.,Для хранения данных

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

1 байт

Продольная четность, используется для обнаружения ошибок.

2.2.1 Преамбула

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

  • Синхронизация: Преамбула предоставляет сигнал синхронизации для принимающего устройства, чтобы помочь принимающему устройству определить начальную позицию кадра данных. Идентифицируя эту серию повторяющихся шаблонов, декодер на принимающей стороне может синхронизироваться с потоком данных на передающей стороне, тем самым правильно интерпретируя последующую информацию (например, начальные биты, адреса, команды, данные и т. д.).
  • Очистите линию: непрерывная преамбула помогает устранить любые помехи и помехи в линии связи, обеспечивая четкость и точность передачи данных. Этот эффект «зазора» особенно важен для промышленного оборудования, работающего в полевых условиях, которые часто наполнены электромагнитными помехами.
  • Подготовка приемника. Преамбула также дает принимающему устройству достаточно времени для подготовки к приему входящих данных. При связи HART принимающему устройству (например, процессору или контроллеру) необходимо настроить свой механизм приема для точного декодирования поступающей информации. Наличие преамбулы обеспечивает буферное время для этой корректировки.

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

структура:

использовать

Тип адреса

Расширенные байты

Тип физического уровня

Тип рамы

длина

1bit

2bit

2bit

3bit

описывать

0: Опрос - адрес байта (короткий кадр) 1: Уникальный байтовый адрес (длинный кадр)

Обычно 00

00: Асинхронный (например, FSK) 11: Синхронизация (например, C8PSK

001: Ответ на пакетный кадр 010: Хост-полевое устройство 110: Полевое устройство для хоста

2.2.3 Адрес

адресчасть,1 байт – это короткий кадр,5 байт — это длинный кадр.

Короткий кадр:

использовать

хост-программа

пакетный режим

нулевой

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

длина

1bit

1bit

2bit

4bit

описывать

1: Первый хост 0: Второй хост

1: Да 0: Нет

всегда 00

Длинная рамка:

использовать

хост-программа

пакетный режим

Расширенные типы устройств

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

длина

1bit

1bit

14bit

24bit

описывать

1: Первый хост 0: Второй хост

1: Да 0: Нет

2.2.4 Расширения

Часть расширения в основном зарезервирована на будущее и в основном планирует следующие функции:

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

2.2.5 Команды

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

Машинный перевод сОфициальный сайт HART Communications Foundation

номер команды

Заказописывать

тип

0

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

Универсальный

1

Чтение основных переменных

Универсальный

2

Чтение тока контура и процента диапазона

Универсальный

3

Чтение динамических переменных и тока контура

Универсальный

6

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

Универсальный

7

Чтение конфигурации контура

Универсальный

8

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

Универсальный

9

Чтение переменных устройства со статусом

Универсальный

11

Чтение уникального идентификатора, связанного с тегом

Универсальный

12

читать информацию

Универсальный

13

Читать этикетки, описывать символы, даты

Универсальный

14

Чтение информации о датчике основной переменной

Универсальный

15

Чтение информации об устройстве

Универсальный

16

Прочитать окончательный номер сборки

Универсальный

17

написать сообщение

Универсальный

18

Написание тегов, запись символов, дат

Универсальный

19

Напишите окончательный номер сборки

Универсальный

20

Читать длинные теги

Универсальный

21

Прочитайте уникальный идентификатор, связанный с длинным тегом.

Универсальный

22

Пишите длинные теги

Универсальный

38

Сбросить флаг изменения конфигурации

Универсальный

48

Прочитать состояние дополнительных устройств

Универсальный

33

Чтение переменных устройства

Общая практика

34

Запишите значение демпфирования основной переменной

Общая практика

35

Запишите значение диапазона основной переменной. Данные, записанные с помощью команды 35, обновят настройки 4 м А и 20 м А в меню.

Общая практика

36

Установите верхнее предельное значение основной переменной

Общая практика

37

Установите нижнее значение диапазона основной переменной

Общая практика

40

Вход/выход из режима фиксированного тока

Общая практика

41

Выполните самопроверку

Общая практика

44

Напишите основные переменные единицы

Общая практика

45

Отрегулируйте нулевую точку тока контура

Общая практика

46

Отрегулируйте усиление тока контура

Общая практика

47

Напишите передаточную функцию основной переменной

Общая практика

54

Чтение информации о переменной устройства

Общая практика

59

Количество преамбул ответов на запись

Общая практика

71

Устройство блокировки

Общая практика

76

Чтение состояния блокировки устройства

Общая практика

140

Запись статистики фермы. Перезапись максимального и минимального значений, записанных устройством.

зависит от устройства

141

Чтение статистики фермы Чтение текущих максимальных и минимальных значений с устройства

зависит от устройства

144

Запись конфигурации переключателя 1. Запись режима переключателя 1, уставки, зоны нечувствительности, настроек фиксации, настроек задержки.

зависит от устройства

145

Чтение конфигурации переключателя 1. Чтение режима переключателя 1, уставки, зоны нечувствительности, настроек фиксации, настроек задержки.

зависит от устройства

221

Включить/отключить защиту от записи, изменить пароль. Разрешить включить/выключить режим защиты от записи и разрешить редактирование пароля устройства.

зависит от устройства

222

Статус защиты от чтения и записи Чтение состояния защиты устройства от записи

зависит от устройства

223

Запись счетчика отключений. Запишите 16-битное целое число без знака в диапазоне от 0 до 9999 в счетчик отключений, связанный с переключателем 1 и переключателем 2.

зависит от устройства

224

Переключатели 1 и 2 Считайте значение счетчика срабатываний, связанного с переключателем 1 и переключателем 2, как 16-битное целое число без знака в диапазоне от 0 до 9999.

зависит от устройства

225

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

зависит от устройства

226

Чтение состояния фиксации переключателя Прочтите состояние защелок одного или нескольких переключателей.

зависит от устройства

244

Запись конфигурации переключателя 2. Запись режима переключателя 2, уставки, зоны нечувствительности, настроек фиксации, настроек задержки.

зависит от устройства

245

Чтение конфигурации переключателя 2. Чтение режима переключателя 2, уставки, зоны нечувствительности, настроек фиксации, настроек задержки.

зависит от устройства

246

Запись настроек блокирующего порта

зависит от устройства

247

Чтение настроек заблокированного порта

зависит от устройства

248

Запись смещения и диапазона

зависит от устройства

249

Чтение смещения и диапазона

зависит от устройства

2.2.6 Статус

Статус разделен на 1-байтовый код ответа и 1-байтовый код состояния устройства.

2.2.6.1 Код ответа

При нормальной связи старший бит равен 0, а код ответа:

код ответа

значение

0x00

Выполнено успешно

0x02

Неправильный заказ

0x03

Параметры настройки слишком велики

0x04

Установка слишком малого количества параметров

0x05

Получено слишком мало данных

0x06

Специальная ошибка команды

0x07

В режиме защиты от записи

0x08

1. Обновление не выполнено. 2. Установлено значение закрытия. 3. Задержка ответа.

0x09

1. Значение нижнего предела диапазона слишком велико. 2. Неправильный режим тока.

0x0a

1. Значение нижнего предела диапазона слишком мало. 2. Неверная местная блокировка.

0x0b

1. Значение верхнего предела диапазона слишком велико 2. Режим нескольких ведомых устройств 3. Неверный код переменной устройства 4. Настройка выходит за пределы диапазона 5. Невозможно зафиксировать на месте

0x0c

1. Значение верхнего предела диапазона слишком мало 2. Неверный код устройства 3. Неверный выбор режима 4. Неверный номер слота

0x0d

1. Верхнее и нижнее значения диапазона превышают стандартные 2. Ошибка расчета 3. Неверный номер команды

0x0e

1. Диапазон измерения слишком мал. 2. Установленное нижнее предельное значение приводит к изменению верхнего предельного значения и превышению предела датчика.

0x0f

Неверный номер аналогового канала.

0x10

ограниченный доступ

0x11

Неверный индекс переменной устройства

0x12

Неверный код организации

0x13

Применение переменных устройства неразумно

0x14

Неверный номер расширенной команды

0x1c

Неподдерживаемый код устройства

0x20

занятый

0x21

Начало ответа с задержкой

0x22

Отложенный ответ в процессе

0x40

Команда не может быть выполнена

При сбое связи старший бит равен 1, а код ответа:

код ответа

значение

0xc0

Ошибка четности полученного байта

0xa0

Ошибка перезаписи данных буфера приема

0x90

Ошибка стопового бита не получена

0x88

Проверьте байтовую ошибку

0x82

Переполнение буфера приема

На конкретное значение влияют разные команды, обратитесь к основной информации.

2.2.6.2 Код состояния устройства

код состояния

значение

0x80

Отказ оборудования

0x40

Изменения параметров конфигурации

0x20

Холодный запуск устройства

0x08

Фиксированный режим тока контура

0x04

ток насыщения контура

0x02

Переменная устройства (не сопоставленная с переменной хоста) превышает предел

0x01

Основная переменная превышает предел

2.2.7 Данные

Формат части данных зависит от команды и определяется разными командами.

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.