Porovnávané verzie

Kľúč

  • Tento riadok sa pridal
  • Riadok je odstránený.
  • Formátovanie sa zmenilo.

...

Základnou jednotkou výmeny dát medzi klientom aj D2000 systémom je typ Unival - zoskupujúci základné atribúty objektov v D2000. Nasledujúci príklad unival hodnoty v JSON formáte, reprezentuje hodnotu typu reálne číslo so stavmi Valid a Weak. stavom Valid.

Blok kódu
languagejs
titlePríklad zápisu Unival hodnoty
{
  "type": "real",
  "value": 123.456,
  "status": ["Valid"]
}

Každý Unival hodnota má jasne definovaný typ pomocou atribútu type. V prípade posielania Unival hodnôt do D2000 systému atribút type musí byť vždy definovaný. Výnimku tvorí iba možnosť keď namiesto objektového zápisu Unival typu, pošleme priamo hodnotu, v našom prípade 123,456. Tá je Smart Web serverom automaticky konvertovaná na typ "real", keďže sa jedná o hodnotu s desatinnou čiarkou (v prípade poslania reťazca by bol typ nastavený automaticky na hodnotu "text" a celého čísla na hodnotu "int").

Blok kódu
languagejs
titleSkrátený zápis Unival hodnoty
123.456

Odpoveď zo Smart Web servera, nikdy nechodí v tomto skrátenom zápise, ale v "objektovom" zápise s definovaným typom (atribút type) a hodnotou (atribút value) ak je platná. Ostatné atribúty nie sú v odpovedi zo Smart Web servera implicitne vrátené kvôli optimalizácii, ale klient si ich vie vyžiadať cez špeciálny atribút returnAs (popísaný nižšie). Atribút type môže nadobúdať nasledovné hodnoty:

Hodnota atribútu typePopis typu hodnoty
"nan"žiadna
"bool"typ VBool
"int"celé číslo
"real"reálne číslo
"station"typ VStation
"alarm"typ VAlarm
"process"typ VProcess
"time"celé číslo (počet milisekúnd od epochy)
"timespan"reálne číslo (počet sekúnd)
"text"text
"array"pole objektov D2ApiValue
"qval"typ VQval
"record"dvojrozmerné pole (riadok, stĺpec) hodnôt

Zoznam všetkých atribútov Unival objektu je vypísaný v nasledujúcej tabuľke:

AtribútTyp hodnotyPovinnýPredvolená hodnotaPoznámka
typetextáno

valuepodľa typunie
nenastavený atribút automaticky znamená neplatnú hodnotu, nastavený platnú (ak príznak nie je preťažený v atribúte status)
valueTimecelé číslo (počet milisekúnd od epochy)nieaktuálny čas
valueTimesdvojrozmerné pole (riadok, stĺpec) celých čísel (počet milisekúnd od epochy)nieaktuálny časlen pre typ "record"
alarmTimecelé číslo (počet milisekúnd od epochy)nie

alarmTimesdvojrozmerné pole (riadok, stĺpec) celých čísel (počet milisekúnd od epochy)nie
len pre typ "record"
flagspole textov (vymenovaný typ Flag)niežiadny príznak
flagsSetsdvojrozmerné pole (riadok, stĺpec) polí textov (vymenovaný typ Flag)niežiadny príznaklen pre typ "record"
limitStatuspole textov (vymenovaný typ LimitStatus)nie"InLimit"
limitStatusesdvojrozmerné pole (riadok, stĺpec) polí textov (vymenovaný typ LimitStatus)nie"InLimit"len pre typ "record"
processAlarmStatuspole textov (vymenovaný typ ProcessAlarmStatus)nie"NoAlarm"
processAlarmStatusesdvojrozmerné pole (riadok, stĺpec) polí textov (vymenovaný typ ProcessAlarmStatus)nie"NoAlarm"len pre typ "record"
statuspole textov (vymenovaný typ Status)niepríznak "Valid"
statusSetsdvojrozmerné pole (riadok, stĺpec) polí textov (vymenovaný typ Status)niepríznak "Valid"len pre typ "record"
formattedValuetextnie
v atribúte sa vracia formátovaná hodnota objektu D2000 zo servera, nemá význam pri volaniach RPC metód
structTypetextáno
len pre typ "record", povinný na každom type "record" vstupujúcom do D2000
definitionobjekt D2RecordDefinition-
len pre typ "record", nastavený na každom type "record" vystupujúcom z D2000
returnFieldspole textovnieprázdne polešpeciálny atribút definuje návratové atribúty požadované klientom od servera
returnTransformationobjekt ReturnTransformationnienulllen pre typ "record" s jedným číselnym stĺpcom a rastúcimi časovými značkami hodnôt, obsahuje konfiguráciu spracovania (downscalingu) časového radu, vykonávanom na serveri pred posielaním odpovede klientovi, kvôli veľkému rozsahu dát