# Filtr alarmu

Każdy próg alarmowy ma parametr o nazwie **Filtr alarmu**.

Jest on używany w sytuacjach, w których często rejestrujesz parametr, ale chcesz, aby alarm został wygenerowany dopiero po tym, jak kilka **kolejnych** odczytów przekroczy limit.

**Filtr alarmu (N)** określa, ile kolejnych odczytów poza progiem musi wystąpić, zanim system zacznie traktować sytuację jako alarmową.

Alarm jest wyzwalany dopiero przy **następnym** kolejnym odczycie poza progiem.

Do wyzwolenia alarmu potrzeba zatem **N + 1** kolejnych odczytów poza limitami.

### Szybkie przykłady

* **N = 0** → alarm przy pierwszym odczycie poza progiem.
* **N = 2** → alarm przy trzecim kolejnym odczycie poza progiem.

{% hint style="info" %}
Filtr pomaga ograniczyć alarmy od krótkich „pików” i pojedynczych odczytów poza progiem.
{% endhint %}

### Jak działa mechanizm (licznik C)

System używa wewnętrznego licznika **C**.

* na początku **C = N**,
* każdy odczyt poza progiem zmniejsza C o 1,
* gdy **C = 0**, detekcja jest „uzbrojona”,
* kolejny odczyt poza progiem wyzwala alarm.

Po wygenerowaniu alarmu kolejne odczyty poza progiem nie generują kolejnych alarmów, dopóki alarm jest aktywny.

Jeśli odczyt wróci do zakresu poprawnego, licznik wraca do wartości N.

Po podpisaniu alarmu licznik także wraca do wartości N.

### Przykłady

#### Przykład 1 (N = 0)

<figure><img src="https://2779310373-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5hr6ouTb040u53MT7gjY%2Fuploads%2FaWn0EIGhDVMDbxjJl2Lj%2Fimage.png?alt=media&#x26;token=4594d84b-a8b5-4b28-84ef-fd5a9ab3deba" alt="Przykład filtru alarmu: N = 0"><figcaption></figcaption></figure>

Alarm przy pierwszym odczycie poza progiem.

#### Przykład 2 (N = 2)

<figure><img src="https://2779310373-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5hr6ouTb040u53MT7gjY%2Fuploads%2F2CPwP60THqmBqsMCr99d%2Fimage.png?alt=media&#x26;token=d0d5beaf-44de-4fd4-a070-af3119119a89" alt="Przykład filtru alarmu: N = 2"><figcaption></figcaption></figure>

Alarm przy trzecim kolejnym odczycie poza progiem.

#### Przykład 3 (powrót do limitów przerywa sekwencję)

<figure><img src="https://2779310373-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5hr6ouTb040u53MT7gjY%2Fuploads%2F5DLP8pItVfgvTiU9JpUk%2Fimage.png?alt=media&#x26;token=6f334c54-1ed0-4628-a88c-899586e009d8" alt="Przykład filtru alarmu: sekwencja przerwana"><figcaption></figcaption></figure>

Jeśli po „uzbrojeniu”, kolejny odczyt wróci do zakresu poprawnego, alarm nie zostanie wyzwolony.

### Konsekwencje

* Jeśli istnieje aktywny alarm i pojawi się odczyt w zakresie poprawnym, kolejna sekwencja poza limitami może wygenerować nowy alarm.
* Jeśli alarm jest aktywny i odczyty przez cały czas są poza limitami, nowy alarm nie zostanie wygenerowany.
* Jeśli podpiszesz alarm, a odczyty nadal są poza limitami, alarm pojawi się ponownie po spełnieniu warunków filtru.
