Protokol M-Bus Rev. 4.8

Podporované typy a verzie zariadení 
Konfigurácia komunikačnej linky
Konfigurácia komunikačnej stanice
Konfigurácia meraných bodov
Špecifické údaje zariadenia Multical III
Nastavenie parametrov a spôsob zberu údajov
Literatúra
Zmeny a úpravy
Revízie dokumentu

Podporované typy a verzie zariadení


Komunikácia podporuje čítanie údajov zo zariadení podporujúcich protokol M-Bus podľa špecifikácie Rev. 4.8. Testované boli merače MULTICAL® III, MULTICAL® 5 firmy KAMSTRUP, CALSTREEM EEM-C firmy Danfoss a PolluTherm Pt500 firmy Sensus.
Komunikácia bola tiež overená voči prietokomeru Sensus MeiStream 150 s komunikačným modulom HRI-Mei a s použitím prevodníka EthMBus-5 firmy JC-e (bolo nutné nakonfigurovať prevodník do módu TCP a použiť linku TCP/IP-TCP).

Konfigurácia komunikačnej linky


  • Kategória komunikačnej linky: Serial, SerialOverUDP Device Redundant, MOXA IP Serial Library, TCP/IP-TCP.
    Pozn: na linke TCP/IP-TCP je v prípade redundantných systémov možné zadávať aj viacero mien/adries oddelených čiarkami
  • Bežné nastavenie pre väčšinu M-Bus zariadení:
    • Mód 1: Prenosová rýchlosť 300, 8 bit, 1 stop bit, párna parita, RTS=1, DTR=1.
    • Mód 2: Prenosová rýchlosť 2400, 8 bit, 1 stop bit, párna parita, RTS=1, DTR=1.

Parametre protokolu linky

Môžu byť zadané nasledovné parametre protokolu linky:

Kľúčové slovo Plný názov Popis Jednotka Náhradná hodnota
CHBR Change Baudrate Hodnota Yes znamená, že komunikácia bude prepínaná medzi módom 1 a 2 (iba linka Serial).
Hodnota No znamená, že komunikácia bude prebiehať len pomocou módu 1 (300 Baudov).
- No
SNKEBR Send SND_NKE as Broadcast Hodnota Yes znamená, že príkaz SND_NKE (inicializácia slave zariadenia) sa pošle ako Broadcast pred čítaním z prvej stanice na linke.
Hodnota No znamená, že príkaz SND_NKE sa pošle každému zariadeniu pred začiatkom čítania.
Poznámka: ak je parameter nastavený na Yes, po poslaní Broadcastu sa čaká podľa parametra stanice WAI.
- Yes

Konfigurácia komunikačnej stanice


  • Komunikačný protokol: M-Bus Rev 4.8
  • Adresa stanice je dekadické číslo v rozsahu 1 až 250 – je to adresa slave-u, odvodená je z výrobného čísla merača ako posledné trojčíslie. Ak posledné tri číslice čísla merača presahujú 250, najvyššia číslica sa neberie do úvahy. Ak je číslo merača jedno z čísel 000, 300, 400, 500, 600, 700, 800, 900 bude potrebné ich zmeniť.

Parametre protokolu stanice

Môžu byť zadané nasledovné parametre protokolu stanice:

Kľúčové slovo Plný názov Popis Jednotka Náhradná hodnota
ASCM Address Scan Mode Pri každom vyčítavaní hodnôt sa inkrementuje adresa stanice. Tento mód je možné využiť na nájdenie zariadenia s neznámou adresou. - No
RC Retry Count Počet opakovaní výzvy v prípade chyby komunikácie. - 2
RT Retry Timeout Oneskorenie medzi opakovaním výzvy v prípade chyby komunikácie. ms 100 ms
WFT Wait First Timeout Prvé čakanie na odpoveď po odoslaní výzvy. ms 800 ms
WT Wait Timeout Oneskorenie medzi čítaniami odpovede do jej skompletovania. ms 500 ms
MWR Max Wait Retry Počet opakovaní čítania odpovede do jej skompletovania. - 40
WAI Wait After SND_NKE Broadcast Čakanie po poslaní broadcastu SND_NKE pred čítaním z prvej stanice na linke. ms 8000 ms
WBR Wait before REQ_UD2 Request Čakanie pred poslaním správy REQ_UD2 slave stanici. ms 4000 ms
SFAI Set FCB Bit after SND_NKE Či sa FCB bit v prvej výzve po poslaní SND_NKE má nastaviť na hodnotu 1 (YES) alebo 0 (NO). - YES
AFOR Accept Following Records (0=disable,255=read all) Pokiaľ má slave stanica k dispozícii Variable Data, parameter udáva množstvo vyčítaných záznamov počas jedného obvolania stanice. Hodnota 255 znamená, že sa vyčítajú všetky dostupné záznamy. - 0
RESB Send Application Reset before REQ_UD2 Voliteľné poslanie správy 'aplikačný reset' (50h) pred začiatkom vyčítavania hodnôt na stanici. - NO
WUL WakeUp Length Dĺžka tzv. budiacej správy (v znakoch) vysielanej pred každou výzvou. Hodnota 0 znamená, že budiaca správa sa neposiela. bytes 0
WUD WakeUp Delay Oneskorenie medzi budiacou správou a výzvou. ms 400
FULL_DEBUG Full Debug Zapína ladiace výpisy o komunikácii a získaných údajoch. - NO
MULTICALIII Multical III Povoľuje dekódovanie údajov "Manufacture specific data" zariadenia Multical III. - NO

String s parametrami protokolu sa zapisuje podľa pravidiel:

Kľúčové_slovo=hodnota;Kľúčové_slovo=hodnota; ...

Príklad:

RC=1;RT=500;LBR=1;

Ak nebolo v inicializačnom stringu nájdené kľúčové slovo s platnou hodnotou, použije sa náhradná hodnota podľa tabuľky.

Konfigurácia meraných bodov


Povolené typy bodov: Ai, Ci, TiA, TiR, TxtI

Je možné nakonfigurovať dva typy adries:

  • Jednoduchá adresa : vyžaduje zadanie jedného čísla, ktoré je indexom hodnoty v dátovom pakete M-Bus. Bližšie informácie o neznámom zariadení je možné získať aktivovaním ladiacich výpisov parametrom protokolu FULL_DEBUG.
    Príklad ladiaceho výpisu (jednotlivé riadky zodpovedajú objektom s adresami 1 až 9, hodnota je uvedená na konci výpisu za textom "Val"):
    >> Adr.1,DF:0CH (8 digit BCD)(inst. val),VIF:05H=Energy 0*10^2 [Wh],VIFE:7DH=Multiplicative corr. factor 10^3,Val:0
    >> Adr.2,DF:0CH (8 digit BCD)(inst. val),VIF:15H=Volume 0*10^-1 [m3],Val:0
    >> Adr.3,DF:0CH (8 digit BCD)(inst. val),VIF:3DH=Volume Flow 0*10^-1 [m3/h],Val:0
    >> Adr.4,DF:0CH (8 digit BCD)(inst. val),VIF:2DH=Power 0*10^2 [W],Val:0
    >> Adr.5,DF:02H (16 bit int)(val during err),VIF:5AH=Flow temperature 0*10^-1 [C],Val:0
    >> Adr.6,DF:02H (16 bit int)(val during err),VIF:5EH=Return temperature 0*10^-1 [C],Val:0
    >> Adr.7,DF:03H (24 bit int)(val during err),VIF:60H=Temperature difference 0*10^-3 [K],Val:0
    >> Adr.8,DF:0CH (8 digit BCD)(inst. val),VIF:78H=Fabrication No.,Val:53155203
    >> Adr.9,DF:0CH (8 digit BCD)(inst. val),VIF:7DH=Extension of VIF-codes,VIFE:10H=Customer location,Val:53155203
    
  • Adresa objektov hlavičky: vo formáte 0.subadr umožňuje adresovať objekty nachádzajúce sa v hlavičke odpovede. Zariadenie môže odpovedať fixnou alebo variabilnou odpoveďou, ktoré sa líšia obsahom hlavičky. Nasledujúca tabuľka udáva zoznam objektov a ich adresy pre fixnú a variabilnú odpoveď.
    Objekt Typ hodnoty Adresa vo fixnej odpovedi Adresa vo variabilnej odpovedi
    Identification No. Ci, TxtI 0.0 0.0
    Manufacturer TxtI (3 znaky) - 0.1
    Version Ci - 0.2
    Medium Ci - 0.3
    Access No. Ci 0.1 0.4
    Status Ci 0.2 0.5
    Signature Ci - 0.6

    Príklad ladiaceho výpisu pre variabilnú odpoveď:
    Variable data respond CI=0x72 mode 1 from St:'B.MBUS_SENSUS'(0) detected.
    >> Adr.0.0,Identification No.,Val=53155203
    >> Adr.0.1,Manufacturer,Val='SEN'
    >> Adr.0.2,Version,Val=12
    >> Adr.0.3,Medium,Val=4
    >> Adr.0.4,Access Nr.,Val=50
    >> Adr.0.5,Status,Val=16
    >> Adr.0.6,Signature,Val=0
       

Špecifické údaje zariadenia Multical III


Zariadenie Multical III odosiela rozširujúce "manufacture specific" údaje. Aktivovaním parametra protokolu MULTICALIII je možné nakonfigurovať merané body podľa nesledovnej tabuľky:

Adresa Popis hodnoty Typ
12 Počítadlo prístupu Ci
13 Číslo zákazníka 1 Ci
14 Číslo zákazníka 2 Ci
15 Info Ci
16 TAR2 Ci
17 TL2 Ci
18 TAR3 Ci
19 TL3 Ci
20 AUX1 Ai
21 AUX2 Ai
22 Prog_No Ci
23 Config Ci
24 Dátum TiA
25 Dátum* TiA

Nastavenie parametrov a spôsob zberu údajov


Odporúčané parametre pollingu sú minimálne 1 minúta. Keď nastane čas pollingu, pri čítaní dát prvej stanica na linke sa pošle SND_NKE(255), t.j. init všetkým meračom (Slave-om) a čaká sa dobu danú parametrom WAI. Merače si pripravia všetky aktuálne merané veličiny a implicitne zmenia svoju rýchlosť na 300 baud. Iba rýchlosti 300/600/1200/2400/9600/19200/3840 sú podporované M-Bus protokolom.

Potom nasleduje voliteľne zmena rýchlosti komunikácie na vyššiu rýchlosť (špecifikovanú na linke ako mód 2) telegramom SND_UD, ak je nakonfigurovaná pomocou nastavenia parametra linky Change Baudrate.
Poznámka: zmena módu je podporovaná iba na linke Serial.

Následne sú postupne dotazované všetky merače výzvami REQ_UD2 (pred ktorými sa ešta vždy čaká podľa parametra WBR), na ktoré odpovedajú dátovým telegramom RSP_UD.

Časy jednotlivých hodnôt nebudú nastavené na čas obdržania telegramu, ale na čas požadovanej periódy pollingu. To znamená, ak je perióda nastavená na jednu hodinu, všetky časy hodnôt budú zarovnané na danú hodinu.

Poznámka: Perióda pollingu, ako aj parametre stanice, by mali byť na všetkých staniciach na jednej linke rovnaké.

Literatúra


Zmeny a úpravy


  • 22. nov. 2005 - Prepracovanie podľa M-Bus Rev. 4.8.

Revízie dokumentu


  • Ver. 1.0 - 26. jún 2000 – vytvorenie dokumentu.
  • Ver. 1.1 – 9. nov. 2000 – otestovanie Danfoss CALSTREEM.
  • Ver. 1.2 – 14.dec. 2000 – Zmena vstupov AUX1 a AUX2 z Ci na Ai.
  • Ver. 1.3 - 22. nov 2005 - Prepracovanie podľa M-Bus Rev. 4.8.

Súvisiace stránky:

1 komentár

  1. O protokole M-Bus si môžete prečítať aj blog: Komunikácia – M-Bus

Napíšte komentár