Identifikujte potřebné telegramy z normy EN13757 a určete způsob implementace
komunikačního protokolu měřičů SonoSelect 10 a SonoSafe 10 do telegramu M-Bus.
Tento dokument obsahuje popis protokolu M-Bus implementovaného pro měřiče SonoSelect
10 a SonoSafe 10. Protokol M-Bus bude splňovat požadavky normy EN13757.
2 Architektura
Na základě softwarové architektury měřičů SonoSelect 10 a SonoSafe 10 bude
komunikace rozdělena do tří vrstev.
«Komponenta»
ENMBus_ApplicationLayer
«Komponenta»
ENMBus_DataLinkLayer
«Komponenta»
WiredMBus
«Komponenta»
IR
Vrstva 7
Vrstva 2
Vrstva 1
Aplikační
Linková
Fyzická
Obrázek 1 – model OSI a architektura HM
Protokol M-Bus pro infračervenou a kabelovou komunikaci bude identický, a tyto dvě
komponenty tudíž budou sdílet stejnou linkovou a aplikační vrstvu. Protokol M-Bus bude
podporovat jen fyzickou, linkovou a kombinovanou transportní a aplikační vrstvu. Ostatní
vrstvy uvedené v normě EN13757-3 jsou volitelné a nebudou součástí implementace
komunikace pomocí kabelové sběrnice M-Bus měřičů SonoSelect 10 a SonoSafe 10.
Podle normy EN13757-1 musí být transportní vrstva zpracována v aplikační vrstvě.
Fyzická vrstva zajišťuje sériovou asynchronní poloduplexní komunikaci.
Měřič slouží jako zařízení slave a každý přenášený znak se skládá z následujících 11 bitů:
•
1 počáteční bit („Space“)
•
8 datových bitů
•
1 paritní bit (sudá)
•
1 ukončovací bit („Mark“)
Zařízení master vydá požadavek a zařízení slave zareaguje.
3.2 Proces probuzení a změny přenosové rychlosti (IR)
Protože optické rozhraní používá protokol dle normy EN 13757-2, zprávu probuzení lze zaslat
do měřiče tepla vždy po uplynutí doby nečinnosti, která je delší než 330 bitů. Zpráva probuzení
se skládá ze střídajících se nul a jedniček při požadované přenosové rychlosti po dobu
(2,2 ± 0,1) s. Po uplynutí doby nečinnosti trvající 33 až 330 bitů může být zahájena
komunikace.
3.3 Změny přenosové rychlosti
Požadavky na přenosovou rychlost vyplývající z normy EN13757-3 jsou následující:
•
IR rozhraní podporuje rychlost 2 400 a 4 800 baudů.
•
Přenosová rychlost kabelové komunikace podporuje rychlost 300, 2 400,
4 800 a 9 600 baudů.
•
Přenosová rychlost je po resetování zařízení udržována.
Měřiče s verzí hardwaru 5 jsou vybaveny automatickou detekcí přenosové rychlosti
u IR i kabelového M-Bus rozhraní.
Maximální datové záznamy:
Maximální délka datového záznamu je 235 bajtů.
Vyhledávání podle zástupného znaku (Sekundární adresa)
Sekundární adresu najdete pomocí vyhledávání podle zástupného znaku (CI = 52H). Horní
pozice se stanoví v deseti výběrech ze znaků 0–9 (0FFFFFFF–9FFFFFFF). Když je nalezeno
zařízení slave, odpoví příkazem ACK a zařízení master si vyžádá úplnou sekundární adresu,
která se vrátí v příkazu RSP_UD ze zařízení slave. Pokud dojde k jakékoli kolizi, zařízení
pozmění následující pozice a stávající pozici ponechá.
Po přijetí platného telegramu musí zařízení slave počkat po časový úsek od 11 bitů do 330 bitů
+ 50 ms, než odpoví (EN1434-3).
Přenosová rychlostMin.Max.
300 baudů 36,7 ms 1 150 ms
2 400 baudů 4,6 ms 187,5 ms
4 800 baudů 2,3 ms 118,8 ms
9 600 baudů 1,2 ms 84,4 ms
3.4 Linková vrstva (DLL)
V této části je popsána linková vrstva. Níže je vyobrazen jeden z rámců používaných
ve standardu M-Bus. Další rámce M-Bus najdete v části 4.1.
Řídicí rámec
Start = 68h
Pole L = 3
Pole L = 3
Start = 68h
Pole C
Pole A
Pole Cl
Kontrolní součet
Stop = 16h
3.4.1 Pole C (řídicí pole, funkční pole) – velikost pole 1 bajt
Funkční pole specifikuje směr toku dat a má různé další úkoly jak ve směru volání,
tak ve směru odpovídání, ale řada z nich je volitelná a tudíž není implementována.
Číslo bitu 76543210
Směr volání 0 1 FCB FCV F3 F2 F1 F0
Směr
odpovídání
0 0 ACD DFC F3 F2 F1 F0
•
Bit7 je vyhrazen pro použití v budoucnu.
•
Bit6 specifikuje směr toku dat. Pokud má hodnotu 1, komunikace probíhá ve směru
master-slave, a pokud má hodnotu 0, směr komunikace je opačný.
•
FCB Při tomto bitu zařízení slave nekoná a vždy posílá nová data.
•
FCV Tento bit zařízení slave ignoruje.
•
DFC (řízení toku dat) Není podporováno, hodnota musí být 0.
•
ACD (požadavek na přístup) Není podporováno, hodnota musí být 0.
REQ_UD1 01F1 1010 5A/7A Krátký rámec Požadavek na data třídy 1
REQ_UD2 01F1 1011 5B/7B Krátký rámec Požadavek na data třídy 2
REQ_SKE 0100 1001 49 Krátký rámec Požadavek na stav
RSP_SKE 0000 1011 0B Krátký rámec
RSP_UD 00AD 1000 08 Dlouhý/Řídicí
Pole C
(HEX)
TelegramPopis
dat do zařízení slave
Stavová data,
slave-master
Přenos dat ve směru
slave-master na vyžádání
Na telegramy REQ_UD1 se odpovídá příkazem ACK, protože protokoly Alarm nejsou podporovány.
3.4.2 Pole A (Pole adresy) – 1 bajt
Primární adresu měřiče lze nastavit na hodnotu 0–250. Výchozí primární adresa je součástí
sériového čísla (červená písmena: ssssswwNNyyww) a vždy se jedná o číslo od 00 do 99.
Chcete-li změnit primární adresu, použijte buď aplikaci SonoApp, nebo příkaz M-Bus
popsaný dále v tomto dokumentu.
Dvoubodové adresování (0xFE) je určeno pro komunikaci pomocí infračeveného rozhraní
nebo pro síť s pouze jedním zařízením slave (používá se pro test sítě s jedním zařízením
slave).
Vysílání (0xFF) se používá pro komunikaci v síti se všemi zařízeními slave, například pro
současné nastavení nové přenosové rychlosti ve všech zařízeních slave. V režimu vysílání
nepoužije zařízení slave v odpovědi žádný potvrzovací bajt.
Sekundární adresu lze použít k výběru zařízení slave. Toto zařízení slave lze posléze
kontaktovat pomocí primární adresy FDH. Všechna zařízení slave mají jedinečnou sekundární
adresu, což zajišťuje, že odpoví jediné zařízení slave.
Pole délky (Pole L) definuje počet bajtů (vyjádřený hexadecimálně) aktivních dat, která tvoří
telegram, plus 3 bajty pro pole C, A a Cl.
Toto pole je vždy vysíláno dvakrát v dlouhých telegramech (RSP_UD), viz část 4.1.
3.4.4 Pole CS – 1 bajt
Kontrolní součet (Pole CS) slouží k rozpoznání chyb přenosu a synchronizace. Kontrolní součet
se počítá z aktivních dat, která tvoří telegram, plus 3 bajty pro pole C, A a Cl. Všechny bajty
se sečtou dohromady do 8bitového nepodepsaného celého čísla, což znamená, že když hodnota
překročí hodnotu Ffh, vrátí se a začne se od začátku.
Pole CI deklaruje směr transportu a aplikační protokol (pokud existuje). Pole CI také
deklaruje, který typ transportní vrstvy (hlavička „Žádná“, „Krátká“ nebo „Dlouhá“) je použit.
U měřičů SonoSelect/Safe s komunikací pomocí kabelové sběrnice M-Bus je vždy použita
dlouhá hlavička (0x72).
Měřiče SonoSelect/Safe podporují následující pole CI.
Pole CI (HEX)Směr
50 Reset aplikace
51 Data odeslaná do zařízení
52 Výběr zařízení slave (bez hlavičky)
72
Dlouhá hlavička obsahuje 12 bajtů, které se používají k identifikaci měřiče, sledování nové
nebo staré zprávy a použití šifrování.
Pro kabelem připojené měřiče Danfoss není v současnosti šifrování k dispozici,
což znamená, že hodnota konfiguračního pole je vždy 0000H.
V následující tabulce je popsána 12bajtová hlavička:
Č. bajtu Velikost
(bajty)
1–4 4 xx xx xx xx Identifikační číslo měřiče
5–6 2 D310 ID výrobce (DFS Danfoss 10D3h)
7 1 xx Číslo verze firmwaru (00-FF)
8 1 04/0C Médium: Vstup/výstup tepla
9 1 xx Přístupové číslo (00-FF-> 00)
10 1 xx Stav
11–12 2 0000 Konfigurace
Hodnota
(Hex)
Popis
Identifikační číslo (sekundární adresa) je číslo, které nelze změnit (podle modelu OMS)
z intervalu 00000000 až 99999999. Identifikační číslo je součástí sériového čísla měřičů
Danfoss a je jedinečné. (V instalacích s jinými měřiči, kde se vyskytuje stejná adresa,
je možné adresu změnit pomocí aplikace SonoApp nebo příkazu M-Bus uvedeného dále.)
Sekundární adresa je odvozena od sériového čísla. Sériové číslo má následující formát:
ssssswwNNyyww
Sekundární adresa má následující formát:
ywwsssss
ID výrobce se používá k identifikaci výrobce měřiče. Každý výrobce má přidělený příznak
tvořený třemi velkými písmeny, která lze podle normy EN13757-3 zkombinovat do dvou bajtů.
Příznak výrobce Danfoss je DFS (10D3h) a je vždy součástí dlouhé hlavičky.
Číslo verze se používá k identifikaci, zda se jedná o měřič:
•
SonoSafe (0x01)
•
SonoSelect (0x02)
Bajt média identifikuje způsob instalace snímače průtoku měřiče a pro každý typ měřiče
jsou dostupná dvě nastavení:
•
Měřiče se vstupem tepla (přívod 0x0C)
•
Měřiče s výstupem tepla (zpátečka 0x04)
•
Měřič chlazení (objem se měří z teploty ve vratném potrubí: výstup)
Měřič chlazení (objem se měří z teploty v přívodním potrubí: vstup)
•
Kombinovaný měřič
•
Vodoměr (pouze pro impulzní odečet)
Přístupové číslo má nepodepsané binární kódování a jeho hodnota se zvyšuje (modulo 256)
o jedničku po každém odeslání příkazu RSP-UD ze zařízení slave.
3.5.3 Stavový bajt a zpracování chyb
Stavový bajt se používá k indikaci různých potenciálních chyb měřiče. Chyby jsou uvedeny
v následující tabulce:
BitVýznam s nastaveným
bitem
0,1 Viz tabulka 5 Viz tabulka 5
2 Nedostatečné napájení Napájení Ok
3 Trvalá chyba Není trvalá chyba
4 Dočasná chyba Není dočasná chyba
5 Podle výrobce Podle výrobce
6 Podle výrobce Podle výrobce
7 Podle výrobce Podle výrobce
Stavový bit 1 bit 0
0 0 Žádná chyba
0 1 Aplikace zaneprázdněna
1 0 Libovolná chyba aplikace
1 1 Abnormální stav/alarm
Význam s nenastaveným
bitem
Stavový bit bude použit v následujícím významu:
Nedostatečné napájení:
Varování – Bit „Nedostatečné napájení“ signalizuje jen přerušení externího napájení, nebo
konec životnosti baterie.
Trvalá chyba:
Chyba – Bit „Trvalá chyba“ je nastaven jen tehdy, když měřič signalizuje fatální chybu zařízení,
která vyžaduje servisní zásah.
Dočasná chyba:
Varování – Bit „Dočasná chyba“ je nastaven jen tehdy, když měřič signalizuje menší
chybu, která nevyžaduje okamžitý servisní zásah. Může se jednat o chybu, která časem
zmizí.
Libovolná chyba aplikace:
Chyba aplikace se použije k signalizaci chyby, ke které došlo během interpretace nebo
spuštění přijatého příkazu, například zprávy, kterou nelze dešifrovat.
Datový informační blok (DIB) obsahuje přinejmenším jeden DIF, ale v případě potřeby ho lze
rozšířit na 10 DIFE.
Hodnoty DIF podporované měřiči Danfoss:
BitNázevPopis
7 Rozšiřovací bit Specifikuje, zda následuje bajt DIFE:
0 = Ne
1 = Ano
6 Nejnižší platný bit čísla
uložení
5–4 Funkční pole Specifikuje druh hodnoty:
3–0 Datové pole
0, pokud není protokol odeslán
00 = Okamžitá hodnota
01 = Maximální hodnota
10 = Minimální hodnota
11 = Hodnota během chybového stavu
Délka a kódování dat:
0001 (0x01): 8bitové celé číslo
0010 (0x02): 16bitové celé číslo
0011 (0x03): 24bitové celé číslo
0100 (0x04): 32bitové celé číslo
0110 (0x06): 48bitové celé číslo (jen pro záznam)
0111 (0x07): 64bitové celé číslo (jen pro záznam)
1001 (0x09): 2ciferné BCD
1010 (0x0A): 4ciferné BCD
1011 (0x0B): 6ciferné BCD
1100 (0x0C): 8ciferné BCD
1101 (0x0D): Proměnná délka (jen pro TX)
1111 (0x0F): Data specifická pro výrobce
Hodnoty DIFE podporované měřiči Danfoss:
BitNázevPopis
7 Rozšiřovací bit Specifikuje, zda následuje bajt DIFE:
0 = Ne
1 = Ano
6 Jednotka Specifikuje, zda se jedná o čítač impulzů nebo
hodnotu chlazení
5–4 Tarif Používá záznamy °C*m^3
3–0 Číslo uložení 0000 (používá se jen pro protokoly)
DIFE se používá pro výběr čítače impulzů 1 a 2. Pokud má první DIFE nastavenou jednotku
na 1, jedná se o čítač impulzů 1. Pokud je jednotka nastavená ve druhém DIFE, jedná se o
čítač impulzů 2 (viz část 4.4.2.7). Jednotka DIFE 3 se používá pro záznamy chlazení (Energie,
Objem, Max. průtok, Max. výkon).
Číslo uložení DIFE se používá k zobrazení hodnot protokolu a toho, který typ protokolu je zasílán.
Číslo uložení 1 a 2 se používá pro roční historii 1 a 2.
Číslo uložení 3 až 26 se používá pro měsíční historii 1 až 24.