Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Datové rozšíření ExtWriteAction - konfigurační okno

Popis:
Konfigurace datového rozšíření ExtWriteAction - Rozšíření pro otestování a úpravu zápisované hodnoty
Konfigurátory:
Identifikátor datového rozšířeníSystémový text (bez mezer a diakritiky). Slouží pro jednoznačnou identifikaci datového rozšíření v dané datové položce (např. v metodě Extension).
Přednastavená hodnota je "wact".
Událost "onItemBeforeWrite"Volba, kdy je vyvolána událost onItemBeforeWrite.
Doporučuje se využívat tuto událost pouze pro speciální nezbytně nutné případy. Při povolení této události se pak totiž zápis hodnoty provádí interně komplikovaněji. Pokud je zápis vyvolán v hlavním vlákně, pak je událost vyvolána synchronně a zápis se dokončí také synchronně. Pokud je ale zápis vyvolán z jiného vlákna (web, sekvencér, komunikace), pak je událost vyvolána asynchronně, tzn. vyvolání této události a skutečný zápis do proměnné se neprovede ihned, ale později až po ukončení aktivního skriptu. U zpožděného asynchronního zápisu ale pak dojde k tomu, že po zápisu do proměnné ještě hodnota v proměnné není, takže následné vyčtení hodnoty (skript, trendy) pak pracují s původní hodnotou.
NIKDY nevolat pro tuto položku
volat před KAŽDOU ZMĚNOU hodnoty této položky
volat před KAŽDÝM ZÁPISEM do této položky
Událost "onItemAfterWrite"Volba, kdy je vyvolána událost onItemAfterWrite.
NIKDY nevolat pro tuto položku
volat po KAŽDÉ ZMĚNĚ hodnoty této položky
volat po KAŽDÉM ZÁPISU do této položky
Test dobré kvality hodnotyPokud povoleno QualityTestEnabled, pak během zápisu hodnoty do proměnné je testována kvalita zapisované hodnoty (viz vlastnost PmVar.Quality). Pokud kvalita špatná, pak zapíše se do proměnné náhradní kvalita QualitySubstValue.
Tento konfigurátor nastaví počáteční hodnotu vlastnosti QualityTestEnabled.
Použít náhradní hodnotuNáhradní hodnota při špatné kvalitě.
Tento konfigurátor nastaví počáteční hodnotu vlastnosti QualitySubstValue.
Pro zadání lze použít Makro výraz ($.text ..) (vyhodnocuje se po spuštění aplikace).
Test minimální hodnotyPokud povoleno MinTestEnabled, pak během zápisu hodnoty do proměnné je testována minimální povolená hodnota MinValue. Pokud hodnota je menší, pak zapíše se do proměnné náhradní hodnota MinSubstValue a/nebo náhradní kvalita MinSubstQuality.
Tento konfigurátor nastaví počáteční hodnotu vlastnosti MinTestEnabled.
MinimumMinimální povolená hodnota proměnné.
Tento konfigurátor nastaví počáteční hodnotu vlastnosti MinValue.
Pro zadání lze použít Makro výraz ($.text ..) (vyhodnocuje se po spuštění aplikace).
Použít náhradní hodnotuZapsat náhradní hodnotu.
Tento konfigurátor nastaví počáteční hodnotu vlastnosti MinSubstValueEnabled a MinSubstValue.
Pro zadání lze použít Makro výraz ($.text ..) (vyhodnocuje se po spuštění aplikace).
Použít náhradní kvalituZapsat náhradní kvalitu.
Tento konfigurátor nastaví počáteční hodnotu vlastnosti MinSubstQualityEnabled a MinSubstQuality.
Pro zadání lze použít Makro výraz ($.text ..) (vyhodnocuje se po spuštění aplikace).
Test maximální hodnotyPokud je povoleno MaxTestEnabled, pak během zápisu hodnoty do proměnné je testována maximální povolená hodnota MaxValue. Pokud hodnota je větší, pak zapíše se do proměnné náhradní hodnota MaxSubstValue a/nebo náhradní kvalita MaxSubstQuality.
Tento konfigurátor nastaví počáteční hodnotu vlastnosti MaxTestEnabled.
MaximumMaximální povolená hodnota proměnné.
Tento konfigurátor nastaví počáteční hodnotu vlastnosti MaxValue.
Pro zadání lze použít Makro výraz ($.text ..) (vyhodnocuje se po spuštění aplikace).
Použít náhradní hodnotuZapsat náhradní hodnotu.
Tento konfigurátor nastaví počáteční hodnotu vlastnosti MaxSubstValueEnabled a MaxSubstValue.
Pro zadání lze použít Makro výraz ($.text ..) (vyhodnocuje se po spuštění aplikace).
Použít náhradní kvalituZapsat náhradní kvalitu.
Tento konfigurátor nastaví počáteční hodnotu vlastnosti MaxSubstQualityEnabled a MaxSubstQuality.
Pro zadání lze použít Makro výraz ($.text ..) (vyhodnocuje se po spuštění aplikace).
Poznámka:
Toto konfigurační okno lze otevřít z konfigurátoru "Datová rozšíření" v proměnné objektu PmaData.

Upozornění: Toto rozšíření slouží pouze k rozšířené konfiguraci funkčnosti objektu PmVar spojené se zápisem nové hodnoty. Nedochází ke spojení objektu PmVar a dalšími komponenty systému (např. alarmy, eventy, trendy, komunikace atd.). Proto toto rozšíření v objektu PmVar lze vytvořit maximálně jedno (buď tam rozšířená funkčnost je nebo není).
 
Pořadí zpracování zapisované hodnoty jsou následující:
- vyvolání události Událost onItemBeforeWrite
- zaokrouhlení a převedení zapisované hodnoty na požadovaný datový typ
- otestování zapisované hodnoty na kvalitu
- otestování zapisované hodnoty na minimální hodnotu
- otestování zapisované hodnoty na maximální hodnotu
- vyvolání události Událost onItemAfterWrite
 
Pokud je povoleno volání události onItemBeforeWrite, pak tato událost je vyvolána pro tuto proměnnou vždy těsně před zápisem nebo před změnou hodnoty proměnné. Neuvážené povolení pro všechny proměnné může způsobit zbytečnou časovou zátěž pro procesor. Například pokud objekt obsahuje 1000 proměnných a každá má povoleno volání, pak zapsáním nových hodnot do všech proměnných objektu může způsobit, že se 1000 krát zavolá událost onItemBeforeWrite (pokaždé s jiným parametrem pEvent.Item). Je také lepší (pokud už se má reagovat na zápis nebo změnu proměnné) povolit událost onItemAfterWrite místo onItemBeforeWrite. Povolit onItemBeforeWrite je tedy užitečné pouze pokud například potřebujete testovat zapisovanou hodnotu a v případě nutnosti ji změnit (filtrovat). Vlastnost onItemBeforeWrite v události onItemBeforeWrite je určena pro čtení i zápis a lze proto v události vnutit jinou hodnotu, než jaká se skutečně zapisuje.
Pokud je povoleno volání události onItemAfterWrite, pak tato událost je vyvolána pro tuto proměnnou vždy po zápise nebo po změně hodnoty proměnné. Pro povolení této události platí podobné poznámky jako v případě povolení onItemBeforeWrite. Povolit onItemAfterWrite je užitečné pro proměnné, které nepříliš často mění svou hodnotu a pak je vhodné povolit volání 'po změně'.
Upozornění: Událost onItemBeforeWrite a událost onItemAfterWrite není vyvolána, pokud se do proměnné nezapisuje přímo, tzn. pokud proměnná je spojena datovou vazbou s jinou hodnotou.

Historie:
Pm9.00.13: Přidáno testování zapisované hodnoty na kvalitu, minimum a maximum
Pm8.03.00: Vytvořeno
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice