...
Unival typu štruktúra ("record")
Hodnota typu štruktúra má svoje hodnoty a atribúty uložené ako dvojrozmerné pole (riadok, stĺpec). Hodnoty nadobúrajú typ podľa definície štruktúry v systéme D2000. Nepoužíva rozširujúce atribúty
alarmTime, flags, limitStatus, processAlarmStatus, status a valueTime
. Namiesto nich používa atribúty alarmTimes, flagsSets, limitStatuses, processAlarmStatuses, statusSets, valueTimes
, ktoré sú dvojrozmerným poľom a prvky majú rovnaký typ ako pôvodné atribúty. Ďalšími atribútmi používanými len pri štruktúrach sú definition
a structType
. Atribút definition
(objekt D2RecordDefinition) je vždy automaticky nastavený na všetkých štruktúrovaných hodnotách, ktoré vystupujú zo systému D2000. Tento atribút popisuje názvy stĺpcov a ich typy v štrukturovanej premennej. Typy stĺpcov v štruktúre sú zjednodušenou verziou typov Unival.
Typ stĺpca | Typ hodnoty |
---|
"bool" | typ VBool |
"integer" | celé číslo |
"real" | reálne číslo |
"time" | celé číslo (počet milisekúnd od epochy) |
"timespan" | reálne číslo (počet sekúnd) |
"text" | text |
"object" | podľa typu referencovaného D2000 objektu |
Atribút structType
je textový a určuje meno objektu D2000 typu definícia štruktúry. Je povinné ho nastaviť pre každú štrukturovanú hodnotu, ktorá vstupuje do systému D2000.
Blok kódu |
---|
language | js |
---|
title | Príklad posielanéj hodnoty typu štruktúra - definícia SD.ArrReal_Text, 2 stĺpce (_int, text), 3 riadky: |
---|
|
{
"type": "record",
"structType": "SD.Arr_Real_Text",
"value": [[1, "One"], [2, "Two"], [3, "Three"]]
} |
Blok kódu |
---|
language | js |
---|
title | Príklad vracanej hodnoty typu štruktúra - definícia SD.ArrReal_Text, 2 stĺpce (_int, text), 3 riadky: |
---|
|
{
"type": "record",
"definition": {
"columnTypes": ["integer", "text"],
"columnNames": ["digit", "name"]
},
"value": [[1, "One"], [2, "Two"], [3, "Three"]]
} |