Page 1 of 1
Vyvolání události po zápisu do proměnné
Posted:
Fri 02. Mar 2018 7:57:08
by kmpc
Mám proměnnou v PmData. Do této proměnné skriptem zapisuji hodnotu po ukončení komunikace s ŘS. Potřeboval bych vyvolat událost, která mi bude signalizovat zápis do této proměnné, kterou provedl uživatel a to v PmPanel a nebo v inspektoru.
Možná by bylo vhodné napsat, že přes událost onDataEditAccept prvku PmiWEdit bych to chtěl udělat až pokud to nepůjde jinak.
Je to možné udělat?
Re: Vyvolání události po zápisu do proměnné
Posted:
Fri 02. Mar 2018 8:51:39
by admin
Re: Vyvolání události po zápisu do proměnné
Posted:
Fri 02. Mar 2018 9:00:40
by kmpc
Přesně takhle to mám udělané, ale událost se mi vyvolává i když přepíšu hodnotu po ukončení komunikace. Abych to rozepsal více... Mám skript, který se mi volá po ukončení komunikace s Amitem. V tomto skriptu přiřadím získaná data dané proměnné:
pMe.Pm("../"Analogy"/#vars/"Teplota).Value=10
Potom mám datové rozšíření na tuto proměnnou WriteAction / onItemAfterWrite.
Problém je v tom, že tato událost se mi vyvolá vždy i když zapíšu hodnotu po ukončení komunikace.
Potřeboval bych vyvolat událost po zápisu dat uživatelem. Tím bych mohl detekovat, že uživatel změnil data a já to musím zapsat do ŘS.
Re: Vyvolání události po zápisu do proměnné
Posted:
Fri 02. Mar 2018 12:56:33
by Kazimierz Heczko
Dobrý den,
bohužel v tomto případě nelze systémově rozlišit, zda se proměnná změní skriptem spuštěným z komunikace nebo zápisem uživatele v grafickém prvku.
Dalo by se asi podchytit, že zápis byl proveden operátorem zadáním hodnoty v grafickém prvku (kdy by ten prvek neměl datovou vazbu na danou proměnnou).
Ale toto řešení není zase obecné.
Asi nejlepším řešením v této věci by bylo pro zápis udělat si novou proměnnou, a při zápisu do této proměnné (třeba v události onItemAfterWrite) provést odeslání příslušné hodnoty do PLC.
S pozdravem