Контроль доступа · Paxton Net2 · OEM SDK · OSDP v2 · KNX · 10 мин чтения

Paxton Net2 и KNX: интеграция через OEM SDK и автоматизация дверей

Paxton Net2 — одна из самых популярных систем контроля доступа в коммерческих зданиях, отелях и школах Великобритании. Подключение событий Net2 к KNX открывает возможности для управления отоплением и вентиляцией по occupancy, автоматического включения света при доступе и интеграции с энергосберегающими картами в гостиницах — через OEM SDK, RS232 или протокол OSDP v2.

Обзор Paxton Net2 и варианты интеграции

Программное обеспечение Paxton Net2 Pro и Net2 Access Control работает на ПК с Windows, который выступает сервером. Контроллеры Net2 ACU подключаются к серверу через выделенную сеть RS485 или Ethernet, управляя считывателями, замками и входами/выходами по всему зданию. Для связи с KNX доступны три пути:

МетодТребованияЗадержкаЛучше всего для
OEM SDK (COM API)Net2 Pro, C# Windows-сервис, библиотека knxdotnet1-2 секундыПолный доступ к событиям, несколько дверей
RS232 (последовательный порт)Порт RS232 на Net2 ACU, узел Node-RED Serial1-3 секундыПростые однодверные установки
OSDP v2 + BeckhoffOSDP-совместимый ACU, TwinCAT + EL6700 RS485Менее 500 мсКорпоративный уровень, без ПК-сервера

SDK Net2 OEM — это COM-интерфейс, доступный на портале разработчиков Paxton после подписания NDA и регистрации. SDK в основном используется системными интеграторами для создания собственного ПО управления. Для интеграции с KNX наиболее эффективным подходом является легковесный C# Windows-сервис, использующий SDK, который предоставляет доступ ко всем типам событий Net2 и командам управления дверьми.

C# сервис интеграции с Net2 OEM SDK

C# Windows-сервис подписывается на COM-события Net2 и пересылает соответствующие события в KNX через KNX IP-интерфейс. Библиотека 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 последовательный порт ACU Net2 выводит ASCII строки событий при каждом доступе. Этот подход не требует лицензии SDK и может обрабатываться Node-RED с последовательным узлом — полезно, если в установке уже используется 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

ACU Net2 поддерживают OSDP v2 по RS485 для подключения считывателей карт, совместимых с OSDP. Для проектов KNX с уже установленным контроллером Beckhoff TwinCAT в щите, терминал 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 по благополучию occupants.

Процесс корреляции данных 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: Для работы с Net2 OEM SDK требуется регистрация на портале разработчиков Paxton по адресу developer.paxton.co.uk. Перед предоставлением документации и библиотек SDK необходимо подписать соглашение о неразглашении (NDA). Доступ к порталу обычно одобряется в течение 2–5 рабочих дней. SDK предоставляется бесплатно — лицензионный сбор не взимается.

Нужен щит KNX с готовой интеграцией Paxton Net2?

Мы проектируем и собираем слаботочные щиты с сервисом Windows для Net2 SDK, настройкой KNX IP-интерфейса, интеграцией OSDP v2 Beckhoff TwinCAT и полной пусконаладочной документацией, которая доставляется на ваш объект после тестирования.

Запросить расчёт →
Загрузка ...
Наверх