12.2.2024

SCADA architektúra-hodnota objektu

SCADA architektúra – hodnota objektu

Toto je tretí zo série blogov ohľadne architektúry SCADA systémov. Chcel by som sa v nich venovať dôležitým vlastnostiam SCADA technológií, ktorých prítomnosť (alebo absencia) ovplyvňuje funkčnosť, užívateľskú prívetivosť, použiteľnosť a škálovateľnosť týchto technológií. Tento blog bude o hodnotách v D2000.

Nie je hodnota ako hodnota

Ak sa pozrieme na programovacie jazyky, tak natívne podporujú jednoduché premenné (celé alebo reálne číslo, dátum, reťazec...). Riadiace systémy pracujúce s reálnym časom a získavajúce hodnoty objektov „zvonku“ (a SCADA/MES medzi takéto systémy patria) majú ale bohatší koncept hodnoty. Štandardne sa hodnota skladá tripletu (V, T, Q), číže:

• Value - samotná hodnota

• Time – časová značka: kedy hodnota vznikla

• Quality – kvalita hodnoty: príznaky validity, kvality a podobne

Rôzne SCADA systémy implementujú navyše rôzne ďalšie atribúty hodnoty. Ako je na tom Ipesoft D2000?

Obrázok 1 - Príklad hodnoty meraného bodu

Hodnoty neexistujú “samy osebe”, vždy sú zviazané s nejakým objektom D2000, prípadne s lokálnou premennou schémy alebo skriptu.

Hodnota má definovaný typ, ktorý závisí od typu objektu. Napríklad vstupný meraný bod môže mať hodnotu nasledujúcich typov (podľa typu meraného bodu):

• Absolute time-input

• Analog input

• Integer input

• Logical input

• Quaternary input

• Text input

• Time interval-input

Podobné typy hodnôt existujú aj pre výstupné merané body. Aj niektoré ďalšie objekty majú špecifické typy hodnôt (stanica, alarm, proces).

Samotná hodnota môže byť reprezentovaná ako

• Boolean – pozor, okrem hodnôt True a False existuje pre merané body aj hodnota Oscillate, ak sa hodnota vstupu mení príliš často

• Integer – 64-bitové číslo celé

• Real - 64-bitové číslo s pohyblivou desatinnou čiarkou

• Štvorstav (OFF, ON, TRANS, ERR) – pre typ hodnoty Quaternary input

• Text – ľubovolná textová hodnota

• Absolútny čas – čas a dátum s presnosťou na ms

• Relatívny čas – časový interval s presnosťou na ms

• Alarmová hodnota – hodnota objektu alarm (Norm, Alarm, Kvit, Block, UnBlock, NoKvit)

• Hodnota stanice – stav komunikácie (ON, OFF, COMERR, HARDERR, SIMUL, WAIT)

• Hodnota procesu – stav procesu (Run, Crash, Stop, WDErr)

• Pole – pole jednoduchých hodnôt rovnakého typu (objekty typu Pole hodnôt pracujúce nad Archivovanými hodnotami).

• Štruktúra – hodnota objektu typu Štruktúrované premenná: je to matica jednoduchých hodnôt, pričom každý stĺpec má jeden z jednoduchých typov. Navyše ale môže byť stĺpec typu „referencia na objekt“, t.j. niečo ako ukazovateľ na iný objekt D2000.

Čas hodnoty reprezentuje atribút Value Time. Okrem toho existuje ešte časová značka Alarm Time – čas, kedy nastal posledný procesný alarm (alarm definovaný priamo na D2000 objekte) – tento sa dá nakonfigurovať pre merané body, počítané body a vypínače.

Čo sa týka kvality hodnoty, reprezentuje ju sada príznakov:

• Valid – hodnota je platná

• Process Alarm – je aktívny procesný alarm (napr. prekročenie medzí)

• Unacknowledged Alarm – alarm nebol potvrdený obsluhou

• Block Alarm – alarm bol obsluhou zablokovaný

• Weak – nedôveryhodná hodnota (napr. z komunikácie)

• Unacknowledged Value – nová hodnota nepotvrdená operátorom

• Transient – vykonáva sa zápis hodnoty, ešte neprišlo potvrdenie z komunikácie

• Default Value – hodnota z komunikácie bola nahradená náhradnou hodnotou

• Manual Value – hodnota zadaná operátorom alebo priradená zo skriptu

• Critical Alarm –aktívny alarm je označený ako kritický

• Unknown Value – neznáma hodnota (po štarte systému alebo po uložení objektu)

Navyše má hodnota niekoľko ďalších atribútov:

• Limits – či je hodnota v nakonfigurovaných medziach (ktoré môžu byť aj dynamické). Podľa toho má jeden zo stavov InLimit, VL_Limit, L_Limit, H_Limit, VH_Limit, LimitsProblem (posledný stav nastane, ak sú medze definované dynamicky a nemajú postupne rastúce hodnoty).

• Process Alarm Type – typ aktívneho procesného alarmu (pre rôzne typy hodnôt existujú rôzne stavy alarmov).

• User Flags - šestnásť užívateľsky použiteľných príznakov A,B, C, ... P. Pomocou nich je možné nastavovať a prenášať doplňujúceužívateľské informácie, prípadne doplnkové informácie z komunikácie (napr.špecializované flagy z protokolu IEC870-5-104).

Čo je dôležité – takáto komplexná hodnota objektu je distribuovaná a dostupná v celom systéme Ipesoft D2000. K jednotlivým atribútom vedia pristupovať napríklad počítané body a skripty, dajú sa použiť na konfiguráciu paliet použitých pri zobrazovaní v D2000 HI (palety určujú farby, viditeľnosť, blikanie alebo zobrazenie bitovej mapy v závislosti od definovaných podmienok). Celá hodnota objektu je archivovaná procesom D2000 Archiv – dá sa teda aj spätne vyhodnotiť, či bola hodnota z komunikácie, nastavená operátorom alebo či operátor potvrdil procesný alarm.

Aktívne a pasívne objekty

Objekty, ktoré nadobúdajú hodnoty, sú označované ako aktívne. Niektoré objekty sú aktívne prirodzene:

• Hodnota meraného bodu pochádza z komunikácie alebo je nastavená operátorom (prípadne môže byť špecifikovaná náhradná hodnota ako konštanta alebo ako hodnota iného objektu).

• Hodnota počítaného bodu je výsledok príslušného výpočtu.

• Hodnota užívateľskej premennej je predkonfigurovaná alebo nastavená operátorom.

• Hodnota objektu typu alarm zodpovedá stavu alarmu.

Hodnoty iných objektov sú už menej intuitívne a môžu súvisieť aj s diagnostikou:

• Hodnota komunikačnej stanice súvisí so stavom komunikácie s danou stanicou.

• Hodnota komunikačnej linky je typu Boolean a je závislá od typu linky (sériová linka je True ak sa podarilo otvoriť sériový port, UDP linka ak sa podarilo vytvoríť UDP socket, TCP linka ak sa podarilo vytvoriť TCP spojenie, OPC linka ak sa podarilo pripojiť k OPC serveru a pod).

• Hodnota procesu zodpovedá stavu procesu (spustený, zastavený, spadnutý).

• Hodnota objektu typu databáza zodpovedá počtu spojení, ktoré proces D2000 DbManager vytvoril.

• Hodnota schémy zodpovedá počtu otvorení v procese D2000 HI.

• Hodnota objektu typu užívateľ zodpovedá počtu jeho prihlásení (D2000 HI, CNF, GR).

Ďalšie objekty sú bez hodnoty: databázové tabuľky, textové štýly ...

Objekt typu archivovaná hodnota je štandardne pasívny, ale môže mať aj hodnotu zodpovedajúcu najnovšej hodnote (napr. 5-minútové maximum pre štatistickú archivovanú hodnotu).

Záver

Hodnoty objektov v aplikačnom serveri reálneho času Ipesoft D2000 obsahujú množstvo informácií a príznakov ohľadne kvality hodnoty, včítane užívateľsky nastaviteľných príznakov. Takéto hodnoty objektov sú dostupné v celom systéme, sú archivované a dá sa k ním pristupovať aj z vonkajšieho prostredia cez rôzne aplikačné rozhrania. Hodnoty viacerých typov objektov sú využité aj na diagnostiku a zisťovanie stavu systému (linky, stanice, databázy).

24.10.2023, Ing. Peter Humaj, www.ipesoft.com

Iné blogy