Przygotowanie prostej aplikacji dla systemu Golem OEE SuperVisor krok po kroku część II W pierwszej części opisaliśmy przygotowanie prostej aplikacji opartej na wersji OEM oprogramowania Golem OEE SuperVisor. Teraz dokonamy rozbudowy systemu z przeniesieniem do pełnej wersji sieciowej 1 Zmiany w naszej wirtualnej fabryce Poprzednio mieliśmy podłączone dwie wtryskarki, teraz podłączymy cała halę 16 wtryskarek korzystając z drugiego koncentratora (drugiej stacji zbierania danych) Na potrzeby naszego artykułu jako główne maszyny wybraliśmy wtryskarki. Wtryskarka wydaje się być idealną maszyną w tym kontekście, każdy wie co to jest, pracuje cyklicznie, często wtryskarki pracują w ruchu ciągłym. Wtryskarki są wiec maszynami wymagającymi wiele uwagi w kontekście wydajności pracy. Pamiętajmy jednak że jest to tylko PRZYKŁAD a system Golem może monitorować DOWOLNE MASZYNY DOWOLNEGO TYPU 2 Instalacja wersji sieciowej migracja z wersji OEM Pierwszą czynnością jaką wykonamy jest zabezpieczenie dotychczas używanych baz danych. Wykonujemy kopie baz golem_data.fdb i golem_cfg.fdb pamiętając o tym że kopia musi być wykonana przy wyłączonych programach. W przeciwieństwie do wersji OEM pełna wersja nie ma typowego instalatora tylko archiwum ZIP z katalogami ze składnikami programu. Szczegóły instalacji znajdują się w stosownym dokumencie wiec nie będziemy ich powielali. Na potrzeby tego artykułu zainstalowano (przeniesiono katalogi z archiwum ZIP) system w katalogu c:\projektygolem\art_c2\ a zawartość katalogu stacja skopiowano dwukrotnie do katalogów stacja1 i stacja2 Komputer na którym zainstalowano oprogramowanie ma nazwę NEURON. Zastępujemy bazy w katalogi bazy plikami golem_data.fdb i golem_cfg.fdb które skopiowaliśmy z projektu tworzonego w oparciu o wersje OEM. Teraz musimy powiadomić programy gdzie znajdują się bazy danych. Robimy to w plikach ini w sekcji [SQL] Jak widać adres składa się z dwu części: lokalizacji serwera i lokalizacji baz danych. Gdyby nasz komputer miał numer IP 192.168.0.1 to ścieżka ta mogła by wyglądać : baza = 192.168.0.1:C:\projektyGolem\art_c2\bazy\ gdyby nasz komputer nazywał się serwer a bazy były by w katalogu c:\golem\bazy to ścieżka wyglądała by tak: baza = serwer:c:\golem\bazy\ Po ustawieniu ścieżki dostępu do baz w pliku GolemKonstruktor.ini możemy uruchomić program konstruktor. Zawsze uruchamiamy jako pierwszy program GolemKonstruktor. Może się tak wydarzyć że zainstalowane oprogramowanie jest nowsze od dotychczas stosowanego i wymagana jest aktualizacja bazy danych. Wykona to automatycznie program konstruktor podczas pierwszego uruchomiania. 3 Dwie stacje zbierania danych W projekcie opartym na wersji OEM możliwe było użycie tylko jednej stacji. W naszym projekcie zastosujemy dwie stacje zbierania danych. Na potrzeby artykułu obie stacje są na tym samym komputerze w rzeczywistości możliwe jest zainstalowanie drugiej stacji na innym komputerze, np. znajdującym się w innej części zakładu. W plikach GolemStacjaSV.ini pierwszej stacji ustawiamy: Plik ini pierwszej stacji # numer stacji zbierania danych [STACJA] nr=1 # ścieżka do baz danych sql [SQL] Plik ini drugiej stacji # numer stacji zbierania danych [STACJA] nr=2 # ścieżka do baz danych sql [SQL] Ważne jest aby nie uruchomić dwu stacji o tym samym numerze bo nastąpi konflikt. Teraz możemy uruchomić obie stacje choć jak widzimy stacja nr 2 jeszcze nic nie robi bo nie przypisano do niej żadnego aktywnego nadzorcy. 1
4 Przeglądarki muszą wiedzieć gdzie są stacje W wersji sieciowej programy klienckie muszą wiedzieć gdzie jest baza danych powiadamiamy je o tym ustawiając ścieżki do katalogów baz tak jak w poprzednich programach. Ale przeglądarki komunikują się też bezpośrednio ze stacjami zbierania danych i muszą wiedzieć gdzie one są pod jakim adresem IP w sieci. Wiedzę tę pozyskują z konfiguracji systemu. Dlatego pierwszym co musimy uczynić to zapisać tę informacje w konstruktorze: w naszym przypadku dla oby stacji wpisujemy tę samą lokalizację: neuron bo taką nazwę ma komputer gdzie obie stacje pracują. Moglibyśmy np. wpisać dla jednej stacji lokalizację neuron a dla drugiej adres IP 192.168.0.11 gdyby druga stacja miała pracować na komputerze o takim właśnie numerze IP Teraz możemy uruchomić program GolemKlient, oczywiście po uprzednim dodaniem ścieżki w pliku GolemSVKlient.ini. W prawym górnym rogu przeglądarki znajdują się dwa małe przyciski jeden z nich z ikoną stacji pozwala na otwarcie okna do kontroli połączeń: Pamiętać też musimy o tym aby udrożnić porty komunikacyjne firewale muszą umożliwiać komunikacje z wykorzystaniem portu 3050 z serwerem a także miedzy stacjami i przeglądarkami na wybranych portach (numery widzimy w tabelce obok). Szczegóły w dokumencie o instalacji programów. 5 Przerabiać istniejącą konfigurację czy konfigurować od nowa? Oto jest pytanie. Bez względu na to czy aplikacja tworzona jest od razu z wykorzystaniem pełnej wersji sieciowej czy najpierw powstaje prosty system pilotażowy dobrze jest przyjąć założenie że po pierwszych próbach, po uzyskaniu pierwszych doświadczeń i rozeznaniu faktycznych potrzeb system skonfigurujemy od nowa. W tym artykule będziemy kontynuowali dotychczasowy projekt choćby po to aby pokazać jak dokonuje się zmian. 6 Usuwamy z konfiguracji 2 wtryskarki W dotychczasowej konfiguracji mamy zdefiniowane dwie wtryskarki WA1 i WA2 których sygnały podłączone były do 1 koncentratora. Teraz jednak chcemy podłączyć 14 wtryskarek do 2 koncentratora obsługiwanego przez stację nr 2. Dlatego najpierw usuniemy wtryskarki z dotychczasowej konfiguracji. Zaczynamy od ich usunięcia z grup nadzorców w naszym przykładzie z grupy wszystkie maszyny. Nie możemy usunąć nadzorcy z listy nadzorców dlatego odznaczamy je jako nieaktywne wykorzystamy tych dwu nadzorców w przyszłości na inne potrzeby. W bazie danych pozostały dane przypisane do nieużywanych już nadzorców. Musimy je usunąć używając narzędzia do administrowania baz danych Wpisujemy kolejno nadzorcę numer 1 i 2 i kasujemy dane 7 Dodajemy 14 wtryskarek Mamy już przygotowany model dla wtryskarki teraz dodamy odpowiednich nadzorców przypisanych do 2 stacji zbierania danych. Proszę zwrócić uwagę ze numeracja nadzorców drugiej stacji zaczynają się od numeru 129. 2
Kiedy mamy większą ilość podobnych maszyn to ich dodawanie, jedna po drugiej była by uciążliwa. Możemy więc skorzystać z asystenta który doda nam (skonfiguruje wybraną ilość nadzorców) serie maszyn. Wybieramy model i inne parametry. W nazwie możemy użyć symbolu $ który zostanie zamieniony na kolejną liczbę tak aby każda maszyna miała inny numer. Zwrócić należy szczególną uwagę na numer 1 nadzorcy aby przez pomyłkę nie zmienić konfiguracji już skonfigurowanego nadzorcy zmiany są nieodwracalne i jeśli się pomylimy to będziemy musieli poprawiać wszystko ręcznie. Po wykonaniu operacji dodana została konfiguracja 14 maszyn Teraz stworzymy grupę Wtryskownia i dodamy wtryskarki do grupy wszystkie maszyny: Następnie przeładowujemy ustawienia stacji 1 i stacji 2 przyciskami reload i uruchamiamy przeglądarkę. Pojawiła się grupa wtryskownia i 14 nowo zdefiniowanych wtryskarek 8 Narzędzia Jednym z parametrów jakie możemy podać w definicji zlecenia jest narzędzie, czyli w przypadku naszych wtryskarek będzie to forma wtryskowa. Możemy wpisywać nazwę narzędzia ręcznie albo dodać narzędzie do bazy danych narzędzi dzięki czemu będzie możliwa analiza ich pracy. Dodajemy narzędzia do bazy danych a w konfiguracji modelu Wtryskarka odznaczamy parametr wybór narzędzia z listy narzędzi 3
9 Wybór zlecenia 3 warianty Na rysunku obok widzimy okno za pomocą którego operator wprowadza do systemu nowe zlecenie dla jednej z wtryskarek. Problem polega na tym że operator musi wpisać wszystkie te dane ręcznie a to niesie za sobą ryzyko błędów. A operatorzy mogą być różni. Czy istnieje zatem możliwość aby ktoś inny wprowadził zlecenia a operator je tylko wybrał? Tak w systemie mamy trzy możliwości : operator wpisuje zlecenie ręcznie (tak jak teraz) operator wybiera produkt z listy produktów i dopisuje tylko numer (symbol) zlecenia oraz (opcja) ilość zamówioną operator wybiera zlecenie z listy zleceń I waśnie ten trzeci wariant zastosujemy dla naszych wtryskarek. W modelu wtryskarki zmieniamy sposób zmiany zlecenia wybieramy Wybór produktu i zlecenia z listy zleceń Ustawiamy też opcje wyboru zlecenia z innej maszyny Po ponownym uruchomieniu przeglądarki (aby zaakceptowała zmiany w konfiguracji) wybieramy wtryskarkę WA2 i wybieramy opcje nowe zlecenie. No i nic nie możemy wybrać bo lista jest pusta. Cofnijmy się więc do panelu operatora. Jeżeli mamy uprawnienie do edycji listy zleceń to pojawi się przycisk Edytor listy zleceń Jak widać edytor jest podobny do pokazanego wyżej okna listy pozwalającej na wybór zlecenia. W edytorze dodaliśmy cztery zlecenia dla maszyny WA2 Teraz gdy operator będzie chciał wybrać zlecenie to zobaczy ich listę: wystarczy wskazać zlecenie które chcemy realizować. Wybrane zlecenie będzie już niewidoczne w liście zleceń. W edytorze listy zleceń będzie widoczne jako wykonane (przekreślone). Jak wspomniano, jest jeszcze możliwość wyboru produktu - wygląda to podobnie z tą różnicą że w edytorze listy nie podajemy numeru zlecenia i ilości zamówionej. Operator wybiera produkt a nie zlecenie a następnie zostaje poproszony o wpisanie numeru zlecenia i ilości zamówionej. Zwróćmy też uwagę na pole SORT. Pozwala ona na poukładanie rekordów (wierszy) w określonej kolejności. Zależnie od ustawienia w ustawieniach globalnych (konstruktor ustawienia globalne zakładka oee, zlecenia ) rekordy będą ułożone rosnąco lub malejąco. 4
10 Program GolemZlecenia Zlecenia możemy edytować za pomocą edytora wbudowanego w program kliencki Golema. Jednak gdy mamy dużo maszyn i dużą ilość zleceń to możemy zastosować dodatkowy program GolemZlecenia który pozwala na efektywniejszą i szybszą ich edycję. Program GolemZlecenia możemy zainstalować na komputerze osoby odpowiedzialnej za planowanie produkcji. Z lewej strony widzimy listę maszyn, z prawej zlecenia dla wybranej maszyny. Ponadto program GolemZlecenia udostępnia dodatkową bazę wzorców zleceń w której możemy zapisać dowolną ilość zleceń bez ich numerów. Instalacja polega na wypakowaniu programu do wybranego katalogu i stworzeniu skrótu do pliku GolemZlecenia.exe Następnie do katalogu z bazami danych kopiujemy plik GOLEMSVZLECENIA.FDB. W pliku tym znajduje się baza wzorców. W pliku GolemZlecenia.ini wpisujemy: [sql] baza_zlecenia= neuron:c:\projektygolem\art_c2\bazy\golemsvzlecenia.fdb 11 Program Golem POP To jest tak. Na początku Golem służy nam do wyłapywania wszystkich grubszych nieprawidłowości. Operator zmienia status wtedy gdy mamy do czynienia z jakimś dłuższym postojem brak materiału, awaria, dłuższa planowana przerwa. W takim przypadku konieczność podejścia do komputera który znajduje się gdzieś na końcu hali produkcyjnej nie stanowi większego problemu. Z czasem jednak nasz apetyt rośnie chcielibyśmy raportować krótkie postoje. Powiedzmy że w naszej linii PRL1 dodamy status: Zablokowany wykrojnik Nie należy zmieniać kolejności statusów w bazie danych zapisywany jest numer pozycji a nie nazwa statusu więc jeśli zmienilibyśmy nazwę którejś już istniejącej pozycji to w bazie powstanie bałagan. Dlatego istotne jest aby dobrze zaplanować i przemyśleć listę statusów rozszerzonych a nowe statusy dodawać zawsze na końcu listy Aby jednak nasz nowy status miał sens to operator musi mieć komputer pod ręką tak aby mógł on szybko zmienić status. Możemy tu zastosować standardowy program przeglądarki ale możemy też zastosować komputer z ekranem dotykowym i program GolemPOP specjalną wersję programu klienckiego dedykowaną dla ekranów dotykowych. Najpierw definiujemy nową grupę o numerze 61. Dlaczego o tak wysokim numerze? W standardowej przeglądarce w rozwijanej liście grup nie są wyświetlane grupy o numerze większym niż 60 grupy te są właśnie przewidziane na potrzeby innych programów. W grupie tej dodajemy tylko 1 nadzorcę nadzorcę linii PRL1 5
Na dysku naszego komputera z ekranem dotykowym do wybranego katalogu kopiujemy pliki programu GolemPOP i w pliku GolemSVPOP.ini ustawiamy: [sql] [set] # Grupa - numer grupy która będzie obsługiwana przez program grupa=61 #op_time - czas wylogowania operatora op_time=10 # tempo - określa w ms co ile odczytywać stan maszyn, timeout określa po ilu nieudanych zapytaniach pokazać błąd polaczenia tempo=300 timeout=50 # touch - opcja ekranu dotykowego (klawiatura logowania) 1 - włączona 0 - wyłączona touch=1 # blokuj_zamykanie =1 blokuje zamykanie okna głównego - wymaga podania komendy panelstop blokuj_zamykanie =0 # blokuj_info=1 zablokuj dostęp do panelu info blokuj_info=0 i uruchamiamy program GolemSVPOP W programie w górnej części widoczna jest lista maszyn my widzimy tylko jedną bo dla jednej skonfigurowano program. W dolnej części widoczny jest pulpit operatora dla linii PRL1 Operator może się zalogować na stałe wtedy nie będzie konieczne każdorazowe logowanie się przy każdej operacji. Teraz, gdy zablokowany zostanie wykrojnik operator dwoma naciśnięciami ekranu zmienia status na status zablokowany wykrojnik, odblokowuje maszynę, uruchamia ją i po kilku minutach zmienia ponownie status na pracę. Dzięki temu możemy raportować naprawdę bardzo krótkie zdarzenia, które jak wskazuje praktyka potrafią stanowić łącznie całkiem spory procent strat Na ilustracji obok widać program GolemPOP uruchomiony z grupą numer 4 grupą wtryskarek. W górnej części widać listę wtryskarek a w dolnej panel dla tej wybranej górnym przyciskiem. Pozwala to na stworzenie stanowisk dla kilku maszyn można np. zafundować sobie kilka panelowych komputerów przemysłowych i zlokalizować je tak aby każdy z nich był swobodnie dostępny dla kilku maszyn. 6