Wysyłanie SMS z PLC to najprostszy i najbardziej niezawodny kanał alarmowy w obiektach bez operatora — przepompowniach, chłodniach, halach bez Wi-Fi. W tym filmie pokazuję kompletny stack: Finder Opta + bramka GSM Inventia MT-121 + wyspa I/O Weintek, spięte Modbusem TCP, z kodem ST w CODESYS — z logiką antyspam i filtrem czasowym TON, żeby nie zalewać kierownika SMS-ami w nocy.
Po co wysyłanie SMS z PLC zamiast HMI lub chmury?
SMS z sterownika to nie gadżet — działa tam, gdzie nie ma Wi-Fi, VPN ani nikogo, kto patrzyłby na panel HMI. Operator GSM ma większą dostępność niż lokalny internet, a SMS dociera do telefonu w 2-3 sekundy. Typowe scenariusze: pływak alarmowy w przepompowni (przekroczenie 95% napełnienia → SMS do serwisu), termostat w chłodni (przekroczenie temperatury → SMS po 5 minutach z TON), otwarcie drzwi do hali poza godzinami pracy, spadek ciśnienia w instalacji.
Architektura w trzech zdaniach
Finder Opta (sterownik PLC oparty na Arduino Portenta, programowany w CODESYS) pełni rolę Modbus TCP Master. Po Modbusie odpytuje dwa Slave’y: wyspę I/O Weintek (dodatkowe wejścia/wyjścia binarne — pływaki, krańcówki, lampki) oraz Inventia MT-121 — polską bramkę GSM z modemem, slotem SIM i anteną na magnes. Logika alarmowa siedzi w PLC, a MT-121 wysyła SMS-y na podstawie stanu swoich wyjść Q skonfigurowanych w MT Managerze.
Jeśli dopiero zaczynasz z tą platformą, zobacz: wejścia i wyjścia analogowe w sterowniku Finder Opta oraz pełne wprowadzenie do Modbus – protokół komunikacyjny i jego zastosowania.



Antyspam przy wysyłaniu SMS z PLC: jeden SMS na jedno zdarzenie
Klasyczna pułapka wysyłania SMS z PLC: bez zabezpieczenia system wyśle setki SMS-ów, gdy pływak oscyluje wokół progu. Rozwiązanie to flaga „już wysłałem” — reset dopiero, gdy wartość wraca do normy.
PROGRAM Przepompownia
VAR
xPlywak_Alarm : BOOL; // próg 95% napełnienia
xSMS_Krytyczny : BOOL; // wyjście do MT-121
xWyslano_Kryt : BOOL; // anty-spam
END_VAR
IF xPlywak_Alarm AND NOT xWyslano_Kryt THEN
xSMS_Krytyczny := TRUE;
xWyslano_Kryt := TRUE;
END_IF
IF NOT xPlywak_Alarm THEN
xSMS_Krytyczny := FALSE;
xWyslano_Kryt := FALSE;
END_IFWyjście xSMS_Krytyczny mapujesz w Modbus Slave Channel MT-121 na konkretny rejestr Q (np. Q1). W MT Managerze definiujesz regułę: „gdy Q1 = 1 → wyślij SMS o treści X do listy numerów”.


Filtr czasowy: chłodnia z TON 5 minut
Termostat zwiera styk przy przekroczeniu temperatury, ale krótkie otwarcie drzwi daje chwilowy skok — nie chcesz wtedy SMS-a. TON z 5-minutowym opóźnieniem rozwiązuje sprawę:
VAR
xTermostatAlarm : BOOL;
tonAlarm : TON;
xSMS_Chlodnia : BOOL;
xWyslano_Chlodnia : BOOL;
END_VAR
tonAlarm(IN := xTermostatAlarm, PT := T#5M);
IF tonAlarm.Q AND NOT xWyslano_Chlodnia THEN
xSMS_Chlodnia := TRUE;
xWyslano_Chlodnia := TRUE;
END_IF
IF NOT xTermostatAlarm THEN
xSMS_Chlodnia := FALSE;
xWyslano_Chlodnia := FALSE;
END_IFTak wygląda to w praktyce: po wciśnięciu przycisku w online monitoringu CODESYS bit wysyłki przechodzi w stan TRUE, a Inventia MT-121 wysyła SMS-a.

Trzy pułapki, na które zwróć uwagę
- Auto Reconnect w Modbus Master — bez tego po pierwszym restarcie switcha komunikacja nie wraca sama, wysyłanie SMS z PLC zatrzyma się bezgłośnie.
- Offset adresowania — MT-121 i Weintek numerują rejestry od 1, CODESYS od 0. Zawsze porównuj manual z online monitoring.
- Słaby zasięg GSM w szafie w piwnicy — antena magnesowa na elemencie metalowym pomaga, ale przy systemach krytycznych dawaj antenę zewnętrzną na dachu.


FAQ
Czy MT-121 można zastąpić innym modemem GSM?
Tak — Teltonika RUT, Advantech WISE, Satel: każde urządzenie z Modbus TCP i modułem GSM zadziała przy wysyłaniu SMS z PLC. Inventia ma plus za polski manual i wsparcie lokalne.
Karta SIM pre-paid czy M2M?
Pre-paid wystarczy do testów. Przy systemach krytycznych dawaj M2M z dedykowanym APN — nie wygasa, jest tańsza przy dużym wolumenie SMS-ów, operator daje priorytet w sieci.
Czy wysyłanie SMS z PLC jest bezpieczne?
Modbus TCP nie ma szyfrowania — trzymaj tę sieć w odseparowanym VLAN-ie szafy. SMS-y idą czystym tekstem przez GSM, więc nie wysyłaj nimi danych poufnych — tylko alarmy i statusy.
Chcesz opanować wysyłanie SMS z PLC w CODESYS i budować takie systemy telemetryczne samodzielnie? Sprawdź nasz kurs komunikacji w automatyce — ćwiczymy komunikację Modbus, logikę alarmową i integrację z modemami GSM na prawdziwym sprzęcie.









