# Larmfilter

Varje larmgräns har en parameter som heter **Larmfilter**.

Använd Larmfilter för verkliga scenarier där du loggar en parameter ofta, men du bara vill ha ett larm efter att några på varandra följande avläsningar är utanför gränserna.

Larmfilter är antalet på varandra följande avläsningar utanför gränserna som krävs innan larmet **aktiveras**.

Med `Larmfilter = N` utlöses larmet vid den `(N + 1)`:e på varandra följande avläsningen utanför gränserna.

I början av varje "utanför gränsen"-sekvens initierar systemet en intern räknare `C`.

Räknaren fungerar så här:

* `C` är initialt lika med larmfiltervärdet.
* `C` minskas med 1 för varje avläsning utanför gränserna.
* Om `C = 0` aktiveras larmdetektering och **nästa** avläsning utanför gränserna utlöser ett larm.
* Efter att ett larm har genererats ignoreras `C`. Ytterligare avläsningar utanför gränserna genererar inte ytterligare larm.
* När en avläsning återgår inom gränserna återställs `C` till larmfiltervärdet och larmdetektering återaktiveras.
* När ett larm för mätpunkten (MP) signeras återställs `C` till larmfiltervärdet och larmdetekteringen återaktiveras.

### Exempel

#### Exempel 1

<figure><img src="https://3898184682-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCwCdZYMtn8H0BKQBnUbi%2Fuploads%2FB7gDSK0sJpu0lh50D5tN%2Fimage.png?alt=media&#x26;token=7ae8f707-5b0b-4801-b1f5-e8aef0d8cd0e" alt=""><figcaption></figcaption></figure>

`Larmfilter = 0`, initial `C = 0`, larmdetekteringen aktiveras alltid.

Larm utlöses vid den första avläsningen utanför gränserna.

#### Exempel 2

<figure><img src="https://3898184682-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCwCdZYMtn8H0BKQBnUbi%2Fuploads%2FQ2f9cmpgeJjlh3FNypOu%2Fimage.png?alt=media&#x26;token=725bfa23-5f65-4979-9f38-1bf8b521ce18" alt=""><figcaption></figcaption></figure>

`Larmfilter = 2`, initial `C = 2`, larmdetekteringen aktiveras efter 2 avläsningar utanför gränserna.

Larm utlöses vid den tredje på varandra följande avläsningen utanför gränserna.

#### Exempel 3

<figure><img src="https://3898184682-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCwCdZYMtn8H0BKQBnUbi%2Fuploads%2FmIXEj6pyi3q69B59xCTg%2Fimage.png?alt=media&#x26;token=89f3a4d1-522b-4d97-af58-76b7776f60ef" alt=""><figcaption></figcaption></figure>

`Larmfilter = 2`, initial `C = 2`, larmdetekteringen aktiveras efter 2 avläsningar utanför gränserna.

Larmet utlöses inte eftersom avläsningen som registreras när `C = 0` är inom gränserna, vilket återställer räknaren `C` till 2.

{% hint style="info" %}
Denna metod har följande konsekvenser:

* Om ett aktivt (ej signerat) larm finns och nästa avläsning är tillbaka inom gränserna, kommer nästa larmsekvens att generera ett nytt aktivt larm.
* Om det finns ett aktivt larm och avläsningarna fortfarande är utanför gränserna, kommer inget nytt larm att aktiveras. Om avläsningarna däremot fortfarande är utanför gränserna och ett aktivt larm signeras, kommer larmet att genereras igen så snart larmfiltervillkoren är uppfyllda.
  {% endhint %}
