Skip to content

Jak wysłać wiadomość SMS przez sterownik PLC Astraada One z wykorzystaniem routera Teltonika?


Astor Mission Critical

Gdy nadzorujemy zakład produkcyjny, chcielibyśmy móc kontrolować dziejące się tam rzeczy 24 godziny na dobę i 7 dni w tygodniu. Nie da się jednak być w wielu miejscach w jednym momencie. Z pomocą przychodzi nam zautomatyzowany system IIoT, składający się z routera Teltonika i sterownika PLC Astraada One. Dzięki niemu o każdej sytuacji alarmowej będziemy poinformowani poprzez wiadomość SMS wysłaną na nasz numer telefonu.

Konfiguracja routera Teltonika

W tym przykładzie wykorzystano router RUTX 11, jednak dla wszystkich routerów rodziny Teltonika konfiguracja jest jednakowa.

Należy zacząć od dobrej praktyki i wykonać podstawową konfigurację, która została przedstawiona w artykule  Kurs zdalnego dostępu do maszyn i stanowisk produkcyjnych dla automatyków od podstaw

Następnie konfigurujemy POST/GET bramki SMS. Aby to zrobić, przechodzimy do zakładki SERVICES -> MOBILE UTILITIES -> SMS GATEWAY i kolejno wykonujemy następujące czynności:

  • ustawienie Enable na On,
  • wpisanie nazwy użytkownika (User name) i hasła (Password).
Konfiguracja SMS POST/GET w routerze Teltonika. Źródło: ASTOR Mission Critical.

Należy pamiętać, że aby wysłać wiadomość SMS przez sterownik na numer telefonu użytkownika, router musi być podłączony do sieci GSM.

Konfiguracja sterownika Astraada One

Sterownik musi być w tej samej podsieci, co router, aby mogły się „widzieć”. Ponieważ nasz router ma adres IP 192.168.0.1/24, należy w ustawić adres sterownika na 192.168.0.X, gdzie X jest dowolną liczbą od 1 do 254 z uwagi na maskę sieci. Nasz sterownik ma adres IP 192.168.0.14.

Konfiguracja sieci dla sterownika Astraada One. Źródło: ASTOR Mission Critical.

Następnie należy przejść do zaprogramowania sterownika.

Lista zapytań http POST/GET obsługiwanych przez router Teltonika. Źródło: ASTOR Mission Critical.

Ma ono postać:

http://192.168.0.1/cgi-bin/sms_send?username=uzytkownik&password=XXXX&number=0048AAABBBCCC&text= textmessage

gdzie:

  • 192.168.0.1 to IP routera,
  • uzytkownik to nazwa użytkownika ustawiona wcześniej w SMS POST/GET SETTING,
  • XXXX to hasło ustawione wcześniej w SMS POST/GET SETTING,
  • 0048AAABBBCCC to numer telefonu (00 jest stałe, a 48 to prefiks krajowy),
  • textmessage to tekst wysyłanej wiadomości SMS.

Numer telefonu i tekst wiadomości chcemy móc zmieniać podczas działania programu. Dlatego w utworzonym w projekcie POU wykorzystamy do tego następujące bloczki:

  • FIND,
  • LEN,
  • REPLACE.

Znajdujemy w podanym wyżej ciągu URL ciąg numeru telefonu 'AAABBBCCC’ i zamieniamy go na nasz numer telefonu, który jest przechowywany w zmiennej numer. Następnie w tym ciągu już z naszym numerem telefonu robimy to samo z tekstem wiadomości SMS: znajdujemy ciąg 'textmessage’ i zamieniamy go na naszą wiadomości, która przechowywana jest w zmiennej tekst.

Zadeklarowane wartości w programie Codesys. Źródło: ASTOR Mission Critical.

 

 

Kod aplikacji wygląda następująco:

Zaprogramowane bloki LD w programie Codesys. ASTOR Mission Critical.

W ostatnim kroku przechodzimy do zaimplementowania bloku z biblioteki HTTP Client, który będzie wysyłał zapytanie HTTP.

W zmiennej sURL mamy nasz cały ciąg HTTP GET już w poprawnym numerem telefonu i wiadomością. Za pomocą zmiany zmiennej on (z TRUE na FALSE) wysyłamy zapytanie HTTP. W zmiennej httpo możemy podejrzeć wysyłany przez nas ciąg znaków.

Zadeklarowane wartości w programie Codesys dla bloku z biblioteki http CLIENT. ASTOR Mission Critical.

Gotowy blok wygląda w taki sposób:

Zaprogramowany blok LD w programie Codesys. ASTOR Mission Critical.

Udostępnij artykuł:

Proponowane na blogu

Sprawdź więcej artykułów