KNX Datapoint Types (DPT)
DPT определяет, как интерпретировать данные, передаваемые по шине KNX.
Формат: ГлавныйТип.Подтип (например, 1.001, 9.001).
Главный тип задаёт размер и способ кодирования, подтип — физическую величину, единицы и диапазон.
Сводка главных типов DPT
| Главный тип | Размер данных | Кодирование | Примеры подтипов |
|---|---|---|---|
| 1 | 1 бит | Булево (0/1) | 1.001 Switch, 1.003 Enable, 1.008 Up/Down |
| 3 | 4 бита | Управление диммированием (шаг + напр.) | 3.007 Dimming control |
| 4 | 4 бита | Управление жалюзи (шаг + напр.) | 4.008 Blind control |
| 5 | 1 байт | Целое без знака (0..255) | 5.001 0..100%, 5.004 0..255%, 5.003 Angle |
| 6 | 1 байт | Целое со знаком (-128..127) | 6.001 Percentage (-128%..127%) |
| 7 | 2 байта | Целое без знака (0..65535) | 7.001 Pulse counter, 7.012 Current (mA) |
| 8 | 2 байта | Целое со знаком (-32768..32767) | 8.001 Signed counter, 8.010 Time (s) |
| 9 | 2 байта | Плавающая точка (KNX float) | 9.001 Temperature (°C), 9.004 Lux |
| 10 | 3 байта | Время суток | 10.001 Time of day |
| 11 | 3 байта | Дата | 11.001 Date |
| 12 | 4 байта | Целое без знака (0..4 294 967 295) | 12.001 Counter, 12.005 Energy (Wh) |
| 13 | 4 байта | Целое со знаком (±2 147 483 648) | 13.001 Signed counter |
| 14 | 4 байта | Плавающая точка IEEE 754 | 14.056 Pressure (Pa), 14.068 Wind speed (m/s) |
| 16 | до 14 байт | Строка символов (ASCII/ISO 8859-1) | 16.000 ASCII, 16.001 ISO 8859-1 |
| 17 | 1 байт | Номер сцены | 17.001 Scene number |
| 20 | 1 байт | Режим HVAC | 20.102 HVAC mode |
| 24 | 3 байта | Одиночный символ | 24.001 Char ASCII |
DPT 1 — логические значения (1 бит)
Один бит данных (0 или 1). Интерпретируется в зависимости от подтипа.
| Подтип | Название | Значение 0 | Значение 1 |
|---|---|---|---|
| 1.001 | Switch | Off | On |
| 1.002 | Bool | False | True |
| 1.003 | Enable | Disable | Enable |
| 1.005 | Alarm | No alarm | Alarm |
| 1.008 | Up/Down | Up | Down |
| 1.009 | Step | Close / decrease | Open / increase |
| 1.010 | Start/Stop | Stop / close | Start / open |
| 1.011 | State | Inactive | Active |
Пример телеграммы: 0x01 — включить свет (для DPT 1.001).
DPT 3 и DPT 4 — управление диммированием и жалюзи (4 бита)
Оба используют 4-битный ниббл: старший бит задаёт направление, младшие три — шаг (0..7, 0 = стоп).
DPT 3 — Dimming control (3.007)
- Бит 3: 0 = уменьшить, 1 = увеличить.
- Биты 2..0: шаг диммирования.
DPT 4 — Blind control (4.008)
- Бит 3: 0 = вверх, 1 = вниз.
- Биты 2..0: интервал движения (обычно в шагах/секундах).
Пример: 0xC (1100₂) — увеличить яркость на 4 шага.
DPT 5 — 1 байт без знака (0..255)
8-битное беззнаковое целое. Важнейшие подтипы:
| Подтип | Название | Физический диапазон | Примечание |
|---|---|---|---|
| 5.001 | Scaling | 0% … 100% | Процент = raw × 100 / 255. 0xFF = 100% |
| 5.003 | Angle | 0° … 360° | Угол = raw × 360 / 255 |
| 5.004 | Percentage (0..255%) | 0% … 255% | Процент = raw. 0xFF = 255% |
| 5.005 | Counter pulses | 0 … 255 | Сырой счёт |
| 5.010 | Value 1-byte unsigned | 0 … 255 | Без масштабирования |
⚠️ Важно: 0xFF для 5.001 = 100%, для 5.004 = 255%. Не путайте при стыковке устройств.
DPT 6 — 1 байт со знаком (-128..127)
8-битное знаковое целое (дополнение до двух).
| Подтип | Название | Диапазон |
|---|---|---|
| 6.001 | Percentage signed | -128% … 127% |
| 6.010 | Counter 1-byte signed | -128 … 127 |
| 6.020 | Status mode 3 (HVAC) | -128 … 127 |
DPT 7 и DPT 8 — 2 байта, без знака и со знаком
16-битные целые, передаются в порядке Big Endian (старший байт первым).
- DPT 7 (0..65535): 7.001 Pulse counter, 7.012 Current (mA), 7.013 Brightness (lux).
- DPT 8 (-32768..32767): 8.001 Signed counter, 8.010 Time (s).
DPT 9 — 2 байта, плавающая точка (KNX float)
Формат, специфичный для KNX (не IEEE 754).
Структура 16 бит (старший байт первым):
- Бит 15: знак (S) — 0 = +, 1 = –
- Биты 14..11: экспонента (E) — 0..15
- Биты 10..0: мантисса (M) — знаковое целое, -2048..2047
Значение вычисляется по формуле:
V = (0.01 × M) × 2^E
Точность зависит от выбранной пары (E,M). Диапазон покрывает от очень малых до ~±670760.
Популярные подтипы DPT 9
| Подтип | Физическая величина | Единица | Пример применения |
|---|---|---|---|
| 9.001 | Температура | °C | Датчики температуры |
| 9.002 | Разность температур | K | Тепловые счётчики |
| 9.004 | Освещённость | lux | Датчики освещённости |
| 9.005 | Скорость | м/с | Анемометры |
| 9.006 | Давление | Па | Датчики давления |
| 9.007 | Влажность | % | Гигрометры |
| 9.008 | Концентрация CO₂ | ppm | Датчики качества воздуха |
Пример кодирования 21,5 °C: E=1, M=1075, S=0 → телеграмма 0x1433.
DPT 10 и DPT 11 — время и дата (3 байта)
- DPT 10 (Time of day): байты: день недели (1..7, 0=нет), часы (0..23), минуты (0..59), секунды (0..59). Упакованы в 3 байта.
- DPT 11 (Date): год (0..99), месяц (1..12), день (1..31).
Используются для синхронизации часов, расписаний.
DPT 12, 13, 14 — 4-байтовые значения
32-битные данные для больших чисел и высокой точности.
- DPT 12 (беззнаковое): 0..4 294 967 295. 12.001 Counter, 12.005 Energy (Wh).
- DPT 13 (знаковое): ±2 147 483 648. 13.001 Signed counter.
- DPT 14 (IEEE 754 float): 32-битная плавающая точка. 14.056 Pressure (Pa), 14.068 Wind speed (m/s).
DPT 16 и DPT 24 — строки и символы
- DPT 16 (Character string): до 14 символов. Первый байт — длина, затем символы.
16.000 — ASCII, 16.001 — ISO 8859-1 (Latin-1).
Пример: текстовые метки, сообщения на дисплеях. - DPT 24 (Char, 3 bytes): один символ из ISO 8859-1. Используется реже, обычно для посимвольного вывода.
DPT 17 и 18 — сцены
- DPT 17 (Scene number): 1 байт. Биты 0..5 — номер сцены (0..63), бит 7 — 0 = активация, 1 = обучение (запись) сцены.
- DPT 18 (Scene control): позволяет команды «следующая/предыдущая сцена».
DPT 20 — HVAC режим
1 байт, кодирующий режим отопления/вентиляции/кондиционирования.
Подтип 20.102: например, значения — Comfort, Standby, Economy, Building protection.
Важно: совместимость DPT в групповом адресе
- Все объекты, связанные одним групповым адресом, должны иметь одинаковый или согласованный DPT.
- Телеграмма KNX не содержит информации о DPT. Устройства используют свой сконфигурированный тип.
- Несовпадение DPT (например, 5.001 и 5.004) приведёт к ошибочной интерпретации значений.
Всегда сверяйтесь с официальным каталогом DPT в ETS и документацией производителя. Эта шпаргалка охватывает наиболее частые типы; для специальных задач существуют сотни других подтипов.