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 ?).
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:
Komunikační rychlost | 300 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 zařízením a ovladačem. Následně zařízení "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). |
Parita | EVEN (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 znaky | Ne.
Pokud zařízení vrací vyslaná data (např. některé optické hlavice), pak nastavit Ano. |
---|
Timeout příjmu odpovědi | 20000 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í rychlosti | 19200. 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á zařízení 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 zařízení podporuje jen pomalé přenosové rychlosti (
300Bd,
600Bd,
1200Bd), pak může celý přenos jedné zprávy trvat i několik minut! V zařízení 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.
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 zařízení 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
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(24-03-07 06:54)
2.6.0*03(000.00*kW)
1.8.1*03(283570.39*MWh)
0.9.7(24-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.2024
- 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.2024)
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.