3.8 Autonomní měřící systém (AMS)

Řešení AMS umožní automatický lokální odečet dat nejen z měřičů energií, jako jsou např. elektroměry, plynoměry či vodoměry, ale i z různých senzorů a čidel. Data z nich jsou následně vzdáleně sbírána a přenášena na centralizovaný software. Díky tomu má správce budovy nebo dodavatel energií k dispozici vždy detailní přehled o aktuální spotřebě, s kterým může dál pracovat dle svých potřeb (např. vyúčtování poskytnutých služeb). Pro komunikaci s měřiči se využívá protokol IEC 62056-21, resp. M-BUS aplikovaný na rozhraní RS 232, RS 485, resp. M-Bus. Je tak možné pravidelně data z měřiče vyčítat a ukládat do interní paměti 2N® SmartCom PRO. Tato zachycená data je možné dále třídit a filtrovat. Integraci dalších komunikačních protokolů je možné řešit na základě potřeb zákazníka.

AMS se nastavuje pomocí AT rozhraní, jehož funkci si nyní popíšeme. Přihlaste se pomocí terminálu do 2N® SmartCom PROjehož firmware podporuje AMS, a postupujte dle následujících příkazů. Jednotlivé měřiče se ukládají do tabulky, ve které je možné mít až 64 nezávislých měřičů. Velikost datového prostoru je potom dána verzí HW. Všechny záznamy se zapisují do kruhového bufferu. To znamená, že pokud bude naplněna maximální kapacita paměti, bude nejstarší zpráva smazána a nahrazena novou.

Poznámka

  • Komunikační rychlost je normou definována na 300 b/s. 2N® SmartCom PRO dokáže se zařízeními v případě potřeby zahájit komunikaci i na vyšší rychlosti. Ta je následnou komunikací snížena a dále se pokračuje dle normy. Zvýšená úvodní rychlost komunikace typicky 2400 b/s se nastaví vyšší rychlostí na portu RS 485 v konfiguraci
    2N® SmartCom PRO. Po ukončení AMS komunikace na 300 b/s se automaticky nastaví opět předvolená vyšší rychlost.
  • 2N® SmartCom PRO podporuje dle IEC 62056-21 módy A, C a E.

Nastavení zařízení AMS

Tyto příkazy slouží pro nastavení měřičů. 

AT^SCAMS=?

Vypíše seznam příkazů pro ovládání modulu AMS, seznam jejich parametrů a formát jednotlivých parametrů. 

Odpověď: 

^SCAMS: "ENABLE",0|1
^SCAMS: "RETRY",0-9
^SCAMS: "DEV_ADD",1-1000,"32"|1-1000,"32","3"
^SCAMS: "DEV_REMOVE",1-32
^SCAMS: "DEV_CLEAR"
^SCAMS: "DEV_INTERVAL","ALL"|1-32,"3"
^SCAMS: "DIRECT_READ",1-1000,"32"|1-1000,"32",110-230400,0|1
OK
AT^SCAMS?

Vypíše obsah tabulky zařízení obsluhovaných modulem AMS.

Formát řádku tabulky:
^SCAMS: <index>> <port>,<protokol>,<adresa>,<interval>
  • <index> – index zařízení v tabulce zařízení – číslo
  •   <port> – číslo fyzického portu, na které je dané zařízení připojeno – číslo
    • 1 – komunikační port RS232

    • 2 – komunikační port RS232/RS485/MBUS (konkrétní varianta dle HW provedení)
    • 128 – komunikační port pro komunikaci s interním modulem A/D vstupů (modul analogových/digitálních vstupů)

  • <protokol> – jméno komunikačního protokolu, pomocí něhož se se zařízením komunikuje – textový řetězec

    • "IEC62056-21" – označuje protokol IEC 62056-21

    • "MBUS" – označuje protokol M-BUS

    • "MODBUS" – označuje protokol MODBUS

    • "INMAT" – označuje protokol pro komunikaci se zařízeními INMAT 51 a INMAT 66
    • "LOTOS" – označuje protokol pro komunikaci se zařízením LOTOS 301
    • "AIN_DIN" – označuje protokol A/D vstupů (protokol pro čtení dat z modulu analogových/digitálních vstupů)

  • <adresa> – adresa zařízení – textový řetězec
    • adresa zařízení ve formátu odpovídajícím formátu adresy zařízení pro daný protokol
  • <interval> – časový údaj určující, jak často se ze zařízení vyčítají data – textový řetězec symbolu časového intervalu
    • počet minut, hodin nebo dnů, možné hodnoty jsou:
    • "1M", "2M", "3M", "4M", "5M", "6M", "10M", "12M", "15M", "20M", "30M", "1H", "2H", "3H", "4H", "6H", "8H", "12H", "1D"
Příklad odpovědi, pokud je tabulka prázdná: 

^SCAMS: NO DEVICE
OK

Příklad odpovědi, kde tabulka obsahuje 4 zařízení: 

^SCAMS: 1> 2,"IEC62056-21","869551","1M"
^SCAMS: 2> 2,"IEC62056-21","869552","15M"
^SCAMS: 3> 128,"AIN_DIN","1/ADC/CAL","1M"
^SCAMS: 4> 128,"AIN_DIN","2/PULSE/ABS","1H"
OK
AT^SCAMS="ENABLE",<zapnuto>

Příkaz pro modul AMS – vypíše aktuální stav zapnuto/vypnuto AMS modulu (bez uvedení dalších parametrů) nebo nastaví stav zapnuto/vypnuto AMS modulu (dle následujícího parametru).

  • <zapnuto> – je-li parametr uveden, specifikuje požadovaný nový stav zapnuto/vypnuto systému AMS a příkaz provede nastavení nového stavu; není-li parametr uveden, příkaz vypíše aktuálně nastavený stav – logická hodnota
    • 0 – požadavek na vypnutí funkce systému AMS
    • 1 – požadavek na zapnutí funkce systému AMS

Formát odpovědi (nastavení stavu systému AMS na zapnuto): 

^SCAMS: "ENABLE",1
OK

Formát odpovědi (příkaz pro nastavení stavu AMS) – akce se zdařila:

OK

Formát odpovědi (příkaz pro nastavení stavu AMS) – akce se nezdařila:

ERROR
AT^SCAMS="RETRY"[<pocet_opakovani>]

Příkaz pro modul AMS – vypíše aktuální nastavení pro počet opakování vyčítání dat ze zařízení v případě, že vyčítání skončilo s chybou (bez uvedení dalších parametrů) nebo nastaví počet opakování vyčítání dat ze zařízení (dle hodnoty následujícího parametru).
  • <pocet_opakovani> – je-li parametr uveden, specifikuje požadovaný nový počet opakování vyčítání dat ze zařízení v případě, že vyčítání skončilo s chybou, která má charakter chyby umožňující opakování pokusu o vyčtení dat; není-li parametr uveden, příkaz vypíše aktuálně nastavenou hodnotu počtu opakování.
    • číslo, rozsah 0 až 9

Formát odpovědi (příkaz pro zjištění aktuálně nastavené hodnoty):

^SCAMS: "RETRY",<aktualni_pocet_opakovani>
OK

Příklad (zjištění aktuálně nastavené hodnoty počtu opakování vyčítání dat ze zařízení): 

AT^SCAMS="RETRY"

Příklad (nastavení hodnoty počtu opakování vyčítání dat ze zařízení, při chybě prvního pokusu o vyčtení dat budou následovat maximálně 2 další pokusy o vyčtení dat): 

AT^SCAMS="RETRY",2
Formát odpovědi – akce se zdařila: 
OK


Formát odpovědi – akce se nezdařila: 

ERROR
AT^SCAMS="DEV_ADD",<port>,<protokol>,<adresa>,<interval>

Příkaz pro modul AMS – přidání zařízení do tabulky zařízení.

  • <port> – číslo fyzického portu, na které je dané zařízení připojeno – číslo
    • 1 – komunikační port RS232
    • 2 – komunikační port RS232/RS485/MBUS (konkrétní varianta dle HW provedení)
    • 128 – komunikační port pro komunikaci s interním modulem A/D vstupů (modul analogových/digitálních vstupů)
  • <protokol> – jméno nebo číslo komunikačního protokolu, pomocí něhož se se zařízením komunikuje
    • numerický formát (číslo) nebo symbolické jméno (textový řetězec)
      • pro číslo
        • 1 – označuje protokol IEC 62056-21
        • 2 – označuje protokol M-BUS
        • 3 – označuje protokol MODBUS
        • 64 – označuje protokol pro komunikaci se zařízeními INMAT 51 a INMAT 66
        • 65 – označuje protokol pro komunikaci se zařízením LOTOS 301
        • 128 – označuje protokol pro čtení A/D vstupů (protokol pro čtení dat z modulu analogových/digitálních vstupů)
      • pro textový řetězec
        • "IEC62056-21" – označuje protokol IEC 62056-21
        • "MBUS" – označuje protokol M-BUS
        • "MODBUS" – označuje protokol MODBUS
        • "INMAT" – označuje protokol pro komunikaci se zařízeními INMAT 51 a INMAT 66
        • "LOTOS" – označuje protokol pro komunikaci se zařízením LOTOS 301
        • "AIN_DIN" – označuje protokol A/D vstupů (protokol pro čtení dat z modulu analogových/digitálních vstupů)
  • <adresa> – adresa zařízení – textový řetězec adresy zařízení
    • pro protokol IEC 62056-21 adresa tvořena textovým řetězcem <adresa> [@ <default_baudrate>][% <switches>], kde:
      • <adresa> – je adresa zařízení (shodné jako původní adresa zařízení) 
      • <default_baudrate> – je nepovinný parametr, číslo udávající výchozí rychlost komunikace v Baudech.
      • <switches> – je nepovinný parametr, pole přepínačů pro řízení procesu čtení dat, nyní je implementován pouze přepínač 'R' pro zamezení změny počáteční rychlosti komunikace. 
    • pro protokol M-BUS adresa tvořena textovým řetězcem ve formátu "<adresa>@<rychlost>" 
      •  <adresa> – adresa M-BUS zařízení (měřiče)
        • primární adresa – <adresa> je číslo v rozsahu 0 až 250  
        • sekundární adresa – <adresa> má formát *<adresa_8>, kde <adresa_8> je 8 znaků sekundární adresy zařízení, kde každý znak je:
          • číslice v rozsahu 0 až 9
          • znak 'F' pro wildcard (zástupný znak pro jakoukoliv numerickou hodnotu na dané pozici v rozsahu 0 až 9)
      • <rychlost> – komunikační rychlost, číslo udávající baudovou komunikační rychlost, není-li parametr uveden, bude použita výchozí rychlost. Možné hodnoty: 300, 600, 1200, 2400, 4800, 9600, 19200, 38400. Výchozí rychlost: 2400.
    • pro protokol MODBUS adresa tvořena textovým řetězcem <adresa> @ <default_baudrate> [<max_cmd_data_size>, <data_block_1>,...., <data_block_N>], kde:
      • <adresa> – je adresa MODBUS zařízení 8-bit (povinný parametr) 
      • < default_baudrate > – je povinný parametr, číslo udávající výchozí rychlost komunikace v Baudech. Default = 9600
      • <max_cmd_data_size> – je nepovinný parametr, maximální velikost bloku dat, kterou může cílové zařízení najednou poskytnout. Default = 1.
      • <data_block_x> – je nepovinný parametr, skládá se z následujících částí <cmd>:<mem_addr>:<data_cnt> přičemž:
        • <cmd> – MODBUS příkaz, 8-bit HEX
        • <mem_addr> – adresa v paměti cílového MODBUS zařízení, 16-bit HEX
        • <data_cnt> – objem data, která mají být vyčtena z cílového MODBUS zařízení. Data začínají na <mem_addr>, 16-bit DEC
    • pro protokol INMAT 51/66 adresa tvořena textovým řetězcem ve formátu "<adresa>[@<rychlost>]|<prikaz_1>,<prikaz_2>,....,<prikaz_N>
        • <adresa> – adresa zařízení – číslo v rozsahu (0 až 63) 
        • <rychlost> – komunikační rychlost, číslo udávající baudovou komunikační rychlost. Není-li parametr uveden, bude použita výchozí rychlost: 9600
        • <prikaz_x> – textový řetězec ve formátu "<kod_prikazu>[:<parametr_1>[:<parametr_2>[:....[:<parametr_K>]]]]", který specifikuje jeden příkaz.
          • <kod_prikazu> – písmeno abecedy, které specifikuje konkrétní příkaz protokolu INMAT 51/66. Přiřazení písmen jednotlivým příkazům je následující:
              • 'I' – čtení identifikace přístroje
              • 'S' – čtení jedné hodnoty
              • 'E' – čtení jedné hodnoty z matice hodnot
              • 'B' – čtení bloku hodnot z matice hodnot
              • 'M' – čtení paměti
          • <parametr_x> – textový řetězec jednoho parametru příkazu. Počet parametrů příkazu závisí na konkrétním příkazu. Počty a formáty parametrů pro jednotlivé příkazy jsou následující:
              • příkaz 'I' (čtení identifikace přístroje): počet parametrů je nula (parametry nejsou potřeba)
              • příkaz 'S' (čtení jedné hodnoty): počet parametrů je 2
                • <parametr_1> – písmeno abecedy, které specifikuje typ žádané proměnné, přiřazení písmen jednotlivým typům je následující:
                    • 'I' – typ "INT", délka 2 byty
                    • 'L' – typ "LONG", délka 4 byty
                    • 'F' – typ "FLOAT", číslo s pohyblivou desetinnou čárkou (podle normy IEEE), délka 4 byty
                    • 'S' – typ "STRING", posloupnost ASCII znaků ukončených nulovým znakem, délka 1 až 246 bytů
                • <parametr_2> – index databázové proměnné v rámci stanice (INX). Číslo v hexadecimálním tvaru (16-bit ASCII HEX), rozsah 0 až FF
              • příkaz 'E' (čtení jedné hodnoty z matice hodnot): počet parametrů je 4
                • <parametr_1> – písmeno abecedy, které specifikuje typ žádané proměnné, přiřazení písmen jednotlivým typům je následující:
                  • 'I' – typ "INT", délka 2 byty
                  • 'L' – typ "LONG", délka 4 byty
                  • 'F' – typ "FLOAT", číslo s pohyblivou desetinnou čárkou (podle normy IEEE), délka 4 byty
                  • 'S' – typ "STRING", posloupnost ASCII znaků ukončených nulovým znakem, délka 1 až 246 bytů
                • <parametr_2> – index databázové proměnné v rámci stanice (INX). Číslo v hexadecimálním tvaru (16-bit ASCII HEX), rozsah 0 až FF
                • <parametr_3> – index řádku databázové proměnné typu matice (IY). Číslo v hexadecimálním tvaru (16-bit ASCII HEX), rozsah 0 až FFFF
                • <parametr_4> – index sloupce databázové proměnné typu matice (IX). Číslo v hexadecimálním tvaru (16-bit ASCII HEX), rozsah 0 až FFFF
              • příkaz 'B' (čtení bloku hodnot z matice hodnot): počet parametrů je 6
                • <parametr_1> – písmeno abecedy, které specifikuje typ žádané proměnné, přiřazení písmen jednotlivým typům je následující:
                  • 'I' – typ "INT", délka 2 byty
                  • 'L' – typ "LONG", délka 4 byty
                  • 'F' – typ "FLOAT", číslo s pohyblivou desetinnou čárkou (podle normy IEEE), délka 4 byty
                  • 'S' – typ "STRING", posloupnost ASCII znaků ukončených nulovým znakem, délka 1 až 246 bytů
                • <parametr_2> – index databázové proměnné v rámci stanice (INX). Číslo v hexadecimálním tvaru (16-bit ASCII HEX), rozsah 0 až FF
                • <parametr_3> – index řádku databázové proměnné typu matice (IY). Číslo v hexadecimálním tvaru (16-bit ASCII HEX), rozsah 0 až FFFF
                • <parametr_4> – index sloupce databázové proměnné typu matice (IX). Číslo v hexadecimálním tvaru (16-bit ASCII HEX), rozsah 0 až FFFF
                • <parametr_5> – index řádku databázové proměnné typu matice (NY). Číslo v hexadecimálním tvaru (16-bit ASCII HEX), rozsah 0 až FFFF
                • <parametr_6> – index sloupce databázové proměnné typu matice (NX). Číslo v hexadecimálním tvaru (16-bit ASCII HEX), rozsah 0 až FFFF
              • příkaz 'M' (čtení paměti): počet parametrů je 6
                • <parametr_1> – "offset", určuje posun v rámci daného segmentu (OFFS). Číslo v hexadecimálním tvaru (16-bit ASCII HEX), rozsah 0 až FFFF
                • <parametr_2> – "segment", určuje oblast paměťového prostoru (SEG). Číslo v hexadecimálním tvaru (16-bit ASCII HEX), rozsah 0 až FFFF
                • <parametr_3> – počet čtených bytů. Číslo v hexadecimálním tvaru (16-bit ASCII HEX), rozsah 0 až F5
    • pro protokol LOTOS 301 je adresa tvořena prázdným textovým řetězcem (tedy "")
    • pro protokol A/D vstupů adresa tvořena textovým řetězcem ve formátu "<vstup>/<parametr>[/<varianta>]"
      • <vstup> – číslo vstupu, pro který se má provést odečet dat, hodnoty:
        • 1 – vstup 1
        • 2 – vstup 2
        • 3 – vstup 3
      • <parametr> – textový řetězec se specifikací typu parametru, jehož data se mají odečíst, možné tvary:
        • ADC – měření analogového signálu na analogovém vstupu
        • DIN – čtení logické hodnoty na analogovém vstupu, rozsah hodnot výsledku je 0 až 1
        • PULSE – čtení čítače pulzů digitálního vstupu
      • <varianta> – textový řetězec se specifikací varianty parametru, možné tvary: 
        • pro ADC:
          • CAL – výsledkem odečtu dat je kalibrovaná hodnota, rozsah hodnot výsledku je 0 až 100
          • ABS – výsledkem odečtu dat je hodnota získaná přímo z A/D převodníku, rozsah hodnot výsledku je 0 až 1023
        • pro DIN – pro tento parametr <varianta> není definována, a proto se neuvádí
        • pro PULSE:
          • ABS – výsledkem odečtu dat je aktuální počet pulzů načítaný v čítači pulzů vstupu, rozsah hodnot výsledku je 0 až (2^64 – 1)
          • REL – výsledkem odečtu dat je počet pulzů načítaný od posledního odečtu dat (nebo vymazání/nastavení stavu čítače pulzů), rozsah hodnot výsledku je 0 až (2^64 – 1)
  • <interval> – časový údaj určující, jak často se ze zařízení vyčítají data – textový řetězec symbolu časového intervalu
    • Počet minut, hodin nebo dnů, možné hodnoty jsou:
    • "1M", "2M", "3M", "4M", "5M", "6M", "10M", "12M", "15M", "20M", "30M", "1H", "2H", "3H", "4H", "6H", "8H", "12H", "1D"


 — Příklady použití — 

Nastavení není jednoduchá záležitost, proto níže uvedeme několik vzorových příkazů, které Vám mohou sloužit jako vodítko k úspěšnému nastavení požadované funkce.

Pro příklad zde je příkaz, který přidá do tabulky zařízení, připojené na fyzický port číslo 2, komunikující pomocí protokolu IEC 62056-21, s adresou zařízení 869551, u něhož bude vyčtení dat probíhat každé 3 minuty:

AT^SCAMS="DEV_ADD",2,"IEC62056-21","869551","3M"
Stejný příkaz jako předchozí, ale protokol je zadán v numerickém formátu: 
AT^SCAMS="DEV_ADD",2,1,"869551","3M"
Příklad (přidá do tabulky zařízení připojené na fyzický port číslo 2, komunikujícího pomocí protokolu M-BUS, s adresou zařízení 128 a komunikační rychlostí 2400 Bd, u něhož bude vyčtení dat probíhat každou hodinu): 

AT^SCAMS="DEV_ADD",2,"MBUS","128@2400","1H"
Příklad (stejné jako předchozí, ale komunikační rychlost není uvedena a bude tudíž použita výchozí rychlost 2400 Bd): 
AT^SCAMS="DEV_ADD",2,"MBUS","128","1H"
Příklad (stejné jako předchozí, ale protokol je zadán v numerickém formátu): 
AT^SCAMS="DEV_ADD",2,2,"128","1H"

Příklad (přidá do tabulky zařízení připojené na port číslo 2, komunikujícího pomocí protokolu M-BUS, se sekundární adresou zařízení 01579411 a komunikační rychlostí 2400 Bd, u něhož bude vyčtení dat probíhat každou hodinu): 
AT^SCAMS="DEV_ADD",2,"MBUS","*01579411@2400","1H"

Příklad (přidá do tabulky zařízení připojené na port číslo 2, komunikujícího pomocí protokolu M-BUS, se sekundární adresou zařízení se dvěma wildcard pozicemi 015794FF a komunikační rychlostí 2400 Bd, u něhož bude vyčtení dat probíhat každou hodinu): 
AT^SCAMS="DEV_ADD",2,"MBUS","*015794FF@2400","1H"

Příklad (přidá do tabulky zařízení připojené na port A/D vstupů, provádějící odečty kalibrované analogové hodnoty na analogovém vstupu 1 každou hodinu): 
AT^SCAMS="DEV_ADD",128,"AIN_DIN","1/ADC/CAL","1H"

Příklad (přidá do tabulky zařízení připojené na port A/D vstupů, provádějící odečty logické hodnoty na analogovém vstupu 2 každé 2 hodiny): 
AT^SCAMS="DEV_ADD",128,"AIN_DIN","2/DIN","2H"

Příklad (stejné jako předchozí, ale protokol je zadán v numerickém formátu): 

AT^SCAMS="DEV_ADD",128,128,"2/DIN","2H"

Příklad (přidá do tabulky zařízení připojené na port A/D vstupů, provádějící odečty čítače pulzů na digitálním vstupu 1 každé 2 hodiny): 
AT^SCAMS="DEV_ADD",128,"AIN_DIN","1/PULSE/ABS","2H"

Formát odpovědi – akce se zdařila:

OK

Formát odpovědi – akce se nezdařila:

ERROR

 

— Konec ukázkových příkladů — 

AT^SCAMS="DEV_REMOVE",<index>
Příkaz pro modul AMS – odstranění jednoho zařízení z tabulky zařízení.
  • <index> – index zařízení (v tabulce zařízení), které má být odstraněno
Pro příklad: odstranění zařízení s indexem 4 v tabulce zařízení:
AT^SCAMS="DEV_REMOVE",4

Formát odpovědi – akce se zdařila:

OK

Formát odpovědi – akce se nezdařila:

ERROR
AT^SCAMS="DEV_CLEAR"

 Příkaz pro modul AMS – odstranění všech zařízení z tabulky zařízení.

Formát odpovědi – akce se zdařila:

OK

Formát odpovědi – akce se nezdařila:

ERROR
AT^SCAMS="DEV_INTERVAL",<index>,<interval>

Příkaz pro modul AMS – změna časového intervalu odečtu dat pro zařízení přítomné v tabulce zařízení.

  • <index> – index zařízení (v tabulce zařízení), pro které se má změnit časový údaj
    • numerický formát (číslo) nebo symbolické jméno (textový řetězec)
      • pro číslo: index zařízení (v tabulce zařízení), pro které se má změnit časový údaj
      • pro textový řetězec: "ALL" – časový údaj se má změnit pro všechna zařízení uvedená v tabulce zařízení
  • <interval> – textový řetězec symbolu časového intervalu (počet minut nebo hodin nebo dnů), možné hodnoty jsou:
    • "1M", "2M", "3M", "4M", "5M", "6M", "10M", "12M", "15M", "20M", "30M", "1H", "2H", "3H", "4H", "6H", "8H", "12H", "1D"

Příklad (pro zařízení s indexem 3 v tabulce zařízení změní časový interval odečtu na 1 hodinu): 

AT^SCAMS="DEV_INTERVAL",3,"1H"

Příklad (pro všechna zařízení uvedená v tabulce zařízení změní časový interval odečtu na 30 minut): 

AT^SCAMS="DEV_INTERVAL","ALL","30M"

Formát odpovědi – akce se zdařila:

OK

Formát odpovědi – akce se nezdařila:

ERROR
AT^SCAMS="DIRECT_READ",<port>,<protokol>,<adresa>,{<extra_parametr1>[<extra_parametr2>]}

Příkaz pro modul AMS – provede okamžitý odečet dat ze zařízení a poté provede výpis těchto dat.

  • <port> – číslo fyzického portu, na které je dané zařízení připojeno – číslo
    • 1 – komunikační port RS232
    • 2 – komunikační port RS232/RS485/MBUS (konkrétní varianta dle HW provedení)
    • 128 – komunikační port pro komunikaci s interním modulem A/D vstupů (modul analogových/digitálních vstupů)
  • <protokol> – jméno nebo číslo komunikačního protokolu, pomocí něhož se se zařízením komunikuje
    • pro číslo:
      • 1 – označuje protokol IEC 62056-21
      • 2 – označuje protokol M-BUS
      • 3 – označuje protokol MODBUS
      • 64 – označuje protokol pro komunikaci se zařízeními INMAT 51 a INMAT 66
      • 65 – označuje protokol pro komunikaci se zařízením LOTOS 301
      • 128 – označuje protokol pro čtení A/D vstupů (protokol pro čtení dat z modulu analogových/digitálních vstupů)
    • pro textový řetězec:
      • "IEC62056-21" – označuje protokol IEC 62056-21
      • "MBUS" – označuje protokol M-BUS
      • "MODBUS" – označuje protokol MODBUS
      • "INMAT" – označuje protokol pro komunikaci se zařízeními INMAT 51 a INMAT 66
      • "LOTOS" – označuje protokol pro komunikaci se zařízením LOTOS 301
      • "AIN_DIN" – označuje protokol A/D vstupů (protokol pro čtení dat z modulu analogových/digitálních vstupů)
  • <adresa> – adresa zařízení – textový řetězec adresy zařízení
    • pro protokol IEC 62056-21 –  adresa tvořena textovým řetězcem  <adresa> [@ <default_baudrate>][% <switches>], kde:
      • <adresa> – je adresa zařízení (shodné jako původní adresa zařízení)
      • < default_baudrate – je nepovinný parametr, číslo udávající výchozí rychlost komunikace v Baudech.
      • <switches> – je nepovinný parametr, pole přepínačů pro řízení procesu čtení dat, nyní je implementován pouze přepínač 'R' pro zamezení změny počáteční rychlosti komunikace.
    • pro protokol M-BUS – adresa tvořena textovým řetězcem ve formátu "<adresa>[@<rychlost>]"
      • <adresa> – adresa M-BUS zařízení (měřiče)
        • primární adresa – <adresa> je číslo v rozsahu 0 až 250 
        • sekundární adresa – <adresa> má formát *<adresa_8>, kde <adresa_8> je 8 znaků sekundární adresy zařízení, kde každý znak je:
          • číslice v rozsahu 0 až 9
          • znak 'F' pro wildcard (zástupný znak pro jakoukoliv numerickou hodnotu na dané pozici v rozsahu 0 až 9)
      • <rychlost> – komunikační rychlost, číslo udávající baudovou komunikační rychlost, není-li parametr uveden, bude použita výchozí rychlost možné hodnoty jsou 300, 600, 1200, 2400, 4800, 9600, 19200, 38400. Výchozí rychlost: 2400.
    • pro protokol MODBUS adresa tvořena textovým řetězcem <adresa> @ <default_baudrate> [<max_cmd_data_size>, <data_block_1>,...., <data_block_N>], kde:
      • <adresa> – je adresa MODBUS zařízení 8-bit (povinný parametr) 
      • < default_baudrate > – je povinný parametr, číslo udávající výchozí rychlost komunikace v Baudech. Default = 9600
      • <max_cmd_data_size> – je nepovinný parametr, maximální velikost bloku dat, kterou může cílové zařízení najednou poskytnout. Default = 1.
      • <data_block_x> – je nepovinný parametr, skládá se z následujících částí <cmd>:<mem_addr>:<data_cnt> přičemž:
        • <cmd> – MODBUS command, 8-bit HEX
        • <mem_addr> – adresa v paměti cílového MODBUS zařízení, 16-bit HEX
        • <data_cnt> – objem dat, která mají být vyčtena z cílového MODBUS zařízení. Data začínají na <mem_addr>, 16-bit DEC

    • pro protokol INMAT 51/66 adresa tvořena textovým řetězcem ve formátu "<adresa>[@<rychlost>]|<prikaz_1>,<prikaz_2>,....,<prikaz_N>
        • <adresa> – adresa zařízení – číslo v rozsahu (0 až 63) 
        • <rychlost> – komunikační rychlost, číslo udávající baudovou komunikační rychlost. Není-li parametr uveden, bude použita výchozí rychlost: 9600
        • <prikaz_x> – textový řetězec ve formátu "<kod_prikazu>[:<parametr_1>[:<parametr_2>[:....[:<parametr_K>]]]]", který specifikuje jeden příkaz.
          • <kod_prikazu> – písmeno abecedy, které specifikuje konkrétní příkaz protokolu INMAT 51/66. Přiřazení písmen jednotlivým příkazům je následující:
              • 'I' – čtení identifikace přístroje
              • 'S' – čtení jedné hodnoty
              • 'E' – čtení jedné hodnoty z matice hodnot
              • 'B' – čtení bloku hodnot z matice hodnot
              • 'M' – čtení paměti
          • <parametr_x> – textový řetězec jednoho parametru příkazu. Počet parametrů příkazu závisí na konkrétním příkazu. Počty a formáty parametrů pro jednotlivé příkazy jsou následující:
              • příkaz 'I' (čtení identifikace přístroje): počet parametrů je nula (parametry nejsou potřeba)
              • příkaz 'S' (čtení jedné hodnoty): počet parametrů je 2
                • <parametr_1> – písmeno abecedy, které specifikuje typ žádané proměnné, přiřazení písmen jednotlivým typům je následující:
                    • 'I' – typ "INT", délka 2 byty
                    • 'L' – typ "LONG", délka 4 byty
                    • 'F' – typ "FLOAT", číslo s pohyblivou desetinnou čárkou (podle normy IEEE), délka 4 byty
                    • 'S' – typ "STRING", posloupnost ASCII znaků ukončených nulovým znakem, délka 1 až 246 bytů
                • <parametr_2> – index databázové proměnné v rámci stanice (INX). Číslo v hexadecimálním tvaru (16-bit ASCII HEX), rozsah 0 až FF
              • příkaz 'E' (čtení jedné hodnoty z matice hodnot): počet parametrů je 4
                • <parametr_1> – písmeno abecedy, které specifikuje typ žádané proměnné, přiřazení písmen jednotlivým typům je následující:
                  • 'I' – typ "INT", délka 2 byty
                  • 'L' – typ "LONG", délka 4 byty
                  • 'F' – typ "FLOAT", číslo s pohyblivou desetinnou čárkou (podle normy IEEE), délka 4 byty
                  • 'S' – typ "STRING", posloupnost ASCII znaků ukončených nulovým znakem, délka 1 až 246 bytů
                • <parametr_2> – index databázové proměnné v rámci stanice (INX). Číslo v hexadecimálním tvaru (16-bit ASCII HEX), rozsah 0 až FF
                • <parametr_3> – index řádku databázové proměnné typu matice (IY). Číslo v hexadecimálním tvaru (16-bit ASCII HEX), rozsah 0 až FFFF
                • <parametr_4> – index sloupce databázové proměnné typu matice (IX). Číslo v hexadecimálním tvaru (16-bit ASCII HEX), rozsah 0 až FFFF
              • příkaz 'B' (čtení bloku hodnot z matice hodnot): počet parametrů je 6
                • <parametr_1> – písmeno abecedy, které specifikuje typ žádané proměnné, přiřazení písmen jednotlivým typům je následující:
                  • 'I' – typ "INT", délka 2 byty
                  • 'L' – typ "LONG", délka 4 byty
                  • 'F' – typ "FLOAT", číslo s pohyblivou desetinnou čárkou (podle normy IEEE), délka 4 byty
                  • 'S' – typ "STRING", posloupnost ASCII znaků ukončených nulovým znakem, délka 1 až 246 bytů
                • <parametr_2> – index databázové proměnné v rámci stanice (INX). Číslo v hexadecimálním tvaru (16-bit ASCII HEX), rozsah 0 až FF
                • <parametr_3> – index řádku databázové proměnné typu matice (IY). Číslo v hexadecimálním tvaru (16-bit ASCII HEX), rozsah 0 až FFFF
                • <parametr_4> – index sloupce databázové proměnné typu matice (IX). Číslo v hexadecimálním tvaru (16-bit ASCII HEX), rozsah 0 až FFFF
                • <parametr_5> – index řádku databázové proměnné typu matice (NY). Číslo v hexadecimálním tvaru (16-bit ASCII HEX), rozsah 0 až FFFF
                • <parametr_6> – index sloupce databázové proměnné typu matice (NX). Číslo v hexadecimálním tvaru (16-bit ASCII HEX), rozsah 0 až FFFF
              • příkaz 'M' (čtení paměti): počet parametrů je 6
                • <parametr_1> – "offset", určuje posun v rámci daného segmentu (OFFS). Číslo v hexadecimálním tvaru (16-bit ASCII HEX), rozsah 0 až FFFF
                • <parametr_2> – "segment", určuje oblast paměťového prostoru (SEG). Číslo v hexadecimálním tvaru (16-bit ASCII HEX), rozsah 0 až FFFF
                • <parametr_3> – počet čtených bytů. Číslo v hexadecimálním tvaru (16-bit ASCII HEX), rozsah 0 až F5
    • pro protokol LOTOS 301 je adresa tvořena prázdným textovým řetězcem (tedy "")
    • pro protokol A/D vstupů – adresa tvořena textovým řetězcem ve formátu "<vstup>/<parametr>[/<varianta>]"
      • <vstup> – číslo vstupu, pro který se má provést odečet dat, hodnoty: 
        • 1 – vstup 1
        • 2 – vstup 2
        • 3 – vstup 3
      • <parametr> – textový řetězec se specifikací typu parametru, jehož data se mají odečíst, možné tvary:
        • ADC – měření analogového signálu na analogovém vstupu
        • DIN – čtení logické hodnoty na analogovém vstupu, rozsah hodnot výsledku je 0 až 1
        • PULSE – čtení čítače pulzů digitálního vstupu
      • <varianta> – textový řetězec se specifikací varianty parametru, možné tvary:
        • pro ADC:
          • CAL – výsledkem odečtu dat je kalibrovaná hodnota, rozsah hodnot výsledku je 0 až 100
          • ABS – výsledkem odečtu dat je hodnota získaná přímo z A/D převodníku, rozsah hodnot výsledku je 0 až 1023
        • pro DIN – pro tento parametr <varianta> není definována, a proto se neuvádí
        • pro PULSE:
          • ABS – výsledkem odečtu dat je aktuální počet pulzů načítaný v čítači pulzů vstupu, rozsah hodnot výsledku je 0 až (2^64 – 1)
          • REL – výsledkem odečtu dat je počet pulzů načítaný od posledního odečtu dat (nebo vymazání/nastavení stavu čítače pulzů), rozsah hodnot výsledku je 0 až (2^64 – 1)
  • < extra_parametr1 > – nepovinný parametr, pro protokol
    • specifikuje hodnotu výchozí (default) baudové komunikační rychlosti protokolu
    • IEC 62056-21: číslo udávající požadovanou výchozí (default) baudovou rychlost protokolu; není-li parametr uveden, použije se standardní hodnota
    • M-BUS – nemá význam (ignorováno)
    • MODBUS – nemá význam (ignorováno)
    • INMAT 51/66 – nemá význam (ignorováno)
    • LOTOS 301 – nemá význam (ignorováno)
    • A/D vstupů – nemá význam (ignorováno)
  • < extra_parametr2 > – nepovinný parametr, pro protokol
    • specifikuje, zda má protokol odmítnout, nebo přijmout nabídku vyšší komunikační rychlosti pro "Režim protokolu C"
    • IEC 62056-21: logická hodnota (není-li parametr uveden, použije se hodnota 0)
      • 0 – pro "Režim protokolu C" – protokol přijme nabídku vyšší komunikační rychlosti od zařízení
      • 1 – pro "Režim protokolu C" – protokol odmítne nabídku vyšší komunikační rychlosti od zařízení a komunikace bude pokračovat na výchozí rychlosti
    • M-BUS – nemá význam (ignorováno)
    • MODBUS – nemá význam (ignorováno)
    • INMAT 51/66 – nemá význam (ignorováno)
    • LOTOS 301 – nemá význam (ignorováno)
    • A/D vstupů – nemá význam (ignorováno)

Formát odpovědi:

^SCAMS: <chybovy_kod>,<identifikace_zarizeni>,<data>
OK
  • <chybovy_kod> – kód chyby vrácený jako výsledek procesu vyčtení dat ze zařízení (hodnota 0 znamená výsledek bez chyby) – číslo
    • 32-bitové neznaménkové číslo v dekadickém formátu
  • <identifikace_zarizeni> – textový řetězec vrácený zařízením jako jeho identifikace – textový řetězec
  • <data> – surová data vyčtená ze zařízení – textový řetězec

— Příklady okamžitých odečtů — 

Příklad (provede okamžitý odečet a výpis odečtených data pro zařízení připojené na fyzický port číslo 2, komunikujícího pomocí protokolu IEC 62056-21, s adresou zařízení 947833):

AT^SCAMS="DIRECT_READ",2,1,"947833"

Příklad (stejné jako předchozí, ale použije komunikační rychlost 1200 Bd jako výchozí komunikační rychlost):

AT^SCAMS="DIRECT_READ",2,"IEC62056-21","947833",1200

Příklad (stejné jako předchozí, ale odmítne nabídku vyšší komunikační rychlosti od zařízení v případě "Režimu protokolu C"): 

AT^SCAMS="DIRECT_READ",2,1,"947833",1200,1

Příklad (provede okamžitý odečet a výpis odečtených dat pro zařízení připojené na port číslo 2, komunikujícího pomocí protokolu M-BUS, s primární adresou zařízení 128 a komunikační rychlostí 2400 Bd):

AT^SCAMS="DIRECT_READ",2,"MBUS","128@2400"

Příklad (stejné jako předchozí, ale komunikační rychlost není uvedena a bude tudíž použita výchozí rychlost 2400 Bd):

AT^SCAMS="DIRECT_READ",2,"MBUS","128"

Příklad (stejné jako předchozí, ale protokol je zadán v numerickém formátu):

AT^SCAMS="DIRECT_READ",2,2,"128"

Příklad (provede okamžitý odečet a výpis odečtených dat pro zařízení připojené na port číslo 2, komunikujícího pomocí protokolu M-BUS, se sekundární adresou zařízení 01579411 a komunikační rychlostí 2400 Bd):

AT^SCAMS="DIRECT_READ",2,"MBUS","*01579411@2400"

Příklad (provede okamžitý odečet a výpis odečtených dat pro zařízení připojené na port číslo 2, komunikujícího pomocí protokolu M-BUS, se sekundární adresou zařízení se dvěma wildcard pozicemi 015794FF a komunikační rychlostí 2400 Bd): 

AT^SCAMS="DIRECT_READ",2,"MBUS","*015794FF@2400"

Příklad (přes port A/D vstupů provede okamžitý odměr signálu pro analogový vstup 1, provede kalibraci výsledku a výsledek vypíše):

AT^SCAMS="DIRECT_READ",128,"AIN_DIN","1/ADC/CAL"

Příklad (přes port A/D vstupů provede okamžitý odměr signálu pro analogový vstup 2, výsledek převede na logickou interpretaci úrovně signálu a výsledek vypíše):

AT^SCAMS="DIRECT_READ",128,"AIN_DIN","2/DIN"

Příklad (přes port A/D vstupů vyčte okamžitou hodnotu čítače pulzů na digitálním vstupu 1 a výsledek vypíše):

AT^SCAMS="DIRECT_READ",128,"AIN_DIN","1/PULSE/ABS"

— Konec příkladů okamžitých odečtů — 

Automatické vyhledání měřičů

Příkaz pro automatické vyhledání zařízení na sběrnici.

Upozornění

  • Po spuštění tohoto příkazu se vymaže SCDATA (paměť záznamů) a tabulka měřičů!
AT^SCAMSADD=,<port>,<protokol>,<baudrate>,<interval>,<number_of_expected_devices>

Příkaz provede detekci zařízení na sběrnici, zapíše do tabulky zařízení AMS, zároveň vymaže data v datovém prostoru a vypíše výsledek s adresami detekovaných metrů.

  • <port> – číslo fyzického portu, na které je dané zařízení připojeno – číslo
    • 1 – komunikační port RS232
    • 2 – komunikační port RS232/RS485/MBUS (konkrétní varianta dle HW provedení)
  • <protokol> – jméno nebo číslo komunikačního protokolu, pomocí něhož se se zařízením komunikuje
    • pro číslo:
      • 2 – označuje protokol M-BUS
    pro textový řetězec:
      • "MBUS" – označuje protokol M-BUS
  • <baudrate> – komunikační rychlost, číslo udávající baudovou komunikační rychlost, není-li parametr uveden, bude použita výchozí rychlost
    • možné hodnoty jsou 300, 600, 1200, 2400. Výchozí rychlost (default): 2400.

  • <interval> – textový řetězec symbolu časového intervalu (počet minut nebo hodin nebo dnů), možné hodnoty jsou:
    • "1M", "2M", "3M", "4M", "5M", "6M", "10M", "12M", "15M", "20M", "30M", "1H", "2H", "3H", "4H", "6H", "8H", "12H", "1D"
  • <number_of_expected_devices> – počet očekávaných zařízení –  číslo udávající počet nově přidaných zařízení.
    • jedná se o počet zařízení, která jsou očekávána na sběrnici. Bude-li jejich počet naplněn, ukončí se automatická detekce. 


Formát odpovědi:

^SCAMSADD:<error_code>,<number_of_devices>,"<primary_address1>;<secondary_address1>;<primary_address2>;<secondary_address2>;....................."
OK

Příklady příkazů (detekce 3 metrů na MBUSu, na rychlosti 2400 Bd a intervalem vyčítání v AMS 2 hodiny) – stejný příkaz zapsaný různými způsoby:

AT^SCAMSADD=2,2,"default","2h",3
AT^SCAMSADD=2,2,"2400","2h",3
AT^SCAMSADD=2,mbus,"default","2h",3
AT^SCAMSADD=2,mbus,"2400","2h",3

Příklady odpovědi:

Bez chyby (detekce 3 metrů): 

^SCAMSADD: 0,3,"1,00660421;19,08780251;1,09801004"
OK

S chybou (detekován jiný počet metrů, než bylo uvedeno, zde 2 metry): 

^SCAMSADD: 65286,2,"1,00660421;19,08780251"
OK

S chybou (kolize sekundárních adres MBUS slave zařízení): 

^SCAMSADD: 131094,0,""
OK

Čtení záznamů typu AMS

AT rozhraní pro čtení uložených datových záznamů (typu AMS).

AT^SCDATA=?
Vypíše seznam příkazů pro ovládání modulu čtení uložených datových záznamů.

Odpověď :

^SCDATA: "MESS_CNT"
^SCDATA: "GET_SPACE"
^SCDATA: "GET_OLDEST"
^SCDATA: "GET_FILTERED","0-150"
^SCDATA: "DEL_OLDEST"
^SCDATA: "DEL_ALL"
OK
AT^SCDATA="MESS_CNT"

Příkaz pro modul čtení uložených datových záznamů vrátí počet uložených datových záznamů.

Formát odpovědi:

^SCDATA: "MESS_CNT",<pocet>
OK

Příklad odpovědi (paměť datových záznamů obsahuje 44 záznamů):

^SCDATA: "MESS_CNT",44
OK
AT^SCDATA="GET_SPACE"

Příkaz pro modul čtení uložených datových záznamů vrátí velikost dostupné paměti pro ukládání datových záznamů (v bytech).

Formát odpovědi:

^SCDATA: "GET_SPACE",<pocet>
OK

Příklad odpovědi (volná dostupná paměť je 7008089 B):

^SCDATA: "GET_SPACE",7008089
OK
AT^SCDATA="GET_OLDEST",<pocet>

Příkaz pro modul čtení uložených datových záznamů vrátí výpis nejstarších datových záznamů.

  • <počet> – specifikuje počet nejstarších záznamů, pro který se má vrátit výpis – číslo

 

Tip

  • Pokud použijete příkaz ve tvaru AT^SCDATA="GET_OLDEST" bez udání počtu záznamů, vyčte se pouze jeden poslední záznam.

Formát odpovědi pro známý formát dat a význam jednotlivých parametrů v řádku:

AT^SCDATA: <typ_zaznamu>,<casova_znacka>,<sekvencni_cislo>,<protocol>,<index>,<chybovy_kod>,<identifikace_zarizeni>,<data>
OK
  • <typ_zaznamu> – typ záznamu –  textový řetězec označující typ datového záznamu:
    • "AMS" – záznam systému AMS (Autonomous Metering System)
    • "WMBUS" – záznam systému Wireless M-BUS
    • "SYSTART" – záznam s informacemi o startu systému
  •   <casova_znacka> – časová značka uložení dat do paměti záznamů – číslo
    • časová značka ve formátu "32-bit Unix timestamp"
  • <sekvencni_cislo> – sekvenční číslo záznamu v paměti záznamů (s každým uloženým záznamem se inkrementuje) – číslo
  • <protocol> – jméno komunikačního protokolu, pomocí něhož se se zařízením komunikovalo – textový řetězec
    • v současné verzi jsou dostupné řetězce "IEC62056-21", "MBUS", "MODBUS", "INMAT", "LOTOS", "AIN_DIN", "Unknown"
  • <index> – index zařízení v tabulce zařízení v době záznamu dat – číslo
  • <chybovy_kod> – kód chyby vrácený jako výsledek procesu vyčtení dat ze zařízení (hodnota 0 znamená výsledek bez chyby) – číslo
    • 32-bitové neznaménkové číslo v dekadickém formátu
  • <identifikace_zarizeni> – textový řetězec vrácený zařízením jako jeho identifikace – textový řetězec
    • pro protokol IEC 62056-21 – textový identifikační řetězec (tak, jak je přijat od zařízení)
    • pro protokol M-BUS – prázdný textový řetězec (identifikační řetězec neexistuje)
    • pro protokol MODBUS – prázdný textový řetězec (identifikační řetězec neexistuje)
    • pro protokol INMAT 51/66 – prázdný textový řetězec (identifikační řetězec neexistuje)
    • pro protokol LOTOS 301 – prázdný textový řetězec (identifikační řetězec neexistuje)
    • pro protokol A/D vstupů – textový identifikační řetězec, který:
        • je kopií textového řetězce adresy zařízení ve formátu "<vstup>/<parametr>[/<varianta>]" v případě, že adresa zařízení je specifikována korektně
        • je prázdný (tedy je "") v případě, že adresa zařízení je specifikována chybně

  • <data> – surová data vyčtená ze zařízení  – textový řetězec
    • pro protokol IEC 62056-21 – textový řetězec přijatých dat (tak, jak je přijat od zařízení)
    • pro protokol M-BUS – textový řetězec celého datového rámce přijatého od zařízení ve formátu ASCII HEX (datový byte je reprezentován dvěma po sobě jdoucími ASCII znaky udávajícími hodnotu datového byte v hexadecimálním tvaru)
    • pro protokol MODBUS – textový řetězec ve formátu <adresa>:<cmd>:<mem_addr>:celý datový rámec přijatý od zařízení ve formátu ASCII HEX (datový byte je reprezentován dvěma po sobě jdoucími ASCII znaky udávajícími hodnotu datového byte v hexadecimálním tvaru)
    • pro protokol INMAT 51/66 – textový řetězec ve formátu "<adresa>|<vysledek_1>,<vysledek_2>,....,<vysledek_N>"
        • <adresa> – adresa zařízení (odpovídá adrese zařízení specifikované v řetězci adresy zařízení) číslo v rozsahu 0 až 63
        • <vysledek_x> – textový řetězec ve formátu <prikaz_x>=<data_vysledku_x>, který obsahuje výsledek příkazu (s odpovídajícím pořadovým číslem) v řetězci adresy zařízení. Počet výsledků příkazu je stejný jako je počet příkazů v řetězci adresy zařízení (pořadí je také zachováno).
            • <prikaz_x> – textový řetězec příkazu z řetězce adresy zařízení, na jehož základě byl daný výsledek vygenerován
            • <data_vysledku_x> – textový řetězec binárních dat přijatých od zařízení ve formátu ASCII HEX (datový byte je reprezentován dvěma po sobě jdoucími ASCII znaky udávajícími hodnotu datového byte v hexadecimálním tvaru) v případě, že nedošlo k chybě. Textový řetězec "ERR" v případě, že došlo k chybě (specifikovaná data nejsou k dispozici, typ dat je jiný, byl specifikován nepříslušející přístup k datům)
    • pro protokol  LOTOS 301 – textový řetězec ve formátu "<vysledek_1>,<vysledek_2>,....,<vysledek_N>"
        • <vysledek_x> – textový řetězec ve formátu <identifikator>=<hodnota>, který obsahuje výsledek procesu sběru dat vysílaných měřičem. Počet výsledků je dán počtem unikátních identifikátorů vysílaných měřičem. Výsledky jsou seřazeny vzestupně podle číselné hodnoty identifikátorů.
            • <identifikator> – číselný identifikátor vysílané proměnné, dekadické číslo v rozsahu 0 až 999
            • <hodnota> – hodnota vysílané proměnné. Textový řetězec (bez mezer) obsahující textovou reprezentaci číselné dekadické hodnoty proměnné (možnost neceločíselných hodnot s řádovou tečkou, možnost záporných čísel).
    • pro protokol A/D vstupů – textový řetězec hodnoty výsledku v dekadickém tvaru 
Příklad odpovědi:
^SCDATA: "WMBUS",1452142010,36617,-14,70,"44A2057714005401377277140054A2050137E70000002F2F046D052707210167
60DFD11106563616B696E756D6F6B656C65544E320E138545030000002F2F2F2F2F2F2F2F2F"
OK

Formát odpovědi pro neznámý formát dat:

AT^SCDATA: <typ_zaznamu>,<casova_znacka>,<sekvencni_cislo>,"Unsupported record format"
OK

Filtrování záznamů typu AMS

AT^SCDATA="GET_FILTERED",<filtr>

Příkaz pro modul čtení uložených datových záznamů vrátí výpis záznamů dle zadaného filtru záznamů.

  • <filtr> – specifikuje požadavky na filtrování datových záznamů při výpisu, filtrování je aplikováno na všechny datové záznamy v paměti záznamů.

Formát odpovědi pro známý formát dat:

AT^SCDATA: <typ_zaznamu>,<casova_znacka>,<sekvencni_cislo>,<protocol>,<index>,<chybovy_kod>,<identifikace_zarizeni>,<data>
OK

 

Formát odpovědi pro neznámý formát dat:

AT^SCDATA: <typ_zaznamu>,<casova_znacka>,<sekvencni_cislo>,"Unsupported record format"
OK
Význam jednotlivých parametrů v řádku:
  • <typ_zaznamu> – typ záznamu – textový řetězec označující typ datového záznamu:
    • "AMS" – záznam systému AMS (Autonomous Metering System)
    • "WMBUS" – záznam systému Wireless M-BUS
    • "SYSTART" – záznam s informacemi o startu systému
  •  <casova_znacka> – časová značka uložení dat do paměti záznamů – číslo
    • časová značka ve formátu "32-bit Unix timestamp"
  • <sekvencni_cislo> – sekvenční číslo záznamu v paměti záznamů (s každým uloženým záznamem se inkrementuje) – číslo
  • <protocol> – jméno komunikačního protokolu, pomocí něhož se se zařízením komunikovalo – textový řetězec
    • "IEC62056-21", "MBUS", "MODBUS", "INMAT", "LOTOS", "AIN_DIN", "Unknown"
  • <index> – index zařízení v tabulce zařízení v době záznamu dat – číslo
  • <chybovy_kod> – kód chyby vrácený jako výsledek procesu vyčtení dat ze zařízení (hodnota 0 znamená výsledek bez chyby) – číslo
    • 32-bitové neznaménkové číslo v dekadickém formátu
  • <identifikace_zarizeni> – textový řetězec vrácený zařízením jako jeho identifikace – textový řetězec
    • pro protokol IEC 62056-21 – textový identifikační řetězec (tak jak je přijat od zařízení)
    • pro protokol M-BUS – prázdný textový řetězec (identifikační řetězec neexistuje)
    • pro protokol INMAT 51/66 – prázdný textový řetězec (identifikační řetězec neexistuje)
    • pro protokol LOTOS 301 – prázdný textový řetězec (identifikační řetězec neexistuje)
    • pro protokol A/D vstupů – textový identifikační řetězec, který:
        • je kopií textového řetězce adresy zařízení ve formátu "<vstup>/<parametr>[/<varianta>]" v případě, že adresa zařízení je specifikována korektně
        • je prázdný (tedy je "") v případě, že adresa zařízení je specifikována chybně
  • <data> – surová data vyčtená ze zařízení – textový řetězec
    • pro protokol IEC 62056-21 – textový řetězec přijatých dat (tak jak je přijat od zařízení)
    • pro protokol M-BUS – textový řetězec celého datového rámce přijatého od zařízení ve formátu ASCII HEX (datový byte je reprezentován dvěma po sobě jdoucími ASCII znaky udávajícími hodnotu datového byte v hexadecimálním tvaru)
    • pro protokol MODBUS – textový řetězec ve formátu <adresa>:<cmd>:<mem_addr>:celý datový rámec přijatý od zařízení ve formátu ASCII HEX (datový byte je reprezentován dvěma po sobě jdoucími ASCII znaky udávajícími hodnotu datového byte v hexadecimálním tvaru)
    • pro protokol INMAT 51/66 – textový řetězec ve formátu "<adresa>|<vysledek_1>,<vysledek_2>,....,<vysledek_N>"
        • <adresa> – adresa zařízení (odpovídá adrese zařízení specifikované v řetězci adresy zařízení) číslo v rozsahu 0 až 63
        • <vysledek_x> – textový řetězec ve formátu <prikaz_x>=<data_vysledku_x>, který obsahuje výsledek příkazu (s odpovídajícím pořadovým číslem) v řetězci adresy zařízení. Počet výsledků příkazu je stejný jako je počet příkazů v řetězci adresy zařízení (pořadí je také zachováno).
            • <prikaz_x> – textový řetězec příkazu z řetězce adresy zařízení, na jehož základě byl daný výsledek vygenerován
            • <data_vysledku_x> – textový řetězec binárních dat přijatých od zařízení ve formátu ASCII HEX (datový byte je reprezentován dvěma po sobě jdoucími ASCII znaky udávajícími hodnotu datového byte v hexadecimálním tvaru) v případě, že nedošlo k chybě. Textový řetězec "ERR" v případě, že došlo k chybě (specifikovaná data nejsou k dispozici, typ dat je jiný, byl specifikován nepříslušející přístup k datům).
    • pro protokol  LOTOS 301 – textový řetězec ve formátu "<vysledek_1>,<vysledek_2>,....,<vysledek_N>"
        • <vysledek_x> – textový řetězec ve formátu <identifikator>=<hodnota>, který obsahuje výsledek procesu sběru dat vysílaných měřičem. Počet výsledků je dán počtem unikátních identifikátorů vysílaných měřičem. Výsledky jsou seřazeny vzestupně podle číselné hodnoty identifikátorů.
            • <identifikator> – číselný identifikátor vysílané proměnné, dekadické číslo v rozsahu 0 až 999
            • <hodnota> – hodnota vysílané proměnné. Textový řetězec (bez mezer) obsahující textovou reprezentaci číselné dekadické hodnoty proměnné (možnost neceločíselných hodnot s řádovou tečkou, možnost záporných čísel).
    • pro protokol A/D vstupů – textový řetězec hodnoty výsledku v dekadickém tvaru


Nastavení filtru

Obecný formát pro pole <filtr> je "<podminka>;<podminka>;........;<podminka>", přičemž <podminka> je výraz pro zápis podmínky filtrování. Maximální počet podmínek v poli <filtr> je 10. Výpis datového záznamu je zaslán na výstup pouze v případě, že splňuje všechny podmínky specifikované v poli <filtr>.

<podminka> Obecný formát pro <podminka> je <parametr><relace><hodnota>

<parametr> je textový řetězec označující parametr podmínky. Podporované řetězce jsou:

  • RECORD_TYPE – typ datového záznamu
  • TIME – časová značka datového záznamu
  • TABLE_ID – index zařízení v tabulce zařízení
  • ERROR_CODE – chybový kód datového záznamu

<relace> je textový řetězec určující požadovanou relaci mezi parametrem podmínky a hodnotou podmínky. Podporované řetězce jsou:

  • == – je rovno
  • != – není rovno
  • > – je větší než
  • >= – je větší než nebo rovno
  • < – je menší než
  • <= – je menší než nebo rovno

<hodnota> je textový řetězec číselné hodnoty nebo jména

 

Příklady použití

Vypíše všechny datové záznamy systému Wireless M-BUS obsažené v paměti datových záznamů.

AT^SCDATA="GET_FILTERED","RECORD_TYPE==WMBUS"

Vypíše všechny datové záznamy systému AMS, jejichž časová značka spadá do intervalu od 1388665085 do 1388668685 včetně. 

AT^SCDATA="GET_FILTERED","RECORD_TYPE==AMS;TIME>=1388665085;TIME<=1388668685"

Vypíše všechny datové záznamy systému AMS, jejichž časová značka je větší než 1388665085 a jejichž index zařízení v AMS tabulce zařízení je 1. 

AT^SCDATA="GET_FILTERED","RECORD_TYPE==AMS;TIME>1388665085;TABLE_ID==1"
Vypíše všechny datové záznamy, jejichž chybový kód není 0. 
AT^SCDATA="GET_FILTERED","ERROR_CODE!=0"

Vypíše všechny datové záznamy, jejichž chybový kód je 0, mají typ záznamu AMS a jejich časová značka je větší jak 1388668685. 

AT^SCDATA="GET_FILTERED","ERROR_CODE==0;RECORD_TYPE==AMS;TIME>1388668685"

Mazání záznamů

AT^SCDATA="DEL_OLDEST",<pocet>

Příkaz pro modul čtení uložených datových záznamů smaže nejstarší datový záznam.

  • <pocet> – specifikuje počet nejstarších záznamů k odstranění.

Příklad: odstraň z paměti 5 nejstarších datových záznamů. 

AT^SCDATA="DEL_OLDEST",5

Formát odpovědi – akce se zdařila:

OK

Formát odpovědi – akce se nezdařila:

ERROR
AT^SCDATA="DEL_ALL"

Příkaz pro modul čtení uložených datových záznamů smaže všechny datové záznamy.

Formát odpovědi – akce se zdařila:

OK

Formát odpovědi – akce se nezdařila:

ERROR

Význam chybových kódů systému AMS uváděných ve výpisu odečtených dat

Obecné chyby pocházející z jádra systému AMS

0Bez chyby (nenastala žádná chyba)
1Chyba při vstupu parametrických dat odečtu do modulu protokolu
2Chyba při výstupu dat odečtu z modulu protokolu
3Požadovaný protokol nelze napojit na specifikovaný fyzický port
4Nezdařilo se zahájit odečet dat ze zařízení

Chyby zásuvného modulu podpory protokolu IEC 62056-21

65536 Nespecifická chyba (interní chyba modulu)
65537Čtení dat přerušeno a ukončeno na základě zásahu uživatele
65538Chybný formát řetězce adresy zařízení
65539Nepodporovaný znak komunikační rychlosti v odpovědi zařízení
65540Nepodařilo se nastavit komunikační rychlost fyzického portu
65541Timeout při čekání na "Zprávu s identifikací" (Identification message)
65542Zařízení používá v AMS nepodporovaný mód protokolu
65543Timeout při čekání na vyslání "Zprávy s volbou potvrzení/možnosti" (Acknowledgement/option select message)
65544Nepodařilo se nastavit komunikační rychlost fyzického portu
65545Timeout při příjmu dvou po sobě jdoucích znaků zprávy
65546Timeout při příjmu dvou po sobě jdoucích zpráv
65793Nedovolený znak v poli "Označení výrobce" (Manufacturer's identification) v přijaté zprávě "Zpráva s identifikací" (Identification message)
65794Nedovolený znak v poli "Určení telegrafní rychlosti" (Baud rate identification) v přijaté zprávě "Zpráva s identifikací" (Identification message)
65795Nedovolený znak v poli "Identifikace" (Identification) v přijaté zprávě "Zpráva s identifikací" (Identification message)
65796Nedovolený znak v polích "CR" a "LF" v přijaté zprávě "Zpráva s identifikací" (Identification message)
66049Nedovolený znak v poli "Datový blok" (Data block) v přijaté zprávě "Zpráva s daty" (Data message)
66050Délka interního datového bufferu AMS pro přijatá data je nedostatečná pro množství dat v poli "Datový blok" (Data block) v přijaté zprávě "Zpráva s daty" (Data message)
66051Nedovolený znak v polích "CR" a "LF" v přijaté zprávě "Zpráva s daty" (Data message)
66052Nedovolený znak v poli "ETX" v přijaté zprávě "Zpráva s daty" (Data message)
66053Chyba integrity dat v přijaté zprávě "Zpráva s daty" (Data message), hodnota pole "BCC" nesouhlasí s vypočítaným kontrolním znakem bloku

Chyby zásuvného modulu podpory protokolu M-BUS

131072

Nespecifická chyba (interní chyba modulu)

131073

Čtení dat přerušeno a ukončeno na základě zásahu uživatele

131074

Chybný formát řetězce adresy (a komunikační rychlosti) zařízení

131075

Nepodařilo se nastavit komunikační rychlost fyzického portu

131076

Nezdařilo se odeslat "SND_NKE" komunikační rámec ve vymezeném časovém intervalu směrem k zařízení

131077

Nezdařilo se odeslat "SND_NKE" komunikační rámec ve vymezeném časovém intervalu směrem k zařízení

131078

Timeout při příjmu odpovědi od zařízení na "SND_NKE" komunikační rámec

131079

Nesprávný typ komunikačního rámce při příjmu odpovědi od zařízení na "SND_NKE" komunikační rámec

131080

Nezdařilo se odeslat "REQ_UD2" komunikační rámec ve vymezeném časovém intervalu směrem k zařízení

131081

Nezdařilo se odeslat "REQ_UD2" komunikační rámec ve vymezeném časovém intervalu směrem k zařízení

131082

Timeout při příjmu odpovědi od zařízení na "REQ_UD2" komunikační rámec

131083

Nesprávný typ komunikačního rámce při příjmu odpovědi od zařízení na "REQ_UD2" komunikační rámec

131084

Nesprávný typ odpovědi od zařízení na "REQ_UD2" komunikační rámec

131085

Nesprávná adresa zařízení v odpovědi od zařízení na "REQ_UD2" komunikační rámec

131086Nezdařilo se odeslat "SND_UD slave selection" komunikační rámec ve vymezeném časovém intervalu směrem k zařízení
131087Nezdařilo se odeslat "SND_UD slave selection" komunikační rámec ve vymezeném časovém intervalu směrem k zařízení
131088Timeout při příjmu odpovědi od zařízení na "SND_UD slave selection" komunikační rámec
131089Nesprávný typ komunikačního rámce při příjmu odpovědi od zařízení na "SND_UD slave selection" komunikační rámec
131090Nezdařilo se odeslat "SND_UD slave selection" komunikační rámec ve vymezeném časovém intervalu směrem ke slave zařízením při detekci slave zařízení
131091

Nezdařilo se odeslat "SND_UD slave selection" komunikační rámec ve vymezeném časovém intervalu směrem ke slave zařízením při detekci slave zařízení

131092Nezdařilo se odeslat "REQ_UD2" komunikační rámec ve vymezeném časovém intervalu směrem ke slave zařízením při detekci slave zařízení na sběrnici
131093Nezdařilo se odeslat "REQ_UD2" komunikační rámec ve vymezeném časovém intervalu směrem ke slave zařízením při detekci slave zařízení na sběrnici
131094Kolize sekundárních adres slave zařízení při detekci slave zařízení na sběrnici (dvě či více slave zařízení používají stejnou sekundární adresu)
131095Nezdařilo se odeslat uživatelsky definovaný komunikační rámec ve vymezeném časovém intervalu směrem k zařízení
131096Nezdařilo se odeslat uživatelsky definovaný komunikační rámec ve vymezeném časovém intervalu směrem k zařízení
131097Timeout při příjmu odpovědi od zařízení na uživatelsky definovaný komunikační rámec (ve vymezeném čase byl přijat nekompletní rámec)

131329

Chybný (první) "start" znak rámce odpovědi od zařízení

131330

Chybný druhý "start" znak rámce odpovědi od zařízení

131331

Chybný "stop" znak rámce odpovědi od zařízení

131332

Chybný kontrolní součet rámce odpovědi od zařízení

131333

Chyba integrity dat určujících délku rámce odpovědi od zařízení

131334

Nedovolená hodnota dat určujících délku rámce odpovědi od zařízení

131335Délka interního datového bufferu pro příjem rámce je nedostatečná pro množství dat přijatého rámce

Chyby zásuvného modulu podpory protokolu MODBUS

196608

Nespecifická chyba (interní chyba modulu)

196609

Čtení dat přerušeno a ukončeno na základě zásahu uživatele

196610

Chybný formát řetězce zprávy

196611

Nepodařilo se nastavit požadované parametry komunikačního portu

196612

Nezdařilo se odeslat komunikační rámec ve vymezeném časovém intervalu směrem k zařízení

196613

Nezdařilo se odeslat komunikační rámec ve vymezeném časovém intervalu směrem k zařízení

196614

Timeout při příjmu odpovědi od zařízení na komunikační rámec

196615

Chyba komunikačního rámce při příjmu odpovědi od zařízení, sem spadá i chyba CRC

196616

Délka interního datového bufferu AMS pro předávání výsledku odečtu dat ze zařízení je nedostatečná

196640

Nesprávný nebo neznámý formát odpovědi MODBUS zařízení

 Chyby zásuvného modulu podpory komunikačního protokolu zařízení INMAT 51 a INMAT 66

4194304

Nespecifická chyba (interní chyba modulu)

4194305

Čtení dat přerušeno a ukončeno na základě zásahu uživatele

4194306

Chybný formát řetězce adresy zařízení (délka řetězce)

4194307

Chybný formát řetězce adresy zařízení (formát řetězce)

4194308

Chybný formát řetězce adresy zařízení (formát řetězce)

4194309

Nepodařilo se nastavit požadované parametry komunikačního portu

4194310

Nezdařilo se odeslat "Request FDL-Status with Reply" komunikační rámec ve vymezeném časovém intervalu směrem k zařízení

4194311

Nezdařilo se odeslat "Request FDL-Status with Reply" komunikační rámec ve vymezeném časovém intervalu směrem k zařízení

4194312Timeout při příjmu odpovědi od zařízení na "Request FDL-Status with Reply" komunikační rámec
4194313Nesprávný typ komunikačního rámce při příjmu odpovědi od zařízení na "Request FDL-Status with Reply" komunikační rámec
4194314Nesprávná adresa v poli "adresa cílové stanice" (Destination Address) v odpovědi od zařízení na "Request FDL-Status with Reply" komunikační rámec
4194315Nesprávná adresa v poli "adresa zdrojové stanice" (Source Address) v odpovědi od zařízení na "Request FDL-Status with Reply" komunikační rámec
4194316Nesprávná hodnota v poli "řídící byte" (Frame Control) v odpovědi od zařízení na "Request FDL-Status with Reply" komunikační rámec
4194317Nesprávná hodnota v poli "řídící byte" (Frame Control) v odpovědi od zařízení na "Send and Request Data high" komunikační rámec (rámec se signalizací chyby)
4194318Nesprávná hodnota v poli "řídící byte" (Frame Control) v odpovědi od zařízení na "Send and Request Data high" komunikační rámec (rámec s vyžádanými daty)
4194319Nezdařilo se odeslat "Send and Request Data high" komunikační rámec ve vymezeném časovém intervalu směrem k zařízení
4194320Nezdařilo se odeslat "Send and Request Data high" komunikační rámec ve vymezeném časovém intervalu směrem k zařízení
4194321Timeout při příjmu odpovědi od zařízení na "Send and Request Data high" komunikační rámec
4194322Nesprávná adresa v poli "adresa cílové stanice" (Destination Address) v odpovědi od zařízení na "Send and Request Data high" komunikační rámec
4194323Nesprávná adresa v poli "adresa zdrojové stanice" (Source Address) v odpovědi od zařízení na "Send and Request Data high" komunikační rámec
4194324Nesprávná hodnota v poli "kód odpovědi" (pole aplikační vrstvy protokolu) v odpovědi od zařízení na "Send and Request Data high" komunikační rámec (rámec s vyžádanými daty)
4194325Délka interního datového bufferu AMS pro předávání výsledku odečtu dat ze zařízení je nedostatečná
4194561Chybný (první) "start" znak rámce odpovědi od zařízení
4194562Chybný druhý "start" znak rámce odpovědi od zařízení
4194563Chybný "end" znak rámce odpovědi od zařízení
4194564Chybný kontrolní součet rámce odpovědi od zařízení
4194565Chyba integrity dat určujících délku rámce odpovědi od zařízení (hodnota pole "LE" se liší od hodnoty pole "LEr")
4194566Nedovolená hodnota dat určujících délku rámce odpovědi od zařízení (nedovolená hodnota pole "LE")
4194567Délka interního datového bufferu pro příjem rámce je nedostatečná pro množství dat přijatého rámce
 Chyby zásuvného modulu podpory komunikačního protokolu zařízení LOTOS 301

4259840

Nespecifická chyba (interní chyba modulu)

4259841

Čtení dat přerušeno a ukončeno na základě zásahu uživatele

4259842

Chybný formát řetězce adresy zařízení (délka řetězce)

4259843

Chybný formát řetězce adresy zařízení (formát řetězce)

4259844

Nepodařilo se nastavit požadované parametry komunikačního portu

4259845

Proces sběru dat vysílaných zařízením je zatím ve fázi náběhu (data v této fázi nemohou být poskytnuta z důvodu jejich nekompletnosti)

4259846

Délka interního datového bufferu AMS pro předávání výsledku odečtu dat ze zařízení je nedostatečná

4259847

Chyba spojení se zařízením (nepřichází žádná data od zařízení)

Chyby zásuvného modulu podpory protokolu A/D vstupů

8388608

Nespecifická chyba (interní chyba modulu)

8388609

Čtení dat přerušeno a ukončeno na základě zásahu uživatele

8388610

Chybný formát řetězce adresy zařízení

8388611

Timeout při odesílání komunikačního rámce žádosti do modulu A/D vstupů

8388612

Timeout při čekání na odeslání komunikačního rámce žádosti do modulu A/D vstupů

8388613

Timeout při příjmu rámce odpovědi od modulu A/D vstupů

8388865

Chybný typ rámce odpovědi od modulu A/D vstupů

8388866

Chybná hodnota sekvenčního čísla rámce odpovědi od modulu A/D vstupů

8388867

Délka interního datového bufferu AMS pro přijatá data je nedostatečná pro množství dat v rámci odpovědi od modulu A/D vstupů

8388868

Chybný kontrolní součet rámce odpovědi od modulu A/D vstupů

8388869

Chybná hodnota synchronizačního pole konce rámce odpovědi od modulu A/D vstupů

Chyby zákaznického modulu ONF (pseudo AMS chybové kódy)

65280

Nespecifická chyba (interní chyba modulu)

65281

Uživatelem specifikovaný očekávaný počet slave zařízení na sběrnici MBUS je větší než maximální možný počet zařízení obsluhovaných systémem AMS

65282

Chyba při startu procesu vyhledávání slave zařízení na sběrnici MBUS prováděného systémem AMS

65283

Chyba při čtení výsledku procesu vyhledávání slave zařízení na sběrnici MBUS ze systému AMS

65284

Chyba při mazání obsahu tabulky zařízení systému AMS

65285

Chyba při parsování výsledku procesu vyhledávání slave zařízení na sběrnici MBUS získaného ze systému AMS

65286

Počet nalezených slave zařízení na sběrnici MBUS se liší od počtu slave zařízení specifikovaného uživatelem jako očekávaný počet slave zařízení

65287

Chyba při přidávání detekovaného MBUS slave zařízení do tabulky zařízení systému AMS

65288

Počet SMS zpráv uživatelského výstupu překročil maximální povolený počet SMS zpráv

65289Požadovaná funkcionalita není pro daný protokol dostupná
65290Chyba při mazání obsahu tabulky zařízení AMS (jedno či více zařízení v tabulce se nepodařilo odstranit)
65291Při procesu vyhledávání zařízení na sběrnici bylo nalezeno více zařízení, než je maximální možný počet zařízení v tabulce zařízení AMS