Двести адресов прощают всё. Две тысячи — нет.
В небольшой квартире групповые адреса можно называть как угодно. Всё помещается на одном экране, а тот, кто их создавал, сам же проект и обслуживает.
Примерно после тысячи адресов это перестаёт быть так. Откройте проект ETS, оставшийся от кого-то другого, и чаще всего увидите одну и ту же свалку: Licht_1, Licht_2, neue Gruppe и несколько адресов, которые никто не решается трогать. Система по-прежнему работает. Но любое изменение в ней стоит дня реверс-инжиниринга.
Структура — не косметика. От неё зависит, переживёт ли проект своего автора.
Три способа организации, и два из них ломаются
- По помещениям. В первый день читается хорошо и ломается, как только впервые переносят стену. Помещения объединяют, делят и переименовывают, а адреса остаются на старых местах и перестают соответствовать действительности.
- По устройствам. Адресное пространство привязывается к оборудованию. Замените диммер на другую модель — и нумерация больше ничего не описывает.
- По функциям и этажам. Помещения меняются, оборудование заменяют, но «освещение первого этажа» остаётся «освещением первого этажа» весь срок службы здания. Из трёх вариантов масштабируется только этот.
Как выглядят пятнадцать главных групп на 860 м²
Реальный объект: подвал и два этажа, 148 устройств KNX, три линии шины. Весь проект укладывается в пятнадцать главных групп.
- 0 — Общие: время, дата, глобальное выключение освещения, зимний режим
- 1–4 — Освещение: по одной главной группе на этаж и одна для фасада
- 5 — Шторы и жалюзи
- 6 — Вентиляция
- 7 — Датчики присутствия
- 8–9 — ОВиК, с разделением по этажам
- 10–12 — Тёплый пол, по одной главной группе на этаж
- 13 — Климатические датчики: влажность, CO₂, TVOC, PM2.5, температура
- 14 — Клавишные выключатели и их светодиодная индикация
Смысл — в предсказуемости, а не в красоте
Вот что действительно важно. Внутри каждой главной группы освещения средние группы повторяются в одном и том же порядке: /0 — включение, /1 — статус включения, /2 — диммирование, /3 — значение яркости, /4 — статус яркости, /5 — блокировка датчика.
В результате у одного светильника последнее число остаётся одинаковым во всём ряду:
1/0/11 L 0.05-88 On/Off ← команда 1/1/11 L 0.05-88 On/Off St ← статус 1/2/11 L 0.05-88 Dim 1/3/11 L 0.05-88 Vol 1/4/11 L 0.05-88 Vol St
Зная адрес команды, инженер вычисляет адрес статуса в уме. Ему не нужно открывать проект, что-то искать или спрашивать того, кто проводил пусконаладку. На сервисном вызове в девять вечера в этой разнице и состоит вся работа.
Почему статусам отводят отдельную среднюю группу
Соблазнительная альтернатива — размещать статус на соседнем с командой адресе: 1/0/11 включает, 1/0/12 возвращает состояние. Выглядит компактно, но это ошибка.
Статусы — самая «разговорчивая» часть трафика на шине. Актуаторы отправляют их при каждом изменении, и на большом объекте это непрерывный поток. Если статусы вынесены в отдельную среднюю группу, весь этот класс телеграмм можно убрать из мониторинга шины одним щелчком — а именно это нужно, когда ищешь неисправность. Если они перемешаны с командами, любой лог мониторинга становится вдвое длиннее и вдвое хуже читается.
Оставляйте запас
В этом проекте выделено 2 020 групповых адресов, а реально поименовано 1 579. Свободные 441 — не небрежность. Это промежутки внутри каждой средней группы, чтобы следующий светильник, следующий датчик, следующая зона встали на своё место, а не в конец списка.
За четыре года каждое расширение вписалось в существующую схему. Ничего не пришлось переименовывать.
Чек-лист для вашего проекта
- Главные группы строятся по функциям и этажам — никогда по помещениям или моделям устройств.
- Средние группы повторяются в одном и том же порядке внутри каждой главной группы.
- Статусы находятся в собственных средних группах, а не рядом с командами.
- Последнее число обозначает один и тот же физический объект во всём ряду.
- У каждого адреса задан тип точки данных — пустой тип станет ошибкой в будущем.
- Промежутки оставляются внутри групп, а не добавляются в конце.
- Названия понятны человеку, который не участвовал в проекте.
Убедитесь сами
Полное дерево адресов этого объекта опубликовано в обезличенном виде на странице проекта — с поиском по названию, адресу и типу точки данных и выгрузкой в CSV. Оцените названия сами.
Кейс: объект 860 м² с полным деревом групповых адресовУслуга: программирование KNX