Vidíte historickú verziu tejto stránky. Pozrite si aktuálnu verziu.

Porovnať s aktuálnou verziou Zobraziť históriu stránky

« Predchádzajúce Verzia 4 Ďalej »

Architektúra

Počítanie hodnôt v D2000 zabezpečuje výpočtový proces D2000 Calc. Ten má ako potomkov počítané body.

Väčšna aplikácií má jediný výpočtový proces (SELF.CLC), pod ktorým sú všetky počítané body. 

Konfigurácia

Pri konfigurácii počítaného bodu je potrebné konfigurovať:

  • Typ hodnoty:
    • De - Boolean (True/False)
    • Ce - Celočíselný
    • Ae - Analógový
    • TmA - Absolútny čas
    • TmR - Časový interval
    • Txt - Text
  • Výraz výpočtu - matematické spracovanie údajov, ktoré reprezentuje výraz, do ktorého vstupujú hodnoty iných objektov D2000 (merané body, iné počítané body, užívateľské premenné, položky štruktúrovaných premenných, archívne objekty a iné). K dispozícii sú aj tlačidlá umožňujúce do výrazu vložiť rôzne matematické funkcie, konštanty a atribúty hodnôt objektov.
    Je podporená aj Rozšírená syntax pre výrazy, v rámci ktorej je možné definovať pomocné lokálne premenné a používať návestia a príkaz GOTO.
  • Spôsob výpočtu
    • Periodicky: s definovanou periódou a offsetom
    • Pri zmene: výpočet sa realizuje pri zmene hodnoty ľubovolného z objektov, ktorý sa nachádza vo výraze
    • Trigger: výpočet sa realizuje pri zmene hodnoty alebo atribútu hodnoty vybraného objektu
  • Maximálna hustota prepočtu - je možné obmedziť hustotu prepočtov na 1 prepočet za definovaný interval (počet sekúnd alebo milisekúnd). Ak v rámci intervalu znovu nastane dôvod (alebo dôvody) pre výpočet, odloží sa až po uplynutí intervalu a potom sa vykoná.
  • Neplatné hodnoty vo výraze nahraď hodnotou 0 - Invalid hodnoty, ktoré by spôsobili neplatnosť celého výpočtu, budú nahradené 0. Ak je potrebná iná náhradná hodnota, je možné vo výraze použiť funkciu %IsNull alebo podmienený výraz s testom atribútu \VLD.

Štruktúrované počítané body

Počítaný bod je štruktúrovaný, ak je definovaný cieľový stĺpec (napr. SV.Something^SomeColumn). V takom prípade predstavuje počítaný bod "šablónu", ktorá sa inštancuje pre každý riadok cieľovej štruktúrovanej premennej, pričom ak sú vo výraze použité indexy [0] štruktúrovaných premenných, tak sa nahradia indexami 1, 2, atď podľa počtu riadkov cieľovej štruktúrovanej premennej).

Príklad výrazu pre súčet stĺpcov dvoch rôznych štruktúr:

SV.StructA[0]^PowerA + SV.StructB[0]^PowerB


Komplikovanejší príklad:

{ SV.Channel[0]^Input\VLD } ?           ; if the value is valid
[
  {SV.Channel[0]^Input =-32768} ?       ; -32768 is defined as invalid
  [%SetInvalid(0)]                      ; invalid
  :
  [SV.Channel[0]^Input * %Power(10, SV.Channel[0]^Exponent)]  ; normal value
]
:
[%SetInvalid(0)]                        ; invalid value (communication is not ok)



  • Žiadne štítky