W ramach dzisiejszego wpisu zajmiemy się konfiguracją robota przemysłowego w sieci PROFINET, a także przygotujemy strukturę projektu pod kątem prostego programu do pobierania detalu ze strefy załadunku, a następnie odłożenia go do jednego z trzech niezależnych pojemników. Wpis jest kontynuacją zmagań związanych z programowaniem w środowisku SIEMENS TIA Portal z wykorzystaniem symulatora PLCSIM. Poprzednią część odnaleźć można tutaj.
Dodanie robota do projektu w TIA Portal
Aby sterownik PLC był stanie komunikować się z robotem przemysłowym konieczne jest zainstalowanie plików GSDML w środowisku TIA Portal. Plik ten odnajdziemy na stronie producenta lub otrzymamy go wraz z robotem na nośniku danych. Jeżeli mamy w planach konfigurację stacji, w której znajdują takie urządzenia sieciowe innych producentów jak wyspa zaworowa, rozproszone I/O czy kamera to analogicznie będziemy musieli posiadać pliki GSDML przed rozpoczęciem prac. Tematem związanym z instalacją plików GSDML zajmiemy się kiedy indziej.
Zainstalowane pliki odnaleźć można w zakładce Network View w drzewie Hardware catalog, w folderze Other field devices. W ramach tego wpisu wybrany został kontroler IRC5, a manipulator wykonywujący operacje to ABB IRB 1200.

Po wyciągnięciu kontrolera do okna Network View należy przypisać robotowi jego nadrzędny sterownik PLC. Parametry sieciowe pozostaną domyślne.



Kolejną czynnością jest utworzenie w kontrolerze obszarów wejść i wyjść, za pomocą których odbywać się będzie odbieranie detali, a następnie odkładanie do pojemników. W tym celu należy wejść do ustawień robota, tj. do widoku Device View (lecz tym razem nie sterownika PLC). W tym miejscu, w zakładce Module odnaleźć można dostępne rozmiary wejść i wyjść kontrolera. W zależności od rozmiaru ramki danych należy dobrać odpowiednią wartość – w rzeczywistym robocie rozmiary te muszą być zgodne. W przeciwnym razie po wgraniu konfiguracji pojawią się błędy w buforze diagnostycznym.



Ile wejść? Ile wyjść?
W wielu przypadkach strukturę danych należy zaprojektować przed rozpoczęciem czynności programistycznych (zarówno w robocie, jak i PLC). Ze względu na nasze „pierwsze kroki” w tym polu ramka danych zostanie przygotowana możliwie jak najprościej. Wykorzystywane przez nas dane będą następujące:
Sygnały wyjściowe (ze sterownika PLC do robota)
- Start – sygnał rozpoczynający program,
- BoxNumber – numer pojemnika w zakresie od 1 do 3.
Sygnały wejściowe (z robota do sterownika PLC)
- AtHome – informacja, że robot jest w pozycji Home – będzie wykorzystywana do rozpoczęcia pracy,
- ProgramStarted – informacja, że robot rozpoczął wykonywanie programu,
- BoxNumberRcvd – numer otrzymanego pojemnika, do którego docelowo odłożony zostanie detal.
Naturalnie ramki danych wykorzystywane na co dzień w aplikacjach przemysłowych mają o wiele więcej sygnałów, a powyższa struktura ma na celu charakter informacyjny. Oprócz podstawowych sygnałów kontrolujących robota pojawia się szereg czujników, pozwoleń i sygnałów o charakterze alarmowym i ostrzegawczym. Reasumując – potrzebujemy, aby robot był w stanie odebrać jeden sygnał binarny oraz jeden liczbowy oraz aby sterownik PLC odbierał dwa sygnały binarne oraz jeden liczbowy.
Konfiguracja mapy I/O robota w TIA Portal
Najmniejsza możliwa ramka danych wejściowych czy wyjściowych dla kontrolera IRC5 wynosi 8 bajtów (jest to widoczne w TIA Portal). Rozmiar ten jest całkowicie wystarczający, gdyż parametr liczbowy zamieścimy na typie USInt (Unsigned short integer), którego rozmiar wynosi jeden bajt. Daje nam to całkiem rozsądny zapas pod kątem dalszej rozbudowy naszej aplikacji. Odpowiednie rozmiary danych wejściowych i wyjściowych wystarczy przeciągnąć z okna Hardware catalog po prawej stronie.



Adresy wejść i wyjść są generowane automatycznie w oparciu o bieżącą konfigurację stacji. Innymi słowy, środowisko TIA Portal zajmuje pierwsze dostępne adresy rozpoczynając od zerowego bajtu. Niejednokrotnie okazuje się, iż proponowane rozmiary są mało intuicyjnie, np. robot nr X rozpoczyna adresację o bajtu 131, a robot Y od bajtu 195. Adresy początkowe mogą być dowolnie modyfikowane pod warunkiem, że nie są zajmowane przez inne urządzenia sieciowe czy moduły. W ramach bieżącego projektu ustawiono wartości wejść i wyjść od bajtu numer 100. Oznacza to, że wyjścia ze sterownika do robota rozpoczynają się od adresu %Q100.0, a wejścia do PLC z robota – od %I100.0.
Uruchomienie symulacji
Symulator uruchamiamy w omawiany we wcześniejszych wpisach sposób, tj. poprzez wybranie opcji Start simulation. Po wgraniu projektu i wejściu w widok online powinniśmy zauważyć poprawność skonfigurowanego połączenia. Należy pamiętać, że podczas symulacji prawie wszystko skonfigurowane jest poprawnie – dopiero na rzeczywistych urządzeniach pojawiają się problemy. 🙂



Warto zwrócić uwagę na fakt, że przykładowe wejście %I44.2 sterownika PLC może być zarówno sygnałem fizycznym (np. czujnik pozycji krańcowej), jak i sieciowym (fragment ramki wymienianej z robotem przemysłowym).
Co dalej?
W następnym wpisie przystąpimy do napisania programu w sterowniku PLC i jego przetestowaniu w projekcie symulacji PLCSIM.
Zapraszamy także do śledzenia naszych poczynań na portalach LinkedIn oraz Facebook, gdzie na bieżąco informować będziemy o warsztatach, nowościach i webinarach.