Do Projektu iAutomatyka dołączyli:

https://iautomatyka.pl/wp-content/uploads/2019/05/main1.jpg

WebHMI – dodatkowe możliwości komunikacyjne

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.

 



Utworzono: / 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

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
  •   Sterowniki FX5U zapewniają rodzinie FX wyższą wydajność oraz dodają nowe cechy, które wyznaczają standardy w klasie kompaktowych sterowników PLC. Pozwala to użytkownikom na tworzenie bardziej złożonych i zaawansowanych systemów automatyki...
  • Zapraszam Cię na kurs tworzenia wizualizacji HMI z wykorzystaniem panelu XV102 od firmy EATON. Kurs stworzyłem z myślą o każdym, kto chce zacząć przygodę z tworzeniem wizualizacji HMI przy użyciu programu Galileo. Stworzyłem kurs bazujący n...
  • Produkty i rozwiązania firmy SICK są równie różnorodne jak codzienność w przedsiębiorstwie. Szkolenia SICK dla użytkowników umożliwiają zdobycie wiedzy na temat zróżnicowanej oferty naszych innowacyjnych produktów w formie dostosowanej do k...
    Link: Terminy
  • 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...
  • RPI-1ZI-U24A, to przekaźnik  instalacyjny wytrzymujący maksymalny prąd załączania 120A w czasie 20ms. Przekaźnik ten dedykowany jest do załączania obwodów o wysokim prądzie początkowym, w szczególności do obwodów oświetleniowych, potwierdzo...
  • 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...