Promotic
WikipediaLinkedInYoutubeTwitterFacebook

PmMBus - Ovladač pro komunikaci protokolem M-BUS

Tento PROMOTIC ovladač slouží pro komunikaci se zařízeními podporujícími M-BUS (Meter-Bus) protokol. Tento protokol je převážně určen pro aplikace sběru dat z měřičů odběru nejrůznějších médií (tepla, elektřiny ...).
- Protokolem M-BUS komunikují měřiče přes speciální fyzické rozhraní (36V) a je proto nutný HW konvertor (viz M-BUS HW převodníky).
 
Před použitím tohoto ovladače v aplikaci PROMOTIC je vhodné přečíst kapitolu: Komunikace pomocí PROMOTIC ovladačů.
 

Základní vlastnosti ovladače

- Použití tohoto ovladače je vázáno na zakoupení licence: PmMBus. S freeeware verzí PmFree nebo při vývoji aplikace (s vývojovou licencí pro testovací účely) je tato komponenta funkční vždy.
- Komunikace je přes Ethernet nebo přes standardní sériovou linku (COM1, COM2 ...).
- Při komunikaci přes Ethernet je tvar přenášených dat stejný jako pro M-BUS pro sériovou linku. Podmínkou tedy je aby převodník M-BUS/Ethernet neměnil přenášená data.
- Aplikace PROMOTIC je z hlediska této komunikace vždy MASTER (tzn. že dává podnět k přenosu dat).
- Ovladač je začleněn do systému PROMOTIC pomocí objektu PmComm.

Ovladač podporuje používání objektů PmCommMsg a PmCommData. Pro běžné případy přenosu dat je výhodnější použít objekt PmCommData.

Pro snadné přidání tohoto ovladače do aplikace je vhodné použít: Předkonfigurace ve skupině "M-BUS protokol"

- Komunikace je síťová, tzn. že jedním objektem PmComm lze komunikovat s více zařízeními (protokol umožňuje adresaci více zařízení).
 
Ovladač lze v aplikaci PROMOTIC velmi obecně konfigurovat:
- Adresování: Každý měřič lze adresovat. V objektu PmCommData lze určit adresu měřiče pro každou proměnnou, v objektu PmCommMsg se určuje adresa v záložce Data-zaslání v proměnné "Address". Hodnoty adres jsou:
- 0250 = standardní adresa konkrétního měřiče.
- 253 = adresa "vybraného" měřiče. Měřič lze do "vybraného" stavu dostat zprávou "Obecný měřič/Výběr slave stanice podle identifikačního čísla".
- 254 = universální adresa. Požadavky přijímají všechny měřiče a všechny měřiče také odpovídají. Má smysl jen když je připojen 1 měřič.
- 255 = universální adresa. Požadavky přijímají všechny měřiče ale nikdo neodpovídá. Má smysl například u zprávy "Obecný měřič/Inicializace Slave (měřiče)".
- Více typů měřičů na 1 lince: Na jedné sériové lince může být napojeno více typů měřičů, mohou se "míchat" například měřiče Kamstrup, Landis, Danfoss, atd.
- Různé formáty dat: Hodnoty jsou z měřičů posílané v různých formátech (BCD nebo binární kódování, uložení na 2/4/6/8 bajtů ...). Ovladač tyto hodnoty automaticky dekóduje.
- Přepočet fyzikální jednotky: Ovladač umí hodnoty přijatých dat automaticky přepočítávat do standardních fyzikálních jednotek. Měřiče totiž tyto hodnoty běžně posílají jako celé číslo s nastaveným příznakem, že jde například o jednotky 0.01C, 0.1kW, atd. Ovladač hodnoty přepočítává do následujících jednotek:
 
Jednotka: Fyzikální veličina:
GJ Energie
W Výkon
m3 Objem
kg Hmotnost
m3/h Objemový průtok
kg/h Hmotnostní průtok
C Teplota (Forward, Return, Difference, External)
mbar Tlak
V Elektrické napětí
A Elektrický proud
počet sekund Doba odezvy (Averaging Duration), Doba aktualizace (Actuality Duration) ..
počet dnů Doba provozu (On time), Operation time
 

Dále se přepočítávají binární formáty datumu (TimePoint) do datového typu Date. Ostatní veličiny (čítač, výrobní číslo ..) se nepřepočítávají.

- Obecné čtení: Ovladač umí číst údaje i z neznámých M-BUS měřidel, pro které nemá předkonfigurace. Čtení takových údajů je založeno na tom, že M-BUS datová zpráva posílá nejen hodnoty, ale i příznaky o typu daného údaje. Tak ovladač ví co daná hodnota ve zprávě znamená a dále s tím pracuje. Čtení těchto hodnot lze využít jak v objektu PmCommData i PmCommMsg:

V objektu PmCommData se konfigurují datové položky tak, že se specifikuje typ údaje (Teplota, Objem ..). Ovladač pak v přijaté zprávě požadovaný údaj nalezne (pokud ve zprávě takový údaj je) a uloží do do položky.

V objektu PmCommMsg slouží pro obecné čtení zpráva "Obecný měřič/Čtení obecně konfigurovaných dat". Projektant může konfigurovat data objektu PmCommMsg přesně podle daného měřiče. Pokud projektant neví co měřič poskytuje, pak lze v této zprávě nastavit, ať se informace o přijatých datech vypíší do INFO systému. Podle tohoto výpisu pak projektant může data objektu nastavit.

- Předkonfigurované zprávy: Pro některé často používané typy měřičů (seznam viz dále) již má ovladač předkonfigurované zprávy. Projektant tak nemusí zjišťovat, jaké údaje měřič posílá. Některé údaje dokonce bez dokumentace k měřiči ani zjistit nelze. Díky předkonfigurovaným zprávám se projektant nemusí o nic starat.
 
Pro příjem veličin z měřičů je jednodušší používat objekty PmCommData. Pro speciální, méně standardní komunikace, lze však použít objekty PmCommMsg, které mají další vlastnosti:
- Záhlaví M-BUS zprávy: Při příjmu standardních dat posílá měřič před daty tzv. záhlaví. Informace z tohoto záhlaví jsou dostupné, protože ovladač pro každou takovou zprávu vygeneruje v záložce Data-příjem následující proměnné:
 
- Address: Adresa měřiče, který posílá data (dle M-BUS protokolu je to položka A-Field). Pokud je v záložce Data-zaslání proměnná Address nastavena na 254 (univerzální adresa), pak měřič odpoví svou skutečnou adresou a lze tak u měřiče s neznámou adresou tuto adresu zjistit. Měřič přímo od výrobce mívá adresu předkonfigurovanou na 0.
- IdentNr: (Indentification Number) Číslo zákazníka v rozsahu od 00000000 do 99999999. Bývá přednastaveno u výrobce na jedinečné číslo, ale může být změněno.
- Manufac: (Manufacturer) Identifikátor výrobce.
- Version: Generace nebo verze měřiče. Určuje výrobce.
- Medium: Měřené médium: 0=jiné, 1=Olej, 2=Elektřina, 3=Plyn, 4=Teplo (měřené ze zpáteční/return teploty: výstup), 5=Pára, 6=Horká voda, 7=Voda, 8=Heat Cost Allocator, 9=Stlačený vzduch, 10=Cooling load meter (měřené ze zpáteční/return teploty: výstup), 11=Cooling load meter (měřené z přívodní/flow teploty: vstup), 12=Teplo (měřené z přívodní/flow teploty: vstup), 13=Heat/Cooling load meter, 14=Bus/System, 15=Neznámé médium, 22=Studená voda, 23=Dual voda, 24=Tlak, 25=A/D Převodník.
- AccessNr: (Access Number) Je zvětšeno o 1 po každém poslaní dat z měřiče.
- Status: Indikuje aplikační chyby. Status bit1.bit0: 0.0=No Error, 0.1=Application Busy, 1.0=Any Application Error, 1.1=Reserved.
 
- Obsluha FCB příznaku: Ovladač volitelně umí automaticky měnit čítač vyslání jednotlivým měřičům (umí automaticky obsluhovat tzv. FCB příznak). Podle tohoto příznaku pak měřič pozná, zda se jedná o nový nebo starý (opakující se) požadavek. Některé měřiče tento příznak nevyužívají, některé by však bez správného nastavování tohoto příznaku neposílaly korektní data. Pro měřiče a zprávy, kde je toto potřeba určit projektantem, je proto v záložce Data-zaslání proměnná "FcbAttr". Lze ji nastavit na hodnoty:
 
0 = neměnit čítač (tzn. FCB příznak se nevyužívá)
1 = příznak se automaticky obsluhuje. Projektant se nemusí starat o změny příznaku, ovladač ho mění sám.
4 = (jen pro spec.účely) FCB=FCV=0
5 = (jen pro spec.účely) FCB=0 a FCV=1
6 = (jen pro spec.účely) FCB=1 a FCV=0
7 = (jen pro spec.účely) FCB=FCV=1
 
- Nestandardní zprávy: Pro speciální zprávy, které neslouží ke standardnímu čtení udajů má ovladač předpřipravené zprávy (zprávy "Obecný měřič/Inicializace Slave (měřiče)" a "Obecný měřič/Změnit Baud rate (kom.rychlost)") nebo může projektant speciální zprávu sestavit na bajtové úrovni (zpráva "Obecný měřič/Bajtově konfigurovatelná zpráva typu vyslaní/příjem" - pro znalce protokolu M-BUS).

Doporučené hodnoty parametrů:

Doporučené hodnoty pro Parametry sériové linky:
Rychlost300 Bd. Tuto rychlost by měly podporovat všechny měřiče. Podle použitých měřičů lze pak rychlost zvětšovat. Další doporučené rychlosti jsou: 2400 Bd, 9600 Bd, 38400 Bd. Mnoho měřičů se umí některým rychlostem přizpůsobit, i když byly nakonfigurovány pro jinou rychlost. Upozornění: převodníky často podporují rychlost jen do 9600 Bd.
Počet datových bitů8 (je předepsáno standardem M-BUS)
ParitaEVEN (sudá) (je předepsáno standardem M-BUS)
Počet stopbitů1
Počet opakování při neúspěšném přenosu0 (lze zvyšovat).

Z důvodu šetření baterie jsou měřiče často nastaveny do "uspávájícího" režimu a je potřeba je při komunikaci vzbudit. Nejjednodušeji se to provede nastavením konfigurátoru "Počet opakování při neúspěšném přenosu" na hodnotu 1 (nebo více, asi nejlépe 2) a "Timeout příjmu odpovědi" na hodnotu od 500 do 1000 ms. Tak první zaslání zprávy způsobí "probuzení" měřiče a další opakování zprávy pak již proběhne v pořádku.

Timeout mezi příjmem 2 znaků100 ms (lze zvyšovat)
Prodleva mezi příjmem a vysíláním0 ms (lze zvyšovat)
Filtrovat ECHO znakyNe. Závisí však na konvertoru M-BUS/RS232. Například konvertor SLC-31 firmy Elsaco vrací zaslané znaky a je tedy nutno zadat Ano. Konvertor firmy Codea zaslané znaky nevrací a je nutno zadat Ne.
Řízení RTS signálulog.0
Řízení DTR signálulog.0
Doporučené hodnoty pro Parametry Ethernet:
Číslo TCP/UDP portupodle nastavení konvertoru M-BUS/Ethernet
Typ Ethernet přenosupodle nastavení konvertoru M-BUS/Ethernet
Popis a doporučené hodnoty pro Parametry protokolu:
Timeout příjmu odpovědi1000 ms (lze zvyšovat). Jen pro seriovou linku. Čas (v milisekundách) po který bude ovladač čekat na odpověď při vyslání zprávy. Pokud do této doby nepřijde vyžádaná odpověď, přenos zprávy se ukončí (vyvolá se událost onEndOfTransfer s chybou 24 nebo 66).
Poznámka:

Vyčítat údaje z měřičů většinou nemá smysl častěji než 1 minuta. Pokud se vyčítají údaje častěji než 4-30 sekundy (závisí na měřiči), pak měřič údaje nepošle.

Popis komunikace pomocí objektů PmCommData

Pro tento ovladač lze používat objekty PmCommData. Pro běžné případy přenosů dat je to výhodnější než použít objekt PmCommMsg.

Proměnné v objektu PmCommData (nebo ještě lépe proměnné v objektu PmData s datovým rozšířením ExtComm) mohou být v libovolném množství, libovolného typu v libovolném pořadí. Ovladač sám optimálním způsobem vnitřně vytvořenými komunikačními zprávami vyčítá data ze zařízení.

Proměnné se vyčítají všechny (pokud je povolen konfigurátor Obnovování dat povoleno). Pro tento ovladač není povolen zápis proměnných do zařízení.

V jednom objektu PmCommData mohou být definovány položky (proměnné v záložce Data nebo datová rozšíření ExtComm) pro více měřičů najednou.

Může však být výhodnější, aby jeden objekt PmCommData sloužil jen pro jeden měřič - tehdy lze adresu měřiče zadat v konfigurátoru "Přednastavená adresa měřiče" a u každé položky se pak adresa nemusí zadávat (zadá se jen text "saD.." - viz dále). Pak lze jednodušeji měnit adresu měřiče jen na jednom místě.

 
Popis konfigurátoru ItemID:

ItemId je textový identifikátor položky, který slouží k adresaci veličiny v zařízení. Z konfigurátoru ItemID ovladač pozná, jak se má hodnota položky přijímat nebo vysílat. Text lze buď napsat ručně, nebo sestavit pomocí okna, které se otevře tlačítkem vpravo od konfigurátoru. Pro zadání lze použít Makro výraz (vyhodnocuje se při spouštění aplikace).

Příklady tvaru identifikátoru:

sa1.Ia2.Index3
sa3.Ia2.Index3.c0
sa44.M1.TemperFor
sa254.M1.TemperFor.max.S3.T2.c0
saD.M1.MeterManufac

Text začíná vždy zkratkou "sa" (Slave/Station Address) za kterou následuje dekadická adresa měřiče. Místo adresy měřiče lze uvést znak "D" (=default) jako příznak, že adresa měřiče se má vzít z konfigurátoru "Přednastavená adresa měřiče".

Další identifikátor za tečkou určuje oblast požadovaných dat (určuje typ M-BUS zprávy, která způsobí, že měřič pošle data z požadované oblasti). Možné jsou následující hodnoty:

M1 = (Request UD2, FCB=0, FCV=1) První standardní oblast měřiče. Podporuje většina měřidel. V této oblasti jsou většinou hlavní aktuální údaje měřiče.
M2 = (Request UD2, FCB=1, FCV=1) Druhá standardní oblast měřiče. Měřiče většinou buď nepodporují nebo zasílají stejné údaje jako pro první oblast.
Ia = (Danfoss-INFOCAL type) Tento typ je využíván pro měřiče typu Danfoss (Ia=Indexování typu a). Měřič má hodně údajů které se všechny nevejdou do standardní oblasti. Pro získání těchto dalších údajů se posílá "speciální zpráva" s indexem oblasti (index se zadává za textem "Ia") a měřič tak pošle údaje z této vybrané oblasti. Viz: Komunikace s měřiči Danfoss INFOCAL-5
Ib = (Sontex-SUPERCAL type) Stejný případ jako pro "Ia", jen pro měřiče typu Sontex. Speciální zpráva má jiný tvar ale princip je stejný. Viz: Komunikace s měřiči Sontex SUPERCAL
Ic = (SCYLAR type) Stejný případ jako pro "Ia", jen pro měřiče typu SCYLAR. Speciální zpráva má jiný tvar ale princip je stejný. Viz: Komunikace s měřiči SCYLAR kalorimetrické měřidlo

Další identifikátor za tečkou určuje požadovaný údaj v dané oblasti. Měřič posílá najednou všechny údaje ze zvolené oblasti. Požadovaný údaj lze tak definovat buď indexem (Index) nebo specifikací významu údaje (ostatní možnosti):

 
Index - Za tímto identifikátorem se udává index údaje (indexováno od 0) v oblasti. Takto se lze odkazovat na jakýkoli standardní údaj v oblasti. Vhodné pro zadání údaje, který nelze definovat pomocí následujících specifikací významu. Následující specifikace totiž nepostihují všechny možnosti M-BUS komunikace (firma MICROSYS, spol. s r.o. však může do ovladače další specifikace přidat).
Energy - Energie [GJ]
Power - Výkon [kW]
Pressure - Tlak [mbar]
Volume - Objem [m3]
Mass - Hmotnost [kg]
FlowVolume - Objemový průtok [m3/h]
FlowMass - Hmotnostní průtok [kg/h]
TemperFor - Vstupní teplota [°C]
TemperRet - Výstupní teplota [°C]
TemperDif - Teplotní rozdíl [°C]
TemperExt - Externí teplota [°C]
Voltage - Elektrické napětí [V]
Current - Elektrický proud [A]
TimeOn - Doba provozu (On time) [day]
TimeOper - Operation time [day]
TimeDate - Datum [date]
FabricNum - Tovární číslo měřiče
ErrorFlags - Příznak chyb
ErrorMask - Maska chyb
CumulCount - Kumulativní čítač
MeterAddr - Adresa měřiče, který posílá data (dle M-BUS protokolu je to položka A-Field).
MeterIdent - Číslo zákazníka v rozsahu od 00000000 do 99999999. Bývá přednastaveno u výrobce na jedinečné číslo, ale může být změněno.
MeterManufac - Identifikátor výrobce.
MeterVersion - Generace nebo verze měřiče. Určuje výrobce.
MeterMedium - Měřené médium: 0=jiné, 1=Olej, 2=Elektřina, 3=Plyn, 4=Teplo (měřené ze zpáteční/return teploty: výstup), 5=Pára, 6=Horká voda, 7=Voda, 8=Heat Cost Allocator, 9=Stlačený vzduch, 10=Cooling load meter (měřené ze zpáteční/return teploty: výstup), 11=Cooling load meter (měřené z přívodní/flow teploty: vstup), 12=Teplo (měřené z přívodní/flow teploty: vstup), 13=Heat/Cooling load meter, 14=Bus/System, 15=Neznámé médium, 22=Studená voda, 23=Dual voda, 24=Tlak, 25=A/D Převodník.
 

Další identifikátory za tečkou určují další zpřesnění údaje a jsou nepovinné.

max = Maximální hodnota
min = Minimální hodnota
err = Hodnota během chybového stavu
U = Položka s daným číslem Subunit (slouží pro odlišení dvou podobných položek). Když se neuvede, bude se v přijaté zprávě hledat první výskyt dané položky bez ohledu na to, jaký má Subunit.
S = Položka s daným číslem paměťi (Storage). "S0" znamená aktuální hodnotu, "S1" je hodnota ve storage1, což může být například hodnota minulého měsíce, atd. Když se paměť (znak S) neuvede, bude se v přijaté zprávě hledat první výskyt dané položky bez ohledu na to, ve které je paměti.
T = Položka s daným číslem tarifu. "T0" znamená aktuální tarif (nebo "bez tarifu"), "T1" znamená hodnota dle prvního tarifu, atd. Když se tarif (znak T) neuvede, bude se v přijaté zprávě hledat první výskyt dané položky bez ohledu na tarif.
c0 = Nepřepočítávat do základních fyzikálních jednotek (viz Přepočet fyzikální jednotky).
 
Popis konfigurátoru PmCommData > Parametry > Speciální parametry:
Přednastavená adresa měřičeZde zadanou adresu lze využít při zadávání konfigurátoru ItemID u proměnných v tomto objektu (tzn. u proměnných v záložce Data nebo v datových rozšířeních ExtComm). Adresu lze zadat v ItemID:
- buď například sa1... - pak se hodnota proměnné bude načítat z měřidla s adresou 1.
- nebo saD... - znak "D" zde znamená default, a znamená to, že adresa se přebere z tohoto konfigurátoru.

Tento parametr lze za běhu aplikace změnit a přečíst pomocí metod: SetSpecParam("SlaveAddr") a GetSpecParam("SlaveAddr").

Popis komunikace pomocí objektů PmCommMsg

Objekty PmCommMsg lze použít pro speciální komunikace, které nelze provést objektem PmCommData.
Popis konfigurátoru PmCommMsg > Parametry > Parametry zprávy:
Typ měřičeVolba typu měřiče. Zde je vhodné vybrat jen volbu "Obecný měřič". Další voby jsou zastaralé a je vhodnější tyto zprávy nahradit objektem PmCommData.
Obecný měřič - Obecné zprávy vhodné pro všechny typy M-BUS měřičů.
Kamstrup MULTICAL - zastaralé
ABB SVM - zastaralé
Danfoss INFOCAL 5 - zastaralé
Landis ULTRAHEAT - zastaralé
Supercal SONTEX - zastaralé
CALMEX VKP - zastaralé
Typ zprávyPožadovaný typ zprávy pro daný typ měřiče. Dále je uveden seznam zpráv pouze pro Typ měřiče = Obecný měřič.
Seznam typů zpráv pro Typ měřiče = Obecný měřič:
- Inicializace Slave (měřiče):

Inicializace měřiče (zpráva typu SND_NKE). Slouží zejména pro inicializaci ovládání tzv. FCB příznaku (viz Obsluha FCB příznaku), který slouží měřiči jako informace o správné posloupnosti zasílání zpráv. Je doporučeno tuto zprávu volat při startu aplikace a také při vzniku chyby přenosu (viz parametr pEvent.Error v události PmCommMsg.onEndOfTransfer).

Adresu měřiče lze zadat přesně (hodnotu od 0 do 250) - tehdy každý meřič potvrdí (odpoví), zda vzal příkaz na vědomí. Je vhodné také použít univerzální adresu 255. Tehdy se zinicializují všechny připojené měřiče najednou bez jakéhokoli potvrzování (viz Adresování).

V záložce Data-zaslání jsou proměnné:
Address (Byte) = Adresa měřiče
V záložce Data-příjem není žádná proměnná.
- Reset aplikační vrstvy Slave (měřiče):

Zaslání této zprávy do měřiče způsobí reset aplikačních proměnných měřiče. Co se konkrétně skutečně v měřiči stane závisí pouze na měřiči. Většina následujících měřičů tuto zprávu nepotřebuje. Tuto zprávu používá: Komunikace s měřiči Sontex SUPERCAL.

V záložce Data-zaslání jsou proměnné:
Address (Byte) = Adresa měřiče
V záložce Data-příjem není žádná proměnná.
- Výběr slave stanice podle identifikačního čísla:

Tato zpráva uvede slave stanici do tzv. vybraného (selected) stavu. Po uvedení do vybraného stavu pak stanice komunikuje tak, jako by její adresa byla 253 (viz Adresování), a až do té doby, než je do vybraného stavu uvedena jiná stanice. Stanice se vybírá tzv. sekundární adresou, která je definována údaji: IdentNr = identifikační číslo měřiče, Manufac = identifikační číslo výrobce, Version = verze měřiče Medium = měřené médium. Tyto údaje se zadávájí v záložce Data-zaslání a lze je z měřiče zjistit například zprávou "Obecný měřič/Čtení obecně konfigurovaných dat" při zavádění měřiče do provozu.

Adresování stanice touto sekundární adresou je vhodné například:

- pro rozsáhlejší systémy kdy nestačí 250 primárních adres nebo
- pro stanice, které jsou často měněné a nelze zaručit že primární adresy jsou jedinečné.

V záložce Data-zaslání jsou proměnné:
IdentNr (Long)
Manufac (Integer)
Version (Byte)
Medium (Byte)
V záložce Data-příjem není žádná proměnná.
- Změnit Baud rate (kom.rychlost):

Používat tuto zprávu asi většinou nebude nutné, protože rychlost lze nastavit přímo v měřiči a není vhodné ji měnit za běhu aplikace. Mnoho měřičů se také umí přizpůsobit více komunikačním rychlostem, i když byly nastaveny na jinou.

V záložce Data-zaslání jsou proměnné:
Address (Byte) = Adresa měřiče
BaudRate (Byte) = (B8h=184=300Bd, BBh=187=2400Bd ..)
V záložce Data-příjem není žádná proměnná.
- Čtení obecně konfigurovaných dat:

Zpráva určená pro čtení dat z měřičů. Používá se jen ve speciálních případech - pro standardní čtení dat je lepší využít objekt PmCommData - viz Popis komunikace pomocí objektů PmCommData.

V záložce Data-zaslání jsou proměnné:
Address = (Byte) Adresa měřiče
FcbAttr = (Byte) Hodnota FCB příznaku. Viz Obsluha FCB příznaku.
DataAttr = (Long) Příznak jak jsou v přijaté zprávě uložena "specifická data" (tzn. data v poslední části DIF=0f):
0 = jsou uložena binárně - tzn. není nutný přepočet
1 = jsou uložena v BCD kódu - ovladač přepočte hodnotu na binární tvar.
V záložce Data-příjem jsou proměnné:
Na začátku jsou proměnné získané ze záhlaví zprávy - viz Záhlaví M-BUS zprávy.
Data1 = (Single) První datová hodnota ve zprávě. Tuto proměnnou lze změnit a další proměnné za ní vytvořit. Proměnné mohou mít datové typy:
- Single - tehdy je ukládaná hodnota přepočítána na vhodnou technologickou jednotku. Přepočet pak probíhá podle tabulky - viz Přepočet fyzikální jednotky.
- Date - hodnota je přepočítána na kalendářní datum.
- Long - hodnota není přepočítána (pro veličiny, které nemají jednotku nebo pokud nechcete přepočítávat).

Při čtení standardních dat z měřiče jsou v odpovědi poslány nejen hodnoty, ale i příznaky typu hodnoty (zda je to průtok, energie, výkon, atd.), příznaky typu jednotky (např. zda jde o kWh,J,0.001kWh..), příznaky o číslu tarifu nebo paměti, atd. Pokud znáte význam hodnot v odpovědi daného měřiče, pak můžete sami v záložce Data-příjem konfigurovat a pojmenovat položky, do kterých se budou přijaté hodnoty ukládat. Pokud nevíte co měřič posílá, pak můžete předtím použít typ zprávy "Obecný měřič/Získání úplného přehledu měřených veličin měřidla".

Kromě standardních dat může měřič posílat specifická data, která už nemají příznak o významu a jednotce. Tyto data bývají vždy až za standardními daty. Pokud znáte význam těchto dat (např. z dokumentace měřiče), pak i tyto data lze přijmout v této zprávě. Stačí v záložce Data-příjem za již vytvořenými proměnnými definovat další proměnné odpovídajících typů (Byte, Integer, Long) a hodnota v přijaté zprávě se jen bez přepočtů uloží do příslušné proměnné. Přesněji řečeno, lze ještě určit, zda specifická data jsou uložena ve zprávě binárně (tzn. není nutný přepočet) nebo v BCD kódu. Pokud jsou specifická data v BCD kódu, pak můžete již dříve zmíněnou proměnnou "DataAttr" nastavit na 1, a tehdy ovladač přepočte hodnotu na binární tvar (také by šlo nepřepočítávat a využít metody Pm.TransformValue, ale bylo by to složitější).

Některé měřiče posílají data v několika zprávách v přesné posloupnosti za sebou. I příjem těchto dat lze uskutečnit tímto typem zprávy. Musíte nakonfigurovat více objektů PmCommMsg na jednotlivé zprávy, příslušně vyplnit data a pak zprávy spouštět za sebou (metodou PmCommMsg.Run). U těchto typů přenosů však měřič používá FCB příznaků (viz Obsluha FCB příznaku), a je proto nutno nastavit proměnnou "FcbAttr" na 1. Některé měřiče takto hlavně řeší vyčítání historie. Pokud byste nenastavili "FcbAttr" na 1, četli byste neustále jen 1.zprávu (kde jsou obvykle aktuální hodnoty). Pokud je "FcbAttr" na 1, pak měřič posílá všechny zprávy co má - a někdy jich má opravdu hodně. Například měřič ABB SVM má uloženo historická data ve 128 zprávách (naštestí stejného typu takže je lze vyčítat jedním objektem).

- Bajtově konfigurovatelná zpráva typu vyslaní/příjem:

Tato zpráva je určena pro projektanty, kteří znají M-BUS protokol. Lze zde nakonfigurovat zprávu (zvlášť pro příjem a zvlášť pro zaslání) typu "SingleCharacter", "ShortFrame", "ControlFrame" a "LongFrame", což jsou 4 možné typy zpráv protokolu na nejnižší úrovni s projektanským nastavením hodnot CField, AField a CIField a s nastavením uživatelských dat. Lze také zvolit zprávu typu "Pure Bytes", kdy lze zasílat/přijímat data bez jakékoli transformace protokolem.

Tento typ zprávy se bude využívat asi jen velmi zřídka ke speciálním nebo testovacím účelům.

- Získání úplného přehledu měřených veličin měřidla:

Tato zpráva vytvoří seznam všech položek, které lze získat v daném typu datové zprávy (ze zprávy s FCB příznakem 0 nebo 1).

V záložce Data-zaslání jsou proměnné:
Address = (Byte) Adresa měřiče
FcbAttr = (Byte) Hodnota FCB příznaku. Viz Obsluha FCB příznaku.
V záložce Data-příjem jsou proměnné:
Info = (String) Seznam měřených veličin měřidla dané zprávy.
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice