Jak skonfigurować Modbus SMS i powiadomienia głosowe [Krok po kroku]

W środowiskach przemysłowych Modbus TCP jest powszechnie wykorzystywany do monitorowania sterowników PLC, czujników i systemów automatyki. Problem polega na tym, że sam Modbus nie oferuje wbudowanych mechanizmów powiadamiania o nieprawidłowościach. W efekcie alerty SMS oparte na Modbusie są zwykle realizowane przez dodatkową warstwę, która pobiera dane z rejestrów i wysyła powiadomienia SMS oraz komunikaty głosowe.

2 sposoby wysyłania alertów SMS Modbus: bezpośrednie wysyłanie wiadomości oraz mechanizm alertowania

  • Bezpośrednie wysyłanie: bramka lub modem Modbus mapuje konkretne rejestry na akcje SMS, dzięki czemu zapis do rejestru może bezpośrednio wyzwalać wysyłkę wiadomości SMS.
  • Mechanizm alertowania: : system monitorujący lub urządzenie brzegowe cyklicznie odpytuje rejestry Modbus, ocenia warunki alarmowe i wysyła SMS-y po spełnieniu określonych kryteriów.

W środowisku przemysłowym znacznie częściej stosuje się podejście z warstwą alertową — umożliwia ono definiowanie wyzwalaczy opartych na warunkach, ścieżek eskalacji oraz mechanizmów potwierdzania alarmów, co przekłada się na niezawodną obsługę zdarzeń. Prostym sposobem realizacji takiego scenariusza jest użycie dedykowanego, lokalnego systemu monitoringu z wbudowaną obsługą Modbus TCP, takiego jak SMSEagle.

Czym jest SMSEagle

SMSEagle to instalowana lokalnie sprzętowa brama SMS. Można ją zintegrować z istniejącymi sterownikami PLC, narzędziami do monitorowania sieci oraz środowiskiem IT/OT. Rozwiązanie to wykracza poza standardową wysyłkę wiadomości SMS, oferując zaawansowane funkcje, takie jak Email to SMS, automatyzację (workflows) oraz kompleksowe zarządzanie alertami (m.in. za pomocą połączeń głosowych, MMS czy WhatsApp). Do wysyłki powiadomień urządzenie wykorzystuje sieć komórkową, dzięki czemu stanowi niezawodny system powiadamiania out-of-band. Gwarantuje to dostarczenie krytycznych alertów nawet w przypadku awarii głównego łącza internetowego lub sieci IP.

Czego dotyczy ten przewodnik

Dzięki funkcji monitorowania sieci (Network Monitoring) → Modbus TCP urządzenie SMSEagle umożliwia:

    • monitorowanie rejestrów Modbus w czasie rzeczywistym,
    • natychmiastowe wysyłanie alertów SMS przez Modbus,
    • eskalację krytycznych alertów za pomocą połączeń głosowych (Text-to-Speech)

Wszystko działa lokalnie – bez korzystania z zewnętrznych usług chmurowych.

Poniżej znajdziesz praktyczny przewodnik krok po kroku, który możesz wdrożyć jako wewnętrzną procedurę (SOP), a także pomysły na rozbudowę systemu powiadamiania (grupy, eskalacja, zmiany, HA).

Co zbudujesz dzięki SMS Eagle
(w 10–15 minut)

    • Zadanie monitorowania Modbus TCP na urządzeniu SMSEagle, które odczytuje wskazany punkt danych Modbus (coil lub rejestr) na sterowniku PLC lub innym urządzeniu i wyzwala warunek alertu.
    • Powiadomienie SMS wysyłane do osoby lub grupy.
    • Opcjonalnie: alert głosowy – połączenie alarmowe (wake‑up call) lub połączenie głosowe generowane za pomocą syntezy mowy (TTS) dla pilnych alarmów.
    • Opcjonalnie: eskalacja (escalation) – alerty przechodzą kolejno do następnych osób dyżurujących, aż ktoś potwierdzi odbiór.

Jak działa alertowanie Modbus SMS

SMS jest często stosowany w alertowaniu przemysłowym, ponieważ nie wymaga dostępu do interfejsów online, aplikacji ani połączenia VPN. Gdy łączność IP jest niestabilna lub operatorzy przebywają poza zakładem, SMS pozostaje niezawodnym sposobem komunikacji.

W praktyce SMSEagle cyklicznie odpytuje rejestry Modbus i sprawdza zdefiniowane przez użytkownika warunki. Gdy warunek zostanie spełniony, alert jest wysyłany do wybranych odbiorców.

Podstawowy przepływ alertu SMS przez Modbus:

    1. Odczyt rejestru Modbus
    2. Porównanie z warunkiem
    3. Wyzwolenie alertu SMS / głosowego → wysłanie bezpośrednio do operatora sieci komórkowej

Wymagania wstępne (lista kontrolna)

  1. Urządzenie Modbus TCP (w SMSEagle)
    • Adres IP lub nazwa hosta (hostname)
    • Port (domyślnie 502)
    • Identyfikator jednostki (Unit ID, inaczej: slave ID)
    • Adres rejestru lub obiektu typu coil, który ma być monitorowany

2)  SMSEagle

      • Urządzenie SMSEagle z włożoną kartą SIM
      • Zdefiniowani odbiorcy w książce telefonicznej (Phonebook – kontakty / grupy) – zalecane

3) Alerty głosowe

Konfiguracja krok po kroku

Krok 1 (zalecane):
Przygotuj odbiorców – kontakty i grupy

Przed skonfigurowaniem alertów SMS przez Modbus warto zdefiniować odbiorców w książce telefonicznej (Phonebook). Nawet jeśli można wpisać numer telefonu bezpośrednio, tworzenie grupy (np. „OT On-Call”) oszczędza czas i ułatwia zarządzanie.

    1. Przejdź do Phonebook → Contacts.
    2. Dodaj osoby, które mają otrzymywać alerty (imię i nazwisko + numer telefonu).
    3. Przejdź do Phonebook → Groups.
    4. Utwórz grupę, np. OT_OnCall, i dodaj do niej członków.
[Screenshot: Phonebook → Groups → “OT_OnCall” members list]
[Screenshot: Phonebook → Groups → “OT_OnCall” members list]

Dlaczego grupy są ważne: Monitorowanie sieci (Network Monitoring) może wysyłać alerty zarówno na pojedynczy numer, jak i do całej grupy użytkowników.

Krok 2: Utwórz zadanie monitorowania Modbus TCP

SMSEagle Network Monitoring obsługuje wiele typów sond (ICMP, port TCP/UDP, SNMP, Modbus TCP). W przypadku Modbus TCP możesz monitorować wartości rejestrów za pomocą protokołu Modbus TCP/IP.

    1. Przejdź do: Network Monitoring → Add task.
    2. Nadaj nazwę zadaniu (np. PLC1_Temperature_Alarm).
    3. Wybierz typ sondy: Modbus TCP
[Screenshot: Network Monitoring → Add Task → Type: Modbus TCP]
[Screenshots: Network Monitoring → Add Task → Type: Modbus TCP]

Uzupełnij parametry Modbus TCP

Sonda Modbus TCP w SMSEagle wymaga podania:

    • Host – adres IP lub nazwa hosta urządzenia Modbus
    • Port – domyślnie 502
    • Unit ID – identyfikator jednostki Modbus
    • Kod funkcji (Function code) – co odczytać:
      • Odczyt coils – Read Coils (1)
      • Odczyt wejść dyskretnych – Read Discrete Inputs (2)
      • Odczyt rejestrów wyjściowych – Read Holding Registers (3)
      • Odczyt rejestrów wejściowych – Read Input Registers (4)
    • Register – adres Modbus do monitorowania
    • Rejestr (Register) – adres Modbus do monitorowania
    • Warunek (Condition), „SMS sent when” – określa, kiedy zostaje wysłany SMS: wartość równa (equals) / różna (not equals) / większa (greater than) / mniejsza (less than) od progu
[Screenshot: Modbus TCP parameters (Host/Port/Unit ID/Function/Register/Condition)]
[Screenshots: Modbus TCP parameters (Host/Port/Unit ID/Function/Register/Condition)]
Przykładowe konfiguracje
Przykład A: Bit alarmowy (coil)
  • Funkcja: Odczyt coils (Read Coils, 1)
  • Adres: 100 (alarmowy bit typu coil)
  • Warunek: wartość równa 1 → wyślij alert
Przykład B: Próg temperatury (holding register)
  • Funkcja: Odczyt rejestrów typu holding (Read Holding Registers, 3)
  • Adres: 40021
  • Warunek: wartość większa niż 850 (np. 85,0°C przy skalowaniu ×10)
Wskazówka: Jeśli sterownik PLC stosuje skalowanie (×10, ×100), uwzględnij je zarówno w wartości progu, jak i w treści komunikatu.

Krok 3: Ustaw harmonogram i limity czasu (unikaj fałszywych alarmów)

Monitorowanie sieci (Network Monitoring) pozwala definiować harmonogramy (schedules) i dostosowywać limity czasu (timeouts) dla wolniej odpowiadających urządzeń.

    1. Limit czasu (Timeout) – jeśli sterownik PLC jest wolny lub sieć jest przeciążona, zwiększ domyślny limit czasu (SMSEagle domyślnie ustawia 30 sekund).
    2. Harmonogram (Schedule):
      • Zawsze aktywne (Always enabled, 24/7), lub
      • Wyłączone w oknach serwisowych (np. nocne restarty).

Dzięki temu alerty SMS przez Modbus będą wiarygodne i znaczące.

[Screenshot: Task schedule settings + timeout field]

Krok 4: Skonfiguruj odbiorców SMS i momenty wyzwalania

W ustawieniach zadania:

    1. Odbiorcy (Recipients) – wybierz numer telefonu lub wskaż grupę (np. OT_OnCall).
    2. Określ, kiedy SMS jest wysyłany:
      • Gdy warunek zostaje spełniony / urządzenie przechodzi w stan awaryjny („down”)
      • Opcjonalnie: gdy urządzenie wraca do normalnego działania („up after failure”)
[Screenshot: Recipients selection (number vs group) + “send on down/up” options]

Krok 5: Napisz klarowną wiadomość SMS
(używaj placeholderów)

SMSEagle Network Monitoring obsługuje szablony SMS ze znacznikami (placeholders):

{TASKNAME}, {HOST}, {RESPONSE}, {TIMESTAMP}

Dobra wiadomość jest krótka, ale zawiera konkretną informację o tym, co zrobić.

Sugerowany szablon SMS

ALERT: {TASKNAME} na {HOST}. Warunek spełniony. Czas: {TIMESTAMP}. Odpowiedź: {RESPONSE}. Sprawdź szafę sterowniczą A3.
[Screenshot: SMS template editor with placeholders dropdown]

Dobra praktyka: W stałej części szablonu dodaj wskazówkę dla operatora, np. „Sprawdź szafę sterowniczą A3″ lub „Zadzwoń do działu utrzymania ruchu”. Kontekst w wiadomości skraca czas reakcji podczas incydentu.

Krok 6: Włącz alerty głosowe (opcjonalnie)

W przypadku krytycznych alarmów sam SMS może nie wystarczyć – szczególnie w nocy. SMSEagle obsługuje powiadamianie głosowe, w tym:

    • Połączenia budzące (Wake-up calls) – sam dzwonek
    • Automatyczne połączenia z syntezą mowy (TTS – Text-to-Speech)
    • Połączenia z plikiem audio (Audio file calls) – nagranie odtwarzane podczas rozmowy. Alerty głosowe można włączyć w definicji reguły (wymagany dodatek Voice-Call). 

Jest to szczególnie przydatne przy alarmach wysokiego priorytetu przez Modbus SMS w trakcie nocnych zmian.

Konfiguracja połączenia głosowego (typowy schemat)

    1. W ustawieniach zadania znajdź opcje połączenia głosowego / działania następczego (Voice call / follow-up).
    2. Wybierz tryb:
        • Połączenie budzące (Wake-up call) – dzwoni do odbiorcy, by zwrócić jego uwagę
        • Synteza mowy (TTS Text-To-Speech) – odczytuje tekst alarmu jako połączenie głosowe
    3. Ustaw czas trwania połączenia lub tryb TTS, jeśli jest wymagany.
[Screenshot: Network Monitoring task → Voice call follow-up settings]

Wybór właściwego trybu głosowego

    • Wake-up call – najszybszy sposób na zwrócenie uwagi; świetnie sprawdza się w połączeniu „SMS + dzwonek”.
    • TTS Simple – szybki, ale obsługuje tylko język angielski.
    • TTS Advanced – wielojęzyczny, wyższa jakość, działa w trybie offline na urządzeniu.
    • Połączenie z plikiem audio (Audio file call) – spójna, wcześniej nagrana wiadomość.

Krok 7: Dokładnie przetestuj alert Modbus

Szybkie metody testowania

    • Wymuś wartość na sterowniku PLC – przełącz parametr (coil) lub zapisz wartość rejestru przekraczającą próg.
    • Użyj narzędzia testowego Modbus z komputera inżynierskiego, aby potwierdzić, że rejestr jest odczytywalny (pomaga to wykryć problemy z siecią lub zaporą ogniową / firewall).
    • Tymczasowo ustaw łatwy do spełnienia warunek (np. „wartość różna od 0″ / „value not equal 0″), aby sprawdzić działanie całego przepływu.

Weryfikacja w SMSEagle

Network Monitoring wyświetla status zadania oraz szczegółowe informacje, takie jak czas ostatniej awarii (last downtime) i odpowiedź urządzenia (response).

Zaawansowane schematy alertowania

1) Wysyłanie SMS do grupy (jedno zadanie → wielu odbiorców)

Zamiast wpisywać numery telefonów na stałe (hardcoding), wskaż grupę z książki telefonicznej (phonebook group) – dzięki temu możesz zmieniać osoby dyżurujące bez edytowania zadań. Network Monitoring obsługuje wysyłanie do grupy użytkowników.

Przykład zastosowania: Grupa „Line 2 Maintenance” otrzymuje alerty maszynowe, a grupa „IT On-Call” – alerty sieciowe.

2) Eskalacja (Escalation) – nie zakładaj, że „ktoś to zobaczy”

SMSEagle oferuje wbudowaną eskalację: alerty są przekazywane kolejno do członków grupy w zdefiniowanej kolejności, aż ktoś potwierdzi odbiór słowem kluczowym.

Jak skonfigurować eskalację dla alarmów Modbus:

  • Wyślij alarm Modbus do grupy z włączoną eskalacją (Escalation-enabled group), np. OT_OnCall_Escalation.
  • Zdefiniuj:
    • kolejność eskalacji (escalation order),
    • limit czasu na osobę (timeout per person), np. 3 minuty,
    • słowo potwierdzające (acknowledgment keyword), np. ACK.

Dlaczego to ważne: Zapobiega „zmęczeniu powiadomieniami”  i gwarantuje, że ktoś przejmie odpowiedzialność za alarm.

[Screenshot: Escalation group settings (order, timeout, ACK keyword)]

3) Zarządzanie zmianami (Shift Management) – alertuj tylko osoby aktualnie na dyżurze

SMSEagle zawiera funkcję zarządzania zmianami (Shift management), która pozwala przypisywać kontakty do zmian i wysyłać wiadomości tylko w godzinach pracy danego pracownika.

Przykład zastosowania: Zmiana dzienna otrzymuje ostrzeżenia z linii produkcyjnej, zmiana nocna – wyłącznie alarmy wysokiego priorytetu.

4) Wysoka dostępność (High Availability / HA) dla krytycznych alertów

Jeśli powiadamianie jest kluczowe dla działania firmy, rozważ konfigurację klastra Failover / HA: SMSEagle można uruchomić jako klaster dwóch urządzeń zapewniający wysoką dostępność.

Przykład zastosowania: Elektrownie, oczyszczalnie wody, linie produkcyjne – wszędzie tam, gdzie system alertowania musi działać nawet przy awarii sprzętu.

5) Dobre praktyki projektowania alertów Modbus

    • Eliminacja drgań / trwałość warunku (Debounce / persistence) – wysyłaj alert tylko wtedy, gdy warunek utrzymuje się przez N cykli odpytywania (zapobiega fałszywym alarmom wywołanym chwilowymi skokami wartości).
    • Oddziel poziomy ważności (severity):
      • Ostrzeżenie (Warning) → SMS do grupy
      • Krytyczny (Critical) → SMS + połączenie głosowe + eskalacja
    • Dodaj kontekst – nazwa maszyny, numer linii, lokalizacja i następny krok do wykonania (np. „sprawdź wyłącznik QF3″).
    • Okna serwisowe (Maintenance windows) – wyłącz zadanie podczas planowanych przestojów (Network Monitoring obsługuje harmonogramy).

Główne zalety:

    • Natychmiastowa reakcja: skonfiguruj urządzenie tak, by obserwowało wejście cyfrowe i natychmiast wysyłało SMS, gdy wartość osiągnie stan alarmowy.
    • Niezawodność lokalna: bramka sprzętowa gwarantuje, że wiadomości SMS i połączenia głosowe docierają do odbiorców nawet przy braku dostępu do internetu (awaria WAN).
    • Zaawansowane przepływy pracy (workflows):  możliwość wyboru między prostą wiadomością wysłaną na wskazany numer a złożoną eskalacją do wielu użytkowników.
Bearded man in a dark shirt holds up a smartphone with a chat bubble coming from the screen, indicating messaging.

Modbus SMS – FAQ

Czy alerty głosowe mogą działać w wielu językach?

Tak – SMSEagle TTS Advanced obsługuje wiele języków dzięki pobieranym modelom głosowym, a konwersja odbywa się lokalnie na urządzeniu (offline).

Na początek ustaw interwał odpytywania rejestrów Modbus TCP w SMSEagle na 5–30 sekund, a następnie dopasuj go do dynamiki procesu i obciążenia sieci. Jeśli pojawiają się przekroczenia czasu odpowiedzi, wydłuż interwał odpytywania i/lub zwiększ limit czasu na wykonanie zapytania.

Sprawdź podstawową łączność sieciową (routing, VLAN), reguły firewall dla portu Modbus TCP 502 oraz poprawność identyfikatora Unit ID. Następnie zweryfikuj adres rejestru i kod funkcji za pomocą klienta Modbus. Jeśli sterownik PLC jest mocno obciążony, zwiększ limit czasu odpowiedzi i zmniejsz częstotliwość odpytywania.

Korzystaj z mapy rejestrów PLC/SCADA. W Modbus TCP wartości są często skalowane (np. ×10 lub ×100) albo zapisywane jako liczby ze znakiem. W przypadku wartości 32‑bitowych (złożonych z dwóch rejestrów 16‑bitowych) sprawdź kolejność słów i endianness (kolejność bajtów) oraz porównaj wynik z wartością wyświetlaną na HMI.

Użyj funkcji debounce/persistence (alert tylko po N kolejnych odpytaniach) i histerezy, aby ograniczyć „wahania” (flapping) alarmów w monitoringu Modbus TCP. Dodatkowo skonfiguruj w SMSEagle harmonogramy okien serwisowych, aby uniknąć zbędnych powiadomień SMS.

Tak — skonfiguruj grupę eskalacji oraz słowo kluczowe potwierdzenia, dzięki czemu odpowiedź SMS z ACK zatrzyma dalszą eskalację. SMSEagle może także zapisywać, kto potwierdził alert, zapewniając jednoznaczną odpowiedzialność.

W większości środowisk operacyjnych najlepiej wysyłać alerty SMSEagle do zespołu osób pełniących zmianę. Dzięki temu można zmieniać dyżury i rotacje bez konieczności modyfikowania konfiguracji zadań Modbus TCP. Funkce wysyłki do indywidualnych odbiorców warto wykorzystywać głównie do testów lub w systemach, za które odpowiada jedna osoba.

Połączenia głosowe wymagają dodatku SMSEagle Voice (Calls) oraz aktywnej łączności GSM z kartą SIM. Synteza mowy (TTS Advanced) działa lokalnie na urządzeniu, bez dostępu do internetu, natomiast samo zestawienie połączenia wymaga zasięgu sieci komórkowej.

Modbus TCP zazwyczaj nie zapewnia mechanizmów uwierzytelniania, dlatego nie należy wystawiać go na dostęp z internetu. Najlepszą praktyką jest wydzielenie sieci OT oraz ograniczenie dostępu za pomocą reguł firewall – tak, aby komunikacja była możliwa wyłącznie między SMSEagle a sterownikiem PLC na porcie TCP 502.

Twórz osobne zadania monitoringu Modbus TCP w SMSEagle dla każdego sygnału/alertu i stosuj spójne nazewnictwo (np. Linia_Urządzenie_Sygnał). Przy większej skali standaryzuj szablony oraz używaj grup i eskalacji dla alertów SMS i połączeń głosowych.

Podsumowanie: Modbus SMS

Integracja powiadamiania SMS z sieciami Modbus to kluczowy element nowoczesnego systemu monitorowania. Tradycyjne protokoły Modbus RTU i TCP działają wyłącznie w trybie odpytywania (poll-based) i nie mają wbudowanego mechanizmu aktywnego „wypychania” pilnych powiadomień. Dedykowana bramka sprzętowa wypełnia tę lukę, ponieważ cyklicznie odczytuje wskazane rejestry lub wejścia cyfrowe (digital input) i decyduje, czy dane zdarzenie wymaga interwencji człowieka.

Dzięki przekształceniu danych Modbus w automatyczne alerty SMS i połączenia głosowe system zmienia pasywne dane w aktywny mechanizm powiadamiania. To bezpieczne, lokalne rozwiązanie, które działa niezależnie od aplikacji zewnętrznych i usług chmurowych, ograniczając liczbę potencjalnych punktów awarii.

Alerty Modbus SMS w praktyce

Uzyskaj dostęp do urządzenia demo SMSEagle i przetestuj wysyłanie alertów SMS z urządzeń Modbus TCP.

Odkryj SMSEagle

Software Updates