PARTNERZY

www.sick.pl
tel: +48 22 539 41 00
oferty@sick.pl
PRODUKTY I SKLEP POZNAJ SICK

Od automatyzacji produkcji i logistyki, aż po automatyzację procesów technologicznych — SICK należy do ścisłej czołówki wśród producentów czujników. Jako lider rynku w dziedzinie technologii, firma SICK ze swoimi czujnikami i rozwiązaniami aplikacyjnymi tworzy doskonałe podstawy dla bezpiecznego i efektywnego sterowania procesami, ochrony ludzi przed wypadkami oraz ochrony środowiska naturalnego.

pl.mitsubishielectric.com
tel: +48 12 347 65 00
mpl@mpl.mee.com
NEWSY / BLOG POZNAJ MITSUBISHI ELECTRIC ODDZIAŁ POLSKA

Korporacja Mitsubishi Electric, posiadająca 90 lat doświadczenia w zakresie dostarczania niezawodnych, wysokiej jakości innowacyjnych produktów w dziedzinie automatyki przemysłowej, produkcji, marketingu i sprzedaży urządzeń elektrycznych i elektronicznych. Programowalne sterowniki PLC, rozwiązania napędowe, roboty przemysłowe, panele dotykowe, wycinarki laserowe i sterownie CNC firmy Mitsubishi Electric zaliczają się do produktów najwydajniejszych na rynku i gwarantują sukcesy firmy już od ponad 30 lat.

www.findernet.com
tel: +48 61 865 94 07
finder.pl@findernet.com
KATALOG PRODUKTÓW POZNAJ FINDER

Od 1954 Finder pracował wyłącznie w zakresie przekaźników i timerów. Nasz wysoki stopień specjalizacji zaowocował ponad 10.000 różnych produktów w jednej z najszerszych dostępnych ofert. Firma szeroko się rozwija i inwestuje w przyszłość uzupełniając gamę swojego asortymentu. Prócz przekaźników oferuje rozwiązania przemysłu elektrycznego do zastosowań domowych jak i komercyjnych poprzez przekaźniki, urządzenia przeciwprzepięciowe, termostaty panelowe, zasilacze i liczniki energii. Gama asortymentu obejmuje ponad 12 tysięcy produktów.

www.wago.pl
tel: +48 71 360 29 70
wago.elwag@wago.com
BLOG WAGO POZNAJ WAGO

Rozwiązania dostarczane przez WAGO. już od wielu lat wspierają naszych klientów w dążeniu do sukcesu. Poczynając od prostych instalacji elektrycznych, a kończąc na skomplikowanej infrastrukturze zarządzającej procesami przemysłowymi czy automatyką budynkową. Sprawdźcie jak rozwiązania WAGO, mogą wesprzeć Was w drodze do Waszego sukcesu.

panasonic-electric-works.com
tel: +48 42 230 96 33
info.pewpl@eu.panasonic.com
KATALOG ONLINE POZNAJ PANASONIC

Panasonic Electric Works Europe zajmuje się produkcją oraz dystrybucją komponentów automatyki, takich jak: czujniki przemysłowe, sterowniki programowalne, napędy przemysłowe i systemy znakowania laserowego. W ścisłej kooperacji z europejskimi klientami, oferują rozwiązania dla różnych obszarów biznesu, takich jak przemysł motoryzacyjny, pojazdy elektryczne, automatyzacja procesów technologicznych oraz budynków, odnawialnych źródeł energii czy zarządzania środowiskowego.

www.eaton.com
tel: +48 58 554 79 00
oferty@staport.pl
Poznaj easyE4 POZNAJ EATON

Eaton Electric jest producentem najwyższej jakości automatyki przemysłowej, aparatury sygnalizacyjnej, łączeniowej, zabezpieczającej i instalacyjnej oraz systemów rozdziału energii niskiego napięcia. Międzynarodowe nagrody oraz certyfikaty są dowodem, iż produkty Eaton Electric odpowiadają najnowszym standardom bezpieczeństwa i wymaganiom jakości. Wszystkie nasze wyroby gwarantują długoletnie działanie.

pepperl-fuchs.com
tel: +48 22 256 97 70
info@pl.pepperl-fuchs.com
PRODUKTY POZNAJ PEPPERL+FUCHS

Automatyzacja to nasz świat. Perfekcyjne rozwiązania - nasz cel.

Obecnie firma Pepperl+Fuchs jest znana klientom na całym świecie jako przedsiębiorstwo pionierskie i innowacyjne w dziedzinach takich, jak ochrona przeciwwybuchowa instalacji elektrycznych czy technologie czujników. Zawsze koncentrujemy się na wymaganiach klientów. Pasja, z jaką poświęcamy się automatyce, oraz przełomowe technologie, jakimi dysponujemy, pozwalają nam owocnie współpracować z klientami — tak dziś, jak i w przyszłości.

MENU PROFIL

Do Projektu iAutomatyka dołączyli:

Publikacja zgłoszona do 🎁 Konkursu iAutomatyka

WYSYŁANIE SMSÓW Z POZIOMU PLC #3 – POPRAWA JAKOŚCI WIADOMOŚCI I PODSTAWOWA DIAGNOSTYKA

657 wyświetleń, autor: Karol Jagiełło i Kajetan Szczurowski.

W poprzednich odcinkach:

Wysyłanie SMSów z PLC #1 | Wysyłanie SMSów z PLC #2

W poprzednich 2 artykułach zbudowaliśmy układ umożliwiający wysyłanie SMSów ze sterownika PLC. Na tym etapie nasz układ wysyła SMS-y napisane na wyświetlaczu na numer, który również został podany na HMI. Jednak wciąż mamy dwa problemy do załatwienia. Po pierwsze – mamy dołączone dwa dziwne znaki do wiadomości, po drugie – nie mamy żadnej kontroli nad błędami. Zajmiemy się tym w tym poradniku.

Usunięcie niechcianych znaków z wiadomości

Zacznijmy od znaków. Moduł je wysyła, ponieważ źle sobie radzi ze zmiennymi typu string. Rozwiązaniem tego jest podanie zmiennej w tablicy znaków. Ustalmy plan działania:

1. Wpisujemy numer i treść na wyświetlaczu (w typie string);

2. PLC przetwarza stringi na tablice charów;

3. PLC przesyła tablice do modułu, który wysyła SMS.

Założenie jest dobre, jednak nie możemy tak zrobić, spotykamy się tutaj z brutalną ścianą rzeczywistości. Wyobraźmy sobie taką sytuację: Piszemy SMS-a o treści: Silnik indukcyjny. PLC przerabia stringa HMI_SMS na tablicę znaków PLC_SMS. SMS doszedł, więc wysyłamy kolejnego, tym razem o treści: Proces. I znowu PLC przerabia HMI_SMS na tablicę znaków PLC_SMS, a moduł wysyła wiadomość. Jaki SMS dojdzie do odbiorcy? Proces indukcyjny. Zmienne typu string same się czyszczą, z tablicami znaków jest inaczej, dlatego trzeba zawsze ją „wyzerować” po udanym wysłaniu.

Zacznijmy programowanie. Przechodzimy do naszego bloku danych, gdzie dodajemy dwie tablice znaków: Empty oraz Text i nadajemy im taką samą długość (zgodną z długością SMS-ów, które będziemy wysyłać). Dodamy jeszcze Text_HMI, która będzie zbierała treść SMS-a od wyświetlacza. Pomijamy zmienną odpowiedzialną za numer telefonu, ona może być stringiem.

Na rysunku 2 widać, że daliśmy do tablicy Empty własny tekst. Zrobiliśmy to, aby każdy nasz SMS miał stały nagłówek. Gdybyśmy nie chcieli żadnego nagłówka, tablica zostałaby pusta.

Reklama


Przejdźmy teraz do Main Blocku. Dodajemy nowy Network, który zaczniemy stykiem inicjującym wysłanie SMS-a. Za nim wstawiamy blok zmiany stringa w tablicę charów.

Warto tu dodać, że używamy zmiennej o adresie M8.3, ale odradzamy używanie pamięci M o bajtach poniżej 10, ponieważ są tam ukryte zmienne systemowe.

Do bloku zmiany stringa na tablicę charów musimy dołączyć dodane przez nas zmienne, czyli:

1. String z treścią wpisaną w HMI;

2. Numer elementu, od którego zaczynamy konwersję typu, czyli – jeśli nie mamy stałego nagłówka, wpisujemy tam zero, jeśli mamy stały nagłówek, to wpisujemy tam numer, na którym kończy się nagłówek (patrzy – rysunek 2, podpunkt 3). Warto tu też pamiętać o dodatkowym pustym elemencie na spację;

3. Tablica charów, którą PLC wyśle jako SMS-a;

Z prawej strony mamy jeszcze licznik, nie wykorzystujemy go w projekcie, ale TIA wymaga, aby go zdefiniować, dlatego dajemy tam jakąś zmienną pomocniczą typu Word.

Zrobiliśmy trochę zmian w zmiennych, między innymi w HMI. Przejdźmy do Root screena i wejdźmy do bloku I/O, który zbiera treść wiadomości. Musimy podłączyć ten blok ze stringiem, który utworzyliśmy w naszym bloku danych.

Brakuje nam  jeszcze jednej rzeczy, mamy zmianę stringa na tablicę charów, ale musimy jeszcze móc zamienić tablicę charów na tablicę charów (po wysłanu SMS-a zmieniamy Text na Empty, aby „wyczyścić” domyślną tablicę).

 Jest kilka metod aby to osiągnąć, my lubimy tworzyć własne narzędzia, więc napiszemy blok funkcyjny w języku SCL, który podmieni nasze tablice.

W bloku potrzebujemy tylko jedną linijkę kodu – podmianę elementów jednej tablicy na elementy drugiej. Komenda, która zmieni części Textu na części Empty to:

„Data_block_1”.Text := „Data_block_1”.Empty;

Reklama


Musimy teraz zaimplementować czyszczenie tablicy. Zrobimy to po udanym rozłączeniu (które i tak następuje po wysłaniu). Implementacja tego jest banalna, co widać na zrzucie poniżej.

Musimy jeszcze zaktualizować blok wysyłający SMS-a tak, aby treść wiadomości brał z  naszej tablicy charów, a nie ze stringa, który wpisujemy do HMI.

I gotowe, możemy teraz wysyłać SMS-y bez żadnych niechcianych znaków.

Zabezpieczenie przed zawieszeniem się modułu

Czas na drugi problem, który dzisiaj rozwiążemy. Zrobimy mechanizm, który pomoże w przypadku zawieszenia się modułu w trakcie wysyłania (co może się zdarzyć w przypadku „czkawki” sieci). Będziemy się tu inspirować mikroprocesorowym Watchdogiem (układem, który resetuje mikrokontroler, gdy ten się zawiesi).

Skoro korzystamy też z panelu HMI, możemy dołożyć wizualizację tego mechanizmu. Zrobimy to w formie sygnalizowania stanów pracy (stan połączenia, stan wysyłania i stan rozłączania).

Aby sygnalizacja naszych trzech stanów działała dobrze, musimy stworzyć trzy zmienne bitowe: „udane połączenie”, „udane wysłanie”, „udane rozłączenie”. Zmienne te – jak ich nazwy wskazują – powinny się ustawić, gdy ich procesy zostaną wykonane. Robimy to prostymi instrukcjami logicznymi.

Potrzebujemy też zmiennej bitowej „Nie wysłano”, która ustawi się, jeśli pojawi się błąd i SMS nie zostanie wysłany.

Na powyższym zrzucie widać zastosowanie zmiennej „Nie wysłano”, inicjuje ona rozłączenie układu w przypadku problemu z wysłaniem wiadomości.

Przejdźmy teraz do wywołania zmiennej „Nie wysłano”. Założenie jest następujące – po połączeniu z siecią czekamy określony czas na wysłanie SMS-a, jeśli wysłanie nie nastąpi w tym czasie, ustawiamy bit „Nie wysłano”, który inicjuje awaryjne rozłączenie modułu z siecią.

Musimy też pamiętać, że skoro ustawiamy różne bity, należy je zresetować po całym procesie (w tym przypadku po rozłączeniu modułu z siecią).

Przejdźmy teraz do wizualizacji diagnostyki na HMI. Na naszym ekranie dodajemy graficzne pola I/O i ustawiamy je według uznania. Musimy też dodać do nich opisy (czyli pola tekstowe, robiliśmy to już w poprzednim poradniku).

Podobnie jak w poprzednim poradniku musimy też dodać HMI tagi naszych zmiennych, które będą odwoływały się do PLC tagów. Robimy to z poprzednio utworzonymi zmiennymi bitowymi.

Następnie łączymy dodane pola I/O ze stworzonymi HMI tagami.

Teraz przejdziemy do grafik prezentujących stan. Rozwijamy listę Graphics list w zakładce Contents w ekranie Properies. Musimy dodać nową listę grafik.

Po stworzeniu własnej listy grafik i nadaniu jej nazwy przechodzimy do okna konfiguracji.

Reklama


Zajmujemy się wizualizacją zmiennych typu bool, więc musimy ustawić sobie zakres zmian zmiennej na 0-1, robimy to, wybierając opcję Bit w zakładce Selection.

W kolejnym kroku musimy dodać grafiki, które będą się wyświetlały przy różnych stanach bitu. My dobraliśmy obrazy z folderu pokazanego poniżej.

Przy tworzeniu tego poradnika przyjęliśmy jedną listę grafik do każdego bitu sygnalizującego udany proces, dlatego daliśmy ją do każdego pola I/O. Jeśli chcecie dać inną listę do każdego pola, nie ma w tym żadnego problemu, stwórzcie listy tak jak poprzednio i dodajcie je do pól. Należy jeszcze pamiętać, żeby każde pole I/O miało bit, który chcemy pokazywać.

W analogiczny sposób stworzyliśmy drugą listę, która sygnalizuje błąd (wyżej wymieniony jako „Nie wysłano”).

Po przygotowaniu wszystkich list grafik, paneli I/O i konfiguracji tych elementów, została jeszcze jedna rzecz do zrobienia. Domyślnie dane zmiennych między HMI a PLC aktualizują się co sekundę, jest to za wolno dla naszych celów (wysłanie SMS-a trwa zwykle krócej niż sekundę, więc możemy tego nie zobaczyć na HMI). Musimy to zmniejszyć do najkrótszego czasu odświeżania – 100ms. Możemy to zrobić, zmieniając Acquisition cycle w HMI tags.

No to tyle. Udało nam się zrobić działający system wysyłający SMS-y o dowolnej treści, wizualizację procesu i system zabezpieczający przed zawieszeniem. Oczywiście motyw sterownika wysyłającego wiadomości można wykorzystać na wiele sposób, my daliśmy tylko podstawowe przykłady zastosowania, zostawiając resztę użytkownikom.

Wysyłanie SMS-ów to jednak tylko połowa możliwości tego modułu. Do omówienia zostaje nam jeszcze możliwość odbierana wiadomości przez PLC, także do tematu jeszcze wrócimy.

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

Nagrodę Bluza OUTHORN + zestaw gadżetów dostarcza ambasador konkursu, firma Pepperl+Fuchs. 

Reklama

5 września 2019 / Kategoria: , , ,

NAJNOWSZE PUBLIKACJE OD UŻYTKOWNIKÓW I FIRM

>KLIKNIJ<

Relacja z targów Warsaw Industry Week 2019 okiem iAutomatyka.pl

Relacja z targów Warsaw Industry Week 2019 okiem iAutomatyka.pl

>KLIKNIJ<

Finał Ligi Mistrzów Automatyki WAGO – zobacz najlepsze zgłoszenia

Finał Ligi Mistrzów Automatyki WAGO – zobacz najlepsze zgłoszenia

>KLIKNIJ<

Zdalny dostęp do PLC z IXON Cloud

Zdalny dostęp do PLC z IXON Cloud

>KLIKNIJ<

Co warto zobaczyć na targach SPS IPC Drives? Pierwsze w pełni zintegrowane rozwiązanie ABB i B&R

Co warto zobaczyć na targach SPS IPC Drives? Pierwsze w pełni zintegrowane rozwiązanie ABB i B&R

>KLIKNIJ<

Autoidentyfikacja na wszystkich poziomach. Kody 1D, 2D i RFID od SICK

Autoidentyfikacja na wszystkich poziomach. Kody 1D, 2D i RFID od SICK

>KLIKNIJ<

Bezpłatne szkolenie ‚Przemysł 4.0 dla menadżerów przedsiębiorstw’

Bezpłatne szkolenie ‚Przemysł 4.0 dla menadżerów przedsiębiorstw’

>KLIKNIJ<

Jak dobrać komputer przemysłowy pod system SCADA?

Jak dobrać komputer przemysłowy pod system SCADA?

>KLIKNIJ<

Jak zapewnić bezpieczeństwo Twojej maszynie? Odc. 1. Sterownik bezpieczeństwa – co to jest?

Jak zapewnić bezpieczeństwo Twojej maszynie? Odc. 1. Sterownik bezpieczeństwa – co to jest?

>KLIKNIJ<

Ruch pod kontrolą – poznaj zaawansowane funkcje Trio Motion, Estun, Sesame

Ruch pod kontrolą – poznaj zaawansowane funkcje Trio Motion, Estun, Sesame

>KLIKNIJ<

7 praktycznych zastosowań IIoT w automatyce przemysłowej

7 praktycznych zastosowań IIoT w automatyce przemysłowej

>KLIKNIJ<

Zgrupowanie Kadry Polski w Lutowaniu na targach Warsaw Industry Week

Zgrupowanie Kadry Polski w Lutowaniu na targach Warsaw Industry Week

>KLIKNIJ<

Darmowe szkolenia z projektowania systemów HMI/SCADA od Schneider Electric

Darmowe szkolenia z projektowania systemów HMI/SCADA od Schneider Electric

>KLIKNIJ<

Webinaria ze Schneider Electric – Serwonapędy, PLC, HMI, UR.

Webinaria ze Schneider Electric – Serwonapędy, PLC, HMI, UR.

>KLIKNIJ<

Poznaj CPL410 – część 3: Konfiguracja OPC UA pomiędzy PAC oraz IPC cz. I

Poznaj CPL410 – część 3: Konfiguracja OPC UA pomiędzy PAC oraz IPC cz. I

>KLIKNIJ<

KONKURS IAUTOMATYKA LISTOPAD 2019

KONKURS IAUTOMATYKA LISTOPAD 2019

>KLIKNIJ<

Poznaj możliwości i korzyści płynące z platformy IIoT

Poznaj możliwości i korzyści płynące z platformy IIoT

>KLIKNIJ<

Mapowanie adresów fizycznych IO na zmienne globalne na przykładzie środowiska Codesys

Mapowanie adresów fizycznych IO na zmienne globalne na przykładzie środowiska Codesys

>KLIKNIJ<

Czy jesteś zdecydowany na robotyzację?

Czy jesteś zdecydowany na robotyzację?

>KLIKNIJ<

Praktyczne zastosowania Przemysłu 4.0 – wywiad z Mitsubishi Electric

Praktyczne zastosowania Przemysłu 4.0 – wywiad z Mitsubishi Electric

>KLIKNIJ<

Automatyczny Podcast #17: PROFINET

Automatyczny Podcast #17: PROFINET





MOŻESZ SIĘ TYM ZAINTERESOWAĆ

  • ROUTER VPN EWON COSY 131 Zapewnia sprawny i prosty w obsłudze zdalny dostęp do dowolnego urządzenia Kompatybilność z najważniejszymi markami i protokołami sterowników PLC (m.in. Siemens, Allen-bradley, Omron…) Szybie zarządzenie roote...
  • Monitorowanie obciążenia i rozdział potencjałów w jednym kompletnym rozwiązaniu To innowacyjny system dystrybucji napięcia 24 V DC zapewniający monitorowanie obciążenia i dystrybucję potencjałów w jednym kompletnym rozwiązaniu. Bezawaryjna ...
  • Ö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...
  • Pomiar odległości to jedna z podstawowych dziedzin w technologii czujników. Do określania położenia w różnorodnych zastosowaniach wykorzystywana jest szeroka gama procesów. Firma Pepperl+Fuchs już teraz – w odróżnieniu od konkurencji ...
  • Sterowniki kompaktowe, modułowe i zintegrowane, CODESYS V3 (programowanie, wizualizacja, komunikacja), Krótkie cykle czasowe, EtherCAT, BACnet (opcjonalnie), Modbus, CANopen, Porty szeregowe: RS232, RS485, 2 konfigurowalne karty Ethernet, W...
  • Ekonomiczne monitorowanie i sterowanie, teraz także dzięki panelom 2 generacji. Dzięki odpowiedniemu doborowi funkcji HMI, panele Basic 2 generacji stanowią doskonałe rozwiązanie przy produkcji maszyn lub w małych aplikacjach przemysłowych....



Wszystko stanie się prostsze po zalogowaniu :)

Przypomnij hasło

Nie masz konta? Zarejestruj się

Forgot your password?

Enter your account data and we will send you a link to reset your password.

Your password reset link appears to be invalid or expired.

Close
z

Przetwarzamy pliki... jeszcze chwilka…