Driver protokolu M-Bus slouží pro připojení měřičů (elektroměrů, vodoměrů, kalorimetrů...), které komunikují protokolem M-Bus. Musíme rozlišovat:
- M-Bus jako fyzický (hardwarový) standard - dvouvodičová sběrnice, která poskytuje měřičům napájení a přes kterou se master dotazuje měřičů na hodnoty
- M-Bus jako komunikační protokol, který ovšem může být přenášen i po jiném typu sběrnice, než je M-Bus, například po sériové lince RS232.
PLC Domat rozhraní M-Bus fyzicky nemají, a je proto nutné pro připojení sběrnice M-Bus na PLC použít převodník, např. Domat R095 nebo R096. Převodník se připojuje na rozhraní RS232, tedy např. COM1 nebo COM2 u mark320. Toto číslo COM portu se proto vybírá v nastavení driveru. Pravým kliknutím na PLC založíme nový kanál. V pravé části nastavíme jeho vlastnosti: 
Vlastnosti kanáluNázev - obvykle se pojmenuje podle zařízení, která jsou na něj připojena, nebo sběrnice v projektu, např. "Kalorimetry_jih". Povolit - kanál musí být povolen (True), aby komunikoval. Protokol - vybereme M-Bus Linkový protokol - Serial (pro komunikaci na portech COM...)
Parametry protokolu M-BusPočet pokusů - kolikrát se má driver dotázat měřiče, než je pokus o čtení označen jako neúspěšný Metoda detekce kolizí:
- Nepřímo z přijatých dat
- CTS Pin (Při kolizi neaktivní signál)
- DCD Pin (Při kolici naktivní signál)
- CTS Pin (Negovaný)
- DCD Pin (Negovaný)
- CTS Pin (Čeká se na reset pinu)
- DCD Pin (Čeká se na reset pinu)
- CTS Pin (Negovaný, čeká se)
- DCD Pin (Negovaný, čeká se)
Timeout čekání při výběru (Oživování) - jedná se o časový limit odpovědi, do kdy má přijít odpověď na select/reset telegram, tedy že měřidlo "existuje" (jen v oživovacím módu) Timeout čtení (Oživování) - časový interval, po kterém se vyhlásí chyba komunikace, pokud se nepodaří vyčíst hodnoty z měřidla (jen v oživovacím módu) Timeout čtení - časový interval, po kterém se vyhlásí chyba komunikace, pokud se nepodaří vyčíst hodnoty z měřidla Pozn. - volně definovatelná poznámka
Parametry sériové linkyČíslo portu - COM port podstanice.
Následující parametry musejí odpovídat nastavení měřičů, které jsou na M-Bus připojeny. Měřiče musí být naadresovány a musejí mít nastavenou stejnou komunikační rychlost, jaká je nastavena zde.
Přenosová rychlost - komunikační rychlost v bit/s, obvykle 2400 nebo 9600Počet datových bitů - počet datových bitů v jednom bajtu, M-Bus standard je 8Parita - zvolte komunikační paritu - žádnou, sudou nebo lichou, M-Bus standard je SudáPočet stop bitů - počet bitů, které signalizují konec přenášeného bajtu, M-Bus standard je 1
Pravým kliknutím na kanál otevřeme kontextové menu. Pro přidání měřiče existují čtyři možnosti:
- Vytvořit měřič M-Bus z reálného zařízení
- Hledat M-Bus měřiče v síti
- Přidat zařízení
- Přidat zařízení z knihovny
Pokud známe typ měřiče a jeho adresu, tedy sběrnice je (nebo bude) nakonfigurovaná předem a máme k dispozici tabulku měřičů s adresami, je možné použít funkci Přidat zařízení, v něm Přidat skupinu a ve skupině Přidat datový bod (nebo postupně více datových bodů, podle toho, kolik hodnot potřebujeme z měřiče číst). K tomu je ale nutné znát parametry DIF/VIF a offset hodnoty v telegramu. Ty by měl dodat výrobce měřiče. Je proto vhodnější postupovat tak, že
vytvoříme měřič M-Bus z reálného zařízení:
- připojíme se k PLC, které je připojeno na sběrnici s měřiči
- pravým tlačítkem na kanál, Vytvořit měřič M-Bus z reálného zařízení
Pokud PLC není v režimu Oživování, je do něj automaticky přepnuto:

- vybereme způsob, jak bude měřič detekován. Pokud měřiče nebyly naadresovány primárními adresami (1...250), použijeme sekundární adresu (výrobní číslo).

- u detekovaného měřiče vybereme hodnoty, které chceme importovat, a klikneme na Další.

- PLC je přepnuto z módu Oživování do původního módu, potvrdíme kliknutím na OK. V seznamu zařízení na komunikačním kanálu se objeví nové zařízení s příslušnou adresou a vlastnostmi, které byly vyčteny ze skutečného přístroje na sběrnici. Pokud je na sběrnici připojeno více měřičů a je nutné je detekovat nebo potřebujeme zkontrolovat, zda je komunikace v pořádku, použijeme funkci
Hledat M-Bus měřiče v síti. Po kontrole, zda PLC je v módu oživování, a případném přepnutí

vybereme způsob, jak budou měřiče detekován. Pokud měřiče nebyly naadresovány primárními adresami (1...250), použijeme sekundární adresu (výrobní číslo).

Detekce může trvat až několik minut, u sekundárních adres je pro procházení celého rozsahu potřebná doba i více než čtvrt hodiny (záleží to na rozmístění sekundárních adres v celkovém adresním prostoru). Nalezené měřiče jsou pak vypsány v tabulce.

V tomto příkladu byl na sběrnici nalezen pouze jeden měřič. (Dialog zároveň umožňuje změnit nebo nastavit primární adresu měřiče. To může významně usnadnit uvádění do provozu - adresování probíhá zároveň s kontrolou a není potřeba používat cizí adresovací program s M-Busovým převodníkem na portu PC. Adresování M-Bus měřičů lze tedy provádět i na dálku přes PLC v módu oživování.) Měřiče, které chceme importovat, označíme v okénku
Importovat. Neoznačené měřiče budou při importu ignorovány. Individuální výběr se využívá například tehdy, přidáváme-li další měřiče na již nakonfigurovanou sběrnici. Při výběru všech měřičů by se existující měřiče importovaly znovu a vznikla by duplicitní zařízení. Pokud je měřič stejného typu nalezen v knihovně M-busových zařízení, převezme se zařízení včetně seznamu vybraných proměnných z knihovny. Chceme-li pro detekovaný měřič založit samostatné zařízení a ručně vybrat importované proměnné ze seznamu všech proměnných, dostupných v měřiči, zaškrtneme u měřiče volbu
Vytvořit. Měřiče jsou pak importovány postupně s možností výběru konkrétních proměnných pro každý z nich. Funkce
Přidat zařízení vloží do kanálu "prázdné" zařízení, jehož všechny parametry je nutné vyplnit ručně. Tato funkce se používá tehdy, potřebujeme-li vytvořit zařízení s definovanými parametry a nemáme přístup na funkční sběrnici s měřičem. Funkce
Přidat zařízení z knihovny nabízí vložení zařízení, které je uloženo v knihovně M-Busových měřičů. Tato knihovna bude v dalších verzích Domat IDE postupně rozšiřována, aktuálně je možné si do ní uložit vlastní měřiče (pravým tlačítkem na měřič,
Vytvořit knihovnu). Po vybrání zařízení z knihovny mu nezapomeňme nastavit primární nebo sekundární adresu měřiče a vybrat, kterou z nich bude PLC s měřičem komunikovat:
Vkládání měřičů do knihovny Jakmile je zařízení vytvořeno a vyzkoušeli jsme komunikaci, můžeme jeho prototyp přidat do knihovny a příště ho místo detekce vložit z knihovny. Pro uložení do knihovny je třeba vyplnit ve vlastnostech zařízení sekce
Definice prototypu a
Informace o zařízení.
Vlastnosti zařízeníNázev - zařízení je možné pojmenovat podle toho, kde je měřič umístěn nebo co měří, např. Byt315EL.
Povolit - aby zařízení komunikovalo, musí být povoleno (True).
Je specifický box - informace o tom, zda zařízení je z knihovny (False), nebo je lze upravovat (editovat) (True).
Rozšíření zařízení - zatím nevyužito.
Pozn. - libovolná poznámka
Parametry zařízení M-BusPrimární adresa - M-busová adresa v rozsahu 1...250. Tato adresa musí být na zařízení nastavena, obvykle zařizuje dodavatel zařízení.
Sekundární adresa - adresa zadaná výrobcem zařízení, obvykle sériové číslo měřiče. Nelze běžně měnit.
Použít sekundární adresu - pokud True, pro komunikaci je použita sekundární adresa místo adresy primární.
Počet telegramů - při použití autodetekce není potřeba měnit.
Výrobce - třípísmenná zkratka výrobce měřiče
Verze - celé číslo, hodnota typu byte
Médium - na výběr je jedno z médií předdefinovaných ve standardu M-Bus
Pozn. - libovolná poznámka
Definice prototypu ID modelu - volně definovatelné, poznámka pro konkrétní typ měřiče
ID verze přístroje - volně definovatelné
ID výrobce - volně definovatelné, poznámka pro jméno výrobce měřiče (doporučuje se třípísmenný kód podle seznamu DLMS (https://www.dlms.com/flag-id/flag-id-list)
Zámek pro linkový protokol - má být False
Verze prototypu - verze ve formátu
vX\_YStav - volně definovatelné, poznámka pro fázi vývoje (Vývoj, Test, Vydání (ostrá verze), Zastaralý, Porušený (= odštěpená větev od hlavní vývojové větve)).
Informace o zařízeníModel - volně definovatelné, poznámka pro název hardwaru
Verze - volně definovatelné, poznámka pro verzi hardwaru
Výrobce - volně definovatelné, poznámka pro název výrobce
Cesta kategorie - cesta, kde se zobrazí prototyp zařízení v menu "Přidat zařízení z knihovny", používá se pro lepší orientaci ve stromu uživatelsky definovaných zařízení.
Ruční přidávání měřičů a hodnot Kromě detekování měřičů na sběrnici je možné i přidávat další hodnoty ručně, stejně jako u jiných protokolů. Tento postup má výhodu větší flexibility u měřičů, které používají segmentaci: Některé M-busové měřiče mohou odpověď dělit na více telegramů kvůli omezení max. délky M-Bus rámce na 255 bytů, je tedy potřeba řešit tzv.
segmentaci. Standardní způsob segmentace je takový, že se pošle inicializační dotaz SND\_NKE, který měřidlo potvrdí a resetuje si interní čítač segmentu. Master ale dopředu neví, kolik segmentů je k dispozici, a nemá jak to zjistit. Řeší se to tak, že v dotazu na data (REQ\_UD2) je dedikován jeden bít (FCB) jako indikátor požadavku na další telegram v pořadí. Měřidlo si pamatuje poslední přijatý FCB a pokud se liší od aktuálně přijatého, pošle další segment v pořadí a inkrementuje čítač segmentů. Master tedy postupně posílá REQ\_UD2 a neguje FCB, aby dostal další segment v pořadí. Poslední segment má na konci specifický DIF (0F) a dotazování končí.
Pokud má měřič pouze dva telegramy odpovědi, lze podle normy realizovat segmentaci tak, že FCB bude přímo svázané se segmentem. Tzn. pro FCB=0 měřič vrací vždy první segment odpovědi, pro FCB=1 druhý segment odpovědi. Není potřeba posílat inicializaci, měřič nemusí mít interní čítač segmentů, ani si pamatovat poslední stav FCB.
Tato pravidla je dobré znát, pokud tvoříme měřič ručně. Skupina (Group) datových bodů v zařízení odpovídá segmentu. Parametr ve skupině "Číslo telegramu" je číslo segmentu.

Název - volně definovatelné Interval čtení / zápis - u některých měřičů s bateriovým napájením je nutné omezit počet zakomunikování na 1 - 2 denně. Zde nastavte interval, v jakém bude měřič dotazován. U měřičů kompletně napájených po sběrnici M-Bus nebo z jiného zdroje (např. elektroměrů) lze vyčítat tak často, jak to dovolí poměry na sběrnici (pak nechme interval 0ms). Typ skupiny - zde Pouze pro čtení, Read Only. Pozn. - volně definovatelné Číslo telegramu - číslo segmentu, viz výše Timeout odezvy - jak dlouho PLC čeká na odpověď, než vyhlásí chybu čtení. Doporučuje se nechat nastavenou hodnotu 1.5 s. Struktura odezvy:
- Variable structure: odpovědi z měřiče mají proměnnou délku, obsahují více proměnných za sebou, může dojít k segmentaci, používá se výše popsaný mechanismus s FCB
- Fixed structure: odpověď má pevnou délku, typicky obsahuje pouze dva čítače
- Request selection: jako Variable structure, ale pro segmentaci lze použít přímý dotaz na konkrétní segment - není třeba se dotazovat postupně opakovanou negací FCB.
Definice ofsetu hodnoty s DIF/VIF - tímto lze povolit nutnost definovat offset pro datový bod v režimu VariableStructure, kde pro komunikaci v tomto režimu většinou stačí vyhledávat pouze zadaný Dif/Vif v přijatém telegramu
U proměnných ve skupině jsou nejdůležitější parametry DIF/VIF a Offset. Ty určují pozici hodnoty v telegramu.

DIF/VIF - parametr podle dokumentace k měřiči Offset - parametr podle dokumentace k měřiči Hodnota se znaménkem - U kumulovaných veličin, jako je energie, objem atd. je obvykle hodnota bez znaménka. U aktuálních veličin (výkon...) se může stát, že je nutné tuto volbu nastavit na True. Zkontrolujte dokumentaci výrobce měřiče nebo kontaktujte technickou podporu Domat Control System. Parsování VIF - parametr VIF se bere z příchozího telegramu a ne ze zadání v parametru DIF/VIF. Zkuste použít, pokud je parametr VIF neznámý nebo zadaná hodnota nefunguje správně.