Do Projektu iAutomatyka dołączyli:

https://iautomatyka.pl/wp-content/uploads/2019/04/DSC04692-2.jpg

Wysyłanie SMSów z poziomu PLC #1 – konfiguracja projektu i wysłanie pierwszej wiadomości


Wyobraźmy sobie następującą sytuację – automatyk uruchamia przyrządy, czujniki i ich sterownik. Następnie robi tak z kolejnym zespołem i następnym, i następnym, i następnym. Każdy aparat może wpaść w sytuację awaryjną, która wymaga uwagi operatora. Można wtedy zastosować alarm dźwiękowy lub świetlny. Jest też opcja przekazująca informacje inżynierowi na odległość – wysłanie SMS-a.

W tej serii artykułów przedstawię projekt konfiguracji sterownika PLC Siemens S7-1200 wraz z modułem GPS oraz pokażę jak wysyłać automatykom SMSy 😀

Czego używam?

Czas spojrzeć na to, co będzie wykorzystane w projekcie.

Sercem układu jest sterownik SIMATIC S7 1215C DC/DC/DC do którego dołączyliśmy moduł komunikacji CP 1242-7 v1.4. Do zaprogramowania użyliśmy środowiska TIA Portal V15. Do zestawu należą także antena oraz karta SIM (u nas jest to najtańszy starter z Playa kupiony za pięć złotych).


Konfiguracja projektu w TIA Portal

Konfigurację rozpoczynamy od stworzenia nowego projektu w TIA Portal. Następnie dodajemy sterownik do projektu (Add new device, potem z listy wybieramy Unspecified CPU 1200). Do tworzenia tego stanowiska użyliśmy PLC w wersji 4.0, więc taką wybraliśmy w oknie.

Później należy wykryć sterownik (napis „detect” na żółtym tle). Wyskoczy wtedy okno Hardware detection for PLC_1, w którym trzeba wyszukać naszego PLC. W naszym przypadku sterownik był podłączony bezpośrednio do komputera, więc program wykrył tylko jedno urządzenie.

Przechodzimy teraz do zakładki Properties w ustawieniach naszego urządzenia. Pierwszym krokiem będzie wejście w podokno System constants. Szukamy tam wiersza Local-CP_1242-7~GPRS w kolumnie Name. Zapamiętujemy wartość Hardware identificator z tego wiersza.

Teraz wracamy do „General”, tutaj musimy ustawić dwie rzeczy. W Mobile wireless access należy wpisać ustawienia APN (użyliśmy tutaj APN Playa, jeśli macie kartę z innej sieci, musicie znaleźć odpowiednie ustawienia, powinny być na stronie waszego operatora). W Mobile wireless settings należy zaznaczyć Enable SMS i wpisać numer centrum SMS używanej sieci.

Program obsługujący moduł GSM

Możemy teraz wejść do Program blocks. Przed przystąpieniem do programowania musimy ustalić, jak będzie działał nasz program. Aby wysłać SMS-a moduł musi połączyć się z siecią. Najlepsze działanie (przynajmniej tak wynika z naszych doświadczeń) będzie wtedy, gdy CP 1242-7 rozłączy się po wysłaniu wiadomości.

Tworzenie naszego kodu rozpoczniemy od znalezienia bloku połączenia. Znajdziemy go z prawej strony okna programu. Musimy być w zakładce Instructions, dalej wchodzimy do folderów tak jak na załączonym zrzucie ekranu. Interesuje nas TC_CON, który przenosimy do pierwszego Networka, zostawiając automatyczną nazwę.

Teraz musimy stworzyć blok danych. Z lewej strony ekranu w podfolderze Program blocks wchodzimy w Add new block. W wyskakującym oknie wybieramy Data block i pozostawiamy automatyczną nazwę.

W powstałym bloku (w grupie Static) należy dodać Config i wpisać ręcznie typ zmiennej TCON_Phone. Po podaniu tego typu Config stanie się strukturą z różnymi rodzajami zmiennych. W InterfaceId wpisujemy wartość, którą odczytaliśmy w System constants w ustawieniach modułu GPRS. W PhoneNumber wpisujemy numer odbiorcy naszych SMS-ów (z naszych doświadczeń wynika, że dla polskich numerów nie ma potrzeby dodawania +48, ale nie gwarantujemy, że będzie działać bez takiego początku). Resztę zmiennych ustawcie tak, jak pokazaliśmy na rysunku poniżej.

Wracamy do Main [OB1]. Ustawiamy wejścia bloku TC_CON następująco:

  • REQ – wywołanie połączenia, w naszym przypadku jest to nadanie wartości logicznej 1 na wejście I0.0;
  • ID – tu dajemy wartość 1;
  • Interface – tu dajemy wartość wziętą z System constants;
  • Connect – do tego wejścia podpinamy strukturę Config z naszego bloku danych.

Będziemy też potrzebować informacji o udanym połączeniu, aby móc przejść dalej (do wysyłania). Dlatego na wyjściu Done naszego bloku TC_CON dajemy jakąś zmienną pomocniczą.

Nasz blok wywołujący połączenie modułu GPRS z siecią jest gotowy. Teraz przygotujemy blok wysyłający SMS. Z zakładki z której wcześniej wzięliśmy TC_CON, wyciągamy do nowego networka TC_SEND i nadajemy mu automatycznie wygenerowaną nazwę. Brakuje nam jeszcze jednego parametru potrzebnego do wysłania wiadomości – jej treści.


Wracamy do naszego bloku danych. Pod Configiem wstawiamy nową zmienną Text typu String[99]. Musimy jeszcze dodać wartość do naszej zmiennej – między apostrofami wpisujemy treść SMS-a, którego wyślemy.

Zaprogramujemy teraz wysłanie wiadomości. W bloku TC_SEND ustawiamy na wejściu REQ zmienną, którą oznaczyliśmy udane połączenie modułu z siecią. Do wejścia DATA podajemy treść SMS-a (czyli „nazwa_bloku_danych”.treść_wiadomości). Parametr LEN ustawiamy jako wartość liczbową, która reprezentuje rozmiar naszego tekstu (w naszym przykładzie jest to 99). Pozostałe wartości wejściowe konfigurujemy identycznie jak dla TC_CON. Na wyjściu DONE tego bloku dodamy nową zmienną, która będzie nas informowała (a właściwie informowała PLC) o udanym wysłaniu.

Kolejnym krokiem jest rozłączenie modułu po udanym wysłaniu. Do nowego networka wprowadzamy blok TC_DISCON, który znajdziemy w tym samym miejscu, z którego braliśmy poprzednie bloki. Wejścia ID i INTERFACE nastawiamy analogicznie do poprzednich bloków. Do REQ podajemy zmienną, która informuje sterownik o udanym wysłaniu.

Teraz zajmiemy się tym, aby sterownik pokazał, że operacja się udała. Zrobimy to za pomocą zapalenia diody na 3 sekundy. Aby to wykonać, blok TC_DISCON musi dać sygnał o udanym rozłączeniu (czyli nadajemy mu nową zmienną na wyjście DONE).

W nowym networku wstawiamy timer TOF, który zgasi naszą diodę po upływie wyznaczonego czasu. Ustawiamy jego wejście PT na wartość T#3S (trzy sekundy), a do IN podpinamy zmienną, która informuje o udanym rozłączeniu. Na wyjściu timera ustawiamy jakieś fizyczne, cyfrowe wyjście sterownika.

Po udanym rozłączeniu zmienna (w naszym przykładzie) M11.2 zostaje ustawiona na cykl pracy sterownika. Gdy jest ustawiona, natrafia na TOF i załącza wyjście cyfrowe. W kolejnym cyklu nie ma informacji o udanym rozłączeniu, więc M11.2 się zresetuje, wtedy timer zacznie odliczać swoje trzy sekundy, po których wyzeruje użyte wyjście, wyłączając diodę sygnalizacyjną.

Na końcu zostaje nam wgranie programu do sterownika. Przy pierwszym wgraniu trzeba będzie znowu się połączyć z urządzeniem, cały proces przebiega tak samo, jak przy wykrywaniu PLC.

Pamiętajcie, że oprócz napisania programu dokonaliśmy zmiany parametrów sprzętowych, je także musimy przesłać do sterownika. Aby to zrobić klikamy prawym przyciskiem myszy na folder główny naszego sterownika na drzewie projektu po lewej stronie ekranu i wchodzimy w Download to device/Hardware configuration.

Po wgraniu na sterownik zarówno hardware’u jak i software’u nasza stacja SMS-owa działa. Ustawienie wejścia sterującego powoduje połączenie się modułu z siecią, wysłanie SMS-a i rozłączenie się modułu od sieci. Całość jest zakończona świeceniem diody przez trzy sekundy.

Uwaga! Aby wiadomość się wysłała, musimy mieć dostępną sieć. Pod górną klapką modułu GPRS znajdują się diody sygnalizacyjne. Ta przy NETWORK musi stale świecić (to ważne, jeśli mruga, to poczekajmy, aż przestanie) na zielono, potrzebujemy też, aby SIGNAL QUALITY było na przynajmniej pomarańczowym poziomie (najlepiej na zielonym). Spełnienie tych warunków umożliwi wysłanie SMS-a.

Jak zauważyliście, na początku otrzymanego SMS-a znajdują się dwa dziwne znaki. Jest to spowodowane tym, że moduł GPRS „średnio dogaduje się” ze zmiennymi typu string. Ale spokojnie, poradzimy sobie z tym w kolejnych poradnikach. Połączymy to też ze sterowaniem przez wyświetlacz HMI.

Artykuł został nagrodzony w Konkursie iAutomatyka –  edycja Kwiecień 2019

Nagrodę Zestaw narzędzi + gadżety dostarcza ambasador konkursu, firma Weidmüller.



Utworzono: / Kategoria: , , ,

Reklama

Newsletter

Zapisz się i jako pierwszy otrzymuj nowości!



PRZECZYTAJ RÓWNIEŻ



NAJNOWSZE PUBLIKACJE OD UŻYTKOWNIKÓW I FIRM

Reklama



POLECANE FIRMY I PRODUKTY
  • Przy użyciu flexROOM® można szybko i łatwo realizować automatykę budynkową na potrzeby biur i budynków administracyjnych, zgodną z obowiązującymi normami i efektywną energetycznie. flexROOM® to szeroki wachlarz rozwiązań dla automatyki budy...
  • Nowe modułowe sterowniki programowalne PLC firmy Eaton umożliwiają producentom maszyn i systemów opracowywanie nowoczesnych koncepcji automatyki, zwłaszcza w połączeniu z systemem XN300 I/O i panelem dotykowym XV300. Modułowy sterownik zape...
  • Rozwiązania wizyjne nadają się idealnie do zautomatyzowanych zadań kontrolnych i pomiarowych. Kamery wizyjne 2D i 3D firmy SICK sprawdzają się w ogromnej ilości aplikacji, polegających na pomiarze, lokalizacji, kontroli i identyfikacji. Nas...
  • Przeznaczony do pracy na wolnym powietrzu EMC / ekranowany Zakres zastosowania Budowa instalacji przemysłowychBudowa maszynTechnika grzewcza i klimatyzacyjnaElektrownie Dla przemiennika częstotliwości zasilającego 3 – fazowe silniki A...
  • ÖLFLEX® CLASSIC 110 – elastyczny przewód sterowniczy do różnych zastosowań, w płaszczu z PVC, aprobata VDE, odporność na oleje, 300/500 V, również do YSLY lub YY CPR: informacje pod adresem www.lapppolska.pl Certyfikat zgodności VDE z...
  • PR200 to uniwersalne i łatwe w obsłudze urządzenie zaprojektowane w plastikowej obudowie do montażu na szynie DIN jako alternatywa dla PLC. Przekaźnik jest dostępny w kilku wersjach dla napięcia stałego i przemiennego. Jest wyposażony w cyf...