Sterowniki WAGO mogą być programowane z wykorzystaniem dwóch środowisk programistycznych: WAGO-I/O-PRO lub e!COCKPIT. Jak w najprostszy sposób skomunikować te dwa rozwiązania za pomocą sieci ETHERNET? Z pomocą przychodzi protokół Network Variables.
Zacznijmy od wymiany danych między dwom sterownikami WAGO. Do tego celu wykorzystujemy dwa sterowniki PFC200 7500-8202. Jeden ze sterowników działa z runtime CODESYS, czyli może być programowany w WAGO-I/O-PRO, drugi zaś na e!RUNTIME, czyli programowany jest w e!COCKPIT
Połączenie dwóch sterowników PFC200 z wykorzystaniem przewodu Ethernet CAT5
Projekt w e!COCKPIT
Zaczynamy od utworzenia projektu dla sterownika programowanego w e!COCKPIT. Otwieramy e!COCKPIT i wybieram pusty projekt (Empty project).
Do projektu dodajemy sterownik, na którym pracujemy, w tym przypadku jest to PFC200 750-8202. Następnie przechodzimy do zakładki Settings i w polu IP address wpisujemy adres IP naszego sterownika, czyli 172.22.10.57.
Gdy już mamy ustalony adres IP, przechodzimy do zakładki Device w górnym pasku nawigacyjnym i wybieramy opcję Scan modules.
Po chwili oprogramowanie przeskanuje węzeł WAGO i wykryje moduły. Klikamy Accept all.
W dalszej kolejności wybieramy okno nadawania nazw symbolicznych dla określonych kanałów modułów. Klikamy dwukrotnie lewym klawiszem myszy na symbol sterownika. Otwiera się okno z widokiem konfiguracji sterownika.
Nadajemy nazwy symboliczne, pamiętając o prefiksach. I tak: dla kanałów modułów dwustanowych dodajemy prefiks „x” przed nazwą symboliczną, a dla modułów analogowych prefiks „w” (więcej o prefiksach dowiesz się tutaj: Kurs programowania w języku ST cz.2).
Następnie otwieramy zakładkę Programming i klikamy na główny program PLC_PRG. Polecam przygotowanie programu w języku ST.
Klikamy prawym przyciskiem myszy na zakładkę Application w głównym drzewie programu, a następnie wybieramy Network Variable List (Sender). Właśnie utworzyliśmy listę zmiennych sieciowych dla sterownika wysyłającego dane.
W wyświetlonym oknie dialogowym ustawiamy określone parametry dla sterownika typu Sender. Dokładniejszy opis zagadnień znajduje się tutaj
Następnie klikamy w Settings i zawężamy pulę adresów IP, do których wysyłane są datagramy.
Przyszła pora na napisanie prostego programu. W liście zmiennych sieciowych, w naszym przypadku NVL_Sender_1, definiujemy dwie zmienne do wymiany: wAnalog_sender1 typu WORD oraz zmienna xPrzycisk_Sender1 typu BOOL. Program po prostu wpisuje do tych zmiennych wartości z wejść fizycznych, wejścia analogowego oraz wejścia dwustanowego.
Projekt w WAGO-I/O-PRO
Zaczynamy nowy projekt, zaznaczając opcję Support Network variables w ustawieniach Target Settings, w zakładce Network functionality. W polu Names orf supported network interfaces wpisujemy wielkimi literami UDP.
Wybieramy odpowiedni język programowania. W tym przypadku skorzystamy z języka ST. Następnie klikamy OK.
Ustawiamy adres IP sterownika, zatwierdzając przyciskiem OK.
Następnie przechodzimy do zakładki Resources.
Tworzymy nową listę zmiennych sieciowych do odczytu
Zawężamy pulę adresów, do których wysyłane są datagramy.
Dwa projekty są odpowiednio skonfigurowane. Teraz wystarczy przenieść zmienne z e!COCKPIT do WAGO-I/O-PRO . Zaznaczamy listę zmiennych sieciowych i wykonujemy operację kopiowania.
Następnie wklejamy skopiowane zmienne do listy zmiennych sieciowych w WAGO-I/O-PRO.
Pozostało wgrać oba projekty do sterowników i cieszyć się udaną komunikacją!
Podsumowanie:
Komunikacja Network Variables jest bardzo prostym sposobem na wymianę danych między WAGO-I/O-PRO oraz e!COCKPIT. Jeżeli chcesz dowiedzieć się więcej na ten temat, to zapraszam do zapoznania się z poprzednim i artykułami:
https://wagodirect.pl/network-variables-a-sterowniki-wago-cz-1-wago-io-pro/
https://wagodirect.pl/network-variables-zmienne-sieciowe-cz-2-ecockpit/
Maciej Kurantowicz, WAGO.PL