ZE WZGLĘDU NA UMOWĘ HANDLOWĄ NIE MOŻEMY W PONIŻSZYM MATERIALE UDOSTĘPNIĆ MATERIAŁÓW FOTO / VIDEO.
W połowie 2016 roku zostaliśmy zaproszeni przez jednego z naszych Klientów do wzięcia udziału w eksperymentalnym wdrożeniu oprogramowania sterującego pracą nowo budowanego dźwigu morskiego. W swoich projektach nasz Klient korzysta ze środowiska deweloperskiego CDP Studio. Naszym zadaniem, w ramach prac badawczo rozwojowych (R&D), było zbadanie możliwości zastosowania środowiska programistycznego WAGO e!Cockpit.
OPIS PROJEKTU
"Knuckle boom shipboard crane" - tak brzmi pełna nazwa tego urządzenia - jest jednym z wielu dźwigów morskich w bogatym portfolio naszego Klienta. Model z którym mieliśmy styczność jest jednym z mniejszych, jest to dźwig o maksymalnym zasięgu 15m i dopuszczalnej ładowności 10T (w zależności od wybranego trybu pracy). Każdy z tego typu projektów jest indywidualnie dopasowywany do potrzeb klienta końcowego. Przeważnie tego typu konstrukcje przygotowywane są z myślą o konkretnym sposobie użytkowania (przewóz osób lub towarów, praca tylko w doku lub też na jednostce). W tym konkretnym przypadku armator zażyczył sobie, aby dźwig był "uniwersalny", tj. pozwalał na przenoszenie ładunków w porcie i na pełnym morzu oraz transport ludzi. Wydawać by się mogło, że to żaden problem. Lewo, prawo. Góra, dół. Nic bardziej mylnego! Przystępując do tego projektu wiedzieliśmy o istnieniu tzw. "norm morskich". Jednak na tym nasza wiedza w tym zakresie się kończyła. Inżynierowie z działu konstrukcyjnego naszego Klienta dokładnie wyjaśnili nam subtelne różnice pomiędzy poszczególnymi trybami pracy - wynikające z bardzo rygorystycznych przepisów morskich.
Dźwig posiada 7 trybów pracy:
- No Mode
- Harbour
- Deck
- Ship to Ship (3 podtryby dla fal o wysokości 1, 2, 3m)
- Personnel Handling
Dodatkowo w niektórych trybach dostępne są funkcje specjalne:
MOPS - ręczne zrzucenie ładunku do morza (na odpowiedzialność operatora) w sytuacji awaryjnej
AOPS - automatyczne zrzucenie ładunku do morza w sytuacji awaryjnej
Każdy z trybów pracy, wraz ze specyficznymi wymaganiami bezpieczeństwa dla danego trybu, wymagał zastosowania innych rozwiązań programowych oraz sprzętowych. Zgodnie z normami morskimi pewne funkcje bezpieczeństwa wymagają zastosowania równocześnie:
- odpowiednich komponentów i połączeń hydraulicznych
- "hardwired" w połączeniach elektrycznych
- zabezpieczenia software'owe ("na szczęście" na naszej głowie spoczywało tylko to ostatnie :) )
Dla każdego z trybów pracy możliwe jest sterowanie lokalne z pulpitu sterowniczego na wieżyczce dźwigu, oraz sterowanie zdalne z pilota. Zasadniczo sterowanie z pilota jest preferowanym sposobem obsługi dźwigu. W pewnych przypadkach przejścia pomiędzy niektórymi trybami są niedozwolone. Dla każdego z trybów pracy, w zależności od wybranego sposobu sterowania, zmienia się sposób rozpoznawania awarii z poszczególnych obwodów hydraulicznych, sposób sterowania poszczególnymi komponentami. Dodatkowo aplikacja zarządzająca pracą dźwigu, w zależności od wybranego trybu pracy, musi "wiedzieć" gdzie dokładnie znajduje się w danym momencie hak. Najbardziej krytycznym fragmentem programu jest obsługa funkcji AOPS w trybie Ship to Ship - wszak od jej poprawnego działania zależeć może bezpieczeństwo jednostki pływającej oraz ładunku.
"Chodzenie po wodzie i tworzenie oprogramowania wg specyfikacji są łatwe, o ile woda i specyfikacja są zamrożone" - Edward V. Berard
Uwzględniając wszystkie powyższe wymagania należało wybrać taki sposób implementacji algorytmu, który umożliwi:
- łatwe dodawanie bądź modyfikację działania trybów pracy
- łatwą obsługę systemu alarmów
- łatwą obsługę lokalizacji położenia haka, wraz z uczeniem aplikacji obszarów znajdujących się poza pokładem
Udało się to zrealizować z użyciem wielowymiarowych tablic opisujących maszyny stanów, współpracujących z systemem zdarzeń generowanych przez poszczególne komponenty sprzętowe. Taki sposób podejścia do problemu pozwolił na maksymalne uproszczenie późniejszych modyfikacji oprogramowania.
Sama obsługa lokalizacji położenia haka bazuje na odczytach:
- 2 inklinometrów umieszczonych na ramionach
- enkodera absolutnego umieszczonego w podstawie platformy
Odczyty, po ich odpowiedniej obróbce, nakładane są na dwuwymiarową macierz w której umieszczone są informacje o tym, które miejsca na osi pracy dźwigu znajdują się poza pokładem. W przyjętym rozwiązaniu daje to rozdzielczość rozpoznawania położenia wynoszącą 16cm. Aplikacja wyposażona została w możliwość automatycznego uczenia obrysu jednostki.
Osobną kwestią było zabezpieczenie ładunku przed kołysaniem w trakcie przenoszenia. Wszelkie komendy ruchu wydawane z poziomu kontrolera radiowego podlegają rampowaniu - umożliwia to bardzo łagodne przemieszczanie ładunku. Celem ochrony siłowników hydraulicznych wprowadzono także automatyczne rampowanie do zatrzymania przy dojeżdżaniu do skrajnych pozycji roboczych. Dodatkowo, w trybie Deck, ruch dźwigu zostaje automatycznie wyrampowany do zatrzymania gdy operator wyjedzie hakiem poza obszar pokładu.
Aplikacja działa na sterowniku WAGO PFC200 8206. Jako interfejs dla operatora lub serwisanta zastosowano panel operatorski Weintek. Do zdalnego sterowania użyty został specjalizowany pilot firmy HBC Radiomatic.
Udział w tym projekcie stanowił dla nas świetną przygodę. Współpraca z gronem ludzi całym sercem zaangażowanych w to co robią to czysta przyjemność. A końcowe efekty całego projektu R&D zadowoliły oczekiwania każdej ze stron. Finalnie dźwig został przekazany do klienta z oprogramowaniem w oparciu o środowisko CDP a projekt R&D w którym uczestniczyliśmy miał na celu wypracowanie rozwiązań alternatywnych.