Do Projektu iAutomatyka dołączyli:

Publikacja zgłoszona do 🎁 Konkursu iAutomatyka

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.

 



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

Newsletter

Zapisz się i jako pierwszy otrzymuj nowości!

Zapoznałem się i akceptuję klauzulę informacyjną.



.

NAJNOWSZE PUBLIKACJE OD UŻYTKOWNIKÓW I FIRM

>KLIKNIJ<

Przybyłem, otworzyłem, podłączyłem – unboxing zestawu XV100 BOX od EATON

Przybyłem, otworzyłem, podłączyłem – unboxing zestawu XV100 BOX od EATON

>KLIKNIJ<

Jak skonfigurować router przemysłowy 4G LTE: server OpenVPN, zdalny dostęp i DDNS – na przykładzie Teltonika RUT240

Jak skonfigurować router przemysłowy 4G LTE: server OpenVPN, zdalny dostęp i DDNS – na przykładzie Teltonika RUT240

>KLIKNIJ<

ctrlX AUTOMATION: Dwa kroki przed konkurencją

ctrlX AUTOMATION: Dwa kroki przed konkurencją

>KLIKNIJ<

ABB rozszerza portfolio szybkich robotów przemysłowych dzięki przejęciu Codian

ABB rozszerza portfolio szybkich robotów przemysłowych dzięki przejęciu Codian

>KLIKNIJ<

Wprowadzenie do Open Core Engineering

Wprowadzenie do Open Core Engineering

>KLIKNIJ<

Współpraca sterownika LOGO! 8 z panelami HMI KTP Basic

Współpraca sterownika LOGO! 8 z panelami HMI KTP Basic

>KLIKNIJ<

ReeR Safe Gate kurtyna z funkcją mutingu

ReeR Safe Gate kurtyna z funkcją mutingu

>KLIKNIJ<

Patchcordy na cały świat – odbierz darmowe próbki nowoczesnych przewodów ETHERLINE

Patchcordy na cały świat – odbierz darmowe próbki nowoczesnych przewodów ETHERLINE

>KLIKNIJ<

Cyfryzacja – Samodzielnie czy z partnerem? Zrobić czy kupić? Jak przyspieszyć proces wdrażania IIoT

Cyfryzacja – Samodzielnie czy z partnerem? Zrobić czy kupić? Jak przyspieszyć proces wdrażania IIoT

>KLIKNIJ<

10 pytań o szafy sterownicze #1

10 pytań o szafy sterownicze #1

>KLIKNIJ<

Nie chciałbyś zostać Mistrzem Automatyki 2020?

Nie chciałbyś zostać Mistrzem Automatyki 2020?

>KLIKNIJ<

5 ciekawych funkcjonalności w sterownikach PLC

5 ciekawych funkcjonalności w sterownikach PLC

>KLIKNIJ<

Automatyzacja procesów: niewielki początek, duży potencjał rozwoju

Automatyzacja procesów: niewielki początek, duży potencjał rozwoju

>KLIKNIJ<

ProCobot: Technicznie Rzecz Biorąc

ProCobot: Technicznie Rzecz Biorąc

>KLIKNIJ<

Pomiar parametrów środowiskowych z Advantech WISE 4200

Pomiar parametrów środowiskowych z Advantech WISE 4200

>KLIKNIJ<

Systemy automatyki, ewolucja Ethernetu, fotowoltaika, szafy – Technology Days Online

Systemy automatyki, ewolucja Ethernetu, fotowoltaika, szafy – Technology Days Online

>KLIKNIJ<

Sterowanie serwonapędu IndraDrive poprzez sieć Profinet

Sterowanie serwonapędu IndraDrive poprzez sieć Profinet

>KLIKNIJ<

Zdalny dostęp serwisowy a bezpieczeństwo – Wywiad z Bartkiem Morawskim Sabur

Zdalny dostęp serwisowy a bezpieczeństwo – Wywiad z Bartkiem Morawskim Sabur

>KLIKNIJ<

Analiza sygnałów z enkoderów inkrementalnych w jeszcze niższej cenie i na mniejszej przestrzeni.

Analiza sygnałów z enkoderów inkrementalnych w jeszcze niższej cenie i na mniejszej przestrzeni.

>KLIKNIJ<

Złączki do węży SILVYN® – mniejsze opakowania

Złączki do węży SILVYN® – mniejsze opakowania





MOŻESZ SIĘ TYM ZAINTERESOWAĆ

  • Maksymalna wydajność przy niewielkich rozmiarach Firma wzbogaciła ofertę swego inteligentnego systemu transportowego SuperTrak o szerszy segment zakrzywiony pod kątem 180°. Nowa krzywa zapewnia większe siły trzymania i napędu. Wózki mogą po...
  • Selektor napędów Panasonic umożliwia przeglądanie napędów z serii MINAS, wyszukiwanie ich w prosty sposób, a nawet porównywanie ze sobą. Dzięki wyszukiwaniu po słowach kluczowych i przy użyciu funkcji filtrowania, potrzeba zaledwie sekund a...
  • Bezpieczny, prosty w obsłudze i energooszczędny Seria serwowzmacniaczy Mitsubishi Electric MELSERVO MR-J4 wraz z kompatybilnymi modułami pozycjonującymi oraz zaawansowanymi kontrolerami motion, umożliwia konstruktorom maszyn i urządzeń oraz...
  • 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...
  • EPSITRON®ECO & COMPACT Power OSZCZĘDNOŚĆ KOSZTÓW Zasilacze EPSITRON® ECO i COMPACT Power to nie tylko oszczędność przy zakupie, ale również niższe koszty dzięki łatwej obsłudze oraz braku konieczności serwisowania. Są one doskonałym roz...
  • SIR6W, to nowa seria przekaźników interfejsowych przeznaczonych do separacji wejść/wyjść w aplikacjach PLC oraz do wielu różnych aplikacji jako elementy pośredniczące i wykonawcze. • SIR6W, to przekaźniki o niewielkich wymiarach 88,6 x 6,2 ...



KATEGORIE ARTYKUŁÓW
POLECANE ARTYKUŁY
Wydarzenia