Program logiczny
| Opis |
Aplikacje PolyScope X mogą zawierać program logiczny, który działa nieprzerwanie w tle, niezależnie od głównego programu robota. Jest to przydatne w przypadku zadań, które muszą być kontynuowane, gdy ramię jest wyłączone, program główny jest wstrzymany lub zatrzymany albo operator wszedł do strefy bezpieczeństwa. Typowe zastosowania obejmują utrzymywanie komunikacji w sieciach fieldbus (Modbus, Ethernet/IP, PROFINET, Socket, XmlRPC), reagowanie na sygnały z czujników zewnętrznych, przekazywanie informacji o stanie robota do sterownika PLC linii produkcyjnej oraz sterowanie urządzeniami zewnętrznymi w przypadku zatrzymania programu głównego. Program logiczny nie może wykorzystywać funkcji, które bezpośrednio poruszają ramię robota, zmieniają obciążenie lub modyfikują parametry TCP. |
|
Przykłady zastosowań z wykorzystaniem programu logicznego |
|
|
Licencja |
Program Logic wymaga licencji, którą można nabyć za pośrednictwem portalu klienta.
|
|
Sterowanie programem logicznym |
Na stronie Program wybierz opcję Program logiczny na pasku bocznym. Rozwiń pasek boczny, aby wyświetlić elementy sterujące służące do poruszania się po różnych częściach programu logicznego. Umożliwia również uruchamianie, wstrzymywanie, zatrzymywanie i resetowanie programu.
|
||||||
|
|
Przycisk uruchamiania programu zmienia się na „Uruchom program ” lub „Zatrzymaj program”, w zależności od stanu programu logicznego. Działa jako skrót do czynności sterowania programem dostępnych w menu kontekstowym programu logicznego.
Cztery wskaźniki programu Logic pokazują aktualny stan programu. Wskazują one również, czy program jest skonfigurowany tak, aby uruchamiał się automatycznie po załadowaniu aplikacji.
|
|
Struktura programu logicznego |
Program logiczny składa się z tych samych sekcji strukturalnych, co program główny:
Program robota i program logiczny mają każdy swój własny zestaw zmiennych globalnych, niezależną pulę wątków oraz niezależny cykl życia wykonania. Uruchomienie, zatrzymanie lub wystąpienie błędu w jednym programie nie powoduje zatrzymania drugiego. Polecenie
|
|
|
W sekcji Przed rozpoczęciem program można uruchomić tylko raz.
W sekcji Moduły można zapoznać się z listą funkcji i wątków dostępnych w programie.
|
|
Wymiana danych z programem robota |
Głównym sposobem komunikacji między programem robota a programem logicznym są zmienne aplikacji . Zmienne można zarówno ustawiać, jak i odczytywać z robota oraz programu logicznego. W tym przykładzie zliczane są elementy trafiające do bufora wejściowego komory robota, a wynik zliczania jest wyświetlany w programie robota. Licznik nadal się zwiększa, nawet gdy ramię robota jest wyłączone.
|
|
Odczytywanie stanu robota |
Stan robota jest dostępny za pośrednictwem wbudowanych zmiennych RTDE . Wartości tych zmiennych można odczytać za pomocą funkcji skryptowej Poniższy przykład pokazuje, jak sprawdzić, czy funkcja Safeguard Stop jest aktywna:
Poniższy przykład sprawdza, czy program robota jest wstrzymany:
Interfejs API URScript Control również obsługuje tę funkcjonalność.
|
|
Automatyczne uruchamianie programu logicznego |
Można wybrać program, który ma być uruchamiany automatycznie po załadowaniu aplikacji. Po wybraniu opcji Autostart program logiczny uruchamia się natychmiast po załadowaniu aplikacji.
Można również automatycznie uruchomić program logiczny po włączeniu zasilania sterownika robota i załadowaniu ostatniej aplikacji. Funkcja Autostart działa niezależnie od trybu pracy lub stanu ramienia robota. Gdy podczas ładowania uruchomi się funkcja Autostart, powiadomienie w pasku informacyjnym potwierdza, że program logiczny został uruchomiony.
|
|
|
Ikona na pasku bocznym przy ikonie programu Logic zawsze wskazuje aktualny stan programu – czy jest on uruchomiony, czy zatrzymany.
Użytkownik ponosi odpowiedzialność za zapewnienie bezpieczeństwa programu logicznego po włączeniu zasilania robota oraz podczas ładowania różnych aplikacji.
Programy logiczne mogą aktywować i dezaktywować urządzenia zewnętrzne za pomocą połączeń przewodowych lub PLC (Modbus, PROFINET, Ethernet/IP, Socket, wyjścia bezpośrednie lub inne interfejsy).
|
|
Moduły i wątki |
Funkcjonalność programu logicznego można zorganizować w postaci funkcji. Działa to tak samo jak w programie robota. Każdą funkcję można oznaczyć jako wątek . Domyślnie wątki są wykonywane tylko raz. Zaznacz pole wyboru Loop w funkcji wątku, aby wątek był wykonywany w sposób ciągły.
|
|
Współdzielenie zasobów |
Chociaż program robota i program logiczny są wykonywane niezależnie, każdy z własną pulą wątków i zmiennych, wszystkie korzystają z tych samych zasobów sprzętowych. Wiąże się to z kilkoma ograniczeniami, o których programista powinien wiedzieć:
|
|
Ograniczenia |
|