Porovnávané verzie

Kľúč

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

Štruktúrované premenné (štruktúry) slúžia na zjednodušenie práce s opakovanými technologickými celkami - PLC, technologickými linkami, generátormi, atď. 


Info
titleTip

Na zoznámenie sa s prácou so štruktúrovanými premennými a ich zobrazovaním slúžia aj tieto nahrávky z webinára dostupné na YouTube:

Štruktúrované premenné (štruktúry) slúžia na zjednodušenie práce s opakovanými technologickými celkami - PLC, technologickými linkami, generátormi, atď. 


Základy

Štruktúrovaná premenná je niečo ako tabuľka v Exceli - má riadky a stĺpce, ktoré obsahujú hodnoty. Riadky sú referencované číslami v hranatých zátvorkách za menom štruktúry (napr. SV.Test[1] alebo SV.Test[2]), stĺpce majú svoje názvy (napr. ColumnA, ColumnB, Temperature1). K jednotlivým položkám sa pristupuje tak, že sa špecifikuje číslo riadka a meno stĺpca, napr. SV.Test[2]^ColumnA alebo SV.Test[1]^Temperature1.

...

Najskôr vytvoríme definíciu štruktúry SD.MyPlc. Stĺpec Name bude textový, stĺpce z komunikácie budú typu Objekt a priemery budú reálne čísla.

...

Následne vytvoríme štruktúrovanú premennú s typom štruktúry SD.MyPlc. Tá môže mať ľubovolný počet riadkov. Do prvých troch riadkov pripojíme objekty z komunikácie - merané body s teplotami a stavy jednotlivých staníc.

...

Pokiaľ chceme pre všetky riadky vypočítať priemer teplôt a zapísať ho do stĺpca TAvg, stačí na to vytvoriť jeden štruktúrovaný počítaný bod. Typ hodnoty zadáme "Ae - Analog" a ako výraz dáme aritmetický priemer

...

Info
titleTip

Odporúčame nazvať štruktúrovaný počítaný bod tak, aby obsahoval názov štruktúrovanej premennej aj názov cieľového stĺpca - v našom prípade P.MyPlc.TAvg - uľahčí sa potom vyhľadávanie pomocou referenčnej integrity.


Pokiaľ by niektorá z teplôt bola neplatná (napr. v dôsledku výpadku komunikácie), ich súčet bude tiež neplatný. Toto je možné riešiť buď nastavením "Neplatné hodnoty vo výraze nahraď hodnotou 0" alebo ak je potrebná iná náhrada, tak funkciou %IsNull. Napríklad nasledujúci výraz nahradí neplatné hodnoty v stĺpci T1 teplotou 20, T2 teplotou 25 a T3 teplotou 30 stupňov:

(%IsNull(SV.MyPlc[0]^T1, 20) + %IsNull(SV.MyPlc[0]^T2, 25) + %IsNull(SV.MyPlc[0]^T3, 30)) / 3


Info
titleTip Tipy pre pokročilých

V počítaných bodoch je možné použiť rôzne matematické funkcie a výrazy, včítane podmieneného výrazu.

Podporená je aj takzvaná rozšírená syntax, ktorá umožňuje rozdelenie výpočtu na niekoľko krokov, definovanie lokálnych premenných, použitie podmienky IF - THEN - ELSE a skoku na návestie - GOTO.

...

Pre každý zo stĺpcov T1, T2, T3 vytvoríme primárne archivované hodnoty. Ich mená vytvoríme z názvu štruktúrovanej premennej a názvu archivovaného stĺpca.

Info
titleTip

Keď máme v D2000 Cnf označenú štruktúrovanú premennú a kliknem klikneme na ikonu "Do archívu", môžeme si vybrať stĺpce, ktoré chceme archivovať. Neodporúčame archivovať celú štruktúru naraz.
 

Ak vytvárame archívy kliknutím na ikonu "Nový objekt" v toolbare, ich mená je vhodné vytvoriť z názvu štruktúrovanej premennej a názvu archivovaného stĺpca.

...

(H.MyPlc_T1[0] + H.MyPlc_T2[0] + H.MyPlc_T3[0]) / 3

Vo výraze sa môžu vyskytovať iné archívne objekty a konštanty, ale nie iné objekty D2000 (napr. merané body).


Info

V skutočnosti takáto definícia vypočítanej archivovanej hodnoty spôsobí, že proces D2000 Archív, ktorý je rodičom archivovaných hodnôt, vytvorí pre každý riadok archivovanej štruktúry (podľa parametra Rozmer archívu) jednu "tieňovú" archivovanú hodnotu a pre ňu vygeneruje príslušný výpočet:

  • 1. riadok: (H.MyPlc_T1[1] + H.MyPlc_T2[1] + H.MyPlc_T3[1]) / 3
  • 2. riadok: (H.MyPlc_T1[2] + H.MyPlc_T2[2] + H.MyPlc_T3[2]) / 3
  • 3. riadok: (H.MyPlc_T1[3] + H.MyPlc_T2[3] + H.MyPlc_T3[3]) / 3
  • ... atď

Výhodou štruktúrovaných vypočítaných archivovaných hodnôt je, že jednoduchým spôsobom definujeme výpočet pre celý stĺpec štruktúry. Navyše, ak pridáme do štruktúry ďalšie riadky, automaticky vzniknú nové "tieňové" archivované hodnoty pre nové riadky a teda archivovanú hodnotu nemusíme vôbec modifikovať. A pokiaľ potrebujeme zmeniť nejaký parameter archivácie (napr. časovú hĺbku) alebo zmeniť nejaký parameter výpočtu (napr. pridať novú teplotu T4), stačí to urobiť na jednom mieste.


Info
titleTip Tipy pre pokročilých

Podobne ako v prípade počítaného bodu je možné nahradiť neplatné hodnoty nulou, použiť funkciu %IsNull a použiť rôzne matematické funkcie a výrazy, včítane podmieneného výrazu.

Podporená je aj takzvaná rozšírená syntax, ktorá umožňuje rozdelenie výpočtu na niekoľko krokov, definovanie lokálnych premenných, použitie podmienky IF - THEN - ELSE a skoku na návestie - GOTO.

Navyše sú dostupné špeciálne funkcie pre vypočítané archivované hodnoty. Je taktiež možné vo výpočte použiť systémovú konštantu @EvalTime, ktorá reprezentuje čas výpočtupre ktorý sa vykonáva výpočet.



Štatistický štruktúrovaný archív

No a nakoniec vytvoríme štatistický archív H.MyPlc_TAvg_5MinWAvg, ktorému nastavíme Účel archívu na Prepočet zaarchivovaných hodnôt štatistickou funkciou. Zdrojový Archívny objekt nastavíme na vypočítaný archív s priemernou teplotou : H.MyPlc_TAvg.

Keďže chceme výsledok zverejňovať do štruktúrovanej premennej, zaškrtneme Zverejňovať hodnoty a nastavíme Cieľový stĺpec na objekt na SV.MyPlc[0]^TAvg5Min.

Na záložke Časové parametre nastavíme periódu Periódu archivácie na 5 minút (vytvárame 5-minútový priemer) a na záložke Štatistika vyberieme štatistickú funkciu Vážený priemer.

...

Info
titleTip pre pokročilých

D2000 Archív umožňuje aj výpočet plávajúceho priemeru, ak sa na záložke Štatistika nastaví iný časový interval pre zdrojové dáta - napr. ak sa nastaví na 10 minút, tak každých 5 minút sa bude počítať vážený priemer z údajov za posledných 10 minút.


V užívateľskom rozhraní D2000 HI je možné si zobraziť štruktúrovanú premennú a sledovať, ako sa jednotlivé položky štruktúry menia:

...