KNXnet/IP (조명 / 차양 / 룸 컨트롤)
KNX 는 유럽계 빌딩 / 주거 자동화의 표준 (ISO/IEC 14543-3) 으로, 조명·차양 (블라인드)·HVAC·접근제어 의 가장 흔한 프로토콜 중 하나입니다. 원래는 트위스트 페어 (KNX TP) 가 기본이지만, 게이트웨이를 거쳐 이더넷으로 노출한 KNXnet/IP 가 PlantPulse 가 직접 다룰 수 있는 형태입니다.
이 게이트웨이는 KNXnet/IP Tunneling 모드로 통신합니다.
KNX 는 분산 “디바이스 네트워크” 입니다. ETS (KNX Engineering Tool Software) 로 미리 그룹 주소 (Group Address) 와 DPT (Datapoint Type) 를 매핑해 놓은 프로젝트 파일이 현장에 있어야 의미 있는 값을 읽을 수 있습니다. 시공사 / KNX 통합 파트너에게 ETS 프로젝트 (*.knxproj) 또는 그룹 주소 리스트를 받아 두세요.
등록 폼 입력값
| 입력 칸 | 무엇을 적나요 | 예시 |
|---|---|---|
| IP 주소 | KNX/IP 라우터·인터페이스 IP | 192.168.20.30 |
| 포트 | KNXnet/IP 포트 | 3671 (표준) |
| Connection Type | tunneling / routing | tunneling (기본) |
대표 H/W: Siemens N146, ABB IPR/S, Gira X1, MDT IP 인터페이스, Weinzierl KNX IP BAOS 등.
그룹 주소 (Group Address)
KNX 는 디바이스마다 직접 주소를 갖지 않고 그룹 주소 를 통해 메시지를 주고받습니다. 표기 방식은 다음 세 가지가 모두 동일한 주소를 가리킬 수 있습니다.
| 표기 (3-level) | 표기 (2-level) | raw | 의미 |
|---|---|---|---|
1/2/10 | 1/522 | 2570 | 메인 1, 미들 2, 서브 10 |
0/0/1 | 0/1 | 1 | 첫 번째 그룹 |
PlantPulse 의 PLC 주소 칸에는 3-level 표기 (1/2/10) 를 권장합니다. ETS 프로젝트의 표기 그대로입니다.
자주 보는 그룹 주소 패턴
| 표기 | 일반적 의미 |
|---|---|
1/0/x | 조명 ON/OFF |
1/2/x | 조명 디밍 값 (%) |
2/0/x | 차양 (블라인드) UP/DOWN |
3/0/x | 룸 온도 측정 |
3/2/x | 설정 온도 (Setpoint) |
위 패턴은 관습일 뿐 — 실제 매핑은 사이트별로 ETS 프로젝트가 결정합니다.
DPT (Datapoint Type) 가 핵심
KNX 의 raw 메시지는 그냥 바이트열이라 DPT 를 모르면 해석이 불가능 합니다. 자주 쓰는 DPT.
| DPT | 의미 | 데이터 형식 | 형식 보조 |
|---|---|---|---|
| DPT 1.001 Switch | ON/OFF | Boolean | (비움) |
| DPT 1.008 Up/Down | 0=Up, 1=Down | Boolean | (비움) |
| DPT 5.001 Scaling | 0~100 % (1 byte) | Integer | B |
| DPT 5.010 Counter | 0~255 | Integer | B |
| DPT 9.001 Temperature | 2-byte float (°C) | Float | REAL |
| DPT 9.002 Temp Difference | 2-byte float (K) | Float | REAL |
| DPT 9.004 Lux | 2-byte float (lx) | Float | REAL |
| DPT 14.x | 4-byte float | Float | REAL |
| DPT 16.x | 14-byte string | String | STR[14] |
PlantPulse 의 [데이터 형식] / [형식 보조] 컬럼을 위 표대로 맞추면 후처리 단계에서 자동 변환합니다.
등록 흐름 요약
- ETS 프로젝트에서 읽고 싶은 그룹 주소 (예:
3/0/12= 회의실 온도) 와 DPT (9.001) 확인 - PlantPulse 에 PLC 주소 =
3/0/12, 데이터 형식 = Float, 형식 보조 =REAL로 태그 등록 - 폴링 주기를 너무 짧게 잡지 말 것 — KNX TP 버스가 좁아 폭주가 잦습니다 (보통 5초 이상 권장)
흔한 문제와 해결
| 증상 | 가능한 원인 | 해결 |
|---|---|---|
| “No tunneling slot available” | KNX/IP 인터페이스의 동시 터널 수 초과 | 다른 ETS / Visu 클라이언트 종료. IP 라우터로 업그레이드 |
| 항상 0 또는 NaN | DPT 가 잘못됨 | ETS 프로젝트 / 시공사 그룹 주소 리스트 재확인 |
| 값이 100배·256배 어긋남 | 1-byte vs 2-byte DPT 혼동 | DPT 5 (1 byte 0~255) ↔ DPT 9 (2 byte float) 구분 |
| 일부 그룹만 응답 없음 | KNX 의 Read 속성이 비활성 | ETS 에서 해당 그룹 객체에 “Read” flag 활성화 |
| 폴링하면 다른 디바이스가 느려짐 | KNX TP 9600 bps 한계 | 폴링 주기 늘리기. Read 가 아닌 이벤트 (GroupValue_Write) 캡처 방식 검토 |
조명·차양 그룹 주소에 잘못 쓰면 실제 부하가 동작합니다 (조명이 켜지거나 블라인드가 내려옴). 운영 사이트에서는 읽기만 등록하시기를 권장합니다.
다음 단계
- 고급 — REST API 의 KNX 예제
- ETS 프로젝트 파일 (
*.knxproj) 이 있다면 통합 파트너에게 그룹 주소 / DPT 리스트를 CSV 로 받아 CSV 일괄 업로드 가 빠릅니다.