Na nasledujúcom obrázku je znázornený relačný model konfiguračnej databázy z pohľadu Centrály. V porovnaní s modelom, ktorý vidí SGCom, je rozšírená o entitu SGCom, ktorá umožňuje rozdeliť zber dát z veľkého množstva meračov medzi viaceré inštancie aplikácie SGCom. Význam jednotlivých entít je popísaný v nasledujúcich podkapitolách.
Všeobecne používané atribúty entitít:

  • id – umelý primárny kľúč
  • name – textové pomenovanie entity, určené pre lepšiu orientáciu, pre SGCom nemá aplikačný význam
  • idParentEntity – atribút s podobným názvom predstavuje cudzí kľúč, ktorým sa entita odkazuje na svoju nadradenú entitu, ktorej názov je za prefixom „id".


Obrázok 2: Relačný model konfiguračnej databázy

Entita SGCom

Reprezentuje inštanciu aplikácie SGCom. Každá inštancia sa pri svojom štarte prihlási do centrály svojím vlastným menom, ktoré korešponduje s atribútom name. Podľa toho centrála zašle príslušnú podmnožinu konfiguračnej databázy.

Entita DataCollector, definícia štruktúry SD.SGC_DataCollector

Reprezentuje inštanciu objektu typu Event, ktorý implementuje ESL rozhranie I.SGC_DataCollector. Sem bude SGCom odovzdávať zozbierané dáta z meračov podľa zvoleného časového harmonogramu. Centrála môže z dôvodu škálovania záťaže obsahovať viacero inštancií „DataCollector-ov".
Atribúty:

  • eventName – meno D2000 objektu typu Event
  • processName – meno procesu, na ktorom je príslušná inštancia vykonávaná
  • instanceNumber – číslo inštancie Event-u (štandardná hodnota je 0).

Entita ConnectorGroup, definícia štruktúry SD.SGC_ConnectorGroup

Združuje entity Connector do logických celkov za účelom riadenia počtu paralelne obsluhovaných spojení v danej skupine.
Atribúty:

  • parallelism – definuje maximálny počet paralelne obsluhovaných spojení (Connector) v danej skupine.

Entita Connector, definícia štruktúry SD.SGC_Connector

Obsahuje konfiguráciu komunikačnej linky k jednému meraču alebo skupine meračov. Je podobná D2000 objektom typu Linka. Pri zbere dát je jednej entite typu Connector priradené najviac jedno vlákno, ktoré sekvenčne obsluhuje jednotlivé merače pripojené danou komunikačnou linkou.
Atribúty:

  • type – Typ komunikačného média a protokolu. Číselníkový typ, ktorého hodnoty sú definované v stavovom texte SGC_ConnectorType. Môže nadobúdať hodnoty:
    • tcp – komunikácia je prenášaná cez TCP/IP
    • serial – komunikácia je prenášaná cez sériový port počítača
    • udpAddax – komunikácia je prenášaná cez UDP/IP – reverzný režim elektromerov Addax
    • udpMoxa – UDP/IP je prekladané zariadením MOXA na sériovú linku a späť.
  • connectionString – adresa pre pripojenie k meraču. Podľa typu fyzického pripojenia:
    • tcp – host.name.or.ip.address:port (napr. 192.168.1.222:12211) – skladá sa z IP adresy alebo doménového mena (192.168.1.222) a čísla TCP portu (12211) oddeleného dvojbodkou, na ktorom čaká merač na nadviazanie TCP spojenia.
    • serial – comPort baudRate (napr. COM13 4800) – skladá sa z názvu sériového portu (COM13) a komunikačnej rýchlosti (4800) oddelenej medzerou. (Ostatné parametre sériovej komunikácie sú odvodené z hodnoty atribútu type.)
    • udpAddax – deviceId@port (napr. ADX115884@5025) – skladá sa z unikátneho ID zariadenia (ADX115884) a čísla UDP portu (5025), na ktorom čaká SGCom na prichádzajúce UDP datagramy, v ktorých merač oznamuje svoje unikátne ID a svoju aktuálnu IP adresu.
    • udpMoxa - host.name.or.ip.address:port@localport (napr. 172.16.22.22:4001@16001) – skladá sa z IP adresy alebo doménového mena (172.16.22.22) a čísla UDP portu na ktorom komunikuje MOXA (4001) a čísla lokálneho UDP portu (16001), na ktoré MOXA odosiela UDP datagramy.
  • keepAliveSeconds – dĺžka časového intervalu od ukončenia spojenia s posledným zariadením na linke po uzatvorenie linky. Uplatňuje sa pri protokoloch HDLC a IEC21 a zabraňuje zbytočnému otváraniu a zatváraniu linku (napr COM port) pri častých úlohách.

Entita PhysicalDevice, definícia štruktúry SD.SGC_PhysicalDevice

Predstavuje fyzické meracie zariadenie Viď DLMS/COSEM Zelenú knihu (kap. 3.1.20) podľa definície COSEM.
Atribúty:

  • protocol – typ komunikačného protokolu relačnej vrstvy. Číselníkový typ, ktorého hodnoty sú definované v stavovom texte SGC_ProtocolType. Môže nadobúdať hodnoty:
    •  hdlc – používa sa HDLC protokol, cez ktorý sa prenáša DLMS/COSEM.
    •  wrapper – používa sa IEC62056-47 (COSEM transport for IPv4), cez ktorý sa prenáša DLMS/COSEM. Nemôže sa použiť v kombinácii so sériovou linkou.
    •  iec21 – používa sa IEC62056-21. Nemôže sa použiť v kombinácii s UDP.
  • address – HDLC adresa fyzického zariadenia. Nadobúda hodnotu v rozsahu 0 .. 0x3FFF. Používa sa pri protokole HDLC, pri iných protokoloch je ignorovaná.
  • serialNumber – Sériové číslo fyzického zariadenia. Používa sa pri protokole IEC21, pri iných protokoloch je ignorovaná.

Entita LogicalDevice, definícia štruktúry SD.SGC_LogicalDevice

Predstavuje logické meracie zariadenie Viď DLMS/COSEM Zelenú knihu (kap. 3.1.17) podľa definície COSEM. Jedno fyzické zariadenie typicky obsahuje viacero logických zariadení, z ktorých každé plní iný účel (meranie, manažment, v prípade združených meračov merania rôznych médií). Obyčajne je však v aplikácii zaujímavé len jedno logické zariadenie. Entity logického a príslušného fyzického zariadenia spolu tvoria ekvivalent D2000 objektu Stanica.
Atribúty:

  • address – adresa logického zariadenia. Typicky má hodnotu 1, resp. nadobúda hodnoty z rozsahu 1 .. 0x7F. V protokole IEC21 nie je hodnota použitá.
  • client – ID klienta pripájajúceho sa k zariadeniu. V protokole IEC21 nie je hodnota použitá. Určuje používateľskú rolu, ku ktorej sa viaže typ autorizácie, heslo a prístupové práva k jednotlivým COSEM objektom v logickom zariadení. Nadobúda hodnoty v rozsahu 1 .. 0x7F, pričom hodnota 0x10 sa z definície protokolu DLMS používa na verejný prístup bez hesla s oprávnením na čítanie meraných veličín.
  • authenticationType – typ autorizácie, číselníkový typ, ktorého hodnoty sú definované v stavovom texte SGC_AuthenticationType. Môže nadobúdať hodnoty:
    •  none – prístup bez hesla
    •  password – prístup so zdieľaným heslom prenášaným bez šifrovania
  • password – zdieľané heslo. Používa sa iba ak authenticationType má hodnotu password.
  • baseTimezoneOffsetMinutes – základný (v zimnom čase) posun časovej zóny, v ktorej pracuje elektromer, voči GMT v minútach. (Napr. pre stredoeurópsky čas nadobúda hodnotu 60).
  • connectionKeepAliveSeconds – dĺžka časového intervalu od vykonanej poslednej úlohy na zariadení až po ukončenie spojenia. Pokiaľ úlohy nasledujú častejšie, spojenie sa neuzatvára. 
    POZOR: parameter sa aplikuje len pre DLMS protokol. Prípadná komunikácia protokolom IEC21 automaticky uzatvorí všetky ostatné otvorené spojenia, aj keď by podľa tohto parametra ešte mali zostať otvorené.
  • flags – číselný atribút interpretovaný ako bitové pole, pričom každý bit je interpretovaný ako určitý príznak.
    • bit 0 – Elektromer zobrazuje posun časovej zóny ako opačnú hodnotu. (Napríklad elektromery v základnom nastavení Iskra alebo elektromery v správe SSE-D).
    • bit 1 – Nadviazanie HDLC spojenia začne cez protokol IEC21 a následné prepnutie protokolov.
    • bit 2 – Elektromer nepoužíva letný čas
    • bit 3 – Pre elektromer je aktivovaný zápis celej komunikácie do TRACE.
    • bit 4 – Aktivuje zaslanie povelu F101 pri nastavovaní času protokolom IEC21. Potrebné pre niektoré EMH LZQJ elektromery.
    • bit 5 – Deaktivuje IEC21 readout stránok T3 a TS, ktoré sa čítajú automaticky pre elektromery rodiny EMH.
  • model – Definuje model elektromera, číselníkový typ, ktorého hodnoty sú definované v stavovom texte SGC_DeviceTypeModel. Môže nadobúdať hodnoty:
    • Anonymous LN – bližšie nešpecifikovaný elektromer, ktorý používa „Logical Name Referencing Method".
    • Anonymous SN – bližšie nešpecifikovaný elektromer, ktorý používa „Short Name Referencing Method".
    • Addax NP73E
    • EMH LZQJ-XC – moderný EMH LZQJ s podporou zásuvných modulov a protokolu DLMS/COSEM
    • Landis+Gyr ZMD405CT
    • Iskra MT880
    • Iskra MT382
    • EMH LZQJ (no DLMS) – starý model EMH LZQJ s možnosťou komunikácie len cez IEC 62056-21.
    • landisGyrZFD405CR44

    • landisGyrZMD405CR44

    • landisGyrZMD410AT21
    • landisGyrZMD410CT44
    • landisGyrZMQ202C
    • emhLZQJ_XC_P2A4
    • emhLZQJ_XC_P2A2
    • emhLZQJ_XC_P2F4
    • emhLZQJ_XC_S1E4
    • emhLZQJ_XC_S5E4
    • emhLZQJ_XC_S1A4
    • emhLZQJ_XC_S5A4
    • emhLZQJ_XC_S5F4
    • emhPZQJ
    • sanxing_S210

    • emhNXT4
    • metcomMCS301

Entita PeriodicEvent, definícia štruktúry SD.SGC_PeriodicEvent

Entita definuje pravidelne sa opakujúcu udalosť. Pre každú udalosť si SGCom vytvára zvlášť záznam do svojho harmonogramu úloh a to aj v prípade, že dve udalosti nastávajú súčasne. Jednou entitou je možné plánovať súčasne aj pravidelný zber dát z meračov aj pravidelné odovzdávanie dát do centrály.
Atribúty:

  • beginTime – presný časový okamih prvého výskytu udalosti. Označuje hranu periódy – napr. 5. minúta každej hodiny. V praxi sa nastavuje hlboko do minulosti, ale pre testovacie účely môže byť nastavená aj do blízkej budúcnosti, aby sa úloha začala vykonávať až po „zahriatí" testovacieho prostredia.
  • stepType – označuje jednotky, v ktorých sa vyjadruje veľkosť časového kroku, s ktorým sa udalosť opakuje. Ide o číselníkový typ, ktorého hodnoty sú vymenované stavovým textom SGC_StepType. Môže nadobúdať nasledovné hodnoty:
    •  second – jedna sekunda
    •  day – jeden kalendárny deň, pričom sa do úvahy berie aj 23 a 25 hodinový deň pri zmene na letný / zimný čas. Dátum a čas zmeny je určený podľa časovej zóny.
    •  month – jeden kalendárny mesiac, ktorý má 28 až 31 dní.
  • stepCount – veľkosť časového kroku vyjadrená v jednotkách definovaných atribútom stepType.
  • timeZoneOffset – označenie časovej zóny ako posun voči GMT v minútach.
  • priority – priorita pravidelného zberu dát podľa tejto entity. Kladné číslo, pričom hodnota 1 predstavuje maximálnu prioritu.
  • ttlSeconds – Maximálny povolený čas, ako dlho môže úloha pravidelného zberu čakať na svoju obsluhu vo fronte úloh.

Napríklad entita s hodnotami atribútov beginTime = 7. III. 2017 12:00:15,000; stepType = second; stepCount = 900; timeZoneOffset = 60; vygeneruje udalosti: 7. III. 2017 12:00:15,000; 7. III. 2017 12:15:15,000; 7. III. 2017 12:30:15,000; ...

Entita DataPoint, definícia štruktúry SD.SGC_DataPoint

Entita adresuje konkrétnu hodnotu, ktorú možno pri zbere dát z merača prečítať, alebo do merača zapísať. Je ekvivalentom D2000 objektu typu Meraný bod.
Pozn.: V nasledujúcom texte sa používajú nasledovné pojmy:

  • Adresovaný COSEM objekt – jeho logické meno (OBIS Viď. DLMS/COSEM Blue Book (kap. 7) kód) je zhodné s hodnotou atribútu obis.
  • Referencovaný objekt – je adresovaný entitou, na ktorú sa odkazuje atribút idArchivedDataPoint.

Atribúty:

  • valueType – typ hodnoty v merači, číselníkový typ, definovaný stavovým textom SGC_ValueType:
    •  registerScaledValue – hodnota objektu typu Register Viď DLMS/COSEM Blue Book (kap 4.3.2, 4.3.3, 4.3.4), ExtendedRegister alebo DemandRegister. Obsahuje okamžitú, resp. aktuálnu hodnotu niektorej z meraných veličín (napr. okamžitá hodnota napätia v sieti, alebo aktuálna hodnota spotreby, atď.).
    •  archivedRegisterValue – archivovaná hodnota objektu typu Register, ExtendedRegister alebo DemandRegister v objekte typu ProfileGeneric Viď. DLMS/COSEM Blue Book (kap. 4.3.6). Obsahuje časový rad historických hodnôt.
    •  consumerDisconnectControlState – stav objektu typu DisconnectControl Viď. DLMS/COSEM Blue Book (kap. 4.5.8). Objekt riadi odpojenie a pripojenie odberateľa na diaľku (napríklad pri meškajúcich platbách za dodávku). Pri pravidelnom zbere dát je z objektu prečítaná hodnota okamžitého stavu (atribút control_state), pri „okamžitom" čítaní na požiadanie je z objektu prečítaný aj riadiaci mód (atribúr control_mode).
    • dataIntegerValue – celočíselná hodnota objektu. Používa sa na referencovanie príznakov riadku v profile.
    • archivedIntegerValue – archivovaná hodnota objektu s celočíselnou hodnotou - typicky príznak riadku v profile.
    • dataTextValue – textová hodnota objektu.
    • currentTimeValue – hodnota času v objekte typu Clock.
  • idPeriodicEvent – nepovinná referencia na časový harmonogram. Ak je použitá, vykonáva sa pravidelný zber tejto hodnoty z merača podľa definovaného harmonogramu. Ak použitá nie je, hodnotu možno prečítať iba na vyžiadanie cez „okamžitú" úlohu.
  • idArchivedDataPoint - nepovinná „spätná" referencia. Ak je použitá, označuje iný DataPoint, čím sa modeluje archivovanie odkazovanej okamžitej hodnoty v merači do adresovaného profilu.
  • dlmsAddress – adresa objektu zapísaná v tvare OBIS kódu. Používa sa pri prístupe k objektu cez protokol DLMS.
  • iec21RegisterAddress – adresa objektu typu register zapísaná v tvare redukovaného OBIS kódu. Používa sa pri prístupe k objektu cez protokol IEC21.
  • iec21ProfileReferenceAddress – adresa objektu typu register, ako je referencovaná v objekte typu Profile pri prístupe cez protokol IEC21.

Niekedy je potrebné vytvoriť viacero entít typu DataPoint, ktoré zdanlivo adresujú ten istý COSEM objekt. Typické sú tieto prípady:

  • Ak je potrebné čítať archivované hodnoty viacerých meraných veličín, pričom sú všetky archivované tým istým profilom. Pre každú archivovanú veličinu vznikne entita, ktorá adresuje profil, ale spätnou referenciou odkazuje na entitu, ktorá adresuje okamžitú hodnotu.
  • Ak je potrebné vykonávať pravidelný zber dát tej istej veličiny s rôznou periódou.

Entita DataPointSet, definícia štruktúry SD.SGC_DataPointSet

Predstavuje zoskupenie meraných veličín do určitého logického celku. V praxi ide o typizované odberné miesto, charakterizované definovaným zoznamom meraní na definovanom type merača.

Entita PE2DP2DPS, definícia štruktúry SD.SGC_PE2DP2DPS

Väzobná entita, ktorá predstavuje ternárnu asociáciu medzi entitami typu PeriodicEvent, DataPointDataPointSet. Prítomnosť tejto asociácie vyjadruje zaradenie DataPoint-u do DataPointSet-u, pričom odovzdávanie dát bude prebiehať s periódou definovanou PeriodicEvent-om. Prítomnosť PeriodcEvent-u vo vzťahu je nepovinná, ak nie je prítomný, odovzdávanie dát neprebieha.
POZOR: Nie je povolené, aby odovzdávanie dát nebolo naplánované, ak je naplánovaný zber – hrozilo by preplnenie databázy. Je možné naplánovať odovzdávanie dát aj v prípade, že zber nie je naplánovaný, ale vytvára to zbytočnú komunikačnú záťaž.

Entita LD2DPS, definícia štruktúry SD.SGC_LD2DPS

Väzobná trieda, ktorá priradzuje logickému zariadeniu skupiny meraných veličín. Priradené množiny nemusia byť nutne disjunktné, pri spracovaní plánovaných úloh sa vzniknuté duplicitné odkazy na DataPoint-y eliminujú.

Entita ConnectorTask, definícia SD.SGC_ConnectorTask

Predstavuje pravidelne sa opakujúcu úlohu súvisiacu s referencovanou entitou typu Connector. Jediná implementovaná úloha je zákaz komunikácie na linke v definovanom časovom intervale, ktorá sa používa na zabezpečenie časových okien v multi-master prostredí. Napríklad keď sa na zdieľanej sériovej linke nachádza okrem SGCom-u aj zariadenie typu Scalar a podľa dohody môže SGCom komunikovať každú štvrťhodinu od 5. do 10. minúty.

Atribúty:

  • type – typ pravidelnej úlohy:
    • noCommunication – zákaz komunikácii pre daný Connector od momentu, kedy sa úloha spustila na dobu definovanú hodnotou parametra v sekundách.
  • parameter – celočíselný parameter, pre presnejšiu špecifikáciu úlohy.
Write a comment...