Kontaktné údaje
- info@ipesoft.com
- +421 907 703 854
- Obchodná 9076/3D
010 08 Žilina
Slovensko
© Copyright IPESOFT 2023
Pokiaľ potrebujeme komunikovať cez sériové rozhranie (napr. s meračmi energií, PLC a podobne) rôznymi protokolmi (Modbus, DLMS/COSEM, IEC 60870-5-101 ...), štandardne používame prevodníky Moxa NPort.
Praktický príklad riešenia takejto komunikácie s použitím prevodníka NPort je zobrazený na tejto schéme.
Jeden alebo viacero elektromerov je pripojených na sériovú zbernicu RS-485, ktorá je zapojená do prevodníka NPort. Prevodník je pripojený k Ethenet switchu. Do tejto siete je pripojený aj počítač, na ktorom beží systém D2000.
Komunikačný proces D2000 KOM posiela výzvy na NPort prevodník(pomocou TCP, UDP) prípadne zapisuje do virtuálneho COM portu reprezentujúceho NPort prevodník. NPort prijaté dáta prepošle na sériovú linku k elektromerom. Následne od nich obdrží odpoveď s dátami, ktorú prepošle cez Ethernet sieť KOM procesu.
Jeden NPort môže mať jedno až šestnásť sériových rozhraní, takže zároveň slúži aj ako komunikačný koncentrátor.
Keďže od verzie D2000 V12.0 sme začali podporovať zariadenia Raspberry PI, v nasledujúcom obrázku je vysvetlená možnosť jeho praktického využitia – NPort môžeme nahradiť Raspberry PI, ktoré bude fungovať ako vzdialený komunikačný server.
Jeden, alebo viacero elektromerov je pripojených na zbernicu sériového rozhrania RS485, ktorá je však teraz zapojená na sériové rozhranie Raspberry PI. V našom prípade sme použili priemyselnú verziu Raspberry – NPE X500 od firmy Techbase.
Ak by sme chceli použiť štandardné Raspberry PI, bolo by ho potrebné vybaviť nadstavbou – HAT-om – implementujúcou rozhranie RS-485. Na Internete sa dajú nájsť rôzne vyhotovenia - jednoduchšie aj profesionálnejšie s galvanickým oddelením. Samozrejme, za kvalitu si priplatíte.
Na NPE X500 je nakonfigurovaný a bežiaci KOM proces – na obrázku DLMS.KOM, ktorý spracuje dáta zo zbernice RS485 a ďalej ich posiela cez Ethernet sieť D2000 serveru.
Na rozdiel od „štandardného“ riešenia na báze NPort, kde KOM proces bežal ako jeden z procesov na serveri, pri konfigurácii s Raspberry PI je KOM proces spustený na Raspberry PI, ktorý teda slúži ako vzdialený komunikačný server.
Jednou z výhod takéhoto riešenia je zníženie CPU záťaže D2000 servera – o KOM proces, ktorého obsluhu plne zabezpečuje Raspberry PI. V prípade konfigurácie s viacerými distribuovanými KOM procesmi a použitia protokolov s vyšším tokom dát, náročnejších na procesorový výkon (napr. Modbus TCP alebo Siemens SIMATIC S7 ISO on TCP) je tak možné rozložiť záťaž medzi viaceré komunikačné servery (každé RPI 3 pritom disponuje 4-jadrovým procesorom taktovaným na 1.2 GHz, RPI 3+ až 1.4 GHz).
Ďalšou výhodou je zrýchlenie komunikácie (odpadá latencia siete) a zároveň zníženie záťaže lokálnej siete (cez sieť nemusia ísť všetky výzvy a odpovede, ale D2000 KOM posiela serveru iba zmenené dáta) – toto môže byť dôležité v geograficky rozsiahlych inštaláciach so sieťami s vyššou latenciou a menšou priepustnosťou. Zároveň toto umožňuje použiť na vytvorenie virtuálnej siete aj mobilnú sieť (NPE X500 je možné kúpiť s GPRS, 3G alebo LTE modemom).
Poslednou výhodou je, že nakoľko KOM proces podporuje aj lokálnu archiváciu dát z komunikácie (takzvaný KOM archív mód), počas prípadného výpadku spojenia medzi D2000 Kernelom a KOM procesom nedôjde k strate dát. KOM proces dokáže samostatne dáta vyčítavať, ukladať na disk a po obnovení spojenia je možné dáta na povel „dotiahnuť“ , prípadne ich KOM proces pošle automaticky (v závislosti od nastavenia štartovacieho parametra /KA).
Na nasledovnom obrázku je vidno praktické zapojenie zrealizovaného funkčného riešenia – pri použití priemyselného NPE X500 a dvoch elektromerov. Keďže konfigurácia NPE X500, ktorú sme mali k dispozícii, disponovala dvoma sériovými portami (každý z nich sa dal nakonfigurovať ako RS-232 alebo RS-485), každý z elektromerov sme pripojili k jednému z nich. Použili sme novší elektromer Iskra a starší Landis&Gyr.
Port COM1 (resp. COM4 v móde RS-485) bol pripojený k staršiemu elektromeru Landis & Gyr ZMD405C so "Short Name" adresáciou (objekty sú adresované pomocou 16-bitových adries). Port bol na strane Raspberry reprezentovaný logickým zariadením /dev/ttyAMA0.
Port COM2 (resp. COM3 v móde RS-485) bol pripojený k novšiemu elektromeru ISKRA MT880 s "Logical Name" adresáciou (pomocou 6-bajtových OBIS kódov). Port bol na strane Raspberry reprezentovaný logickým zariadením /dev/ttySC0.
Ešte si ukážme chovanie po strate komunikácie medzi D2000 KOM procesom a D2000 Serverom.
Namiesto vytrhávania káblov sme použili zakázanie TCP komunikácie na Windows firewalle (nemuseli sme tak behať medzi serverom a pracoviskom , kde sú elektromery, a vytrhávať káble z NPE X500). Po zákaze vidieť v nástroji CNF, že KOM proces je – z pohľadu D2000 Servera – spadnutý (stav CRASH):
Na grafe vidime priebeh napätia - meraný bod M.DLMS_LG.VoltageL1. V pravej časti obrázku je jasne viditeľná niekoľkominútová rovná čiara zodpovedajúca času, keď došlo k strate spojenia s KOM procesom.
Po obnovení spojenia s KOM procesom graf pokračoval v priebehu:
Aj stav procesu DLMS.KOM sa pochopiteľne zmenil:
Po znovunačítaní dát do grafu vidieť priebeh s dotiahnutými dátami.
Pri pohľade na dáta v tabuľke je možné odlíšiť dotiahnuté dáta od dát získavaných priebežne –majú príznak OLDVAL. Tento príznak znamená, že sa jedná o „staré“ hodnoty, ktoré idú iba do archívu – na rozdiel od aktuálnych hodnôt, ktoré sú distribuované všade tam, kde sú potrebné – do schém, vypočítaných bodov, eventov, alarmového subsystému atď.
V logu KOM procesu na NPE X500 (súbor /opt/d2000/log/KOM-DLMS.log) je možné nájsť informácie o dátach poslaných po znovupripojení sa ku D2000 Serveru: