Do Projektu iAutomatyka dołączyli:

https://iautomatyka.pl/wp-content/uploads/2020/02/DSC08295.jpg

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


To, że PLC rządzą i jeszcze długo rządzić będą światem automatyki wiemy wszyscy. Mnogość rozwiązań, doświadczenie automatyków w zakresie ich instalacji, standaryzacja sygnałów i komunikacji, niemalże ujednolicone programowanie, niezawodność, elastyczność. To tylko wybrane cechy powodujące ich tak wysoką popularność. W świecie tym ciężko jest wprowadzać innowację. Niezawodność zapewniana jest przez technologię, a standaryzację wymuszają akty prawne. W sumie, wyróżnić się można jedynie dostępnymi rozwiązaniami.

W ostatnim czasie Weidmuller chciał pochwalić się swoim sprzętem i w ten sposób ich zestaw startowy trafił w moje ręce. Co z tego wyjdzie? Czy będzie to recenzja zestawu startowego? Test sprzętu i oprogramowania? A może demonstracja siły? Sam jeszcze nie wiem… Wiem tylko, że nie będzie tu opowiadania bajek, a same konkrety. Zatem zobaczmy, cóż takiego kryje się w tym pudle.

Unboxing

Jak zdradza rysunek umieszczony na opakowaniu, nie mamy tu do czynienia ze zbiorem komponentów do samodzielnego połączenia. Jest to stanowisko testowe bardzo przypominające te z uczelnianych zajęć z programowania PLC. I rzeczywiście, po otwarciu ukazuje się nam kompletne stanowisko ze sterownikiem i modułami rozszerzeń w roli głównej. Jest on zamocowany na standardowej szynie przytwierdzonej do bazy/podstawy wykonanej z białego plastiku.

Oprócz sterownika na szynie znajduje się symulator 0-10V. Na wspomnianej obudowie znajdują się jeszcze trzy przyciski z podświetleniem, przełącznik obrotowy i czujnik temperatury Pt100. Na boku znajdziemy gniazdo i przełącznik zasilania.

Całość już została „obszyta” zatem wystarczy podłączyć zasilanie i można przystąpić do programowania. Tak zapewne wyglądałby wstęp do zajęć z programowania PLC. Nie oszukujmy się, nikt tam nie rozmawia o dostępnych wersjach sterownika, modułach rozszerzeń czy sposobach podłączenia peryferiów.

Do zestawu dostajemy zasilacz oraz patchcord i kabel USB do połączenia się ze sterownikiem. Jednostkę centralną UC20-WL2000-AC wzbogacono o:

  • moduł 8 wejść cyfrowych UR20-8DI-P-2W,
  • moduł 8 wyjść cyfrowych UR20-8DO-P,
  • moduł 4 wejść analogowych UR20-4AI-UI-16,
  • moduł 4 wyjść analogowych UR20-4AO-UI-16,
  • moduł pomiaru temperatury UR20-4AI-RTD-DIAG.

Z dołączonej karty wynika, iż nie jest to jedyny dostępny zestaw startowy. Bardziej rozbudowany zawiera dodatkowo moduł rozszerzeń do komunikacji IO-Link oraz bezprzewodowy Access Point. Sposób podłączenia peryferiów przedstawia dołączony mini schemat elektryczny.

Wykonanie

To, że rozwiązanie Weidmuller-a jest rozwiązaniem modułowym widać już na pierwszy rzut oka. Jest to bardzo popularne podejście w konstrukcji sterowników kompaktowych stosowane przez innych producentów. Jednostka sterująca sama w sobie nie ma ani jednego wejścia czy wyjścia. Jedyne przyłącza jakie znajdziemy, służą zasileniu CPU i magistrali na której wpinane są moduły rozszerzeń. Te z kolei wykonane są w postaci cienkich plastrów dołączanych kolejno do CPU. Same zaciski wykonane są w technologii PUSH-IN co znacząco ułatwia i przyśpiesza proces okablowania urządzenia.

Obudowa zarówno jednostki sterującej jak i modułów wykonana jest z czarnego plastiku z stopniem ochrony IP20. Sterowniki tego pokroju i tak umieszczane są w szafach automatyki więc materiał i stopień ochrony nie są aż tak ważnym aspektem. Do integracji sensorów i aktuatorów bezpośrednio na maszynie możemy wykorzystać inną technologię, choćby IO-Link. Sam design urządzenia nie wzbudza zastrzeżeń. Odpowiednio rozmieszczone zostały złącza komunikacyjne oraz zaciski przewodowe. Diody sygnalizujące stan pracy urządzenia są dobrze widoczne. Na pewno przydadzą się w trakcie uruchamiania systemu.

Jednostka centralna

W ofercie znajdziemy trzy modele. Wszystkie z nich wyposażone są w procesor Dual Core ARM A9, 624 MHz, 512 MB pamięci RAM oraz 4 GB flash. Oprócz zacisków zasilania na obudowie znajdziemy 2 złącza RJ45 dla sieci Ethernet, złącze konfiguracyjne Micro USB 2.0 oraz slot kart pamięci microSD (do 32GB). Dodatkowo znajdziemy akumulatorek buforowy do zasilania zegara czasu rzeczywistego. Każda z jednostek obsłuży do 64 modułów rozszerzeń.

No dobra, zatem gdzie znajdują się różnice? Skoro nie ma ich w wyglądzie i w głównych podzespołach to muszą leżeć w sofcie. Przeglądając dokumentację trzeba nieźle się wgłębić ale sama różnica już zdradza potencjał urządzeń. Zresztą sami zobaczcie, wycinki z manuala poniżej:

I jak? Nieźle, prawda? Pierwsze co można wykryć to odmiennie nazwane urządzenia:

  • UC20-WL2000-AC -> sterownik automatyki (automation controller);
  • UC20-WL2000-IoT ->  sterownik dla aplikacji internetu rzeczy (IoT controller);
  • UC20-SL2000-OLAC-EC ->  sterownik automatyki z OpenLinux-em na pokładzie (OpenLinux automation controller)

Ale i tak największe wrażenie robią dostępne języki programowania. Na mnie spore wrażenie wywarł JavaScript by Node-RED. Dla niewtajemniczonych objaśnię trochę później, co to takiego i jak działa. Wersja UC20-WL2000-OLAC-EC nie posiada Node-RED-a na pokładzie ale może być programowana w C i C++. Co ciekawe, ta wersja może być też skonfigurowana jako master sieci CANopen i EtherCAT oraz Modbus TCP Slave. Tą wersją powinni również zainteresować się tradycjonaliści. Tylko ona zapewnia pełen komplet języków standardowych, czyli LD, ST, FBD i CFC. Wersja UC20-WL2000-AC udostępnia tylko FBD, a UC20-WL2000-IoT nie ma ich na swoim pokładzie wcale, więc uważajcie składając zamówienie!

Wracając nieco do zacisków zasilania, jak może zauważyliście jest pewien haczyk. Przecież dołączane moduły też trzeba jakoś zasilić. I tak zasilanie sterownika zostało podzielone na trzy różne sekcje. Pierwsza zasila sterownik oraz magistralę systemową sterownika i modułów. Druga sekcja zasila wejścia, trzecia wyjścia. Dwa 4 stykowe złącza pozwalają na oddzielne podłączenie zasilania sterownika, magistrali systemowej i wejść oraz oddzielnie wyjść. Oczywiście nic nie stoi na przeszkodzie aby założyć zworę i zasilić komplet z jednego źródła.

Przez zaciski możemy przepuścić do 5A co pozwoli na zasilenie kilku modułów. Następnie, zasilanie należy „rozszerzyć” za pomocą dodatkowych modułów zasilających wspomniane magistrale wejść i wyjść. Samych wyliczeń, co ile należy taki moduł wstawić nie będę już przedstawiał, ale powiem tylko, że są to moduły pasywne i nie wliczają się do 64 maksymalnie obsługiwanych modułów.

Moduły rozszerzeń

I tutaj mamy do czynienia z kolejną mocną stroną serii u-control. Moduły rozszerzeń bazują na serii u-remote i są w stu procentach tożsame. Już o nich było przy okazji rozproszonych wysp wejść wyjść (artykuł znajdziesz pod LINKIEM). Znajdziesz tam też szczegółowy opis konstrukcji modułów. Małe streszczenie z ich konstrukcji w postaci filmu znajdziesz poniżej.

Muszę przyznać, że podejście Weidmuller-a przypadło mi do gustu. Podział na elementy sprawdzi się na pewno przy szyciu szafy i samym uruchomieniu. A wszystko prawie bez użycia narzędzi. Dzięki zaciskom PUSH-IN szybko podłączymy lub przepniemy przewody w razie potrzeby. Fajne jest też opisanie funkcji wszystkich zacisków na otwieranej klapce z konektorami.

Jedyne co mi się w nich nie spodobało to wystające na boki złącza zasilania i blokady w podstawce. Powodują, że jeśli chcemy zdemontować jeden cały moduł ze środka naszego zestawu, niestety musimy delikatnie odsunąć wszystkie moduły z prawej i dopiero możliwy jest demontaż tego pożądanego. Na szczęście to sytuacje awaryjne, które nie będą zdarzać się często, a gdy demontażu wymagają jedynie konektory przewodów lub elektronika modułu, nie musimy tego robić.

Dostępnych jest wiele różnych wersji modułów. Dosłownie znajdziemy wszystko czego nam potrzeba. Standardowo mamy:

  • Moduły 4, 8 lub 16 wejść cyfrowych z zasilaniem i zabezpieczeniem przed błędnym podłączeniem,
  • Moduły 4, 8 lub 16 wyjść cyfrowych sterowanych sygnałem dodatnim lub ujemnych i zabezpieczone przed zwarciem, dostępny również w wersji z 4 wyjściami przekaźnikowymi 5A
  • Moduły PWM – przeznaczone do zasilania i sterowania małych napędów. Maksymalny prąd wyjściowy to 2A, a maksymalna częstotliwość przełączania to 40 kHz.
  • Moduły wejść analogowych z przetwornikiem 12 lub 16 bitowym i standardami, parametryzacją +/- 10 V, +/- 5 V, 0-10 V, 0-5 V, 2-10 V, 1-5 V, 0-20 mA albo 4-20 mA i obsługą do czterech 2 lub 3-przewodowych czujników.
  • Moduły wyjść analogowych z zintegrowanym zasilaniem, parametryzacją +/- 10 V, +/- 5 V, 0-10 V, 0-5 V, 2-10 V, 1-5 V, 0-20 mA albo 4-20 mA oraz obsługą 2-, 3- i 4-przewodowych.
  • Moduły mieszane np. 2 wejść analogowych i 2 cyfrowych lub 8 wejść i wyjść cyfrowych
  • Analogowe moduły pomiaru temperatury
  • Moduły zasilania 10A regenerujące moc na ścieżce prądu wejściowego oraz wyjściowego

Ale to nie wszystko! Ciekawe dopiero się zaczyna:

  • Moduły tensometryczne do pomiaru sił i obsługi czujników tensometrycznych.
  • Moduły do pomiaru energii w systemach jedno i trójfazowych z maksymalnym prądem 5A (spokojnie, są przecież przekładniki prądowe 🙂 ) oparte na 16-bitowym przetworniku.
  • Moduły szybkich liczników do obsługi enkoderów inkrementalnych i absolutnych o maksymalnej częstotliwości zliczania wynoszącej 500 kHz. z możliwością parametryzacji do pracy w trybie nasłuchu lub trybie urządzenia nadrzędnego.
  • Moduły safety z wyjściami OSSD umożliwiają podłączenie przycisków i czujników bezpieczeństwa,
  • Moduły komunikacyjne (to chyba moi faworyci) parametryzowane z obsługą RS232, RS422, RS485, SAI-PRO i IO-Link.

Jak widzicie jest w czym wybierać. Na pewno nie będzie problemu ze złożeniem zestawu do aktualnie realizowanej aplikacji. Podoba mi się, że dostępne są różne wersje modułów o takiej samej funkcjonalności oraz moduły mieszane dla aplikacji o niewielkiej liczbie sygnałów cyfrowych i analogowych. Z drugiej strony moduły komunikacyjne dają niemal nieograniczone możliwości integracji systemów sterowania. Cały katalog rodziny u-remote znajdziesz pod LINKIEM.

Programowanie

Jak widzieliście, trzy różne wersje jednostek sterujących wprowadziły niezłe zamieszanie. Trzy, a mimo to tylko jeden z nich oferował pełen pakiet języków. To po co w ogóle te dwie dodatkowe wersje? Jak i w czym je zaprogramować? O tym też była wzmianka w opisach na zdjęciach powyżej. Mowa oczywiście o „u-create studio” i „u-create web”. Niewielka różnica w nazwie, a przepaść w ideologii działania. Już śpieszę z wyjaśnieniami.

u-create studio

Na początku tradycyjny soft instalowany na komputerze, czyli u-create studio. Wersję sterownika z Open Linuksem na pokładzie zaprogramujemy softem bazującym na dobrze pewnie nam wszystkim znanym Codesys-ie 3.5. Znając Codesys-a niemal instynktownie poruszać będziemy się po „u-create studio”, gdyż wygląd interfejsu jest mocno zbliżony a funkcjonalności zachowane. Solidna baza  oprogramowania przekłada się na wydajny proces programowania.

No ale wspominałem już też, że tą wersję zaprogramujemy także w C i C++ a to już nie lada zmiana. W tym celu wykorzystujemy oprogramowanie u-create studio C++ będące kompletnym środowiskiem tworzenia kodu. Możemy stworzyć funkcje cykliczne lub wywoływane przy starcie, zamknięciu, zatrzymaniu systemu z różnymi priorytetami i w różnych wątkach. Dostęp do wejść wyjść sterownika zapewniają dołączone biblioteki. Możliwe są także integracje funkcji C wywoływane w kodzie IEC. Nawiasem mówiąc oprogramowanie wraz z przykładami można testować 30 dni za darmo i ściągnąć ze strony Weidmuller-a -> LINK.

u-create web

Zostają jeszcze dwie wersje sterowników programowane za pomocą „u-create web”. Jeśli myśleliście, że oznacza to programowanie przez przeglądarkę to wiecie co Wam powiem? Dobrze myśleliście! 😀 Sam na początku myślałem, że to coś w rodzaju takiego bardziej wypasionego web serwera z obsługą edycji wgranych programów. Ale się myliłem. Inżynierowie Weidmuller-a poszli o niebo dalej i dostarczyli środowisko programistyczne w przeglądarce. Sam dość sceptycznie podchodzę do takich rozwiązań. Ale kto nie ryzykuje nie pije szampana. Zalogowałem się za pomocą Firefox-a i ukazał się taki ekran:

Pierwsze miejsce w które powędrowałem to prawy górny róg i zakładka „Help”. No co? Od tego powinien zaczynać każdy z nas, a nie jak przy składaniu mebli: „Ja wiem lepiej, po co mi instrukcja…”. Jak na dobry help przystało, opisano wszystkie dostępne funkcjonalności. Jeśli czegoś potrzebujemy, szybki ruch i mamy jak na dłoni.

Na głównym ekranie obok Help-u znajdziemy zakładkę Settings umożliwiającą wprowadzenie zmian sieciowych, ustawienie czasu (manualnie lub NTP), zmianę hasła, restart, restart i update systemu. Obecnej wersji oprogramowania dowiemy się z zakładki „About”.

W centralnej części ekranu znajdziemy panel „Real Time Appication” z możliwością wystartowania lub zatrzymania aktualnie wykonywanego programu wraz z sygnalizacją stanu oraz cztery główne zakładki:

  • Devices – służącą konfiguracji zestawu z modułów jaki chcemy uzyskać. Moduły wybieramy z dostępnej biblioteki i w pełni parametryzujemy. Lista obsługiwanych modułów jest ciągle rozbudowywana wraz z kolejnymi update-ami firmware-u. Obecnie obsługuje 56 różnych wersji modułów. Konfiguracji możemy dokonać także korzystając z autowykrywania podłączonych modułów.
  • Program – do tworzenia i edycji programów. Jak pisałem, zestaw startowy oparty jest o UC20-WL2000-AC, więc dostępne mamy jedynie FBD. Myślę, że tylko kwestią czasu jest udostępnienie innych języków z IEC 61131-3. Ekran został podzielony tak jak przyzwyczajeni jesteśmy z softów instalowanych na komputerze. W jednym miejscu dostępny mamy spis utworzonych funkcji, listę zmiennych lokalnych danej funkcji, pole do edycji programu oraz bibliotekę z zaimplementowanymi funkcjami.
  • Global variables – jak sama nazwa mówi przechowuje zmienne globalne wraz z mapowaniem ich do wejść i wyjść modułów.
  • Visualisation – umożliwia stworzenie prostych wizualizacji przeglądarkowych w przeglądarce 🙂 Każdy z dostępnych elementów zawiera swoje funkcjonalności i umożliwia manipulację w określonym zakresie. Jak się zapewne domyślacie, nie stworzymy tu wizualizacji całego systemu ale do prostych zadań, czy nawet jako pomoc przy uruchomieniu, jest jak najbardziej w porządku.

Trochę uspokoję Was i dodam tylko, że utworzone projekty możemy w tradycyjny sposób „ściągnąć” ze sterownika i przechowywać na komputerze, bądź skopiować na inne sterowniki przy obiektach/urządzeniach produkowanych „seryjnie”. Przyjrzałem się też Release Notes i powiem Wam szczerze, że widać starania Weidmuller-a w rozwijaniu tego środowiska. Z każdym nowym firmware-em dorzucane były nowe funkcjonalności i eliminowane ewentualne błędy. Dodatkowo możemy skorzystać z usługi „u-link Remote Access”. Jest to usługa wsparcia technicznego za pomocą zdalnego dostępu. A nic nie liczy się bardziej niż dobry support ze strony producenta.

Node-RED

W dzisiejszych zastosowaniach już raczej rzadko spotykamy maszyny i obiekty jako niezależne, nie będące zintegrowanym z jakimkolwiek systemem informatycznym. Coraz częściej, szerzej, w większym lub mniejszym stopniu dane ze sterowników PLC za sprawą różnych protokołów spływają do serwerów lub w chmurę w celu umożliwienia analizy procesu produkcji, łatwiejszego zarządzania. Mówię to o niczym innym jak o internecie rzeczy (IoT – Internet of Things). Weidmuller w swoich sterownikach w tym celu udostępnił narzędzie Node-RED. Jest to narzędzie programistyczne, pierwotnie opracowane przez IBM przeznaczone do łączenia ze sobą urządzeń, interfejsów API i usług online.

Jako języka programowania używa Java Script. Z tym, że nie do końca pracujemy tu na czystym kodzie. Kojarzycie takie aplikacje jak „MIT App Inventor” lub „Scratch”? W tym wypadku mamy do czynienia z czymś podobnym. Nasz program tworzymy w oparciu o predefiniowane bloki funkcyjne zwane węzłami, które mogą wchodzić w interakcje z HTML5. Tworząc graficzne połączenia między węzłami modelujemy przepływ wiadomości (informacji) w obrębie naszego programu. Z poziomu Node-RED-a mamy dostęp do zmiennych globalnych, czyli także zmapowanych wejść wyjść podłączonych modułów. Bardziej złożone funkcje możemy tworzyć w obrębie węzłów „function”, pisząc je w Java Script-ie. Ogółem takie trochę FBD z możliwościami świata IoT 🙂 .

Należy zauważyć, że aplikacje stworzone w Node-RED nie nadają się do zastosowań czasu rzeczywistego. Będą bardziej przydatne, gdy potrzebujemy informacji z wielu rozproszonych obiektów wyspowych z dostępem do sieci. Dzięki niemu z łatwością wyślemy email, przeszukamy bazę MySQL, zbuforujemy dane w plikach .CSV bądź prześlemy je za pośrednictwem MQTT. Co więcej, zintegrujemy nasz sterownik nawet z chmurą Azure i wprowadzimy w interakcje z Twitterem.

Zobacz stronę producenta o u-control!
https://www.weidmuller.pl/pl/produkty/automatyzacja_i_oprogramowanie/sterowniki/index.jsp

Wnioski

I jak wrażenia? Troszkę niespodziewanie potoczył się test tego zestawu. Z wyglądu niepozorny, grzeczny, dobrze ułożony modułowy sterownik PLC. Nikt rewolucji by się po nim nie spodziewał. A tymczasem to co oferuje, jest zupełnie inne od tego, co znamy.

Moim zdaniem Weidmuller dobrze zrobił wchodząc na rynek systemów sterowania automatyki z impetem. Na początku wspomniana szeroka seria rozproszonych, wyspowych wejść wyjść z różnymi protokołami komunikacyjnymi pozwalająca na integrację z już istniejącymi systemami automatyki. Do tego bogate portfolio standardowych i specjalizowanych modułów z możliwościami szerokiej parametryzacji. I finalnie własne sterowniki PLC o naprawdę szerokich możliwościach pozwalają Weidmuller-owi ugruntować swoją pozycję na rynku producentów sprzętu automatyki sterującej wysokiego poziomu.

Gratulacje na pewno należą się także za odwagę wprowadzenia u-create web i integrację Node-RED-a. Aby zaproponować środowisko programistyczne w przeglądarce, trzeba być w 100% pewnym tego co się robi. Tak jak już mówiłem, kwestią czasu jest tylko, kiedy to środowisko nie będzie odbiegać niczym od tych preinstalowanych na komputerach. Podobnie Node-RED wrzucił sterowniki PLC na wyższy poziom. Coś, co kiedyś było niemożliwe, albo przynajmniej trudniejsze do zrealizowania, dziś układamy sobie z klocków. The future is now!



Utworzono: / Kategoria: , , , ,
  • Autor: Pawel Zadroga • iAutomatyka.pl
  • Redaktor w iAutomatyka.pl Jestem absolwentem kierunku Automatyki i Robotyki na Wydziale Mechanicznym Politechniki Białostockiej. Głównym obszarem moich zainteresowań była mechanika, dopóki nie odkryłem ile radości dają urządzenia automatyki! Głównie styczność mam z Mitsubishi Electric, EATON, Siemens, WAGO, Webhmi i kilka innych.
  • Profil Autora
  • http://www.iautomatyka.pl/

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
  • RPC-2A-UNI  przekaźnik czasowy – Działający po zaniku napięcia zasiania, przy załączonym przekaźniku wykonawczym.   Przekaźnik przeznaczony do stosowania w instalacjach niskiego napięcia w automatyce przemysłowej, w automatyce budynko...
  • PR200 to uniwersalne i łatwe w obsłudze urządzenie zaprojektowane w plastikowej obudowie do montażu na szynie DIN jako alternatywa dla PLC. Przekaźnik jest dostępny w kilku wersjach dla napięcia stałego i przemiennego. Jest wyposażony w cyf...
  • Nowoczesne dotykowe panele operatorskie HMI firmy WEINTEK Labs. – Bezpłatne oprogramowanie narzędziowe w pełnej wersji – Precyzyjne, dotykowe ekrany wyświetlające szczegółową grafikę – Obszerne biblioteki komponentów grafi...
  • W trybie refleksyjnym sygnał ultradźwiękowy jest nieustannie odbijany przez zamontowany na stałe element odbijający wiązkę, tzw. element odniesienia. Jako elementu odbijającego wiązkę można używać odpowiednio ustawionego panelu z plastiku l...
  • Zapraszamy do składania zapytań ofertowych o wszystkie produkty EATON w tym sterowniki easyE4 przez portal allektro.pl (Kliknij tutaj) lub przez kontakt e-mail oferty@staport&#...
  • Rozwiązania wizyjne nadają się idealnie do zautomatyzowanych zadań kontrolnych i pomiarowych. Kamery wizyjne 2D i 3D firmy SICK sprawdzają się w ogromnej ilości aplikacji, polegających na pomiarze, lokalizacji, kontroli i identyfikacji. Nas...