Computed atribúty predstavujú ďalšiu možnosť ako rýchlo a bezprácne predprípravovať údaje už počas procesu ich spracovania do systému WorkSys. Ide o veľmi efektívny nástroj, ktorý umožňuje asynchrónne vypočítať hodnotu zo statických alebo nameraných poli.
Typickým príkladov použitia je napr. spotreba elektrickej energie v lokálnej mene, kde cez tarifné ceny a spotrebovanú energiu spočítame reálne finančné náklady.
Podobne je to napríklad pri výpočte OEE – Quality, kde cez pomer kvalitatívne zhodných vyrobených kusov / počet celkovo vyrobených kusov * 100, vieme percentuálne vyjadriť hodnotu parametru.
Určite sami viete nájť ďalšie použiteľné príklady apreto si v krátkosti ukážeme ako to do Typu Entity nadefinovať. Dôležité je si pripomenúť základné fakty:
je to aplikovateľné pre Atribúty s parametrom „type“ : „computed“
do výpočtu poľa je možne zahrnúť len Atribúty s parametrom „type“ : „static“ alebo „type“ : „telemetry“
hodnoty sa počítajú asynchrónne, ale vždy sa dopočítajú, takže výpočet môže trvať niekedy aj viac ako 1-2 sekundy
Je možne počítať aj s atribútmi iných entít, ale podmienko je aby Entity boli v rovnakej logickej línii (na tej istej, alebo vyššej úrovni).
Ak používate kontextový Atribút z aktuálnej inštancie Entity a výsledok výrazu závisí od jeho hodnoty a je potrebné ho vyhodnotiť pri každej zmene hodnoty, musíte do definície závislého atribútu pridať Parameter computed_attributes s odkazom na názov vypočítaného atribútu.
Nasledovný príklad popisuje výpočet nákladov v lokálnej mene pri Entite elektromera, ktorý meria Atribút Total Energy. Atribúty v sekcii „computed_attributes“ určujú, že ktoré Computed polia sa majú dopočítať, ak sa zapíše hodnota do pola „total_energy“.
Poďme si pozrieť definície Atribútov vybraných polí obsiahnutých v computed_attributes.
Nasledujúci príklad ukazuje definíciu Atribútu s prepočtom na kW, tiež obsiahnutý Atribút v computed_attributes.
V prípade potreby je možné cez Parameter „context“ definovť aj lokálne premennné (ako napr. premennú kilo ).Samotný vzorec pre výpočet sa definuje pomocou Parametra „expression„.
Ak je potrebné zahrnúť do výpočtu Atribút inej ako definovanej entity, je možné použiť Parameter „entity_ids„, kde definujete ID vybranej Entity. (pozri nasledujúci obrázok.)
V prípade ak tých entít potrebujete spracovať viac je možne pole „entity_ids“ definovať ako objekt s viacerými hodnotami. (Viď. nasledújúci obrázok)
Potom sa do Parametra „expression“ vo vzoroch zohľadní poradie objektov v defincii „entities„.