Bezpečné nastavení hodnoty
Bezpečné hromadné nastavení hodnot do technologie se může jevit jako jednoduchý problém. Jednoduchá řešení mohou být funkční, nic méně může za jistých okolností dojít hromadnému nastavení i v době, kdy toto nepožadoval uživatel. Následující odstavce budou věnovány složitějšímu, ale bezpečnému řešení pro případy, kdy tato nastavení smí být prováděny pouze na pokyn uživatele.
Tento postup zabezpečuje, aby nedošlo nechtěnému odeslání hodnoty do cílové proměnné bez vědomí uživatele v případech kdy:
• | nastavení nebylo na povel uživatele |
• | zdrojová proměnná nebyla nastavena |
• | zdrojová a cílová proměnná se shodují (zabrání dvojímu nastavení stejnou hodnotou) |
K tomuto účelu je potřeba využít modulu paměťové databáze Memory Database, dynamizace uživatelsky odeslané z technologického displeje
Důležité upozornění!
Pro hromadná nastavení může postačovat řešení, kdy uživatel nastavuje přímo hodnotu pomocné proměnné například z paměťové databáze a ta je synchronizována dynamizacemi např. při změně , nebo cyklicky dynamizací násobným přiřazením hodnoty , nebo skriptem do technologických proměnných.
Pokud však dojde ke změně proměnné bez zásahu uživatele (po restartu, upgradu, nekorektním vypnutí systému, sloučením projektu, obnovením ze zálohy, atp.) může dojít k návratu do staršího, nebo iniciálního stavu proměnné a jejímu automatickému nastavení do všech cílových technologických proměnných ihned po spuštění monitorovacího projektu a to bez vědomí uživatele. Pokud je potřeba tomuto zabránit, je nutné použít v těchto kapitolách popisovaný postup.
Koncepce bezpečného hromadného nastavení hodnoty
Aby nedošlo k nepotvrzené změně cílových hodnot, nelze použít dynamizace globální dynamizace datového serveru jako
, , , , , kterou systém vyhodnocuje automaticky 1x za sekundu mohou být závislé na stavu nějaké proměnné.K nastavení hodnoty použijeme dynamizaci
. Tato dynamizace funguje tak, že uživatel z technologického displeje po stisku příslušné volby odešla z klienta na datový server zprávu, označenou příslušným textovým identifikátorem.Dynamizace
v datovém serveru (v dynamizacích některého modulu) se tedy provede jedině tehdy, pokud uživatel příkaz se stejným textovým identifikátorem odeslal.Abychom předešli náhodnému odeslání příkazu uživatelem, zdvojíme bezpečnost tak, že hodnotu, kterou budeme hromadně nastavovat do cílových technologických proměnných nastavíme po startu systému a po každém hromadném nastavení na zakázanou hodnotu např. <Nezadáno>. K tomuto účelu použijeme modul paměťové databáze, kde si zadefinujeme diskrétní paměťovou proměnnou. Pomocí skriptu pak ověříme, že zdrojová proměnná není v nezadaném stavu, provedeme příslušná nastavení a ihned ji do nezadaného stavu z bezpečnostních důvodů opět vrátíme. Umožníme také uživateli kdykoliv nastavit nezadaný stav, pokud si hromadné nastavení rozmyslí.
Tip!
Příklad bezpečného hromadného nastavení hodnot naleznete v následující podkapitole a ukázkovém projektu na v sekci ke stažení, ProCop 3.7 pod názvem Tips and Tricks Sample 1.