Jak dynamicky nastavovat mez pro analogový alarm?

Toto je hlavní technické fórum pro diskusi o problémech při vytváření PROMOTIC aplikací a jejich řešení.

Jak dynamicky nastavovat mez pro analogový alarm?

Postby Hamak » Fri 27. May 2022 8:31:58

Měřím veličinu a potřebuji vyvolat alarm, pokud hodnota překročí danou mez. Veličinu načítám z OPC serveru, horní mez si nastavuje uživatel a je uložena v INI souboru.¨

Vstupy:
V objektu PmaData jsou proměnné Hodnota a H.
Proměnná Hodnota je aktuální hodnota měřené veličiny. Je spojena přes datovou vazbu typu OpcDa s OPC serverem.
Proměnná H je horní mez veličiny. Načítá se z INI souboru makrovýrazem $.cfgfile.

Chtěl bych postupovat tato:
U proměnné Hodnota přidám rozšíření AlarmAnalog, kde nechám kontrolovat mez 1.
U proměnné H přidám rozšíření WriteAction - volat událost onItemAfterWrite po každé změně hodnoty.

V události onItem AfterWrite provedu:
pMe.Item("Hodnota").Extension("al").Max1 = pEvent.Item.Value;

Protože po spuštění aplikace a k načtení proměnné H z INI souboru (pro mne překvapivě) nedojde k vyvolání události onItemAfterWrite, provedu ještě v události onStart:
pMe.Item("Hodnota").Extension("al").Max1 = pMe.Item("H").Value;

Potom vše funguje, jak má.

Můj dotaz zní: "Nedrbu se levou rukou za pravým uchem? :-) Nelze s analogovými alarmy pracovat jednodušeji?"
Hamak
 
Posts: 18
Joined: Thu 17. Sep 2020 7:36:16

Re: Jak dynamicky nastavovat mez pro analogový alarm?

Postby Pavel Klimíček » Mon 06. Jun 2022 12:33:09

Dobrý den.
Váš postup je v zásadě správný, ale asi je možné ho vylepšit.
Myslím si, že pokud proměnnou "H" nepotřebujete pro jiné účely, pak je zbytečná.
V některé z událostí onStart nastavte pomoci metody Pm.IniFileRead hodnotu "Max1" v proměnné "Hodnota" alarmního datového rozšíření.
https://www.promotic.eu/cz/pmdoc/Object ... leRead.htm

Pokud během runtime aplikace bude nutné tuto hodnotu změnit.
Pak to prověďte v nějaké Vaši uživatelské metodě a to zápisem nové hodnoty do "Max1" a současně pomocí Pm.IniFileWrite do příslušné sekce v ini souboru.
Pavel Klimíček
 
Posts: 73
Joined: Thu 13. Dec 2012 15:35:59


Return to Nevím jak...

Who is online

Users browsing this forum: No registered users and 8 guests