[phpBB Debug] PHP Warning: in file [ROOT]/includes/session.php on line 214: htmlspecialchars(): charset `Not marked * as deprecated with _deprecated_argument() as it conflicts with * wp_transition_post_status() and the default filter for * {@see _future_post_hook()}. * @param WP_Post $post Post object. */' not supported, assuming utf-8
[phpBB Debug] PHP Warning: in file [ROOT]/includes/session.php on line 216: htmlspecialchars(): charset `Not marked * as deprecated with _deprecated_argument() as it conflicts with * wp_transition_post_status() and the default filter for * {@see _future_post_hook()}. * @param WP_Post $post Post object. */' not supported, assuming utf-8
[phpBB Debug] PHP Warning: in file [ROOT]/includes/session.php on line 87: htmlspecialchars(): charset `Not marked * as deprecated with _deprecated_argument() as it conflicts with * wp_transition_post_status() and the default filter for * {@see _future_post_hook()}. * @param WP_Post $post Post object. */' not supported, assuming utf-8
[phpBB Debug] PHP Warning: in file [ROOT]/includes/session.php on line 129: htmlspecialchars(): charset `Not marked * as deprecated with _deprecated_argument() as it conflicts with * wp_transition_post_status() and the default filter for * {@see _future_post_hook()}. * @param WP_Post $post Post object. */' not supported, assuming utf-8
[phpBB Debug] PHP Warning: in file [ROOT]/includes/session.php on line 130: htmlspecialchars(): charset `Not marked * as deprecated with _deprecated_argument() as it conflicts with * wp_transition_post_status() and the default filter for * {@see _future_post_hook()}. * @param WP_Post $post Post object. */' not supported, assuming utf-8
[phpBB Debug] PHP Warning: in file [ROOT]/includes/session.php on line 1685: htmlspecialchars(): charset `Not marked * as deprecated with _deprecated_argument() as it conflicts with * wp_transition_post_status() and the default filter for * {@see _future_post_hook()}. * @param WP_Post $post Post object. */' not supported, assuming utf-8
PROMOTIC FORUM • View topic - Spojení 2 alarmů

Spojení 2 alarmů

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

Spojení 2 alarmů

Postby Libor » Tue 30. Apr 2013 7:07:24

Dobrý den,

potřeboval bych pomoci ohledně alarmů. Do objektu PmData načítám hodnoty z PLC - konkrétně 2 (Takt linky, Porucha). Potřeboval bych tyto alarmy spojit a vždy, když dojde k poruše linky, aby se k textu u výpisu alarmu přidal takt linky. Je toto možné?

Děkuji.
Libor
 
Posts: 26
Joined: Thu 07. Feb 2013 8:23:08

Re: Spojení 2 alarmů

Postby Libor » Tue 30. Apr 2013 9:20:30

Možné řešení je přidání sloupce, který mě bude generovat aktuální hodnotu taktu při aktivaci alarmu. Poradíte mi prosím jak na to ?
Libor
 
Posts: 26
Joined: Thu 07. Feb 2013 8:23:08

Re: Spojení 2 alarmů

Postby Tomáš Bräuer » Tue 30. Apr 2013 14:30:38

Dobrý den!
Jestli jsem to pochopil, tak máte jednu proměnnou, která reprezentuje vlastní alarm (nejspíše bool ano/ne , 0/1) a ve druhé proměnné máte doprovodnou informaci, kterou chcete zobrazit v daném alarmu.
Řešení je asi více např:
1) Ovládat alarm skriptem. Kdykoliv získáte novou hodnotu proměnné s alarmem (na konci komunikace nebo v události onItemAfterWrite) zavoláte buď ActivateNew nebo Inactivate podle proměnné. Text alarmu si můžete složit dle libosti.
2) Datové rozšíření AlBinary. V konfigurátoru pro text alarmu můžete napsat makro výraz. Důležité je, že makro výraz se vyhodnotí při každé změně alarmu vždy znova (v dokumentaci postaru uvedeno že jenom při startu aplikace, od 8.2.6 se vyhodnocuje vždy). Problémem je, že v makro výrazu $.expr se dá odkázat pouze pomocí pDE.var na proměnnou vlastního rozšíření, ne na jiný Var v PmData. Mohl byste např hodnotu přenášet v poznámce proměnné Var.Note, která je RW. To by znamelo v onItemAfterWrite pro tu druhou proměnnou zkopírovat její novou hodnotu do poznámky té první proměnné. Potom by text alarmu mohl být např
$.join("Muj text alarmu: moje poznamka=",$.expr("pDE.var.Note"))

Skriptové řešení je asi čistější. V obou případech ale musíte zajistit, že se nejprve změní pomocná proměnná (takt) a potom hlavní proměnná (alarm), aby při vzniku alarmu už byla pomocná proměnná v novém stavu a ne o krok pozadu. Pokud kopírujete data skriptem po komunikaci ze zdroje (komunikace) do cíle (PmData), pak je stačí kopírovat v pořadí pomocná a potom hlavní.
Tomáš Bräuer
Administrátor
 
Posts: 153
Joined: Thu 13. Dec 2012 9:13:13


Return to Nevím jak...

Who is online

Users browsing this forum: No registered users and 6 guests