Do Projektu iAutomatyka dołączyli:

Publikacja zgłoszona do 🎁 Konkursu iAutomatyka

WebHMI – dodatkowe możliwości komunikacyjne

952 wyświetleń, autor: WojTech.

Pilnie śledząc portal iAutomatyka kilkukrotnie natknąłem się na informacje o WebHMI. Po nagromadzeniu się kilku tematów w moim zakładzie pracy oraz chęci szybszego wdrażania przemysłu 4.0 udało mi się przekonać kierownictwo do zakupu jednego z tych urządzeń. Nie ukrywam, że podstawowym zamysłem było wykorzystanie urządzenia do komunikacji ze sterownikami firmy Siemens wyposażonymi w karty komunikacyjne Ethernet. Jednak nie będę się tu rozwodził nad znanymi funkcjami urządzenia. Chciałbym przedstawić moje krótkie jak dotąd zmagania z WebHMI oraz komunikacją z urządzeniami, które nie zostały wymienione na liście producenta.

Komunikacja ze sterownikami S7-300/400

Zacznę od wspomnianych już sterowników Siemens. W moim przypadku były to S7-300/400. Posiadają one tylko i wyłącznie porty MPI/DP. W moim zakładzie pracuje kilka urządzeń tego typu i wymagane było umożliwienie ich diagnostyki poprzez Ethernet. Do tego celu wykorzystaliśmy adaptery, czy raczej bramy MPI/DP na Ethernet.

Przykładowy adapter IBHLink S7++, jest urządzeniem współpracującym z oprogramowaniem Siemens Step7. Jeżeli chcemy taką komunikację nawiązać poprzez oprogramowanie Step7, wymagana jest instalacja oprogramowania producenta oraz wybór odpowiedniego kanału komunikacyjnego poprzez PG/PC Interface. Proponuję w pierwszej kolejność skonfigurować urządzenie i nawiązać połączenie poprzez oprogramowanie Siemensa. Ze względu na istnienie dokumentacji producenta na ten temat pominę opis procesu i zamieszczę jedynie zrzut ekranu konfiguracyjnego PG/PC:

Po uzyskaniu połączenia PLC – Step7 postanowiłem skomunikować WebHMI ze sterownikiem i okazało się, że jest to bardzo proste, a konfiguracja nie przysparza większych trudności. W zakładce Ustawienia – Zmienne dodajemy Nowe połączenie, w którym wybieramy protokół S7 Comm (TCP) podając adres IP skonfigurowanego adaptera oraz TSAP (przykład 03 02, co odpowiada S7 CPU znajdującemu się na rack 0, slot 2 – teoretycznie, ale o tym później).

Reklama

Kolejny etap, to dodanie zmiennych i za ich pomocą sprawdzenie komunikacji w zakładce Diagnostyka u dołu ekranu (informacja na czerwono oznacza problemy z odczytem zmiennej). Proponuję dodać zmienną, której stan jesteśmy w stanie fizycznie sprawdzić. Poniżej przykład błędu komunikacji dla innego sterownika.

Komunikacja z adapterem Profibus

Aby uniknąć podejrzeń o stronniczość lub promocję konkretnych producentów, to podobną komunikację nawiązałem również z urządzeniem NETLink PRO Compact. W tym przypadku wykorzystałem jednak Profibus. Napotkałem jednak jeden problem związany z adresacją. Niestety nie wiem czemu, ale TSAP musiałem ustawić na 030A, co odpowiada adresowi Profibus CPU, który wynosi 10, a nie szynie RACK oraz Slotowi, w który jest wpięty sterownik.

Gdyby ktoś miał potrzebę skomunikowania się ze sterownikiem bez zmiany jego Hardware Config i dodawania kart komunikacyjnych, to polecam zakup wspomnianego adaptera. Należy jednak pamiętać, że nie jest to rozwiązanie tanie. Biorąc jednak pod uwagę cenę WebHMI i adaptera w porównaniu z innymi systemami SCADA, to raczej warto się nad tym zastanowić.

ZestaPRO.pl – dystrybutor WebHMI

Komunikacja z web serwerem

Kolejny przykład komunikacji, jaki chciałbym przedstawić, to uzyskanie zmiennych z web serwera zaimplementowanego w drukarce Zebra. Taki prosty web serwer został przedstawiony poniżej. Mi zależało na odczycie stanu samego urządzenia, ale w przedstawiony sposób można odczytać inne interesujące nas dane: liczniki, błędy itp.

Aby uzyskać tego typu zmienne nieodzowne okazuje się użycie skryptów LUA (wspomnę tylko, że zasiadając do pisania pierwszego programu w WebHMI język ten był dla mnie językiem nieznanym). Nie będę się tutaj zagłębiał w sam algorytm, ponieważ został on zapożyczony z wiki.webhmi.com.ua.  Ze swojej strony dodałem tylko przetworzenie otrzymanych danych i zapisanie ich do zmiennych wewnętrznych WebHMI.

Jako odpowiedź na nasze zapytanie GET uzyskałem źródło strony, w którym wystarczy wyszukać interesujące nas dane. W mojej sytuacji była to prosta informacja stanu maszyny.

Metoda może się okazać przydatna jedynie w komunikacji z prostymi web serwerami, gdy interesujące nas dane można odczytać ze źródła strony. Powyższe rozwiązanie nic nie da, jeżeli dane przetwarzane są poprzez skrypty strony. Dowiedziałem się o tym próbując odczytać ciśnienie znajdujące się na web serwerze sterownika kompresorów. Wszelkie próby kończyły się niepowodzeniem, zastosowana metoda okazała się być błędna. Po wielu frustrujących próbach postanowiłem dokładniej przebadać stronę internetową sterownika. Zaznaczę tutaj tylko, że nigdy nie zdarzyło mi się napisać strony internetowej, czy pisać skryptów na stronach. Wymiana danych była więc dla mnie totalną zagadką.

Po kliknięciu prawym klawiszem w stronę i wybraniu opcji: ‘Zbadaj element’ udało mi się dotrzeć do danych, jakie są wymieniane pomiędzy przeglądarką, a sterownikiem. Cyklicznie wysyłane było pewne zapytanie widoczne na zdjęciu poniżej, a w odpowiedzi uzyskiwany był ciągle zmieniający się ciąg znaków.

Postanowiłem poddać analizie pierwszą część odpowiedzi. Jak się szczęśliwie okazało, liczba 1954 w HEX odpowiada liczbie 6484, co po przeskalowaniu daje 6.484, czyli rzeczywistą wartość ciśnienia na kompresorze. Zapytanie wysyłane przez przeglądarkę postanowiłem wykorzystać w swoim skrypcie. W efekcie uzyskałem identyczną odpowiedź, jak w przeglądarce. W następnym kroku spróbowałem skrócić zapytanie tylko do pierwszego członu. Poniżej zamieszczam skrypt, który pyta tylko o wartość ciśnienia. Jednak żeby zapytanie nie było wysyłane zbyt często, ograniczyłem jego częstotliwość do jednego na sekundę.

Może ktoś zapyta po co wysyłać zapytanie do drukarki, czy sterownika kompresora. Otóż z samej tylko drukarki można uzyskać dane np. o mijającym czasookresie przeglądu lub poziomie obciążenia urządzenia i wysłać je do odpowiedniego adresata. Dane z kompresora z kolei mogą pozwolić na oszacowanie nieszczelności instalacji oraz jaki wpływ na całość systemu mają naprawy w tym zakresie. Oznacza to, że danych do analizy dostarczyć mogą nam więc posiadane już urządzenia, bez konieczności montażu dodatkowych czujników.

Powyżej opisane urządzenia są przykładem, który miał za zadanie prezentację dowolności w sposobie uzyskiwania interesujących nas danych poza protokołami komunikacyjnymi, standardowo stosowanymi w automatyce.

Należy jednak podkreślić, że komunikacja z wykorzystaniem skryptów potrafi znacznie obciążyć urządzenie, a czas cyklu urządzenia może wzrosnąć do 1 sekundy. Dlatego też podczas testowania skryptów warto zwrócić na to uwagę.

Podsumowanie

Powyższy wpis proponuję potraktować jako opis możliwości komunikacyjnych urządzenia WebHMI i mocy jaka w nim drzemie, z uwzględnieniem skryptów LUA. Nie jest to poradnik mający na celu poprowadzenie użytkownika przez cały proces uzyskania danych, bo przecież każdy przypadek należy rozpatrywać indywidualnie. Natomiast praca automatyka bardzo często polega na rozwiązywaniu problemów z pozoru nierozwiązywalnych i tylko nasza zawziętość często pozwala na znalezienie właściwej drogi.

Artykuł został nagrodzony w Konkursie iAutomatyka – edycja Maj 2019

Nagrodę Kubek termiczny + zestaw gadżetów dostarcza ambasador konkursu, firma LAPP.

 

Newsletter

Zapisz się i jako pierwszy otrzymuj nowości!

Zapoznałem się i akceptuję klauzulę informacyjną.
28 maja 2019 / Kategoria: , , , ,
  • Autor: WojTech
  • Jestem automatykiem z zamiłowania i zawodu. Na co dzień pracuję w Utrzymaniu Ruchu w zautomatyzowanym magazynie rozwiązując problemy dnia powszedniego lub starając się usprawnić pracę innych poprzez wdrażanie koncepcji przemysłu 4.0.
  • Profil Autora

Reklama

NAJNOWSZE PUBLIKACJE OD UŻYTKOWNIKÓW I FIRM

>KLIKNIJ<

Astraada Safety odc. 2 – jak skonfigurować pierwszy projekt i napisać pierwszą aplikację bezpieczeństwa?

Astraada Safety odc. 2 – jak skonfigurować pierwszy projekt i napisać pierwszą aplikację bezpieczeństwa?

>KLIKNIJ<

10 historii Automatyków i ich największe wyzwania w pracy

10 historii Automatyków i ich największe wyzwania w pracy

>KLIKNIJ<

Jak powstaje wymiennik ciepła? – Fabryki w Polsce

Jak powstaje wymiennik ciepła? – Fabryki w Polsce

>KLIKNIJ<

C, C++, JavaScript, Node-Red w sterowniku PLC? Pierwszy kontakt ze sterownikiem Przemysłu 4.0 u-control

C, C++, JavaScript, Node-Red w sterowniku PLC? Pierwszy kontakt ze sterownikiem Przemysłu 4.0 u-control

>KLIKNIJ<

MQTT w łączności PLC z systemem SCADA

MQTT w łączności PLC z systemem SCADA

>KLIKNIJ<

TwinCAT 3 Lighting Solution: uniwersalne narzędzie do sterowania oświetleniem

TwinCAT 3 Lighting Solution: uniwersalne narzędzie do sterowania oświetleniem

>KLIKNIJ<

Pomóż zaprojektować respirator ostatniej szansy z drukarki 3D i ratuj życia

Pomóż zaprojektować respirator ostatniej szansy z drukarki 3D i ratuj życia

>KLIKNIJ<

KONKURS IAUTOMATYKA KWIECIEŃ 2020

KONKURS IAUTOMATYKA KWIECIEŃ 2020

>KLIKNIJ<

Miraizukuri, czyli budujemy przyszłość…

Miraizukuri, czyli budujemy przyszłość…

>KLIKNIJ<

Wysyłanie wiadomości email w sterowniku PLC | Kurs programowania PLC od podstaw | odc.19

Wysyłanie wiadomości email w sterowniku PLC | Kurs programowania PLC od podstaw | odc.19

>KLIKNIJ<

Rozwój automatyki przemysłowej w Polsce

Rozwój automatyki przemysłowej w Polsce

>KLIKNIJ<

Trzy w jednym: kompletny serwonapęd umożliwia rezygnację z szafy sterowniczej

Trzy w jednym: kompletny serwonapęd umożliwia rezygnację z szafy sterowniczej

>KLIKNIJ<

Regulator PID w środowisku Codesys

Regulator PID w środowisku Codesys

>KLIKNIJ<

Kopia zapasowa pamięci robota na przykładzie jednostki FANUC

Kopia zapasowa pamięci robota na przykładzie jednostki FANUC

>KLIKNIJ<

Jak w 3 krokach wdrożyć prosty system sterowania ogrzewaniem i oświetleniem hali produkcyjnej? Cz. 1

Jak w 3 krokach wdrożyć prosty system sterowania ogrzewaniem i oświetleniem hali produkcyjnej? Cz. 1

>KLIKNIJ<

Jednoparowy Ethernet – oszczędność czasu i środków finansowych

Jednoparowy Ethernet – oszczędność czasu i środków finansowych

>KLIKNIJ<

Jak powstają REGAŁY MAGAZYNOWE? – Fabryki w Polsce

Jak powstają REGAŁY MAGAZYNOWE? – Fabryki w Polsce

>KLIKNIJ<

Analiza metod pomiarowych urządzeń do magazynowania energii

Analiza metod pomiarowych urządzeń do magazynowania energii

>KLIKNIJ<

Komunikacja sterownika IFM z podwoziem – Protokół J1939

Komunikacja sterownika IFM z podwoziem – Protokół J1939

>KLIKNIJ<

WAGO i Docker – zastosowanie popularnych narzędzi IT na polu profesjonalnej automatyki przemysłowej

WAGO i Docker – zastosowanie popularnych narzędzi IT na polu profesjonalnej automatyki przemysłowej





MOŻESZ SIĘ TYM ZAINTERESOWAĆ

  • Poniższy poradnik jest zbiorem schematów połączeń elektrycznych. W poradniku zapoznamy się z podstawami wprowadzenia do systemów przekaźnikowych, sekwencji przełączeń przekaźników, porównania systemów przekaźnikowych z systemami tradycyjnym...
  • 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...
  • 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...
  • 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 ...
  • 0 PLN
    Jako dostawca zintegrowanych rozwiązań dla automatyzacji maszyn i zakładów produkcyjnych, organizujemy regularne szkolenia specjalistyczne. Dedykujemy je zarówno producentom maszyn, firmom inżynierskim rozwijającym nowe projekty w oparciu o...
    Link: Terminy
  • Wyświetlacz słupkowy ITP15 jest kompaktowym wskaźnikiem procesowym, który wizualizuje analogowy sygnał wejściowy w zakresie od 0 do 100% z 10 słupkami po 10%. Sygnałem wejściowym może być liniowy sygnał napięciowy 0 (2) -10 V lub sygnał prą...



KATEGORIE ARTYKUŁÓW
POLECANE ARTYKUŁY
Wydarzenia