AlarmAckF för att räkna antalet okvitterade larm eller för att kvittera larm.

Guide till hur du kan använda firmwarefunktionen AlarmAckF till att räkna antalet okvitterade larm eller för att kvittera larm.

Firmwarefunktionen AlarmAckF kan t.ex. användas för att räkna antalet okvitterade larm i valfri larmklass eller antal okvitterade larm i hela PLC:n. Funktionen kan också användas för att kvittera ett specifikt larm, kvittera alla larm i en specifik larmklass eller för att kvittera alla larm i PLC:n.

I funktionsparametern “Mode” väljer du vad funktionen ska utföra:

Mode := 0 = Kvittera alla okvitterade larmpunkter.
Mode := 1 = Kvittera alla okvitterade larmpunkter, förutom säkerhetspunkter.
Mode := 2 = Kvittera en specific larmpunkt. Sätt larmets punkt-id med strParameter.
Mode := 3 = Kvittera alla larmpunkter i en specific larmklass. Sätt larmklassen med strParameter.
Mode := 4 = Kvittera alla larmpunkter i en specific prioritetsgrupp. Sätt prioritets-nummer med intParameter.
 
Mode := 100 = Räkna antalet okvitterade larmpunkter.
Mode := 101 = Räkna antalet okvitterade larmpunkter, förutom säkerhetspunkter.
Mode := 102 = Kontrollera om en specific larmpunkt är okvitterad. Sätt punkt-id till larmpunkten med strParameter.
Mode := 103 = Räkna antalet okvitterade larmpunkter i en specific larmklass. Sätt namnet på larmklassen med strParameter.
Mode := 104 = Räkna antalet okvitterade larmpunkter i en specific prioritetsgrupp. Sätt prioritetsnummer med intParameter.


Nedan följer några exempel på användning av funktionen.

Exempel 1:
Funktionen kvitterar alla larm när man trycker på en knapp i grafiken. Knappen sätts till status off efter kvittering av larm.

(*Läs knappens status*)
iAllAlarmsAck := GetDigitalPointF('TEST_ALARM_ALL_ACK_FI');
(*Om knappen har tryckts, kör koden *)
if (iAllAlarmsAck = 1) then
               (* Kvittera alla larm *)
               iResult := AlarmAckF(Mode:=0, intParameter:=1, strParameter:='abc');
               (*Återställ knappens status till off*)
               iResult := SetDigitalPointF(0, 4, 'TEST_ ALARM_ALL_ACK_FI');
end_if;

Exempel 2:
Funktionen används för att kvittera ett specifikt larm när man trycker på en knapp i grafiken.
Knappen sätts till status off efter kvittering av larm.

(*Läs knappens status*)
iSingleAck := GetDigitalPointF('TEST_ALARM_SINGLE_ACK_FI');
(*Om knappen har tryckts, kör koden *)
if (iSingleAck = 1) then
               (*Kvittera en specifik larmpunkt*)
               iResult := AlarmAckF(Mode:=2, intParameter:=1, strParameter:='TEST_ALARM_A1_FH');
               (*Återställ knappens status till off*)
               iResult := SetDigitalPointF(0, 4, 'TEST_ALARM_SINGLE_ACK_FI');
end_if;

Exempel 3:
Funktionen används för att räkna antalet okvitterade larm i en specifik larmklass.

(*Läs antal okvitterade larm i en specifik larmklass*)
iAClassCount := AlarmAckF(Mode:=103, intParameter:=1, strParameter:='A-CLASS');
(*Visa resultatet i grafiken*)
iResult := SetDigitalPointF(iAClassCount, 1, 'TEST_A_ALARM_M');


Exempel 4:
Funktionen används för att räkna antalet okvitterade larm med en specifik larmprioritet.

(*Läs antal okvitterade larm med en specifik larmprioritet.*)
iPrio3Count := AlarmAckF(Mode:=104, intParameter:=3, strParameter:='abc');
(*Display the value on graphics*)
iResult := SetDigitalPointF(iPrio3Count, 1, 'TEST_3_ALARM_M');