VIRTUAL COMMISSIONING PRZY WYKORZYSTANIU TIA PORTAL ORAZ ROBOT STUDIO CZĘŚĆ 2

VIRTUAL COMMISSIONING PRZY WYKORZYSTANIU TIA PORTAL ORAZ ROBOT STUDIO

KROK 1: Tworzenie sceny robota przemysłowego w programie ABB RobotStudio

Po ściągnięciu i zainstalowaniu programu RobotStudio włączamy go a następnie:

image

Tworzymy nowy pusty obszar roboczy: Klikamy Empty Station – następnie Create

image

Otworzy nam się główne okno programu z naszą sceną.

image

Dodajemy naszego robota z biblioteki ABB. Klikamy ABB Library

image

Z listy jaka nam się pojawiła wybieramy interesującego nas robota – niech to będzie IRB 120 – klikamy na ikonę tego robota, a następnie potwierdzamy - OK

image

W oknie View1oraz zakładce Layoutpojawił się nasz robot.

image

Dobrze będzie zapisać już naszą stację. Klikamy ikonkę dyskietki w lewym górnym rogu i zapisujemy naszą stację.

image

Kolejnym krokiem będzie dodanie wirtualnego kontrolera do naszego robota. W tym celu wybieramy Virtual Controller a następnie From Layout… – dzięki temu program sam skonfiguruje odpowiedni kontroler.

image

Możemy nadać nazwę naszemu kontrolerowi i wybrać miejsce gdzie ma zoastać zapisany, nastepnie klikamy Finish.

image

Po krótkiej chwili kontroler zostanie dodany i załadowany. Możemy to zaobserwować na dolnym pasku naszego programu w prawym rogu jeśli wszystko poszło dobrze powinniśmy mieć na zielono Controller status: 1/1. W oknie Outputmożna też prześledzić kolejne kroki ładowania się kontrolera. Gdyby coś było nie tak pojawią się tu komunikaty oznaczone ⚠️czyli ostrzeżenia lub ❌ czyli awarie.

image

To co zostało zrobione do tej pory można zrobić w sposób automatyczny już na samym początku. W tym celu należało po uruchomieniu programu wybrać opcję Solution with Station and Virtual Controller. Określamy nazwę naszej sceny – Solution Name, wybieramy miejsce zapisu – Location, wybieramy interesującego nas robota z rozwijanej listy – Robot model, nadajemy nazwę naszemu kontrolerowi - Name. Jak wszystko mamy ustawione klikamy Create

image

W trakcie ładowania może pojawić się okienko z prośbą o potwierdzenie modelu robota którego wybraliśmy z listy. Zaznaczamy interesujący nas modeli i zatwierdzamy - OK

image

Jeśli wszystko poszło ok powinniśmy uzyskać ten sam efekt końcowy jak w przypadku tworzenia naszego stanowiska robota krok po kroku.

image

Kolejnym krokiem jest dodanie biblioteki – RSConnectDIOToSnap7.rslib – która zezwala na połączenie robota ze sterownikiem PLC za pomocą komunikacji Sharp7 (Snap7).

Wybieramy zakładkę Add-Ins i w pasku Search wpisujemy nazwę szukanego dodatku - RSConnectDIOToSnap7

image

Po wpisaniu automatycznie wyskoczy nam szukana biblioteka. Klikamy na niej i po prawej stronie otworzy nam się opis. Klikamy na Download file, następnie Accept

Biblioteka zostanie ściągnięta automatycznie do domyślnego folderu pobierania naszej przeglądarki internetowej. Należy ją przenieść do folderu „Libraries”

C:\Users\twoja_nazwa_użytkownika\Documents\RobotStudio\Libraries.

image

Aby dodać bibliotekę do naszej stacji klikamy na zakładkę Homea następnie Import LibraryUser Library - RSConnectDIOToSnap7

image

Biblioteka zostanie dodana do naszej stacji i pojawi się na liście Layout

image

Można też dodać ściągnięta bibliotekę w inny sposób, a mianowicie wybierając zakładkę Simulation, następnie kliknąć na Station Logic, wybieramy w oknie, które się nam otworzy zakładkę Compose, następnie klikamy Add component i wybieramy z listy Import Library

image

W okienku wybieramy lokalizację ściągniętego pliku z biblioteką i go zaznaczamy, następnie klikamy Otwórz

image

Po dodaniu nasza biblioteka pojawi się również w okienku Layout

image

Klikamy dwa razy lewym przyciskiem myszy na nasz przed chwilą dodany komponent na liście Layout.

image

Otworzy nam się okienko Properties , w którym możemy definiować ilość wejść i wyjść DI_Number i DO_Number, które będą wykorzystywane w komunikacji ze sterownikiem PLC. Określamy „położenie” naszego sterownika PLC_Rack i PLC_Slot - domyślnie jest to 0 i 1. Ustalamy też adres IP naszego wirtualnego środowiska PLC_Addr, !!! UWAGA !!! będzie to adres IP naszego komputera na którym aktualnie tworzymy nasz projekt a nie adres sterownika PLC, który zdefiniujemy w dalszej części.



Aby sprawdzić IP naszego komputera klikamy na pasku zadań naszego Windowsa na START i wpisujemy „cmd” w celu wywołania Wiersza polecenia



image
image





W okienku wiersza polecenia wpisujemy ipconfigi naciskamy ENTER.

Wpisujemy nasz adres IP w polu PLC_Addrustawiamy PLC_Rackna wartość 0 i PLC_Slotna wartość 1. DI_Numberi DO_Number ustalamy w zależności od ilości pozycji jakie chcemy zaprogramować dla naszego robota. Przyjmijmy do naszego projektu po 4 wejścia i wyjścia, którym nadamy odpowiednie oznaczenia wejścia w zakresie Q0.0 – Q0.3, a wyjścia M0.0 – M0.3, kończymy naciskając przycisk Close

image

Musimy teraz też dodać interesujące nas wejścia i wyjścia do naszego kontrolera. W tym celu wybieramy zakładkę Controller. Z listy po lewej stronie wybieramy I/O System, w oknie które się pojawiło wybieramy z listy Signali pojawi nam się tabela.

image


Klikamy prawym przyciskiem myszy na tabeli i wybieramy New Signal…

image


W okienku które się pojawi definiujemy nasz nowy sygnał podając jego nazwę w polu Nameoraz definiując typ sygnału – Type of Signal. Proponuję nazwy nadawać w ten sposób aby były łatwe do identyfikacji. Zatwierdzamy OK.

image

Otrzymamy komunikat , że wprowadzone zmiany zaczną obowiązywać dopiero po zrestartowaniu kontrolera. Aby uniknąć tego komunikatu podczas dodawania kolejnych wejść i wyjść zaznaczamy ptaszkiem okienko z napisem „Do not show this dialog again” i klikamy OK

image

Klikamy PPM na nowo dodanym sygnale w tabeli i wybieramy Copy Signal

image

Otworzy się automatycznie okienko w którym zmieniamy tylko nazwę. Czynność tę powtarzamy dla kolejnych sygnałów wejścia, aż do dodania takiej liczby sygnałów jaką zdeklarowaliśmy konfigurując bibliotekę RSConnectDIOToSnap7 (w naszm przypadku były to 4 wejścia i 4 wyjścia). Analogicznie postępujemy przy dodawaniu wyjść, pamiętając aby zmienić nie tylko nazwę ale również typ sygnału na Digital Output.

image


Na końcu powinniśmy otrzymać tabelę ze zdefiniowanymi wszystkimi naszymi sygnałami wejścia i wyjścia.

image


Restartujemy nasz kontroler klikając ikonkę Restart i zatwierdzając OK w okienku które się pojawi.

image


Kolejnym krokiem jest zdefiniowanie pozycji robota. W tym celu skorzystamy z opcji Jointtarget. Klikamy na zakładkęHomenastępnie na napisTargeti z listy która się pojawi wybieramyCreate Jointtarget.

image


Po wybraniu Create Jointtarget należy przejść do widoku naszego robota, w tym celu klikamy na zakładkę View1. Można zauważyć też, że po lewej stronie pojawiło nam się okienko Create Jointtarget.

image


Klikamy na przycisk Createaby zapisać pierwszą pozycję naszego robota – będzie to pozycja bazowa. Po kliknięciu na Creata okienko Create Jointtarget zniknie. Należy kliknąć na zakładkę Path&Targets gdzie można zauważyć, że zostało dodane nasze pierwsze zdefiniowane położenie jako Joint Target_1. Klikając PPM na tym elemencie i wybierając Rename możemy zmienić nazwę np. na jPozycja0. Nazwę można też zdefiniować na poziomie dodawania położenia w pisując ją w polu Name.

image
image

Przechodzimy do zdefiniowania kolejnych pozycji. Tym razem po wybraniu ponownie w zakładce Homenastępnie na napis Targeti z listy która się pojawi Create Jointtarget zanim klikniemy Create musimy zdefiniować położenie naszego robota. W pierwszej kolejności zmieniamy nazwę w polu Namena jPozycja1. Nastepnie klikamy na Robot axes pojawi nam się strzałka przy Values.., na którą należy kliknąć. Pojawi nam się okienko – Joint values [mm|deg] w którym definiujemy położenie naszego robota.

image


Ten sposób jest dość kłopotliwy bo trzeba znać dokładne współrzędne i je wpisać. Istniej inny sposób dający nam możliwość skorzystania z funkcji Freehand. Dzięki niemu możemy ustawić dowolną pozycję naszego robota, a następnie dodać ją jako kolejną pozycję Jointtarget. Dla szybkiego przypomnienia korzystając z funkcji Jog Joint możemy klikając na każdy człon robota ustawiać jego pozycję aż do osiągnięcia końcowej pozycji, którą chcemy zapisać.

image
image
image

Gdy już ustalimy pozycję naszego robota skorzystamy z opcji Teach Target w zakładce Homeaby dodać pozycję ale najpierw musimy dokonać jeszcze jednej zmiany aby opcja Teach Target dodała nam nasza pozycję jako Jointtarget a nie jako Target. Na samym dole na dolnym pasku obok współrzędnych jest napis MoveJ klikamy go i zmieniamy na MoveAbsJ

image

Teraz możemy kliknąć na Teach Target w zakładce Homei zostanie dodana kolejna pozycja robota Jointtarget, której należy zmienić nazwę na jPozycja1. Możemy dodać kolejne dwie pozycję jPozycja2 i jPozycja3postępując w analogiczny sposób jak przedstawiono powyżej tj. korzystając z funkcji FreehandJog Joint oraz Teach Target.

image

Jeżeli wszystko wykonane zostało prawidłowo na liście pojawią się nasze cztery ustalone pozycje Jointtargets. Możemy przejść do tworzenia ścieżek i definiowania zdarzeń. Klikamy PPM na jPozycja0i wybieramy Add to new path. Na liście pod kategorią Paths & Procedures pojawi nam się nowa ścieżka, której zmieniamy nazwę (PPM i Rename) na pozycja0osiagnieta. Analogicznie postępujemy z kolejnymi pozycjami tworząc za każdym razem nowe ścieżki pozycja1osiagnieta, pozycja2osiagnieta, pozycja3osiagnieta. Po dodaniu wszystkich ścieżek, musimy dodać jeszcze jedną tzw. ścieżkę główną main, w tym celu klikamy PPM na kategorii Paths & Procedures i wybieramy Create Path. Zmieniamy nazwę dodanej ścieżki na main, po czym trzymając wciśnięty klawisz Ctrl zaznaczamy wszystkie ścieżki oprócz nowo utworzonej.

image
image
image

Mając zaznaczone wszystkie ścieżki łapiemy je LPM i przeciągamy do ścieżki mainw efekcie otrzymując odnośniki do ścieżek w ścieżce głównej.

image

Kolejnym krokiem będzie zdefiniowanie zdarzeń dla pozycji bazowej. Klikamy PPM na ścieżkę pozycja0osiagnieta i wybieramy Insert Action Instruction… Otworzy nam się nowe okno po lewej stronie Create Action Instruction w którym z rozwijanej listy Instruction Templates wybieramy:

image
image

1. Wait DI i klikamy Create.

2. Reseti klikamy Create.

3. Reset, zmieniamy Signalna doPozycja1osiagnietai klikamy Create.

4. Reset, zmieniamy Signalna doPozycja2osiagnietai klikamy Create.

5. Reset, zmieniamy Signalna doPozycja3osiagnieta i klikamy Create.

6. Przesuwamy MoveAbsJ jPozycja0na sam dół, łapiąc i trzymając LPM, przeciągamy w dół.

7. Set i klikamy Create.

8. Wait DI, zmieniamy Value na 0 (zero) i klikamy Create.

Ostatecznie otrzymujemy układ jak pokazano obok

image