728x90
KNX
- ๋น๋ฉ ์๋ํ๋ฅผ ์ํด ํ์กดํ๋ ํต์ ํ๋กํ ์ฝ
- ์ปค๋ฎค๋์ผ์ด์ ๋งค์ฒด : ํธ์์คํฐ ํ์ด / ์ ๋ ฅ์ / ๋ฌด์ ์ง์
- ๋ฒํธ ํ ํด๋ก์ง : ์ค์ ์ปจํธ๋กค๋ฌ ํ์
- ์ ๋ณด ๊ตฌ์กฐ : ํ ๋ ๊ทธ๋จ ๊ธฐ๋ฐ ํต์
- ๊ทธ๋ฃน ์ฃผ์ ์ง์ : ๊ทธ๋ฃน ์ฃผ์ ์ฌ์ฉํด์ ์ฅ์น ํต์
- ๋ฒ์ค ์ ์ ๊ณต๊ธ ์ฅ์น : ๋ฒ์ค ๋ผ์ธ์์ ์ ์ ๊ณต๊ธ๋ฐ์
- ๊ตฌ์ฑ ๋ฐ ํ๋ก๊ทธ๋๋ฐ : ETS(Engineering Tool Software) ์ฌ์ฉ
KNX python open source library
KNX Gateway
- KNX ์์คํ ๊ณผ ๋ค๋ฅธ ๊ธฐ์ / ํ๋กํ ์ฝ ๊ฐ์ ํต์ ๋ฐ ํตํฉ์ ์ํ ์ฅ์น
- ์๋ก ๋ค๋ฅธ ํต์ ํ์ค์ ์ฌ์ฉํ๋ ์ฅ์น๊ฐ์ ์ํธ ์ด์ฉ์ฑ ๋ฐ ๋ฐ์ดํฐ ๊ตํ์ ์ฉ์ดํ๊ฒ ํจ
ํตํฉ ๋ฐฉ๋ฒ
- ํ๋กํ ์ฝ ๋ฒ์ญ : Modbus / BACnet๊ณผ ๊ฐ์ ๋น KNX ์์คํ ์ ๊ฒ์ดํธ์จ์ด์์ ๋ช ๋ น / ๋ฐ์ดํฐ๋ฅผ KNX ํ ๋ ๊ทธ๋จ์ผ๋ก ๋ฒ์ญํด์ ํตํฉ
- ๋ค๋ฅธ ๊ธฐ์ ๊ณผ ์ตํฉ : IP ๊ธฐ๋ฐ ๋คํธ์ํฌ, EnOcean๊ณผ ๊ฐ์ ๋ฌด์ ๊ธฐ์ / PLC ์ฌ์ฉ ์ฐ์ ์๋ํ ์์คํ ๋ฑ์ ๋ค์ํ ๊ธฐ์ ๊ณผ์ ํตํฉ ๊ฐ๋ฅ
- IP ๋คํธ์ํฌ์ ํตํฉ : KNX ํ ๋ ๊ทธ๋จ <-> ip ํจํท ๋ณํํด์ ์ธํฐ๋ท ํต์ ๊ฐ๋ฅ
์๋ ์๋ฆฌ
- KNX ํ๋กํ ์ฝ๊ณผ ๋์์ ์ ํธ์ ํ๋กํ ์ฝ ๋ฒํ
- KNX ์์คํ ๋ฐ์ดํฐ / ๋ช ๋ น ์ด๋ฒคํธ - ๋ณํ -> ๋์ ์์คํ
- ๋์ ์์คํ ์๋ต / ๋ฐ์ดํฐ ์ด๋ฒคํธ - ๋ณํ -> KNX ์์คํ
- knx ๊ฒ์ดํธ์จ์ด์ knx, ip, rs485, ๋ฌด์ ๋ฑ ์ฌ๋ฌ ํต์ ์ธํฐํ์ด์ค๊ฐ ์กด์ฌํจ
Telegrams
KNX ๋ฐ์ดํฐ / ์ปค๋งจ๋ ๊ตํ ๋ฐฉ์?
Structure
- Serial Character : Telegram octet์ 8๋นํธ
- Telegram serial character์ TP1 ์ ํธ๋ก ํ
๋ ๊ทธ๋จ ๊ตํ ํ์ ๋นํธ ๋ํ๋
- TP1 ์๋ ์ ํธ : 1
- TP1 ํ์ฑ ์ ํธ : 0
- TP1 Serial Character์ ์ด 11๋นํธ(Telegram octet 8 bits, 3 additional bits)
- additional bits - ์์ ๋นํธ, ์ ์ง ๋นํธ, ์ง์ ํจ๋ฆฌํฐ ๋นํธ
- Telegram serial character์ TP1 ์ ํธ๋ก ํ
๋ ๊ทธ๋จ ๊ตํ ํ์ ๋นํธ ๋ํ๋
- Control Field : telegram type(D7), repetition status(D5), priority(D3 + D2)์ ์ ๋ณด๋ฅผ ๋ค๋ฃธ
- ์ด 8 bits ( D0 - D7 )
- Telegram Type
- 0 - Extended frame (length 9...263 octets)
- 1 - Starndard frame (length 8...23 octets)
- Telegram repetition status
- 0 - repeated
- 1 - not repeated
- Telegram Priority
- 00 - system
- 10 - urgent
- 01 - normal
- 11 - low
- Fixed bit - D6=0 / D4=1 / D1=0 / D0=0
- Source Address : telegram์ผ๋ก ๋ณด๋ด๋ device์ ๊ฐ์ธ ์ฃผ์, 16 bits
- Destination Address : Address Type๊ณผ ๊ด๊ณ ์, 16bits
- AT = 0
- DA = 0 : not allowed
- DA != 0 : Telegram์ด unicast communication session์ผ๋ก ์ฌ์ฉ๋จ
- AT = 1
- DA = 0 : broadcast commnication
- DA != 0 : multicast commnication session
- AT = Address Type, DA = Destination Address*
- AT = 0
- Address Type, Hop Count, Length : Destination Address field ๋ค์์ ํจ๊ป ์ด
- Address Type : D7 1bit
- Hop Count : D6, D5 & D4
- Length : D3, D2, D1, D0
- Payload ํ๋์ ์ถ๊ฐ octets์ ๊ฐ์๋ฅผ ์ ์ํจ
- Payload :
- Sequence Number - ์ผ์ข ์ telegram tracking number, ํต์ ๋์ค์ ์ ์ค๋์ง ์๋๋ก ํ์ธํ๊ธฐ ์ํจ + ์ ๋ณด ์ก์์ ์ ์์
- Control Data - Length ํ๋๋ ๊ธฐ๋ณธ์ ์ผ๋ก 0์ผ๋ก ์ธํ
๋จ(payload field์ ์ถ๊ฐ octets๊ฐ ์๋ค๋ ์๋ฏธ๋ก)
- D1+D0 = 00 = TL_connect "Hello, I wanna talk to you"
- D1+D0 = 01 = TL_disconnect "For me this conversation is over, goodbye"
- D1+D0 = 10 = TL_ACK "OK, roger that. please continue with the next message"
- D1+D0 = 11 = TL_NAK "Sorry, I didn't get that, please repeat that lastest message"
- Data Packet - Length ํ๋๊ฐ 0 ์ด์์ด๋ฉด telegram์ด command๋ฅผ ๋ณด๋๋ค๋ ๋ป
- service identifier(APCI - Application Layer Protocol Control Information) + DATA
- APCI๋ 4bits ํน์ 10bits์ผ ์ ์์
- 4bits - APCI : D1๊ณผ D0์ ์ฒซ ๋ฒ์งธ payload octets + D7๊ณผ D6์ ๋ ๋ฒ์งธ payload octets
- if data length = max 6 bits : data๊ฐ ๋ ๋ฒ์งธ payload octet์ 6bits์ ์กด์ฌ
- if data length > 6 bits : data๊ฐ ์ธ ๋ฒ์งธ payload octet ๋ค๋ก ์์
- 10 bits - APCI : D1๊ณผ D0์ ์ฒซ ๋ฒ์งธ payload octets + ๋ ๋ฒ์งธ payload octets ์ ์ฒด
- data๋ ์ธ ๋ฒ์งธ payload octet ๋ค๋ก ์กด์ฌ
- 4bits - APCI : D1๊ณผ D0์ ์ฒซ ๋ฒ์งธ payload octets + D7๊ณผ D6์ ๋ ๋ฒ์งธ payload octets
- Checksum : telegram parity check
Principle Function of the Layers
7 Layers OSI Reference Model
- Physical Layer
- ์ฐ๊ฒฐ๋ถ ํ ํ ๋น, ์ ์ด ์ ํธ, ๋นํธ ์ฝ๋ฉ์ ๋ฐ๋ผ์ ์ ๊ธฐ ์ ํธ๋ฅผ ์์ฑํ๋ ๋ ์ด์ด
- Data Link Layer
- ์ฐ๊ฒฐ ๋ฐ ์ ์ฐจ์ ๊ดํ ๋ ์ด์ด - ๋ผ์ธ ํ๋กํ ์ฝ, ๋๊ธฐํ, ๋ฐ์ดํฐ ๋ณด์, ์๋ฌ ํธ๋ค๋ง
- Network Layer(Packet Level)
- ๋ฐ์ดํฐ ์ ํ ๋ฐ ๋งํฌ ์ค์์น(routing), ํจํท ์ ์ด, ๋คํธ์ํฌ ์ ๋ฐ์ ํตํ ํ๋กํ ์ฝ ์ ๋ฌ์ ์ํ ์๋ง์ ๊ฒฝ๋ก ๊ฒฐ์
- Transport Layer
- end-to-end ์ ์ด, transport ์ ์ด
- Session Layer(Communication Layer)
- ๋ ผ๋ฆฌ์ ์ฐ๊ฒฐ ์ ์ด, application process์ ์ฐ๊ฒฐ, buffer ๊ด๋ฆฌ(Not used in KNX)
- Presentation Layer
- ๋ฐ์ดํฐ ํ์ ์ ํ, ๋ฐ์ดํฐ ์์ถ, ๋ฉ์ธ์ง ์ฝ๋ฉ(Not used in KNX)
- Application Layer(Process Layer)
- application์ ์ํด ์์ ๋กญ๊ฒ ์ ์๋จ
2 Types of Communication
1. Connection-oriented Communication
- connection์ ๋ communication partner ์ฌ์ด์ ๋ ผ๋ฆฌ์ ๋งํฌ๋ฅผ ๊ตฌ์ฑํ๋ค,
- ๋ ํํธ๋๋ ์ด connection์ด ๊ทธ๋ค ์ฌ์ด์๋ง ์กด์ฌํ๋ฉฐ(point-to-point, P2P connection) ๊ทธ๋ค๋ง ์ฌ์ฉํ ์ ์๋ ๊ฒ์ผ๋ก ๋ณธ๋ค.
- ์๋ฒ๋ connection์ ์์ฑํ ๋ ํ๋ฆฌํฐ, ๋น์ฉ, ๋๋ ์ด ๋ฑ์ ํน์ ๊ธฐ์ค๊ณผ ์ฌ์ฉ๋๋ ๋ฆฌ์์ค๋ฅผ ๊ณ ๋ ค์ ํ์ผํ๋ค.
- ํ๋กํ ์ฝ ํน์ block length์ ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ ์ ์๋ ๊ฒ์ด๋ค.
- connection์ด ์์ฑ๋๋ฉด ์ค์ ๋ฐ์ดํฐ ๊ตํ์ ํ๋กํ ์ฝ์ ๋ฐ๋ผ ์คํ๋๋ค.
- connection์ ์ธ์ ๋๊ตฌ์๊ฒ์๋ ์ข ๋ฃ๋ ์ ์์ผ๋ฉฐ, ๋ฆฌ์์ค๋ link๋ฅผ ์ํด์ ์ฌ์ฉ๋๊ณ ์ฐ๊ฒฐ์ด ์ข ๋ฃ๋๋ฉด ๋ค๋ฅธ ๊ธฐ๋ฅ์ด ์ฌ์ฉํ ์ ์๊ฒ release ํด์ผํ๋ค.
- Connection-oriented Communication์ ๋ณด์์ด ์ข์ง๋ง ์์ฃผ ํจ์จ์ ์ด์ง๋ ์๋ค(์๋ง์ ํต์ ๋ค์ด ์ค์ง ํ๋์ ํต์ ํํธ๋์๊ฒ๋ง ๋ฟ์ ์ ์๋ค),
- OSI model์ ์ ์ ํ ๋ ํต์ ์ค์ Transoport Layer๊ฐ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ํ์ธํด์ ๋ฉ์ธ์ง๋ฅผ ์์ฑํ๋ค.
- talking to one single person and checking after each question whether he/she understood the question*
=> In KNX: group address ๋ค์ด๋ก๋, ๋งค๊ฐ๋ณ์ and/or application program์ PC์์ KNX ๋๋ฐ์ด์ค๋ก*
2. Connectionless Conmmunication
- Connection์ด ์กด์ฌํ์ง ์๋ ํต์ ๋ฐฉ๋ฒ์ด๊ธฐ ๋๋ฌธ์ data request ์ดํ์ data๋ฅผ ๋ค์ ๋ณด๋ด์ค ๋๋ง๋ค address๋ฅผ ํจ๊ป ๋ณด๋ด์ค์ผํ๋ค.
- ๋ฐ์ดํฐ๊ฐ ์ ์์ ์ผ๋ก ์์ ๋์๋์ง ๊ฒ์ฆํ์ง ์๊ณ , ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋ ์๋ฒ ์ชฝ์์๋ ๋ฐ์ดํฐ ๋ธ๋ญ์ ์ฌ๋ฐ๋ฅด๊ฒ ์์ฒญํ๋์ง ๋ณด์ฅํ์ง ์๋๋ค.
- ์์ ํ์ง๋ ์์ง๋ง ๋์ญํญ์ ์์ด์ ํจ์จ์ ์ด๋ค.
- ํต์ ์ฐ๊ฒฐ์ ์ค์ ํ๊ฑฐ๋ ๋์ด๋ผ ํ์๊ฐ ์๊ณ , ํ๋์ ๋ฉ์ธ์ง๋ฅผ ์ค์น๋ ๋ชจ๋ ๋๋ฐ์ด์ค์ ๋ณด๋ผ ์ ์๋ค.
- ๊ทธ๋ฌ๋ ๋ชจ๋ ๋๋ฐ์ด์ค๊ฐ ์๋ง์ ๋ฐ์ดํฐ ๋ฉ์ธ์ง๋ฅผ ์์ ํ๋ค๊ณ ํ์ ํ ์๋ ์๋ค.
- OSI ๋ชจ๋ธ์ ๊ฐ์ํ ๋, ์ด ํต์ ์ ๊ฒ์ ์ง์์ ์์ฑํ๋ค ?
- talking to a group of persons and continuing with the next question if at least one person that he/she understood the message*
- => In KNX: ์ด๊ฒ knx์ normal operating mode / Broadcast*
Protocol Data Units(PDUs)
ํ๋กํ ์ฝ ๋ฐ์ดํฐ ๋จ์ ->
- ์์ฑ ์์ ์ด ๋ ์ด์ด์ ์ํด์ ํ ๋ ๊ทธ๋จ์ ์ ๊ณต๋๋ ๋ฐ์ดํฐ
- ์์ ์ ํ ๋ ๊ทธ๋จ์์ ์ด ๋ ์ด์ด์ ์ํด ๋์ฝ๋ฉ๋ ๋ฐ์ดํฐ
KNX - 7 Layers
Application Layer(Layer 7)
- KNX๋ ํต์ ์ ์ํด์ group์ด๋ผ๋ object๋ฅผ ์ฌ์ฉ
- ๊ทธ๋ฃน ๊ฐ์ฒด์ ๊ฐ์ ๊ธฐ๋กํ๊ณ ์์คํ ์ํํธ์จ์ด ๋ฒ์ค์ ์ ๊ฐ์ ์ ๋ฌ
- ์ฃผ์๊ฐ ์ง์ ๋ actuator์ application layer๋ group object์ ์ ๊ฐ์ด ์๋์ง ํ์ธํ๊ณ ์ ํธ๋ฅผ ๋ณด๋ธ๋ค.
- ํ๋ก๊ทธ๋จ์ด actuator์ group object๋ฅผ ์ฝ๊ณ ํ์ํ ํ๋์ ์ทจํ๋ค.
- ํ๋ก๊ทธ๋จ์ group object์ ์ ๋ฐ์ดํธ ์ฌ๋ถ๋ฅผ ์ ์ ์์*
...
Data Link Layer(Layer 2)
- ๋คํธ์ํฌ ๋ด ๋ ๋ ธ๋ ๊ฐ์ ์ค๋ฅ ์๋ ๋ฐ์ดํฐ ์ ์ก์ ๋ณด์ฅํ๋ ๋ ์ด์ด
- ๋๊ธฐํ ๋ฌธ์, ์ํ์ค ๋ฒํธ, ์ค๋ฅ๊ฒ์ฌ ํ๋ ๋ฑ์ ์ถ๊ฐ ์ ๋ณด๊ฐ ์ค์ ๋ฐ์ดํฐ์ ํจ๊ป ์ ์ก๋๋ค.
- KNX Link Layer Telegram
- source address - bus device์ ์ฃผ์ / receiver address - group address(connectionless) or individual(connection-oriented), N_PDU์ ์ฒซ๋ฒ์งธ ๋นํธ์ ์ํด ๊ฒฐ์ ๋จ
Project Preparation
Segmentation in Areas and Lines
KNX๋ Area์ Line์ผ๋ก ๊ตฌ์ฑ๋จ
- Area : ์ ์ดํ ๊ฑด๋ฌผ ์ ์ฒด(๋น๋ฉ ๋ฑ), ์ต๋ 15๊ฐ
- Line : Area ๋ด๋ถ์ ๋ฐฉ / ์ธ๋ถ ๊ตฌ์ญ, Area ๋น ์ต๋ 16๊ฐ(15 line + 1 main line)
- ๋ผ์ธ๋ง๋ค ๋ณ๊ฐ์ power supply๊ฐ ํ์
- ๋ผ์ธ ๋น ์ต๋ 64๊ฐ device ๊ฐ๋ฅ
- lines
- main line (๋ผ์ธ ์ปคํ๋ฌ์ ์์ํ๋ ์ฐ๊ฒฐ)
- area line (area ์ปคํ๋ฌ์ ์์ํ๋ ์ฐ๊ฒฐ, backbone์ด๋ผ๊ณ ๋ ๋ถ๋ฆ.)
- knx ํ๋กํ ์ฝ์์ Group์ ์ฃผ์ ์งํฉ
- ์ฃผ๋ก ์ธ ๊ฐ ์ซ์๋ก ๊ตฌ์ฑ๋จ(2๊ฐ์ธ ๊ฒฝ์ฐ๋ ์์) main / middle / sub , ex) 1/0/1
- group name๋ ๋ฐ๋ก ์ง์ ํจ
728x90