Artykuł bazy wiedzy
Konfiguracja komunikacji pomiedzy robotem Kawasaki - skanerem - a sterownikiem Horner - adapterem - w protokole komunikacyjnym Ethernet/IP
1. Wstęp.
Artykuł zawiera informacje dotyczące sposobu konfiguracji Robota kawasaki oraz sterownika firmy Horner tak, aby możliwa była ich komunikacja w protokole Ethernet/IP. Robot może funkcjonować w tym protokole zarówno jako adapter oraz jako scanner (adapter – server/slave, scanner – client/master). Sterownik może funkcjonować tylko jako adapter. W artykule opisana zostanie więc jedyna możliwa konfiguracja połączenia w której sterownik jest adapter’em natomiast robot scanner’em. Do skonfigurowania sterownika potrzebne jest oprogramowanie Cscape, natomiast konfigurację robota można przeprowadzić z wykorzystaniem teach pendant’a. W przypadku braku możliwości korzystania z któregoś menu konfiguracyjnego po stronie robota, należy skontaktować się z działem systemów zrobotyzowanych firmy ASTOR
2. Algorytm konfiguracji :
Konfiguracja sterownika
1. Ustawienie ip sterownika.
2. Uruchomienie protokołu Ethernet/IP w opcjach sterownika.
3. Ustawienie liczby i numerów słów (rejestrów) wysyłanych/odbieranych podczas komunikacji.
4. Wprowadzenie wykorzystywanych rejestrów na ekran sterownika aby możliwa była późniejsza weryfikacja poprawności komunikacji.
5. Wgranie ustawień i programu do sterownika oraz wprowadzenie sterownika w tryb „run”.
Konfiguracja robota
0. Objaśnienie znaczenia skrótów i sposobu odnajdowania funkcji AUX.
1. Fizyczne połączenie portów ethernet’owych urządzeń z wykorzystaniem kabla kategorii 5e lub wyższej (shielded cable) – urządzenia powinny być wyłączone.
2. Włączenie kontrolera robota.
3. Przypisanie do portu master software’owego protokołu Ethernet/IP. (AUX.0608-2)
4. Przypisanie adresu ip do wykorzystywanego portu ethernetowego (AUX.0608-9-1)
5. Restart kontrolera robota.
6. Ustawienie odpowiedniej liczby sygnałów master. (AUX.0611)
7. Przypisanie sygnałów (portów) master do odpowiednich sygnałów wejściowych/wyjściowych robota. (AUX.0608-1)
8. Restart kontrolera robota.
9. Ustawienie kolejności sygnałów dla portów master. (AUX.0608-3)
10. Ustawienie informacji o adapterze (sterowniku) oraz o liczbie wysyłanych / odbieranych bitów ( sygnałów ) podczas komunikacji. (AUX.0608-9-4-1)
11. Restart kontrolera robota.
Weryfikacja poprawności działania komunikacji
1. Włączenie monitora protokołu Ethernet/IP przy użyciu teach pendant’a.
2. Włączenie monitorów sygnałów wejściowych/wyjściowych i próba komunikacji ze sterownikiem.
3. Konfiguracja sterownika
3.0 Ustawienie ip sterownika:
· Uruchomienie oprogramowania Cscape.
· Określenie rodzaju połączenia pomiędzy sterownikiem a komputerem (Serial/Ethernet/…).
· Utworzenie nowego projektu (o ile domyślnie nie został utworzony).
· Włączenie okna konfiguracji „Hardware Configuration” zlokalizowanego w drzewie nawigatora projektu bądź w zakładce „Controller” z menu na górze programu.
· Skorzystanie z opcji Auto Config dzięki której program automatycznie wybierze nam właściwy model sterownika z którego korzystamy.
· Przejście do okna konfiguracji Ethernetu.
· Ustawienie adresu ip, maski podsieci oraz bramki. Przy adresie ip kluczowe jest to aby sterownik, komputer oraz później robot znajdowały się w tej samej podsieci, natomiast maska podsieci i bramka powinny być ustawione tak jak na poniższym przykładzie.
3.1 Uruchomienie protokołu Ethernet/IP w opcjach sterownika.
(w tym samym oknie w którym zostało ustawione ip w poprzednim kroku)
3.2 Ustawienie liczby i numerów słów (rejestrów) wysyłanych/odbieranych podczas komunikacji.
· Powyżej zostało pokazane przykładowe ustawienie rejestrów. Ustawione zostały 4 słowa, które będą miały być wysyłane ze sterownika do robota oraz 4, które będą miały być odbierane przez sterownik. Jedno słowo składa się z 16 bitów (sygnałów), czyli ustawiając 4 będą do dyspozycji 64 sygnały wejściowe i wyjściowe przy komunikacji. Dodatkowo można ustawić rejestr statusu przy pomocy którego można zweryfikować czy komunikacja działa. Jest to kluczowy etap konfiguracji, ponieważ warunkiem koniecznym działania komunikacji jest taka sama liczba (wielkość) wysyłanych / odbieranych danych.
3.3 Wprowadzenie wykorzystywanych rejestrów na ekran sterownika aby możliwa była późniejsza weryfikacja poprawności komunikacji.
· Włączenie okna konfiguracji ekranu sterownika „View/Edit Screens”. Uruchomić je można w zakładce Screens w górnym menu programu, bądź o ile jest widoczny odpowiedni pasek narzędzi bezpośrednio z interfejsu.
· Powyżej zostało przedstawione przykładowe ustawienie rejestrów, które umożliwi później przeprowadzenie testu komunikacji. Wykorzystane zostały kontrolki „Numeric Data”. Po przeciągnięciu i ustawieniu wielkości / adresu rejestru / opisu pierwszej kontrolki wystarczy ją skopiować 5 razy i zmienić potrzebne dane (ctrl + c, ctrl + v). Okno właściwości kontrolki otwiera się poprzez podwójne jej wciśnięcie. Adres wpisywany jest w zakładce „Controller Register” przy pozycji „Address”. Oczywiście powyżej zostały ustawione adresy rejestrów takie jak przy wcześniejszej konfiguracji protokołu, jeżeli wcześniej zostały wybrane inne adresy niż przykładowe to w tym miejscu też konsekwentnie należy ustawić te inne adresy. Opis kontrolki ustawia się w zakładce „Display Properties” przy pozycji „Legend”.
3.4 Wgranie ustawień i programu do sterownika oraz wprowadzenie sterownika w tryb „run”.
· Ostatnim krokiem konfiguracji sterownika jest wgranie na niego wszystkich ustawień. Wykonuje się to przy pomocy opcji „Download”, która znajduje się w zakładce „Program” w górnym menu Cscape’a. Kiedy program został już wgrany do sterownika, należy wprowadzić sterownik w tryb „run” (o ile nie był w nim wcześniej). Służy do tego opcja „Run/Monitor” znajdująca się w zakładce „Controller” w górnym menu.
4. Konfiguracja robota
4.0 Objaśnienie znaczenia skrótów i sposobu odnajdowania funkcji AUX.
· Ponieważ większość konfiguracji robota sprowadza się do ustawiania funkcji AUX przy pomocy teach pendant’a, więc na początek opisane zostanie w jaki sposób znaleźć te funkcje. Przykładowo w podpunkcie 4.7 należy ustawić funkcję opisaną skrótem AUX.0608-1. Po uruchomieniu robota należy nacisnąć na środkowym menu ekranu teach pendant’a, w efekcie czego wyświetli się widoczne poniżej menu. Należy wybrać „Aux Function”.
· Następnie trzeba odczytać kolejne numery widoczne na skrócie. Skrót rozpoczyna się od „06”, więc należy wybrać funkcję pod numerem 6
(Input/Output Signal).
· W następnej kolejności za numerem 06 znajduje się 08. Należy więc wybrać menu znajdujące się pod numerem 8 (Signal Allocation).
· Skrót kończy się „1”, co analogicznie jak poprzednio oznacza, że przejść trzeba do funkcji pod numerem 1-szym z menu „Signal Allocation”, która nazywa się „Allocate Signals to Ports”.
W ten sam sposób można odszukać pozostałe funkcje.
4.1 Fizyczne połączenie portów ethernet’owych urządzeń z wykorzystaniem kabla kategorii 5e lub wyższej (shielded cable) – urządzenia powinny być wyłączone.
· W przypadku robota do komunikacji w protokole Ethernet/IP wykorzystuje się port 2 (dolny) na kontrolerze. Jeżeli kontroler jest w orientacji poziomej – np. kontroler E0x/E7x, to 2gi port ethernetowy znajduje się po prawej stronie. Ważne jest, aby przy fizycznym podłączaniu kabla urządzenia powinny być wyłączone.
4.2 Włączenie kontrolera robota.
4.3 Przypisanie do portu master software’owego protokołu Ethernet/IP (AUX.0608-2).
4.4 Przypisanie adresu ip do wykorzystywanego portu ethernetowego (AUX.0608-9-1).
· Tutaj trzeba zwrócić uwagę na to, żeby ip robota znajdowało się w tej samej podsieci co ip sterownika - zgodnej z maską podsieci (tzn. przykładowo, w przypadku wykorzystywanej maski podsieci: 255.255.255.0, ip urządzeń mogą się różnić tylko liczbami za trzecią kropką – 192.168.1.20 i 192.168.1.10 ). Maska podsieci oraz bramka powinny być ustawione tak jak na sterowniku.
4.5 Restart kontrolera robota.
4.6 Ustawienie odpowiedniej liczby sygnałów master. (AUX.0611)
· W powyższym przykładzie zostało ustawione 128 sygnałów master, czyli 2 razy więcej niż jest potrzebne. Nie ma to jednak wpływu na komunikację. Ważne, żeby zostało ustawione co najmniej tyle ile będzie wykorzystywane.
4.7 Przypisanie sygnałów (portów) master do odpowiednich sygnałów wejściowych/wyjściowych robota. ( AUX.0608-1)
· Jak widać na zamieszczonym przykładzie, oprócz zaznaczenia (przypisania) sygnałom portu master, trzeba także w polach „Channel” wpisać numery 1-szych sygnałów – widocznych po lewej (odpowiednio dla sygnałów 1 – 16 ustawiamy channel 1, dla sygnałów 17 – 32 channel 17, etc. ). W tym przypadku maksymalna liczba sygnałów, które możemy przypisywać do portów wynosi 128, jednak gdybyśmy ustawili z wykorzystaniem funkcji AUX0611 więcej sygnałów to tutaj też byłoby ich więcej. Maksymalnie możemy wykorzystać 960 sygnałów.
Najczęściej występujące problemy przy konfigurowaniu tego okna występują w przypadku próby przypisania portów master/slave/local do większej liczby sygnałów niż ustawionej przy użyciu funkcji AUX0611. Oprócz tego należy zwrócić uwagę na to, aby odpowiadające sobie sygnały wejściowe (input) oraz wyjściowe (output) były przypisane do tego samego portu. Zatwierdzenie ustawień może być także niemożliwe, jeżeli przy alokacji sygnałów, nie będziemy korzystać z części sygnałów znajdujących się pomiędzy obszarami wykorzystywanych sygnałów (co odpowiada pozostawieniu pola channel równego 0), np. nie możemy korzystać z sygnałów 1 – 32 oraz 49 – 80 nie korzystając jednocześnie z sygnałów 33 – 48. Możemy natomiast korzystać np. z sygnałów 1 – 48 nie korzystając jednocześnie z sygnałów 49 – 80. Istotną kwestią jest także to, że jeżeli chcemy móc korzystać z sygnałów fizycznych (dyskretnych wejść/wyjść) na robocie, to pierwsze 32 sygnały (dla E kontrolera) bądź 16 (dla F kontrolera) powinny być zdefiniowane jako lokalne (local).
4.8 Restart kontrolera robota.
4.9 Ustawienie kolejności sygnałów dla portów master. ( AUX.0608-3)
· Ustawienie to nie ma wpływu na to czy komunikacja będzie działała czy też nie. Ustawienie domyślne, czyli pokazane na powyższym przykładzie oznacza, że pierwszy sygnał (bit), który się zmieni w bajcie to najmniej znaczący bit (LSB) oraz pierwszy bajt, który się zmieni w słowie (1 słowo = 2 bajty) to mniej znaczący bajt. Jeżeli nie jest wymagana żadna konkretna konfiguracja kolejności zmiany bitów/bajtów to zaleca się pozostawienie ustawienia domyślnego.
4.10 Ustawienie informacji o adapterze (sterowniku) oraz o liczbie wysyłanych / odbieranych bitów (sygnałów) podczas komunikacji (AUX.0608-9-4-1).
· Kluczowymi ustawieniami w tym menu są adres ip urządzenia z którym ma zostać nawiązana komunikacja, opisywanym przypadku sterownika PLC, oraz TargetConfigConnPoint / TargetProducingConnPoint / TargetConsumingConnPoint oraz Output/Input Run program Header, które powinny być ustawione tak jak w zamieszczonym na poprzedniej stronie przykładzie.
· W tym oknie zaleca się pozostawienie ustawień domyślnych o ile przed komunikacją nie zostały postawione żadne niestandardowe wymagania.
· Ustawienie odpowiedniej wielkości wejścia/wyjścia skanera jest niezbędne aby komunikacja pomiędzy urządzeniami mogła w ogóle zaistnieć. Ponieważ w sterowniku wielkość wysyłanych i odbieranych danych została ustawiona na 4 słowa, to tutaj należy ustawić tak samo, a ponieważ wartości wpisywane są tutaj w bajtach, a jedno słowo odpowiada liczbie 2-ch bajtów, to pola „Input Scanner Size” oraz „Output Scanner Size” muszą zostać ustawione właśnie na 8 bajtów. Opcjonalnie można ustawić także offset dzielonej pamięci. Przykładowo, jeżeli offset został ustawiony na 8 bajtów (czyli 64 bity), to jeżeli ustawiony zostanie 1-szy bit 1-szego słowa w sterowniku, to spowoduje to ustawienie 65 sygnału wejściowego w robocie, analogicznie, jeżeli ustawiony zostanie 65-ty sygnał wyjściowy w robocie, to spowoduje to ustawienie się 1-szego bitu 1-szego słowa wejściowego w sterowniku. Offset będzie niezbędny w momencie kiedy pojawi się konieczność komunikacji z więcej niż 1-dnym urządzeniem (maksymalnie możemy kontrolować przy pomocy robota 3 urządzenia – adaptery ).
4.11 Restart kontrolera robota.
5. Weryfikacja poprawności działania komunikacji
5.0 Włączenie monitora protokołu Ethernet/IP przy użyciu teach pendant’a.
· Jak widać, indykator przy napisie „Scanner1” informuje, że zostało poprawnie nawiązane połączenie ze sterownikiem. W przypadku jeśli nie pojawił się napis „online” jak na powyżej, należy upewnić się czy liczba sygnałów wysyłanych oraz odbieranych zarówno przez robota jak i sterownik zgadza się ze sobą (weryfikując omówione wcześniej ustawienia robota i sterownika), ponadto warto sprawdzić czy nie ma problemu z fizycznym połączeniem czy też z ustawionymi adresami ip urządzeń. Najłatwiej sprawdzić to poprzez wykorzystanie funkcji ping. Jeżeli natomiast wszystko jest w porządku, można przejść do przetestowania poprawności parametrów komunikacji.
5.1 Włączenie monitorów sygnałów wejściowych/wyjściowych i próba komunikacji ze sterownikiem.
· Uruchomienia monitorów sygnałów dokonuje się poprzez fizyczne naciśnięcie dolnej części ekranu teach pendant’a (tak aby górna wstążka podświetliła się na niebiesko), a następnie na wybraniu odpowiednich pozycji dla monitora 1-szego i 2-giego.
· Odpowiednie sygnały wejściowe na monitorze podświetlą się po ustawieniu sygnałów wyjściowych na sterowniku, natomiast sygnały wyjściowe robota trzeba ustawić tutaj z wykorzystaniem teach pendant’a. Dokonuje się tego poprzez najechanie strzałkami na odpowiedni sygnał a następnie naciśnięcie kombinacje przycisków Alt (A) + ON (1).
· Jak widać na powyższym przykładzie została przeprowadzona próba komunikacji. Na sterowniku 1-sze słowo wyjściowe zostało ustawione na wartość 1 a 4-te słowo na wartość 2. Natomiast na robocie zostały wystawione sygnały o numerach 67 i 116.
· Chcąc ustawić ze sterownika konkretne sygnały wejściowe na robocie należy zmienić wartości rejestrów (słów) na sterowniku tak, aby ich interpretacje binarne odpowiadały pożądanym sygnałom. Przykładowo jeżeli wartość słowa zostanie ustawiona na sterowniku na 10 to interpretacja binarna będzie następująca:
W efekcie ustawiony zostanie 2-gi i 4-ty bit w słowie, czyli także takie sygnały na robocie.
· Ponieważ do komunikacji pomiędzy robotem a sterownikiem ustawione zostało 8 bajtów wejść i wyjść oraz 8-mio bajtowy offset, w związku z tym więc 64 bity zawarte w słowach na sterowniku odpowiadają sygnałom o numerach od 65 do 128 w robocie. Co za tym idzie ustawiając wartości rejestrów R1 na 1 (czyli 20 – sygnał nr 1 w tym słowie) oraz R4 na 2 (czyli 21 – sygnał nr 2 w tym słowie) powinny zostać włączone sygnały wejściowe o numerach 65 i 114 w robocie - jak widać na powyższym zdjęciu. Analogicznie w 2-gą stronę, wystawienie sygnałów wyjściowych w robocie o numerach 67 ( sygnał nr 3 w pierwszym słowie, czyli 22 = 4 ) oraz 116 ( sygnał nr 4 w ostatnim słowie, czyli 23 = 8 ) powinno skutkować ustawieniem wartości rejestrów R5 i R8 w sterowniku na wartości 4 i 8 i jak widać tak też się również stało.
· Ostatnim rejestrem, który jest wykorzystywany podczas komunikacji po stronie sterownika, jest rejestr (słowo) statusu o numerze R50. Jego wartość jest ustawiana na 2 w momencie jak zostanie nawiązana komunikacja pomiędzy urządzeniami.