Párové ESL rozhrania I.SGC_ImmediateReadMasterSlave obsahujú volania ReadArbitrary* a odpovede OnArbitrary*Read. Volania sa líšia typom výslednej hodnoty. Je ich možné použiť na čítanie hodnôt atribútov jednotlivých COSEM objektov v merači a tak zistiť jeho aktuálnu konfiguráciu. Volania zatiaľ nie sú podporené pre protokol IEC62056-21.
Parametre volania sú:

  • IN INT _logicalDeviceId – ID logického zariadenia, z ktorého bude hodnota čítaná,
  • IN TEXT _obis – logická adresa COSEM objektu v tvare OBIS kódu,
  • IN INT _classId – ID triedy príslušného COSEM objektu,
  • IN INT _attributeId – ID atribútu triedy príslušného COSEM objektu, ktorého hodnota bude čítaná.

Podľa typu požadovanej hodnoty prebehne konverzia:

  • BOOL – konvertuje logickú hodnotu
  • INT, REAL – konvertuje ľubovoľnú číselnú hodnotu alebo vymenovaný typ a podľa potreby zaokrúhli
  • TIME – konvertuje časovú značku
  • TEXT – konvertuje ľubovoľnú hodnotu

Ak nie je možné hodnotu prečítať alebo konvertovať, odpoveď je doručená volaním OnError s kódom a popisom chyby v parametroch.

Čítanie jednoznačného identifikátora merača

Jednoznačný identifikátor merača je vždy uložený v COSEM objekte typu Data (id triedy 1) s logickým menom "0.0.42.0.0.255" v atribúte value (id atribútu 2). Je to textový reťazec, ktorého prvé 3 znaky identifikujú výrobcu (ADX – Addax, LGZ – Landis+Gyr, EMH – EMH) a nasledujúce cifry obsahujú sériové číslo merača (napr. EMH05601204).
CALL I.SGC_ImmediateReadSlave^ReadArbitraryText(_ld, "0.0.42.0.0.255", 1, 2)

Čítanie konfigurácie COSEM objektu typu ProfileGeneric

Objekty typu ProfileGeneric (id triedy 7) predstavujú archív hodnôt vybraných COSEM objektov. V meračoch sa typicky používa viacero takýchto objektov, pričom každý slúži iným účelom a podľa toho archivuje špecifické hodnoty v špecifických okamihoch. Napríklad 15-minútový LoadProfile alebo EvenLog reagujúci na výnimočné udalosti.
Medzi atribúty triedy ProfileGeneric patria:

  • buffer (id 2) - Archív údajov organizovaný vo forme tabuľky. Každý riadok tabuľky predstavuje jeden záznam definovaných hodnôt v určitom časovom okamihu. Každý stĺpec tabuľky obsahuje historické hodnoty jednej konkrétnej meranej veličiny.
  • capture_objects (id 3) – Definuje zoznam stĺpcov. Pre každý stĺpec definuje
    •  id triedy objektu, ktorého hodnota je archivovaná,
    •  logické meno objektu,
    •  id atribútu objektu
    •  element_index – označuje prvok štruktúrovanej hodnoty, obyčajne sa nepoužíva – má hodnotu 0.
  • capture_period (id 4) – Perióda archivácie v sekundách.

Pre zistenie zoznamu archivovaných objektov možno použiť nasledujúci príklad:
CALL I.SGC_ImmediateReadSlave^ReadArbitraryText(_ld, _obis, 7, 3)
Výsledok bude mať tvar ako v nasledujúcom príklade, pričom sa záznam bude viackrát opakovať. V príklade je uvedené archivovanie objektu "0.0.1.0.0.255" typu Clock (id 8) atribútu time (id 2).
ARRAY Value:

  • STRUCTURE Value:
  • LONG_UNSIGNED Value: 8
  • OCTET_STRING Value: 00 00 01 00 00 FF (hex)
  • INTEGER Value: 2
  • LONG_UNSIGNED Value: 0
Napíšte komentár