dnes je 4.10.2022

Input:

Struktura TP telegramu

31.3.2016, , Zdroj: Verlag Dashöfer

13.3.6 Struktura TP telegramu

Ing. Josef Kunc

Číselné systémy

Člověk myslí a počítá v dekadickém číselném systému, tedy v systému, který obsahuje pro deset číslic celkem deset stavů vyjádřených znaky 0 až 9. Ovšem výpočetní technika pracuje s binárními čísly.

Binární soustava představuje přenos dat ve tvaru pulsů, které mohou dosahovat pouze dvou stavů „0” nebo „1”, což představuje jednobitovou informaci. Máme-li vyjádřit dekadické číslo 17 v binárním vyjádření, znamená to použití šesti bitů: 101111. Avšak pro stručnější zobrazení přenášených binárních informací se používá hexadecimálního kódu. Celá binární informace je rozdělena do bloků po čtyřech po sobě následujících bitech. Každá tato čtveřice bitů představuje jednu ze 16 možných hodnot přenášené informace. Jelikož nemáme k dispozici jednomístné znaky pro čísla od 10 do 15, používají se pro ně písmena A až F. Potom bychom dekadické číslo 17 zapsali hexadecimálně jako 2F. Porovnání jednotlivých způsobů zápisu je v tab. 1, kde v prvním sloupci je vyjádření v dekadické soustavě, ve druhém sloupci v binární soustavě a ve třetím sloupci v hexadecimální soustavě.

Dekadické číslo Binární číslo Hexadecimální číslo 
0 0000 0 
1 0001 1 
2 0010 2 
3 0011 3 
4 0100 4 
5 0101 5 
6 0110 6 
7 0111 7 
8 1000 8 
9 1001 9 
10 1010 A 
11 1011 B 
12 1100 C 
13 1101 D 
14 1110 E 
15 1111 F 

Tab. 1: Porovnání čísel v dekadickém, binárním a hexadecimálním vyjádření

Formáty dat

Formát dat Počet stavů Název Použití v KNX/EIB pro 
1 bit  2  bit  spínání  
2 bity  4   priorita  
4 bity  16   stmívání  
8 bitů  256  byte  hodnota  
16 bitů  65 536  slovo  teplota  
32 bitů  4 294 967 296  dvojité slovo  čítač  

Tab. 2: Příklady binárních hodnot s formáty dat

V praxi potřebujeme přenášet informace o různém obsahu, o různých délkách, s různými počty stavů. Tato data v binárním vyjádření budou mít také různé formáty. Příklady některých formátů jsou v tabulce 2. Potřebujeme-li spínat například svítidlo, je nezbytné použití dvou stavů: Zapnuto = „1” a vypnuto = „0”. To znamená, že pro tuto funkci plně vystačíme s jednobitovou informací. Chceme-li však např. plynule nastavovat intenzitu osvětlení, budeme k tomu potřebovat alespoň 256 stavů, což představuje osmibitovou informaci – 0 až 255, binárně 00000000 až 11111111, v hexadecimálním vyjádření 00 až FF. Zde hodnota „0” představuje vypnutý stav svítidla, hodnota „255” plně zapnutý stav (osvětlení je zapnuto na 100 %).

Telegram na sběrnici KNX

Jakmile v systémové elektrické instalaci dojde k události (například bude stisknuto tlačítko snímače), příslušný přístroj připojený ke sběrnici vyšle na sběrnici telegram. Jeho grafické znázornění je na obr. 1.

Obr. 1: Časový průběh odesílání telegramu

Po události, která má za následek potřebu vyslat příslušnou zprávu na sběrnici (v naznačeném příkladu po stisku tlačítkového snímače) sběrnicová spojka vysílajícího účastníka vyčká dobu τ1 odpovídající době přenosu 50 bitů (5,2 ms). Toto je doba potřebná pro prověření, zda je sběrnice volná. Během uvedené doby by při probíhajícím telegramovém provozu nutně musely být zaregistrovány napěťové pulsy, které znamenají logické nuly.

Pokud je sběrnice volná, následuje odeslání kompletního telegramu, obsahujícího všechny potřebné informace. Je-li však sběrnice obsazená, vysílající účastník vyčká do té doby, než se sběrnice uvolní a svůj telegram odešle. Může nastat jiná situace, kdy telegram odesílaný tímto účastníkem má vyšší prioritu. V takovémto případě bude přerušen probíhající přenos telegramu s nižší prioritou a odeslána tato důležitější zpráva. Přerušený telegram bude znovu odeslán až po následném uvolnění sběrnice.

Po přijetí zprávy příjemcem následuje potvrzení správnosti přenosu zpětným hlášením, avšak až po uplynutí časového zpoždění τ2, které odpovídá době potřebné pro přenos 13 bitů (1,352 ms). Potvrzení správnosti přenosu odesílají současně všichni účastníci provozu na sběrnici, jimž byla zpráva adresována. Jelikož pro odeslání odpovědi je stanoven pevný časový pořádek, mohou tak skutečně všichni oslovení účastníci (v daném liniovém segmentu) odeslat zprávu, která se na sběrnici složí do jediného tvaru.

Veškeré informace jsou po sběrnici předávány telegramy sestávajícími z několika polí, jejichž skladba je znázorněna na obr. 2. Zmíněná pole mají různé délky a také různé významy.

Všechny údaje jsou v telegramu uspořádány do přenosových znaků o významové délce 8 bitů. Avšak každý přenosový znak je ve skutečnosti přenášen po dobu odpovídající době nutné pro přenos 13 bitů (13 x 104 μs = 1,352 ms). Jednotlivé znaky jsou přenášeny asynchronním způsobem, pro nějž je potřebný startovací bit ST a ukončovací (stop) bit SP, které jsou důležité pro synchronizaci přenosu a přístrojů přijímajících informaci. Datové údaje jsou v délce 1 Byte = 8 bitů D0 až D7 (obr. 3). Přidaný paritní bit P, zařazený za bity D0 až D7, představuje součet všech těchto bitů. Následuje přestávka PA v trvání potřebném pro přenos 2 bitů. Po přestávce následuje další startovací bit ST.

Obr. 2: Struktura telegramu s rozdělením na osmibitové přenosové znaky

Obr. 3: Skladba přenosového znaku

Kontrolní pole v telegramu

Kontrolní pole je úvodním polem telegramu – obr. 4.

Obr. 4: Kontrolní pole telegramu

Kontrolní pole obsahuje 8 bitů informace ve složení podle tab. 3.

D7 D6 D5 D4 D3 D2 D1 D0 Čtecí pořadí datových bitů 
1 0 W 1 P P 0 0 Priorita přenosu 
    0 0   Systémové funkce (nejvyšší priorita) 
    1 0   Poplachové funkce (poplachová priorita – alarm) 
    0 1   Vysoká priorita při ovládání (ruční) 
    1 1   Nízká priorita při ovládání (automatika) 
  0      Opakování 

Tab. 3: Význam jednotlivých bitů v kontrolním poli

V kontrolním poli je vyznačena priorita telegramu. Priorita je obsažena ve dvou bitech. To znamená, že může nabývat nejvýše 4 stavů. Proto mohou být nejvýše čtyři stupně priorit. Nejvyšší prioritu (systémovou) mají telegramy odesílané systémem, což jsou především telegramy programovací. Programování má tedy přednost před běžným provozem v KNX systémové instalaci.

Naopak nejnižším stupněm priority je priorita nízká. V základním nastavení, při vytváření projektu v ETS, je u komunikačních objektů již od výrobce nastavena nízká priorita, která je plně postačující pro běžný provoz celé instalace. Toto nastavení měníme jen výjimečně u vysoce důležitých funkcí, u nichž ji můžeme změnit na vysokou, případně na poplachovou. Prostředky ETS lze pro běžný provoz nastavovat jen tyto tři stupně, systémovou prioritu lze zadat jen pro diagnostické účely. Priorita se nastavuje samostatně, postupně, vždy jen pro jeden komunikační objekt – obr. 5.

Obr. 5: Nastavení úrovně priority funkce (komunikačního objektu) v ETS

Pokud některý z přístrojů, jimž je přenášená informace adresována, odešle negativní zpětné hlášení o správnosti přenosu, anebo nedošlo-li žádné zpětné hlášení, telegram musí být opakován. Vzhledem k tomu, že opakovaný telegram musí následovat okamžitě po nedoručeném nebo nesprávně doručeném telegramu, je nutné zajistit jeho úplně nejvyšší prioritu. Proto se v bitu D5 pro opakování nastaví „0” pro opakované vysílání telegramu. Tato informace je určena také těm přístrojům, které již správně přijaly tento telegram a příkaz vykonaly, proto již nebudou znovu odesílat potvrzení o přijetí telegramu.

Pole telegramu s adresou zdroje

Druhé pole - adresa odesílatele (zdroje) – obr. 6 – je vždy fyzickou (individuální, přístrojovou) adresou přístroje odesílajícího telegram. V běžném provozu to bude fyzická adresa toho přístroje, jehož sběrnicová spojka telegram odeslala. Při odesílání programovacích telegramů na sběrnici z PC to bude fyzická adresa daného komunikačního rozhraní, jehož prostřednictvím je PC ke sběrnici připojen (adresa rozhraní USB, nebo rozhraní KNX/IP apod.). Při použití samostatného aplikačního modulu USB rozhraní, které lze nasunout na zapuštěnou sběrnicovou spojku např. aplikačního modulu tlačítkového snímače (obr. 7) to bude fyzická adresa tohoto tlačítkového snímače.

Obr. 6: Pole telegramu s adresou zdroje - odesílatele

Obr. 7: Příklad USB rozhraní pro propojení se zapuštěnou sběrnicovou spojkou

Adresa odesílatele je tedy fyzickou adresou. V binárním vyjádření obsahuje16 bitů (obr. 8). V prvních čtyřech bitech je uvedeno číslo oblasti O, druhé čtyři bity značí pořadové číslo linie L v dané oblasti a zbývajících 8 bitů udává pořadové číslo přístroje P na linii.

Obr. 8: Obsah pole telegramu se zdrojovou (fyzickou) adresou

Pole telegramu s adresou příjemce

Obr. 9: Třetím polem v telegramu je adresa příjemce (adresáta)

Třetím polem v telegramu (obr. 9) je adresa příjemce (cílová adresa). Na adresu příjemce reagují ty přístroje, kterým je určen odesílaný telegram. V obecném případě, tedy za běžného provozu, je to skupinová adresa. Ta může být určená současně i několika účastníkům na sběrnici, teoreticky i všem účastníkům. V takovém případě je binární tvar adresy v tomto poli ve tvaru podle obr. 10, kde je znázorněna adresa dvouúrovňová, tříúrovňová i v tzv. volné struktuře. U dvouúrovňových adres se jedná o zobrazení čísla pro hlavní skupinu a podskupinu. V případě tříúrovňových adres je členění bitů na hlavní skupinu, střední skupinu a podskupinu. Ve volné struktuře skupinových adres je všech 16 bitů určeno pro pořadové číslo adresy v rozmezí od 0 do 65535.

Obr. 10: Členění pole s adresou příjemce, tvořenou skupinovou adresou

V běžném provozu se ale nepoužívají adresy 0 ve volné struktuře, 0/0 u dvouúrovňových adres anebo 0/0/0 při tříúrovňové struktuře. Tyto adresy jsou tzv. broadcastingovými adresami, tedy adresami určenými pro všechny účastníky na sběrnici. Využívají se v diagnostice.

Jedná-li se o programovací telegramy, adresou příjemce je fyzická adresa (obr. 8) – takovýto telegram je vždy určen jen jedinému, předem určenému příjemci.

Přídavný 17. bit je určen k rozlišení, zda se jedná o běžný provozní telegram (o skupinovou adresu) anebo o telegram programovací (o adresu fyzickou). Tento bit má hodnotu rovnou 0 v případě, že se jedná o fyzickou adresu, anebo se rovná 1, jedná-li se o skupinovou adresu.

Přepravní pole telegramu

Přepravní pole (obr. 11), neboli routingové číslo, zaujímá prostor pouze 3 bitů, dekadicky tedy může nabývat hodnot od 0 do 7. Udává, kolika liniovými spojkami může telegram procházet.

Obr. 11: Přepravní pole telegramu

Provozní telegramy jsou odesílajícím přístrojem vždy vybaveny routingovým číslem 6. Po každém průchodu liniovou nebo oblastní spojkou (ale také liniovým opakovačem) se toto číslo zmenší o 1. Na obr. 12 je znázorněn přenos telegramu obsahujícího cílovou (skupinovou) adresu 31/7/66 odesílanou přístrojem s fyzickou adresou 1.1.255. S touže skupinovou adresou pracuje také přístroj s fyzickou adresou 2.1.255. Znamená to, že telegram musí projít liniovým opakovačem LO 143, liniovou spojkou 1.1.0, oblastní spojkou OS1, oblastní spojkou OS 2, liniovou spojkou 2.1.0 a konečně liniovým opakovačem LO 90. Zde konečně dosáhne svého cíle, přístroje US 255 vybaveného skupinovou adresou 31/7/66, obsaženou v telegramu. Při průchodu telegramu každou spojkou se routingové číslo RC zmenšilo vždy o jedničku, takže v cíli je jeho hodnota rovna nule. Pokud by v instalaci byla montážní chyba – například naznačené nesprávné propojení linií, telegram s RC = 0 již nebude liniovým opakovačem LO 28 předán k dalšímu přenosu.

Obr. 12: Chybné propojení sběrnice v KNX instalaci

V diagnostických postupech je možné skupinovou adresu vybavit routingovým číslem 7. Potom již při průchodech sběrnicovými spojkami není snižováno, zůstává nezměněno. Pokud je v instalaci montážní chyba, např. podle obr. 5, telegram bude po sběrnici předáván neustále, bez časového omezení – například až do restartování sběrnice. Je tomu tak proto, že každá spojka je ve své podstatě přenosovým přístrojem, který nejdříve celý telegram přijme, prověří neobsazenost následujícího úseku sběrnice a odešle jej s určitým časovým zpožděním. Na každé linii nebo v každém liniovém segmentu se z pohledu přenosu jedná vždy o nový telegram.

Pokud je adresátem konkrétní přístroj (fyzická adresa), jedná se o programovací telegram. I tyto programovací telegramy jsou často opatřeny routingovým číslem 6, avšak některé z nich mohou být vybaveny i číslem 7.

Pole délky telegramu a datové pole

Pole pro vymezení délky telegramu (4 bity) udává, kolik bytů obsahuje následující datové pole. A velikost datového pole závisí na přenášeném příkazu (je tedy závislá na typu datového bodu DPT = Date Point Type). Pole

Nahrávám...
Nahrávám...