Paxton Net2 Система контроля доступа к KNX: OEM SDK и автоматизация событий двери
Paxton Net2 — одна из наиболее широко установленных систем контроля доступа в коммерческих зданиях, отелях и школах Великобритании. Подключение событий двери Net2 к KNX позволяет реализовать управление HVAC по occupancy, автоматическое освещение по событиям доступа и интеграцию с энергокартой гостиничного номера — с помощью OEM SDK Net2, последовательного вывода RS232 или протокола считывателя OSDP v2.
Обзор Paxton Net2 и варианты интеграции
Программное обеспечение Paxton Net2 Pro и Net2 Access Control работает на ПК с Windows, выступая в качестве сервера контроля доступа. Контроллеры ACU (Access Control Units) подключаются к серверу через выделенную сеть RS485 или Ethernet, управляя считывателями, дверными замками и точками ввода/вывода по всему зданию. Существует три пути интеграции с KNX:
| Метод | Требования | Задержка | Лучше всего для |
|---|---|---|---|
| OEM SDK (COM API) | Net2 Pro, служба Windows C#, библиотека knxdotnet | 1-2 секунды | Полный доступ к событиям, несколько дверей |
| Последовательный вывод RS232 | Порт RS232 ACU Net2, узел последовательного порта Node-RED | 1-3 секунды | Простые однодверные конфигурации |
| OSDP v2 + Beckhoff | Контроллер ACU с поддержкой OSDP, TwinCAT + EL6700 RS485 | Менее 500 мс | Корпоративный, без необходимости в ПК-сервере |
Net2 OEM SDK — это COM-интерфейс, доступный на портале разработчиков Paxton; требуется NDA и регистрация. SDK в основном используется системными интеграторами, создающими собственное управляющее ПО. Для интеграции с KNX наиболее эффективным подходом является легковесная служба Windows на C#, использующая SDK, которая предоставляет доступ ко всем типам событий Net2 и командам управления дверьми.
Служба интеграции Net2 OEM SDK на C#
Служба Windows на C# подписывается на COM-события Net2 и пересылает соответствующие события в KNX через IP-интерфейс KNX. Библиотека knxdotnet (доступна на NuGet) обеспечивает отправку групповых телеграмм KNX на .NET. Сопоставление идентификатора двери с групповым адресом KNX хранится в XML- или JSON-файле конфигурации, что упрощает обновление без перекомпиляции.
Подписка на события Net2 SDK на C# (упрощенно)
// Install: Paxton.Net2.OemClientLibrary (COM reference)
// Install: KNXLib (NuGet) — knxdotnet KNX IP Interface
var net2 = new Paxton.Net2.OemClient();
net2.Connect("localhost", Net2Port);
net2.OnEventReceived += OnNet2Event;
void OnNet2Event(Net2Event evt) {
switch (evt.EventType) {
case EventType.AccessGranted:
var mapping = config.GetKnxMapping(evt.DoorId);
if (mapping != null) {
knx.Action(mapping.GroupAddress, true); // DPT 1.001
knx.Action(mapping.HvacGroupAddress, true); // HVAC occupied
}
break;
case EventType.AccessDenied:
// optional: write to security alert GA
break;
case EventType.AlarmActivated:
knx.Action("8/0/1", true); // alarm relay
break;
}
}
// config.json mapping example:
// { "doorId": 101, "ga": "3/0/1", "hvacGa": "4/0/1" }
// { "doorId": 102, "ga": "3/1/1", "hvacGa": "4/1/1" }Альтернатива через последовательный порт RS232
Для более простых установок, где полный SDK не требуется, последовательный порт RS232 контроллера Net2 ACU выводит строки событий в формате ASCII при каждом событии доступа. Этот подход не требует лицензии SDK и может обрабатываться Node-RED с узлом serial — полезно, когда в установке уже используется Node-RED для других функций автоматизации здания.
Формат событий RS232 и парсинг в Node-RED
Net2 ACU RS232 output (9600 baud, 8N1):
ASCII string per event: "DOOR:101,EVENT:ACCESS_GRANTED,USER:Smith
"
Node-RED serial in node:
Port: /dev/ttyUSB0 (or COM3 on Windows)
Baud: 9600, 8N1
Split: on newline character
Function node — parse and route:
const parts = msg.payload.split(",");
const doorId = parts[0].split(":")[1];
const event = parts[1].split(":")[1];
if (event === "ACCESS_GRANTED" && doorId === "101") {
msg.knxGA = "3/0/1";
msg.knxValue = true;
}
return msg;
KNX write node → IP Interface → KNX bus
Limitation: RS232 event format is not officially documented
by Paxton — verify exact format with your ACU firmware version
before building production automation on this approachПрактический сценарий для офисного здания в Великобритании
Типичное офисное здание в Великобритании с Net2 на главном входе и аварийном выходе использует службу SDK для управления автоматизацией на основе occupancy через KNX. Шаблон «последний пользователь вышел» устраняет необходимость в расписаниях по времени и реагирует на фактическое использование здания.
Офис в Великобритании — событие доступа к управлению зданием через KNX
Morning arrival (first AccessGranted at main entrance): → KNX GA 3/0/0 = true (lobby lights ON) → KNX GA 4/0/0 = true (HVAC building occupied mode) → KNX GA 5/0/0 = false (disable night setback) End of day — last user leaves after 18:00: C# service tracks occupancy count per door zone When count reaches zero after 18:00: → KNX GA 4/0/0 = false (HVAC setback mode) → KNX GA 3/0/0 = false (lights off — after 60s delay) → KNX GA 5/0/0 = true (night setback active) Fire alarm integration (Net2 AlarmActivated event): → KNX GA 8/0/1 = true (fire alarm relay to KNX PA system) → KNX GA 3/0/1 = 255 (emergency lighting full brightness) Net2 also releases all doors to fail-safe unlocked state KNX door strike outputs (if any) also release via KNX GA
Интеграция OSDP v2 с Beckhoff TwinCAT
Контроллеры Net2 ACU поддерживают OSDP v2 по RS485 для подключения считывателей карт, совместимых с OSDP. Для проектов KNX с контроллером Beckhoff TwinCAT PLC, уже установленным в щите, терминал EtherCAT EL6700 RS485 в сочетании с библиотекой OSDP позволяет одному контроллеру обрабатывать как данные считывателя OSDP, так и шину KNX TP — устраняя необходимость в ПК-сервере под Windows.
Схема подключения Beckhoff TwinCAT OSDP + KNX
Hardware:
Beckhoff CX9020 controller
EL6700 RS485 EtherCAT terminal → OSDP v2 reader (RS485 bus)
EL6900 KNX EtherCAT terminal → KNX TP bus
TwinCAT configuration:
Install OSDP library (Beckhoff TE6730 or third-party)
Configure EL6700 as OSDP master, reader as slave ID 1
Map card number data → TwinCAT PLC variable CardNumber
TwinCAT PLC logic (Structured Text):
IF CardNumber <> 0 AND CardNumber = ValidCard1 THEN
KNX_WriteGA(GA := '3/0/1', Value := TRUE); // lobby lights
KNX_WriteGA(GA := '4/0/1', Value := TRUE); // HVAC occupied
END_IF
Advantage: no Windows PC server required
DIN-rail controller fits inside LV panel
KNX EL6900 certified for KNX TP communication
Single controller, single point of maintenanceИнтеграция гостиничной карты с энергосберегающим выключателем KNX
Paxton Net2 часто используется в гостиничных номерах с карточными считывателями. Событие вставки карты запускает сценарий приветствия номера через KNX, а извлечение карты инициирует последовательность уставок с задержкой для снижения энергопотребления, когда номер не занят.
Гостиничная карта к сценарию приветствия KNX
Card inserted into room holder (Net2 AccessGranted):
→ KNX GA 6/R/0 = true (Gira card switch 24V trigger activated)
→ KNX Scene "Room Welcome" fires:
GA 3/R/0 = 80 (room lights 80% DPT 5.001)
GA 4/R/0 = true (HVAC room comfort mode)
GA 9/R/0 = 21 (room thermostat setpoint 21°C)
Card removed from holder (Net2 AccessGranted — out):
→ KNX GA 6/R/0 = false (Gira card switch deactivated)
→ KNX 60-second delay timer starts
→ After 60s:
GA 3/R/0 = 0 (room lights off)
GA 4/R/0 = false (HVAC setback mode)
GA 9/R/0 = 18 (setback setpoint 18°C)
Net2 room door reader also logs entry/exit times
— useful for housekeeping scheduling and BREEAM evidence
Note: R = room number (1-100) in the GA scheme
Each room has its own GA sub-group for independent controlОбъединение данных occupancy Net2 и данных счетчиков энергии KNX
Отчеты Net2 экспортируют журналы occupancy — количество пользователей на этаже в час — в формате CSV. В сочетании с данными счетчиков энергии KNX от счетчиков Modbus (SOCOMEC Countis, ABB B24) это позволяет коррелировать occupancy с энергопотреблением. Такое объединение данных предоставляет доказательства для оценки благополучия пользователей по критерию BREEAM Hea 04.
Рабочий процесс корреляции occupancy и энергопотребления
1. Net2 scheduled report: export occupancy_floor_hourly.csv Columns: date, hour, floor, user_count Automation: Net2 Task Scheduler exports nightly at 01:00 2. KNX energy meter data (SOCOMEC Countis E14): Modbus TCP → LOYTEC LROC gateway → KNX GA 6/E/1 (kWh) Logged to building energy management system (BEMS) database or InfluxDB via Node-RED 3. Python script merges datasets: energy_per_hour = InfluxDB query (kWh by floor, by hour) occupancy_per_hour = CSV import (users by floor, by hour) energy_per_person = energy_per_hour / occupancy_per_hour Output: energy_intensity.csv for BREEAM assessor 4. BREEAM Hea 04 evidence: Demonstrates energy reduction during low occupancy periods Confirms KNX setback automation is effective Shows energy-per-person improvement over 12-month period
Доступ для разработчиков Paxton: Для OEM SDK Net2 требуется регистрация на портале разработчиков Paxton по адресу developer.paxton.co.uk. Перед предоставлением документации и библиотек SDK необходимо подписать NDA. Ожидайте 2-5 рабочих дней для одобрения доступа к порталу. SDK предоставляется бесплатно — лицензионный сбор не взимается.
Нужен щит KNX с интеграцией Paxton Net2 по спецификации?
Мы проектируем и изготавливаем низковольтные щиты с Windows-сервисом Net2 SDK, настройкой KNX IP Interface, интеграцией OSDP v2 Beckhoff TwinCAT и полной документацией по вводу в эксплуатацию, протестированной на вашем объекте.
Запросить расчёт →