AlarmAckF funktion käyttö, kuittaamattomien hälytysten määrän laskemiseen tai hälytysten kuittaamiseen ohjelmasta

Ohje kuinka AlarmAckF funktiolla voidaan laskena kuittaamattomien hälytysten määrä tai voidaan kuitata hälytyksiä.

Firmware funktiota AlarmAckF voidaan käyttää esimerkiksi kuittaamattomien hälytysten määrän hälytysluokka kohtaisesti laskemiseen, kaikkien kuittaamattomien hälytysten määrän laskemiseen, kuittaamaan tietty hälytys, kuittaamaan kaikki hälytykset hälytysluokka kohtaisesti tai kuittaamaan kaikki hälytykset CPU:sta.

Funktion parametri "Mode" valitsee mitä funktiolla tehdään:

Mode := 0 = Kuittaa kaikki kuittaamattomat hälytyspisteet.
Mode := 1 = Kuittaa kaikki kuittaamattomat hälytyspisteet, paitsi turva hälytykset.
Mode := 2 = Kuittaa tietyn hälytyspisteen. Hälytyspisteen nimi määritetään parametriin strParameter.
Mode := 3 = Kuittaa kaikki hälytykset tietystä hälytysryhmästä. Hälytysryhmän nimi määritetään parametriin strParameter.
Mode := 4 = Kuittaa kaikki hälytykset joilla on tietty prioriteetti. Prioriteetin numero määritetään parametriin intParameter.
 
Mode := 100 = Laskee kaikkien kuittaamattomien hälytyspisteiden määrän.
Mode := 101 = Laskee kaikkien kuittaamattomien hälytyspisteiden, paitsi turva hälytysten, määrän.
Mode := 102 = Lukee tietyn hälytyspisteen kuittauksen tilan. Hälytyspisteen nimi määritetään parametriin strParameter.
Mode := 103 = Laskee kuittaamattomien hälytysten määrän tietystä hälytysryhmästä. Hälytysryhmän nimi määritetään parametriin strParameter.
Mode := 104 = Laskee kuittaamattomien hälytysten määrän hälytyksistä, joilla on tietty prioriteetti. Prioriteetin numero määritetään parametriin intParameter.

 

Alla on muutamia esimerkkejä funktion käytöstä.

 

Funktiota käytetään kuittaamaan kaikki hälytykset, kun grafiikalta painetaan nappia. Nappi asetetaan pois päältä, kun hälytykset on kuitattu.

(*Lue napin tila*)
iKaikkiHalytKuitt := GetDigitalPointF('TEST_HALY_KAIKKI_KUITT_FI');
(*Jos nappi on painettu, suoritetaan ohjelma*)
if (iKaikkiHalytKuitt = 1) then
               (*Kuitataan kaikki halytykset*)
               iTulos := AlarmAckF(Mode:=0, intParameter:=1, strParameter:='abc');
               (*Asetetaan nappi pois paalta*)
               iTulos := SetDigitalPointF(0, 4, 'TEST_HALY_KAIKKI_KUITT_FI');
end_if;

 

Funktiota käytetään kuittaamaan tietty hälytys, kun grafiikalta painetaan nappia. Nappi asetetaan pois päältä, kun hälytykset on kuitattu.

(*Lue napin tila*)
iYksiKuitt := GetDigitalPointF('TEST_HALY_YKSI_KUITT_FI');
(*Jos nappi on painettu, suoritetaan ohjelma*)
if (iYksiKuitt = 1) then
               (*Kuitataan halytys*)
               iTulos := AlarmAckF(Mode:=2, intParameter:=1, strParameter:='TEST_HALY_A1_FH');
               (*Asetetaan nappi pois paalt*)
               iTulos := SetDigitalPointF(0, 4, 'TEST_HALY_YKSI_KUITT_FI');
end_if;

 

Funktiota käytetään laskemaan kuittaamattomien hälytysten määrä tietystä hälytysryhmästä.

(*Luetaan kuittaamattomien halytysten maara tietysta halytysryhmasta*)
iALuokkaMaara := AlarmAckF(Mode:=103, intParameter:=1, strParameter:='A-LUOKKA');
(*Tuodaan arvo grafiikalle nakyviin*)
iTulos := SetDigitalPointF(iALuokkaMaara , 1, 'TEST_A_HALY_M');

 

Funktiota käytetään laskemaan kuittaamattomien hälytysten määrä joilla on tietty prioriteetti.

(*Luetaan kuittaamattomien halytysten maara, joilla on tietty prioriteetti*)
iPrio3Maara := AlarmAckF(Mode:=104, intParameter:=3, strParameter:='abc');
(*Tuodaan arvo grafiikalle nakyviin*)
iTulos := SetDigitalPointF(iPrio3Maara, 1, 'TEST_3_ALARM_M');