Promotic

PmIEC62056 - Ovladač pro komunikaci protokolem IEC 62056

Ovladač PmIEC62056 slouží pro komunikaci se zařízeními pro měření elektrické energie. Komunikuje protokolem popsaným normou IEC62056-21:2002 (EN62056-21) nebo IEC1107:1996 (ČSN EN 61107). Viz Komunikace protokolem IEC 62056.

Před použitím tohoto ovladače v aplikaci PROMOTIC je vhodné shlédnout "PROMOTIC video kurz 4 - Komunikační ovladače".

Základní vlastnosti ovladače:
- Ovladač podporuje módy A, B, C. Ovladač nepodporuje módy D a E, nicméně přístrojům navrhujícím mód E (IEC 62056-46: vrstva datové linky využívající HDLC protokol) obvykle dokáže "vnutit" mód C.
Jsou podporovány následující typy komunikačních přenosů:
- Readout: Čtení všech hodnot najednou. Je funkční pro módy A, B, C.
Upozornění: Pro získávání dat je tento způsob komunikace pomalý (přijímá se v textové podobě vždy vše co je v zařízení nakonfigurováno). Někdy je těchto údajů hodně a příjem může trvat i několik minut! Nehodí se proto pro pravidelné rychlé (např. sekundové) čtení požadovaných dat.
- Programming mode: Čtení jen vybraných hodnot. Je funkční pouze pro mód C. Nemusí však být podporován každým zařízení.
Programovací mód umožňuje čtení i zápis hodnot. Pro zápis však je nutno zadat heslo, pro příjem není heslo potřeba zadávat.
- Použití tohoto ovladače vyžaduje zakoupení licence PmIEC62056. Při vývoji aplikace ve freeware módu PmFree nebo s vývojovou licencí a při jejím testování v runtime je tato komponenta vždy funkční.
- Komunikace je pro Ethernet (aplikace PROMOTIC je klient) nebo pro sériovou linku (COM1, COM2 ...).
Standardní rozhraní měřičů bývá sériová linka.
Komunikace přes Ethernet může být provozována dvěmi způsoby:
- Pomocí převodníku Ethernet-sériová linka. Tuto volbu lze vybrat například pokud zařízení má sériovou linku a převodníkem RS232/Ethernet je zapojeno do Ethernetu. Pokud převodník nemění přenášená data, pak lze takto jednoduše komunikovat přes Ethernet se zařízením, který nemá Ethernet výstup.
Upozornění: Použití komunikace přes Ethernet tímto způsobem však má omezující problém. Nelze dynamicky měnit přenosová rychlost, kterou norma vyžaduje (viz níže)! A tedy je toto řešení vhodné pouze pro konfigurace, kdy změna rychlosti není potřeba.
- Některé měřiče mohou podporovat Ethernet komunikaci přímo.
Například modul CU-E22 pro měřiče Landis-Gyr (E650 nebo E850) podporuje Ethernet protokol IEC62056 na portu 12212 (možná i na portu 4059 ?).
- Ovladač je začleněn do systému PROMOTIC pomocí objektu PmaComm.
Ovladač podporuje použití objektu PmaCommMsg. Objekt PmaCommGroup nelze použít.
Pro snadné přidání tohoto ovladače do aplikace je vhodné použít: Předkonfigurace ve skupině "IEC62056"


Typy fyzických komunikačních rozhraní:
Pro komunikaci s měřiči energie se podle normy IEC62056-21 používá některé z následujících fyzických rozhraní:
- RS232
- RS485
- 20mA datová proudová smyčka
- Optická hlavice:
Optické hlavice jsou vyráběny v provedení určeném k připojení k sériovému portu PC (RS232), nebo ke sběrnici USB.
K tomu, aby byl systém PROMOTIC schopen komunikovat s hlavicí připojitelnou k USB, musí být na hostujícím počítači instalován ovladač emulující na USB sběrnici virtuální COM port. Většina snímacích optických hlavic je vybavena obvodem od firmy FTDI (Future Technology Devices International). OS Windows od verze 7 (pokud je připojen k Internetu) je schopen samostatně nainstalovat ovladač bez asistence uživatele. V případě použití starších verzí OS Windows je nutno stáhnout ovladač z http://www.ftdichip.com/Drivers/VCP.htm.
Použití optické hlavice je někdy problematické. Některé hlavice vyslaná data vracejí jako přijímaná data - tehdy je nutno nastavit konfigurátor "Filtrovat ECHO znaky". Před použitím je nutno ověřit vzájemnou kompatibilitu hlavice a zařízení testem. Nelze se spoléhat na deklarovanou shodu s normou. Také dbejte na orientaci hlavice (úhel natočení). Některé i jinak funkční hlavice pracují pouze v určitém úhlu natočení.


Doporučené hodnoty parametrů objektu PmaComm:

Doporučené hodnoty pro Parametry sériové linky:
Komunikační rychlost300 Bd (podle normy).
V průběhu komunikace ovladače se zařízením přes sériový port počítače jsou používány 2 různé komunikační rychlosti. První přenosová rychlost (obvykle 300Bd) je využita k navázání spojení se zařízením a k výměně základních informací mezi přístrojem a ovladačem. Následně přístroj "navrhne" novou přenosovou rychlost a ovladač se nové rychlosti přizpůsobí.
Přestože norma definuje první rychlost hodnotou 300 Bd, mohou být některá zařízení nakonfigurovaná na jinou výchozí rychlost. Například elektroměry Landis+Gyr opatřené komunikační jednotkou Dialog CU-Bx mají výchozí rychlost konfigurovatelnou proto, aby nemuselo docházet ke změnám rychlosti v průběhu komunikace - a tak umožňuje komunikaci například přes modemy nebo tunely v Internetu.
Počet datových bitů7 (podle normy).
ParitaEVEN (sudá) (podle normy).
Počet stopbitů1 (podle normy).
Timeout mezi příjmem 2 znaků100 ms (nebo více).
Tento údaj nesmí být ale moc velký. Například pro měřiče od firmy LandisGir nemůže být více než 1200 ms.
Filtrovat ECHO znakyNe.
Pokud zařízení vrací vyslaná data (např. některé optické hlavice), pak nastavit Ano.
Popis a doporučené hodnoty pro Parametry protokolu:
Timeout příjmu odpovědi20000 ms. Jen pro sériovou 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ěď, pak se přenos zprávy ukončí (je vyvolána událost onEndOfTransfer s chybou 24 nebo 66).
Výměna dat protokolem IEC62056-21 zabere relativně dlouhou dobu (několik desítek sekund)! Z toho důvodu v případě nastavení maximální komunikační rychlosti na 9600Bd doporučujeme nastavit tento timeout 20000ms. V případě rychlosti 1200Bd doporučujeme až 40000ms.
Počet úvodních nul paketu k probuzení10.
Některá zařízení potřebují před vlastním navázáním komunikace "probudit" ze stavu snížené spotřeby. Zde lze určit kolik nulových znaků má ovladač vyslat právě za tímto účelem před začátkem skutečné komunikace.
Omezení komunikační rychlosti19200. Jen pro sériovou linku.
Pokud ke spojení se zařízením je použito fyzického datového rozhraní s omezením datového toku (např. Optická hlavice), pak lze toto omezení nastavit právě v této volbě. Potom při inicializačních přenosech se ovladač nepodřídí navrhování vyšší rychlosti, ale sám ji sníží na zde zadanou hodnotu.

Popis komunikace pomocí objektu PmaCommMsg

Seznam a popis komunikačních zpráv:

1) Readout - Čtení hodnot:
Tento typ zprávy požádá přístroj o data a ten mu odpoví jedním (často velmi dlouhým) balíkem dat v textové podobě. Tato data jsou bez větší úpravy uloženy do proměnné ResultString. Ponechává se na projektantovi aby tento text rozložil a zjistil požadované hodnoty.
Pro vytvoření tohoto typu zprávy je doporučeno použít "Předkonfigurace "PmIEC62056 - Sestava komunikace s daty a obrazem"". Tato předkonfigurace kromě jiného vytvoří i skript pro rozložení získaného textu.
Upozornění: Získaný text může být opravdu hodně dlouhý (i několik stovek řádků) a pokud přístroj podporuje jen pomalé přenosové rychlosti (300Bd, 600Bd, 1200Bd), pak může celý přenos jedné zprávy trvat i několik minut! V přístroji lze někdy konfigurovat, co vše se má ve zprávě přenášet a tím komunikaci optimalizovat.

V kartě "Data-zaslání" jsou proměnné:
Addr: (String) Adresa zařízení. Pokud zůstane prázdná, pak zařízení odpoví vždy bez ohledu na nastavenou adresu.
V kartě "Data-příjem" jsou proměnné:
ResultList: (String) Přijatý textový řetězec. Viz Popis přijatého textového řetězce ResultList.


2) Programovací mód - Blokově orientovaný přenos dat:
Tento typ komunikace je funkční pouze pro zařízení podporující mód C (nemusí však být podporován každým takovým přístrojem).
Teoreticky lze v programovacím módu i zapisovat ale především je tento mód systémem PROMOTIC použit pro čtení jednotlivých údajů. Pro čtení není nutno zadávat heslo, případně heslo je zveřejněno (např. heslo je 0000).
Přesný tvar příkazu (tzn. hodnoty, které se mají uvést v proměnných Param a Data) je různý pro různé typy měřičů a musí se zjistit z dokumentace k danému měřiči.

V kartě "Data-zaslání" jsou proměnné:
Param: (String) Parametry programovacího povelu. Údaje jsou zde ve formátu KeyVal, například "seq:3;psw:P2.0000;".
- seq: Sekvence komunikačních přenosů této zprávy.
0 = (přednastaveno) provede se jen daný povel
1 = před povelem se provede navázání komunikace se zařízením a přechod do programovacího módu
2 = po povelu se ukončí programovací mód
3 = provede se 1, pak se provede daný povel a pak se provede 2
- psw: Typ a hodnota povelu pro zadání hesla. Oba údaje jsou odděleny tečkou. Může např. nabývat "P1.()", "P2.(0000)", atd.
Tento parametr je nutno zadat pouze pokud zpráva má provést přechod do programovacího módu (tzn. pokud seq:1; nebo seq:3;) a pokud přístroj požaduje heslo (i když heslo pak může být např. () nebo (0000)).


Příklady pro Landis+Gyr MAP120:
seq:3; = Pokud chceme jen číst, pak se heslo nezadává (parametr psw se neuvádí).
Příklady pro POZYTON EQM:
seq:3;psw:P1.() = Pokud chceme jen číst, pak se zadává prázdné heslo ().
seq:3;psw:P2.(0000) = Pokud chceme jen číst, pak se zadává heslo (0000) (pro starší verze POZYTON 02.13-02.15).
Data: (String) Typ a data povelu (oba údaje jsou odděleny tečkou). Přesný tvar povelu závisí na typu zařízení. Typ povelu obsahuje 2 znaky a může podle normy být např.:
- R1 - odečet dat v ASCII kódu
- R2 - odečet metodou formátovaných přenosových kódů
- R3 - odečet v ASCII kódu v dílčím bloku
- R4 - odečet metodou formátovaných přenosových kódů v dílčím bloku
- W1 - zápis dat v ASCII kódu
- atd. podle normy IEC62056-21/6.3.14.


Příklady pro Landis+Gyr MAP120:
R2.C001() = Read time and date (v podobě YYMMDDhhmmsswwn)
R2.C100() = Read cumulation counter
Příklady pro POZYTON EQM:
R1.VI() = Read meter type
R3.MOM(aaaa) = Read current values
V kartě "Data-příjem" jsou proměnné:
Data: (String) Přijatá data odpovědi na povel. Viz Popis přijatého textového řetězce ResultList.

Popis přijatého textového řetězce ResultList

Textový řetězec obvykle se skládá z mnoha řádků. Každý řádek obsahuje údaje o jedné hodnotě (někdy i více hodnotách) zařízení. Příklad několika řádků:

F.F(01000000)
0.1.0*03(23-03-07 06:54)
2.6.0*03(000.00*kW)
1.8.1*03(283570.39*MWh)
0.9.7(23-03-07)


Popis:
- 1. řádek: F.F je záznam registru chyb
- 2. řádek: 0.1.0 je MD reset counter, poslední reset (3. v pořadí) byl 7.3.2023
- 3. řádek: 2.6.0 je Negative active maximum demand (A-) total, maximální negativní činný odběr je 0 kW.
- 4. řádek: 1.8.1 je Positive active energy (A+) in tariff T1, pozitivní činná energie v tarifu T1 je 283570 MWh.
- 5. řádek: 0.9.7 je aktuální datum (7.3.2023)


Každý řádek má obecně tvar:
OBIScode(Hodnota*Jednotka)(Hodnota*Jednotka)...
- Všechny položky jsou obecně nepovinné, závorky, ve kterých jsou hodnoty se mohou několikrát opakovat.
- OBIScode je identifikátor veličiny v zařízení. Popis tohoto kódu viz Popis OBIS kódu pro protokol normy IEC 62056.

Historie:
Pm8.02.07: Vytvořeno
© MICROSYS, spol. s r.o.