Astraada Safety odc. 2 – jak skonfigurować pierwszy projekt i napisać pierwszą aplikację bezpieczeństwa?
Kontakt w sprawie artykułu: Mateusz Pijanowski - 2020-02-27
Z tego artykułu dowiesz się:
- Jak zbudować prosty program bezpieczeństwa
- Jak skonfigurować projekt w środowisku Codesys
- Jak zalogować się do sterownika Safety
W poprzedniej części „Jak zapewnić bezpieczeństwo Twojej maszynie? Odc. 1. Sterownik bezpieczeństwa – co to jest?” dowiedziałeś/aś się jaka jest architektura sterownika bezpieczeństwa oraz systemu bezpieczeństwa w oparciu o sterownik Astraada SC-1000.
Poznałeś/aś w nim główne korzyści wynikające z zastosowania sterownika bezpieczeństwa w maszynie. Jako jedną z zalet systemu bezpieczeństwa w oparciu o sterownik bezpieczeństwa Astraada Safety SC-1000 wymieniliśmy kompatybilność ze sterownikami PLC/PAC Astraada One oraz możliwość integracji systemu pod kątem procesowym oraz pod kątem bezpieczeństwa z poziomu jednego projektu w środowisku Codesys. Teraz nadszedł czas, aby to przetestować.
Twój program bezpieczeństwa
W tym poradniku poznasz sposób budowy prostego programu bezpieczeństwa w oparciu o sterownik PLC/PAC Astraada ECC2250, sterownik bezpieczeństwa Astraada SC-1000 oraz środowisko Codesys z rozszerzeniem Safety. Twój program będzie miał za zadanie odczytać sygnał z przycisku bezpieczeństwa, przetworzyć go oraz zareagować podaniem odpowiedniego sygnału dyskretnego na wyjście bezpieczeństwa. Architektura naszego prostego systemu bezpieczeństwa przedstawia się następująco:
W skład zestawu wchodzi sterownik Astraada ECC2250 pełniący rolę nadrzędną (EtherCAT Master), Buscoupler pozwalający na komunikację w sieci EtherCAT, sterownik bezpieczeństwa Astraada SC-1000 (EtherCAT Slave) oraz moduł wejść/wyjść bezpiecznych Astraada SC-I/O (można zastosować do 220 modułów Safety IO).
Elementem wejściowym jest dwuobwodowy przycisk bezpieczeństwa (popularny grzybek), natomiast wyjściem bezpiecznym możesz wysterować przykładowo rygiel bezpieczeństwa, wejście STO napędu lub robota itd.
Konfiguracja projektu w środowisku Codesys
Na początku utwórz nowy projekt. W tym celu w środowisku Codesys kliknij New Project i wybierz opcję Empty Safety Project. Nadaj mu nazwę, wybierz lokalizację na dysku oraz zatwierdź.
Zostanie utworzony surowy projekt, który rozbudujesz pod kątem aplikacji bezpieczeństwa. W tym celu kliknij prawym przyciskiem myszy na projekcie oraz wybierz opcję Add Device. Z dostępnych opcji zaznacz target MX6 Control oraz zatwierdź.
Na ten moment, w drzewku projektu znajduje się obiekt odpowiadający sterownikowi nadrzędnemu Astraada ECC2250. Za pomocą opcji Properties, w celu zyskania przejrzystości, zmień jego nazwę na Astraada_ECC2250. Drzewko Twojego projektu przedstawia się następująco:
Brakuje w nim obszaru odpowiadającego za komunikację oraz sterownik bezpieczeństwa. W celu dodania kolejnych urządzeń kliknij prawym klawiszem myszy na sterownik Astraada_ECC2250 oraz wybierz opcję Add Device.
W pojawiającym się okienku przejdź do Fieldbuses -> Ethercat -> Master -> EtherCAT Master i dodaj go do projektu. We właściwościach obiektu, w oknie Source Address (MAC) wybierz opcję eth1, odpowiadającą portowi nr 1 sterownika oraz zaznacz opcję Auto Restart Slaves. Dysponujesz już teraz obiektem odpowiadającym za komunikację w protokole EtherCAT ze sterownikiem bezpieczeństwa Astraada SC-1000.
Drzewko projektu wygląda aktualnie następująco:
Następnie w celu dodania sterownika Astraada Safety SC-1000 oraz modułu wejść/wyjść bezpiecznych Astraada SC-I/O użyj wygodnej funkcji środowiska Codesys, która pozwala przeskanować sieć EtherCAT oraz dodać do projektu urządzenia, które fizycznie są do niej wpięte.
Nie ma konieczności ręcznego dodawania urządzeń do projektu, operacja wykonana będzie automatycznie. W tym celu zaloguj się do sterownika za pomocą ikony Login w górnym pasku narzędziowym. Następnie kliknij prawym przyciskiem myszy na obiekt EtherCAT Master oraz wybierz opcję Scan for Devices. Wynik skanowania jest następujący:
Oprogramowanie odczytało stan rzeczywisty urządzeń w sieci EtherCAT czyli:
- moduł Buscoupler (interfejs komunikacyjny EtherCAT dla sterownika bezpieczeństwa),
- Safety PLC (sterownik bezpieczeństwa Astraada SC-1000),
- S_DI4_S_DO2 (moduł wejść/wyjść bezpiecznych Astraada SC-I/O).
Trzy powyższe moduły tworzą wyspę w oparciu o sieć EtherCAT. Docelowo, w zależności od potrzeb możesz stworzyć dowolną liczbę wysp z dowolną ilością modułów Safety IO oraz Standard IO.
Sterownik bezpieczeństwa Astraada SC-1000 musisz umieścić tylko w jednej wyspie. Będzie on kontrolował wszystkie moduły Safety IO dostępne w sieci za pomocą certyfikowanego, bezpiecznego protokołu FSoE (ang. Fail Safe over EtherCAT).
Wracając do Twojej konfiguracji – należy użyć polecenia Copy all devices to project, dzięki czemu rzeczywista konfiguracja sprzętowa pojawi się w Twoim drzewku projektu:
Podczas tej operacji oraz przykładowo w przypadku logowania się do sterownika Safety, podaj swoje uprawnienia. Istnieją 3 grupy uprawnień:
- Owner (nieograniczone prawa zarządzania projektem),
- Safety Extended (brak możliwości zarządzania użytkownikami, nieograniczone prawo do zmian w logice bezpieczeństwa),
- Safety (dodatkowo brak możliwości tworzenia bloków „Safety Extended POU”),
- Everyone (brak praw do ingerencji w program Safety, prawo do działania na standardowej logice obsługującej proces).
Docelowo będziesz mógł/mogła zarządzać prawami użytkowników poprzez zakładkę Project -> Project Setting -> Users and Groups. Przykładowo poziom uprawnienia Owner nadasz sobie, Extended Safety – głównemu automatykowi, natomiast młodszy automatyk otrzyma uprawnienia Everyone. Dla potrzeb tego poradnika korzystasz z domyślnych uprawnień Owner.
Projekt jest już poprawnie skonfigurowany pod kątem sprzętowym, należy dodać jedynie obiekt Safety POU, w którym napiszesz swój program bezpieczeństwa. W tym celu kliknij prawym przyciskiem myszy na Safety App -> Add Object -> Basic POU (Safety). Nadaj nazwę Safety_MAIN oraz zatwierdź. W drzewku projektu pojawia się obiekt Safety_MAIN:
To wszystko. Twój projekt jest już przygotowany do napisania pierwszego programu bezpieczeństwa!
Program bezpieczeństwa
W programie wykorzystamy certyfikowane bloki funkcyjne biblioteki PLCopen, która pozwala realizować szerokie spektrum funkcji bezpieczeństwa. Przykładowo oferuje gotowe bloki do realizacji funkcji oburęcznego sterowania czy mutingu, która polega na celowej dezaktywacji danego technicznego środka bezpieczeństwa np. kurtyn świetlnych, w celu wykonania okresowych czynności technologicznych w maszynie (np. wymiana detalu). W tabelce natomiast, przedstawione są wybrane bloki oraz funkcje, które realizują.
FSoEMaster służy do diagnostyki poprawnej komunikacji z modułem SC-1000 oraz SC-I/O
SF_Equivalent odpowiada dwuobwodowemu przyciskowi bezpieczeństwa ze stykami NC. Konwertuje dwa wejścia fi zyczne na jedną zmienną wyjściową z uwzględnieniem czasu rozbieżności
SF_EmergencyStop służy do kontrolowania stanu przycisku bezpieczeństwa. Jeśli S_EStopIn = FALSE/TRUE to S_EStopOut = False/TRUE
Blok SF_OutControl kontroluje stan fizycznych wyjść bezpieczeństwa na podstawie sygnału z aplikacji bezpieczeństwa oraz opcjonalnego sygnału z aplikacji procesowej
A Twój program przedstawia się następująco:
Program realizuje prostą funkcjonalność polegającą na odczycie stanu wejść bezpiecznych (przycisk bezpieczeństwa) oraz wystawienia logicznego „0” na wyjście bezpieczne w przypadku zaistnienia sytuacji niebezpiecznej (wciśnięcie przycisku bezpieczeństwa). Zmienne S_StartReset oraz S_AutoReset poszczególnych bloków mają przypisaną wartość TRUE, co powoduje, że przy pierwszym uruchomieniu aplikacji lub po wciśnięciu przycisku i zwolnieniu go, sterownik bezpieczeństwa poda na wyjście bezpieczeństwa logiczne „1”.
Będzie to skutkowało np. startem napędu lub ruchem robota bez dodatkowego potwierdzenia operatora maszyny. Potencjalnie może to generować sytuacje niebezpieczne. Dlatego w aplikacjach bezpieczeństwa zalecane jest świadome wyrażenie zgody na ponowny start maszyny po wystąpieniu przerwania. Z pomocą sterownika bezpieczeństwa Astraada SC-1000 możesz to zrealizować na dwa sposoby. Po pierwsze, tworząc odpowiednie warunki logiczne w programie Safety i podając sygnał na wejścia Reset. Drugą z opcji jest przesłanie zgody z głównego programu sterującego (MAIN) na wejście ProcessControl bloku SF_OutControl. Dlatego w kolejnej części poradnika skonfigurujesz przesył danych pomiędzy aplikacją procesową MAIN, a aplikacją bezpieczeństwa Safety_MAIN.
Dzięki komunikacji zyskasz możliwość wydania zgody na start maszyny po wystąpieniu sytuacji niebezpiecznej z ekranu wizualizacji oraz będziesz mógł/mogła przesłać informacje na temat kodów ewentualnych błędów w programie Safety w celach diagnostycznych. Więcej informacji w tym temacie znajdziesz w kolejnym odcinku poradnika.
Logowanie do sterownika Safety
Aby zalogować się do sterownika bezpieczeństwa Astraada SC-1000, zaloguj się do sterownika nadrzędnego Astraada ECC2250 oraz wprowadź go w tryb RUN. Po wykonaniu tej operacji kliknij prawym przyciskiem myszy na obiekt SafetyApp i wybierz opcję Login.
Program poprosi Cię o podanie numeru seryjnego sterownika, który znajduje się na jego froncie. Po zalogowaniu będziesz miał/a możliwość ustawienia aplikacji bezpieczeństwa w tryb RUN (niezależnie od aplikacji procesowej) oraz przetestowania realizowanych funkcji bezpieczeństwa.