Do Projektu iAutomatyka dołączyli:

Publikacja zgłoszona do 🎁 Konkursu iAutomatyka
https://iautomatyka.pl/wp-content/uploads/2021/10/softGOT.png

Do czego mogą służyć skrypty w panelu operatorskim?

autor: PP244.

Wprowadzenie

Tworzenie wizualizacji na panele operatorskie zazwyczaj odbywa się poprzez wybór i konfigurację standardowych, dostępnych w wybranym oprogramowaniu, kontrolek. Zazwyczaj możemy przebierać pośród różnego rodzaju przycisków, lampek, pól tekstowych i podobnych elementów. Po wybraniu właściwej kontrolki i umieszczeniu jej w żądanym położeniu na określonym ekranie dokonujemy właściwej konfiguracji. Na tym zazwyczaj kończy się nasza rola. Jednak nie zawsze standardowe możliwości graficznych elementów spełniają w pełni nasze potrzeby. Wówczas zachodzi konieczność „sięgnięcia głębiej” i skorzystania z innych funkcjonalności urządzenia. W klasyku polskiej kinematografii, filmie „Poranek kojota”, bohater grany przez Tadeusza Huka mówi, że „Jeżeli czegoś nie da się zrobić, potrzebny jest ktoś, kto o tym nie wie – przyjdzie i to zrobi”. W panelach operatorskich pomocnym narzędziem do realizacji funkcjonalności, których „nie da się zrobić” są skrypty, które umożliwiają między innymi zaprogramowanie dodatkowego przetwarzania wykorzystywanych danych, dokonywanie operacji na plikach czy też rysowanie własnych elementów graficznych na bazie dostępnych prostych prymitywów. Ostatnia wymieniona funkcjonalność stanowiła inspirację do napisania niniejszego artykułu.

Możliwości skryptów zależą od konkretnego modelu panela operatorskiego, do stworzenia tego artykułu wykorzystano SOFTGOT, czyli „panel operatorski na komputerze” firmy Mitsubishi Electric. Tutaj ważna uwaga: w szczególności nie w każdym panelu dostępne są opisywane możliwości. Programowanie skryptów w środowisku GT Designer 3 odbywa się w języku zbliżonym do standardowego języka strukturalnego C, od którego wielu programistów rozpoczyna naukę. Zasadniczo skrypty można podzielić na dwie grupy: niepowiązane z żadnym obiektem oraz powiązane z jakimś graficznym elementem. Te ostatnie są w centrum naszego zainteresowania, ponieważ umożliwiają zastąpienie domyślnego obrazka własnym rysunkiem. W przedstawionym przykładzie użyto skryptu dla zwykłego przycisku (Switch), którego pozbawiono kształtu (pole Shape otrzymało wartość none).

Co zatem narysujemy?

Bardzo wygodnym narzędziem do analizy przebiegu różnego rodzaju procesów są wykresy. Pierwotnym założeniem była prezentacja prostego wykresu funkcji jednej zmiennej, jednak ten pomysł wydawał się zbyt banalny, jak na artykuł zamieszczony w serwisie iAutomatyka. Dlatego ostatecznie wybrano narysowanie przebiegu funkcji dwóch zmiennych. Do tego celu najczęściej wykorzystuje się darmowe narzędzia internetowe lub złożone programy do wykonywania obliczeń numerycznych, takie jak Matlab. Na tapetę wzięto funkcję, o stosunkowo prostym wzorze i ładnym kształcie:

Podstawowym problemem do rozwiązania jest określenie funkcji dokonującej konwersji z przestrzeni trójwymiarowej do dwuwymiarowego rysunku. Do obliczeń tego typu wygodnym narzędziem matematycznym są macierze. Zatem zadanie sprowadza się do znalezienia współczynników macierzy A i wektora b poniższego równania.

Współczynniki najłatwiej można znaleźć, rozpisując układ równań dla znanych wartości. Przykładowo, lewy górny punkt (początek prostokątnego układu współrzędnych rysunku – punkt zerowy, oś X jest skierowana w prawo, z kolei zaś oś Y do dołu – jest to bardzo często stosowana konwencja w bibliotekach programistycznych do rysowania scen, w niniejszym artykule zamiast oznaczeń x, y stosowane są litery w, h – w celu uniknięcia podobieństwa do wejściowego układu xyz) jest wynikiem zastosowanego przekształcenia dla punktu o współrzędnych (xmin, ymax, zmax). Analogicznie, można napisać tę zależność dla kilku innych, oczywistych punktów. Następnie odejmując od siebie równania (najlepiej te różniące się na jednej pozycji spośród argumentów x, y, z – jak na rysunku poniżej), łatwo obliczymy kolejne współczynniki. Wyjaśnienie, czym są parametry, znajduje się w następnym akapicie.

Jak zabrać się do rysowania?

Zacznijmy od osi kartezjańskiego układu współrzędnych. Poprzez pola do wpisywania wartości numerycznych, istnieje możliwość wyspecyfikowania interesującego zakresu poszczególnych osi (minimalnych i maksymalnych wartości). Do wygodnego opisu użyto dodatkowe trzy parametry, odpowiedzialne za rozmieszczenie punktów krańcowych osi układu współrzędnych na rysunku, co można wykorzystać w roli namiastki przeprowadzania obrotów. Parametry są wpisywane za pośrednictwem dodatkowych elementów graficznych – suwaków (Slider) jako wartość procentowa pełnego wymiaru obrazka (długości lub szerokości). Osie narysowano jako zwykłe, białe linie.

Sam właściwy wykres utworzono jako zbiór punktów. Przedział wartości każdej osi podzielono na równe odcinki, których liczba jest również zadawana poprzez pola numeryczne (opisane jako NX, NY). Na „skrzyżowaniach” powstałej sieci punktów obliczana jest wartość funkcji. Następnie, mając już wszystkie współczynniki, zastosowano wspomniane wcześniej macierzowe przekształcenie (zapisane w wersji skalarnej, ponieważ panel operatorski nie wspiera obliczeń macierzowych), dzięki któremu otrzymywana jest para współrzędnych rysunku, w którym wyświetlana jest kropka, czyli punkt. Kolor każdej kropki zależy od wartości funkcji – zastosowano zwykłe przekształcenie liniowe. Użytkownik programu GT Designer 3 może wybierać spośród 256 kolorów (od 0 – kolor czarny do 255 – kolor biały), dlatego różnica wartości funkcji i minimalnej wartości w osi Z jest dzielona przez długość interesującego odcinka osi Z (różnicę pomiędzy wpisaną maksymalną a minimalną wartością wyświetlaną na tej osi) i mnożona przez 255. Kod napisano trochę w sposób akademicki, w celu zwiększenia czytelności, jednak nic nie stoi na przeszkodzie, by przeprowadzić optymalizację.

Podsumowanie

Zaprezentowane rozwiązanie ma pewne wady. Przede wszystkim cechuje się niską wydajnością. Problem ten można rozwiązać (lub zredukować), poprzez przeniesienie części logiki obliczeń do sterownika, zostawiając w skrypcie jedynie logikę odpowiedzialną za wyświetlanie kolejnych punktów. Jednak ideą tego artykułu było zaprezentowanie możliwości rysowania tylko z wykorzystaniem panela operatorskiego, dlatego przyjęto założenie, że całość logiki jest realizowana przez to urządzenie. Im więcej punktów do wyświetlenia, tym niższa wydajność i możliwe niepożądane efekty jak migotanie czy odświeżenie jedynie części rysunku (przykład poniżej).
Trudno również znaleźć praktyczne zastosowanie dla wyświetlania funkcji dwóch zmiennych na panelu operatorskim, do tego celu istnieją lepsze narzędzia (wyżej wspomniane). Jednak już na przykład wyświetlenie położenia końcówki manipulatora lub robota w kartezjańskim układzie współrzędnych oraz dodanie kilku symboli elementów znajdujących się w przestrzeni roboczej (potencjalnych przeszkód), może być użytecznym i dość efektownym sposobem wykorzystania wiedzy z niniejszego artykułu, również w urządzeniach innych producentów. Ponadto, zaprezentowane rozwiązanie jest dość ogólne, można je wykorzystać do wyświetlania zależności (niekoniecznie funkcyjnej) jednej zmiennej z(x) oraz z(y) poprzez manipulację wspomnianymi parametrami ustalającymi położenie krańcowych punktów osi, co pokazano poniżej (zależność z(x) uzyskana dwoma metodami – pierwsza dedykowanym narzędziem, druga za pomocą metody z artykułu).

Ocena artykułu zgłoszonego do Konkursu iAutomatyka 4.0 pisz artykuły, zdobywaj punkty, wymieniaj je na nagrody.

Kryterium 1 2 3 4 5 6 7 8 9 10
Punkty (0-2) 2 2 2 2 2 0 2 2 2 2
Suma zdobytych punktów: 18


/ Kategoria:

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<

KONKURS IAUTOMATYKA GRUDZIEŃ 2021

KONKURS IAUTOMATYKA GRUDZIEŃ 2021

>KLIKNIJ<

Finansowanie projektów automatyzacji i robotyzacji, cz. 1

Finansowanie projektów automatyzacji i robotyzacji, cz. 1

>KLIKNIJ<

Czujniki indukcyjne – Działanie, budowa, podłączenie, zastosowanie

Czujniki indukcyjne – Działanie, budowa, podłączenie, zastosowanie

>KLIKNIJ<

Liderzy robotyzacji

Liderzy robotyzacji

>KLIKNIJ<

Wspólne typy danych używane w sterownikach Mitsubishi

Wspólne typy danych używane w sterownikach Mitsubishi

>KLIKNIJ<

RENEX Group podsumowuje Targi Productronica

RENEX Group podsumowuje Targi Productronica

>KLIKNIJ<

Aplikacja VEGA Tools dla łatwiejszego i szybszego dostępu do wartości pomiarowych

Aplikacja VEGA Tools dla łatwiejszego i szybszego dostępu do wartości pomiarowych

>KLIKNIJ<

Pomiary energii i mocy nigdy nie były tak proste!

Pomiary energii i mocy nigdy nie były tak proste!

>KLIKNIJ<

Timery i liczniki używane w sterownikach Mitsubishi

Timery i liczniki używane w sterownikach Mitsubishi

>KLIKNIJ<

Większe bezpieczeństwo procesów produkcyjnych z Heartbeat Technology

Większe bezpieczeństwo procesów produkcyjnych z Heartbeat Technology

>KLIKNIJ<

Maszyna się rozpędza! Tworzymy kurs podstaw automatyki z Pilz

Maszyna się rozpędza! Tworzymy kurs podstaw automatyki z Pilz

>KLIKNIJ<

Logistyka zakładowa w standardzie I4.0: System ActiveShuttle z zaawansowaną interakcją jest teraz bardziej bezpieczny elastyczny

Logistyka zakładowa w standardzie I4.0: System ActiveShuttle z zaawansowaną interakcją jest teraz bardziej bezpieczny elastyczny

>KLIKNIJ<

Bulkscan® bezkontaktowy pomiar przepływu materiałów sypkich

Bulkscan® bezkontaktowy pomiar przepływu materiałów sypkich

>KLIKNIJ<

OMRON prezentuje wizję fabryki przyszłości w zmodernizowanym Centrum Automatyki w Barcelonie

OMRON prezentuje wizję fabryki przyszłości w zmodernizowanym Centrum Automatyki w Barcelonie

>KLIKNIJ<

Nowa seria interfejsów sygnałowych RN Series – niezawodne zasilanie i separacja obwodów pomiarowych

Nowa seria interfejsów sygnałowych RN Series – niezawodne zasilanie i separacja obwodów pomiarowych

>KLIKNIJ<

Przemysł-segmenty #LAPP

Przemysł-segmenty #LAPP

>KLIKNIJ<

Zobacz relacje z Warsaw Industry Week 2021 z firmą Finder

Zobacz relacje z Warsaw Industry Week 2021 z firmą Finder

>KLIKNIJ<

System sztucznego naśnieżania oparty na urządzeniach firmy akYtec

System sztucznego naśnieżania oparty na urządzeniach firmy akYtec

>KLIKNIJ<

Grupa RENEX na Productronice

Grupa RENEX na Productronice

>KLIKNIJ<

Nowości YAMAHA na Productronice

Nowości YAMAHA na Productronice

Reklama



MOŻESZ SIĘ TYM ZAINTERESOWAĆ

  • 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...
  • Producenci maszyn, integratorzy, operatorzy mediów, firmy serwisujące rozproszone obiekty, np. farmy fotowoltaiczne i wielu innych, wszystkich ich łączy potrzeba zdalnego dostępu do urządzeń za które ponoszą w różny sposób odpowiedzialność....
  • EPLAN Electric P8 oferuje nieograniczone możliwości planowania projektu, tworzenia dokumentacji oraz zarządzania projektami automatyki. Zautomatyzowane tworzenie szczegółowych raportów opartych na schematach okablowania jest integralnym ele...
  • 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 ...
  • 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....
  • Szybki i bezpieczny dostęp do maszyn i fabryk Usługa u-link gwarantuje szybki i bezpieczny dostęp do maszyn i fabryk, co ułatwia zdalne utrzymanie ruchu, jednocześnie pozwalając na wydajne zarządzanie zakładami produkcyjnymi i stacjami klie...