26.3.2024

Komunikácia – DLMS/COSEM protokol

Dnešný článok bude o tom, ako sa dá komunikovať s inteligentnými elektromermi a inými meračmi (plynomermi, prietokomermi a i) a aké cesty ponúka aplikačný server reálneho času D2000. Dozviete sa aj o novinkách v tejto oblasti, ktoré prináša D2000 verzia 12.

 

Štandard DLMS/COSEM

Štandardy DLMS (Device Language Message Specification resp. pôvodne Distribution Line Message Specification) a COSEM (Companion Specification for Energy Metering ) sú vyvíjané a spravované organizáciou DLMS User Association, ktorá združuje viac ako 150 výrobcov a 300 členov z viac ako 60 krajín.

Tieto štandardy bol prijaté a schválené aj ako sada medzinárodných štandardov IEC 62056. Ich zoznam je možné nájsť na Wikipédií (pre stručnosť ich tu nebudeme uvádzať).

Sada štandardov definuje celú množinu protokolov pre komunikáciu s meračmi energií. Niektoré (62056-21) sú určené pre ručný zber dát pomocou odčítavača (HHU – hand held unit). Iné definujú  prenosy cez telefónnu (IEC 62056-41) a IP sieť (IEC 62056-47).

DLMS/COSEM štandard organizuje namerané hodnoty aj konfiguračné parametre elektromerov a iných meračov do objektovej štruktúry. Logicky spolu súvisiace hodnoty (nameraná hodnota, časová značka hodnoty, technické jednotky, parametre zberu hodnoty ...) sú združené ako atribúty jedného objektu, pričom zoznam parametrov je definovaný triedou objektu.

Príkladom tried sú napríklad triedy:

 

Data (class_id=1): základná trieda s hodnotou dátovej entity prístupnou cez atribút "value".

 

Register (class_id=3): ako Data,  navyše sa  automaticky aplikuje násobiaci koeficient a udané sú aj technické jednotky hodnoty – statický atribút "scaler_unit".

 

Extended register (class_id=4): ako Register, navyše je k hodnote pridružená časová značka hodnoty- dynamický atribút "capture_time".

 

Demand register (class_id=5):  Register pre meranie dodávky akumulačnej energie v daných periódach (napr. 1 hodina alebo 1 deň). Atribút „last_average_value“ udáva energiu naakumulovanú v predchádzajúcej perióde,  atribút „current_average_value“ energiu z aktuálnej periódy.

 

Profile generic (class_id=7):  trieda pre prístup k historickým hodnotám ukladaným meračom pomocou atribútu „buffer“.

 

Adresácia objektov

Každý objekt v DLMS/COSEM je určený svojou triedou (16-bitové class_id) a svojím instance_id (6-bajtové číslo), ktoré sa nazýva aj OBIS kód (Object identification system). Systém prideľovania a kódovania jednotlivých zložiek instance_id udáva štandard IEC 62056-61.

 Pre ilustráciu - definícia OBIS adresy podľa IEC 62056-61 je nasledovná:

  • Value group A definuje druh meranej energie (energy type: 0=abstract objects, 1=electricity, 7=gas),
  • Value group B definuje číslo kanála (channel number),
  • Value group C určuje meranú fyzikálnu veličinu,
  • Value group D definuje typ spracovania,
  • Value group E definuje následné spracovanie alebo klasifikáciu podľa príslušného algoritmu,
  • Value group F určuje ukladanie spracovaných historických dát.

Viac o OBIS adrese si môžete prečítať v dokumentácii protokolu IEC 62056-21:2002 Serial.

K jednotlivým atribútom objektov sa pristupuje cez attribute_id (8-bitové číslo).

Tento spôsob adresácie sa nazýva v štandarde aj Logical Name (LN) referencing.

Keďže adresácia objektov a ich atribútov horeuvedeným spôsobom je pomerne rozsiahla (vyžaduje 2+6+1 bajtov), hľadal sa jednoduchší spôsob, vhodný najmä pre menej sofistikované zariadenia. Tento spôsob sa nazýva Short Name (SN) referencing. Spočíva v mapovaní  adresy objektu aj atribútu do 16-bitového čísla. Zároveň takto limituje aj množstvo objektov, ktoré sú v zariadení adresovateľné. Každému objektu sa priradí tzv. počiatočná adresa (base_name). Adresa konkrétneho atribútu sa vypočíta z počiatočnej adresy a čísla atribútu ako

 

short_name = base_name + (attribute_id - 1) * 0x08

 

Získanie zoznamu objektov

Klient protokolu DLMS/COSEM môže prečítať zoznam objektov, ktoré merač energií ponúka (teda za predpokladu, že merač túto vlastnosť implementuje):

  • V móde SN referencing pomocou objektu Association SN (class_id=12) s fixnou preddefinovanou adresou base_name=0xFA00.
  • V móde LN referencing pomocou objektu Association LN (class_id=15) s fixnou preddefinovanou adresou logical_name =0.0.40.0.0.255.
  • V oboch prípadoch sa prečítaním atribútu č. 2 (object_list) získa zoznam objektov - ich class_id, logical_name a base_name (pre SN referencing) resp.  prístupové práva k ním (pre LN referencing).

 

D2000 a DLMS/COSEM

 Aplikačný server D2000 ponúka dva rozdielne spôsoby získavania dát z meračov podporujúcich DLMS/COSEM štandardy:

  • komunikácia procesom KOM
  • komunikácia procesom SGCom (Smart Grid Communicator)

 

Komunikácia procesom D2000 KOM

 Tento spôsob  je vhodný pre aplikácie vyžadujúce komunikáciu  s niekoľkými až niekoľkými desiatkami elektromerov.  Podporený je:

Oba tieto protokoly podporujú čítanie hodnôt a vyčítavanie dát z historických profilov. Zápisy podporené nie sú (s výnimkou synchronizácie času).

 

Komunikácia procesom SGCom

Tento spôsob je oveľa lepšie škálovateľný a zvláda prácu s desiatkami až stovkami tisíc zariadení. Na rozdiel od procesu D2000 KOM sa konfigurácia elektromerov nachádza v relačnej databáze a nepoužívajú sa tak štandardné D2000 objekty (linka/stanica/meraný bod). Tento spôsob komunikácie je určený pre veľkých výrobcov, prípadne distribučné spoločnosti a iné entity pracujúce s veľkým množstvom meračov energie.

SGCom podporuje operácie čítania aj zápisu hodnôt, vyčítavanie dát z historických profilov ako aj synchronizáciu času. Podporený je prístup k zariadeniam cez sériové rozhranie RS485, IP sieť (Ethernet alebo GPRS) alebo optické rozhranie (infračervená optická hlava). SGCom dokáže používať SN aj LN adresáciu.

Na relačnej úrovni je podporený podobne ako v D2000 KOM procese HDLC protokol, IEC 62056-21 a navyše aj COSEM transport for IPv4 (IEC 62056-47) označovaný tiež ako DLMS/COSEM Wrapper.

Proces SGCom podporuje plánovanie periodických úloh, ktoré sa majú vykonávať v konfiguračne definovaných časoch. Pokiaľ je možné, vykonávanie úloh sa paralelizuje. Okrem plánovaných úloh je možné zadať príkaz na okamžité vykonanie úlohy:

  • Čítanie ľubovoľných dát z meracieho zariadenia. Typickým prípadom je obnova dát z časového úseku, keď bolo dané meracie zariadenie nedostupné.
  • Synchronizácia presného času v meracom zariadení
  • Odpojenie alebo pripojenie zvoleného odberateľa na diaľku. Napríklad odpojenie neplatiča, až pokiaľ neuhradí faktúru za dodávku energií.

V roku 2018 bol SGCom úspešne nasadený v projekte AMS (Advanced Metering System), ktorý nahradil centrálny systém automatizovaného zberu meteringových dát  v Slovenských elektrárňach. V prvej polovici januára 2019 bol systém AMS spustený do plnej prevádzky. SGCom v rámci AMS projektu komunikuje s niekoľkými stovkami fakturačných meračov elektrickej energie. Viac o SGCom-e si môžete prečítať v blogu DLMS / COSEM v prostredí IPESOFT D2000 alebo v dokumentácii.

 

D2000 KOM –novinky v DLMS/COSEM protokole v D2000 v12

V priebehu januára došlo k značnému rozšíreniu možností, ktoré ponúka implementácia  protokolu DLSM/COSEM v procese D2000 KOM. Tieto vylepšenia boli inšpirované reálnou potrebou – zmenou v technických podmienkach Slovenského elektroenergetického dispečingu. Po novom musia merať výrobcovia elektrickej energie dodávku na prahu (t.j. svorkovú výrobu očistenú o vlastnú spotrebu).

Z tohto dôvodu sme potrebovali komunikovať s modernými elektromermi pomocou DLMS/COSEM protokolu. Tento je síce implementovaný v D2000 KOM procese už od roku 2011, ale podporovaný bol iba SN referencing mód adresácie. Takže bolo nutné podporiť aj LN referencing mód a implementovať pre tento mód aj synchronizáciu času.

 

DLMS1
Obr. 1 Adresácia meraného bodu v DLMS/COSEM protokole rozšírená o mód adresácie.


LN referencing móde sa adresa base_name nezadáva, preto je zakázaná.

 

DLMS2
Obr. 2 Adresácia meraného bodu v DLMS/COSEM protokole: v SN referencing móde
je adresa base_name povinná, logical_name je voliteľné (nutné iba pri čítaní dát z profilov).

V protokole DLSM/COSEM bolo podporené v SN referencing móde aj vyčítanie zoznamu objektov (browsing) a preto sme túto užitočnú vlastnosť implementovali aj v LN referencing móde. Okrem vyčítania zoznamu objektov je v oboch módoch podporené aj čítanie hodnôt atribútov, takže D2000 sa dá pre DLMS/COSEM použiť ako „Object browser“ aj „Value browser“.

 

DLMS3
Obr. 3 Browsing v SN referencing móde.


Všimnite si zistené base_name adresy objektov a načítanú hodnotu aktuálneho času objektu Clock.

 Navyše bola podporená aj synchronizácia času v LN referencing móde. Táto slúži na korektné nastavenie času pre elektromer (čo je potrebné, pokiaľ by bolo treba čítať historické hodnoty z profilov).

Prihlasovanie sa k meraču energie bolo rozšírené o možnosť zadávania prístupového hesla (tzv. Low Level Security).

 

DLMS4
Obr. 4 Browsing v LN referencing móde.


Všimnite si nulové base_name adresy objektov (adresuje sa pomocou class_id, instance_idattribute_id).

Naši zákazníci a OEM partneri majú teda na výber dva spôsoby komunikácie D2000 s DLMS/COSEM meračmi. To, ktorý z nich použijú, závisí najmä od počtu meračov a vlastností , ktoré požadujú. Na niekoľko desiatok meračov, z ktorých je treba iba čítať dáta, stačí D2000 KOM. Na väčšie množstvo meračov, širšiu a bohatšiu funkcionalitu včítane zapisovania hodnôt, konfigurovania meračov a prípadne komunikácie cez GPRS je možné využiť výhody dedikovaného SGCom-u.

V každom prípade je pozitívna informácia, že s pomocou aplikačného servera reálneho času D2000 vieme implementovať aplikácie pracujúce so širokým rozmedzím počtu meračov – od jedného až po desiatky až stovky tisíc zariadení v prípade škálovania aplikácie s použitím viacerých procesov SGCom.

 

11.2.2019, Ing. Peter Humaj, www.ipesoft.com

Iné blogy