Golem OEE Next prosta aplikacja krok po kroku część II Golem OEE Next prosta aplikacja krok po kroku część II... 1 Wstęp... 1 Instalacja wersji sieciowej migracja z OEM... 2 Dwie stacje zbierania danych... 2 Przeglądarki muszą wiedzieć gdzie są stacje... 3 Zmiany w naszej wirtualnej fabryce... 3 Rozbudowa czy od nowa?... 4 Resetowanie danych... 4 Dodajemy wtryskarki do stacji nr 2... 4 Modele... 4 Nadzorcy... 5 Grupy... 5 Narzędzia... 6 Seryjne dodawanie nadzorców... 6 Seryjna zmiana statusu ważne ustawienie... 7 Zlecenie produkcyjne trzy metody... 8 System wezwań Andon... 9 Personalizacja programów klienckich... 9 Operator maszyny i pracownik naprawiający maszynę... 9 Logowanie... 9 Pracownik Utrzymania Ruchu... 10 Młyn i kilka innych dodatków... 10 Młyn do odpadu tworzyw... 10 Wstęp W pierwszej części opisaliśmy przygotowanie prostej aplikacji opartej na wersji OEM oprogramowania Golem OEE SuperVisor Next. Teraz dokonamy rozbudowy systemu z przeniesieniem do pełnej wersji sieciowej Tak jak w pierwszej części będziemy się odnosić do podręcznika dostępnego na stronie http://www.neuron.com.pl/golemnh/index.html. Gdy w tekście znajdzie się odnośnik: podręcznik: podsystemy i funkcjonalności / status / status zmieniany przełącznikami to będzie oznaczało że dalszych informacji należy szukać we wskazanym poprzednio podręczniku, w części Podsystemy i funkcjonalności, w rozdziale Status w pod rozdziale status sterowany przełącznikami. strona 1
Instalacja wersji sieciowej migracja z 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. 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. Katalog z bazami został przeniesiony z poprzedniego projektu opartego o wersję OEM który będziemy kontynuowali 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] baza = neuron:c:\projektygolem\art_c2\bazy\ 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 GolemNX_Konstruktor.ini możemy uruchomić program konstruktor. WAŻNE Zawsze, po każdych zmianach (aktualizacjach) uruchamiamy jako pierwszy program GolemNX_Konstruktor. 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. 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 GolemNX_Stacja.ini pierwszej stacji ustawiamy: Plik ini pierwszej stacji Plik ini drugiej stacji # numer stacji zbierania danych [STACJA] nr=1 # ścieżka do baz danych sql [SQL] baza = neuron:c:\projektygolem\art_c2\bazy\ # numer stacji zbierania danych [STACJA] nr=2 # ścieżka do baz danych sql [SQL] baza = neuron:c:\projektygolem\art_c2\bazy\ Ważne jest aby nie uruchomić dwu stacji o tym samym numerze bo nastąpi konflikt. Uruchamiamy dwie stacje jak widać każda ma swój numer strona 2
podręcznik: konfiguracja systemu /stacja zbierania danych 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 GolemNX_Klient, oczywiście po uprzednim dodaniem ścieżki w pliku GolemNX_Klient.ini. W programie klienckim GolemNX_Klient mamy do dyspozycji narzędzie (menu / kontrola systemu) które raportuje nam stan stacji i stan połączeń z nimi. Pamiętać też musimy o tym aby udrożnić porty komunikacyjne firewalle 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. Zmiany w naszej wirtualnej fabryce W poprzedniej części skonfigurowaliśmy kilka maszyn z koncentratorem 16 wejściowym. Teraz zwiększymy koncentrator do 32 wejść i dodamy drugi, 32 wejściowy koncentrator który będzie obsługiwał drugą halę wtryskownię na której podłączymy 24 wtryskarki, 4 z robotami a dwie z nich z systemami wizyjnymi, dwie proste pakowarki oraz młyn do mielenia odpadów. Na dotychczasowej hali podłączymy kilka dodatkowych sygnałów które będą obsługiwały dodatkowe funkcje posiadanych maszyn takie jak kontrola braków i system andon. strona 3
Rozbudowa czy od nowa? Bez względu na to czy aplikacja tworzona jest od razu z wykorzystaniem pełnej wersji sieciowej czy najpierw powstaje prosty system pilotażowy oparty o wersję OEM dobrze jest przyjąć założenie że po pierwszych próbach, po uzyskaniu pierwszych doświadczeń i rozeznaniu możliwości i faktycznych potrzeb system skonfigurujemy od nowa. W tym artykule będziemy kontynuowali dotychczasowy projekt choćby po to aby pokazać jak dokonuje się zmian. Zaczniemy jednak od : Resetowanie danych W programie konstruktor dostępne jest narzędzie do administrowania bazą danych, pozyskiwania informacji o bazie, robienia kopii zapasowych i do kasowania zawartości danych (danych, nie konfiguracji!). Narzędzie to pozwala na wyczyszczenie danych konkretnego nadzorcy, np. po zmianie ustawień albo np. po przypisaniu do nadzorcy innej maszyny. Możemy też zrobić totalny reset bazy usunięte zostaną wszystkie zebrane informacje. Możemy też podmienić plik bazy golem_data.fdb na czysty plik z pakietu instalacyjnego trzeba to koniecznie zrobić przy wyłączonych programach. Aby w pełni zresetować system do zera trzeba też przy wyłączonej stacji usunąć pliki z rozszerzeniem dat to pliki lokalnej bazy danych program założy sobie nowe, czyste pliki. podręcznik: konfiguracja systemu /bazy danych / administracja bazami sql Dodajemy wtryskarki do stacji nr 2 Modele Do stacji nr 2 dodamy 24 wtryskarki. NA początek dodamy 4 wtryskarki z robotami. Roboty dodamy oddzielnie. Są one wyposażeniem dodatkowym chcemy ocenić jak często działają wraz z maszynami do których przynależą. Dodatkowo dwie wtryskarki, WA1 i WA2 mają wyrzutniki braków. Dlatego musimy stworzyć dwa modele wtryskarka1 i wtryskarka1b. Modele te będą się różnić sposobem obsługi braków w pierwszym braki będą wpisywane ręcznie przez operatora w drugim za pomocą impulsu z wyrzutnika braków z systemu wizyjnego. podręcznik: podsystemy i funkcjonalności / braki Czy musimy wpisywać drugi model od zera? Nie. W oknie z listą modeli mamy przycisk: [Kopiuj ustawienia ze wskazanego do wybranego modelu] który pozwala na skopiowanie wszystkich ustawień z aktualnie wybranego modelu do wskazanego uwaga: NIEODWARACALNIE!. Kopiujemy więc model nr 9 wtryskarka1 do pustego (następnego) modelu, potem zmieniamy nazwę i ustawiamy interesujące nas ustawienia. Dla wyrzutników braków tworzymy model SW_licznik oparty na trybie 7 prostym liczniku bez rejestracji i interfejsu. Tu ustawiamy tylko przelicznik na zawsze dodaj 1. Ostatnim potrzebnym nam modelem jest model dla robota wybierzemy tryb 4 i wyłączymy wszystko co zbędne status zawsze praca, cykl zawsze 1, czas pracy i mikro postoje ustawione na stałe na czas dłuższy niż przeciętny czas pracy robota. strona 4
Oto nasza aktualna lista modeli. Nadzorcy Zanim skonfigurujemy nadzorców powiedzieć trzeba o bardzo ważnym drobiazgu. Otóż każda stacja operuje na własnym zestawie nadzorców. Stacja 1 używa nadzorców od 1 do 128 a stacja 2 nadzorców do 129 do 256. Filtr w oknie listy pozwala nam na wybór zakresu dla odpowiedniej stacji. Pamiętajmy też o tym że stacje nie komunikują się ze sobą i np. asystentem nadzorcy z jednej stacji nie może być nadzorca z innej stacji. Dla wtryskarek WA1 i WA2 tworzymy po 3 nadzorców dla wtryskarki, dla robota i dla systemu wizyjnego. Dla wtryskarek WA3 i WA4 po dwu nadzorców maszyny te nie mają systemów wizyjnych. Tak wygląda lista nadzorców dla naszych wtryskarek: i ustawiamy odpowiednich asystentów robota jako asystenta trendu (zapewni nam podgląd) a system wizyjny jako asystenta braków. Zwróćmy uwagę na kategorię nadzorców. Grupy Podobnie jak poprzednio maszyny musimy zgrupować aby mogły zostać wyświetlone. Stworzymy dwie grupy : Wtryskarki WA, i Wtryskarki WA z robotami. Ważne w kontekście powyższej konfiguracji jest to że nie dodajemy do grupy nadzorców systemów wizyjnych wybraliśmy do ich obsługi tryb licznika bez interfejsu więc nawet gdybyśmy dodali do grupy to zobaczymy tylko puste pole. Możemy oczywiście zmienić tryb pracy modelu nadzorcy obsługującego wyrzutniki jeśli chcemy je śledzić niezależnie. strona 5
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 podręcznik: podsystemy i funkcjonalności / narzędzia Seryjne dodawanie nadzorców Dodaliśmy 4 wtryskarki. I kosztowało to trochę pracy, tym bardziej że były one doposażone w maszyny/urządzenia pomocnicze. Teraz czeka nas dodanie wtryskarek bez urządzeń, ale za to jest ich 20, 14 jednego typu i 6 drugiego typu. Czy musimy wszystko wklepać ręcznie? Nie. Mamy do dyspozycji narzędzie do dodawania seryjnego nadzorcy (lista nadzorców / meu / 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. WAŻNE 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. Jednym poleceniem dodaliśmy 6 nadzorców : strona 6
Maszyny do grupy też możemy dodać seriami w opcjach jest polecenie które pozwala na dodanie maszyn od numeru do numeru SV, w naszym przykładzie od 139 do 144. Przeładowujemy programy i mamy : Teraz powtórzymy ten sam proces i dodamy 16 maszyn. Stworzymy też grupę Wszystkie wtryskarki. Seryjna zmiana statusu ważne ustawienie Konfigurując nadzorców na potrzeby tego artykułu popełniłem pewien błąd który postanowiłem opisać. Program kliencki oferuje możliwość zmiany seryjnej statusu z pracy na postój planowany i z postoju planowanego na pracę. Kończymy pracę zakładu i możemy jednym poleceniem zmienić status wszystkich maszyn w grupie: podręcznik: program główny / panele operatora / panel operacji seryjnych W modelu, w opcjach ustawienia statusu rozszerzonego mamy taką konfigurację: Jak widać numer statusu postoju planowanego jest ustawiony na 2. 2 pozycja to jednak praca: seria próbna. Jest to wadliwe ustawienie zmieniając seryjnie status na postój planowany program próbuje ustawić status: postój planowany : seria próbna co jest oczywiście wadliwym działaniem. Właściwym dla tej konfiguracji ustawieniem jest pozycja numer 4. Wtedy operacja seryjnej zmiany na postój spowoduje zmianę na postój planowany : Przerwa planowana strona 7
Zlecenie produkcyjne trzy metody Na rysunku obok widzimy okno za pomocą którego operator wprowadza do systemu nowe zlecenie dla jednej z wtryskarek. Operator wpisuje wszystkie parametry : nazwę, numer, ilość zamówioną. Nasza konfiguracja wymusza wybór narzędzia z listy narzędzi dlatego musimy je wybrać a po wyborze zostanie z niej pobrana krotność. Pamiętajmy że lista widocznych parametrów zależna jest os konfiguracji: podręcznik: podsystemy i funkcjonalności / zlecenie / ustawienia Problem z takim sposobem pracy jest ryzyko błędów oraz fakt że operator maszyny musi znać wszystkie parametry. Dlatego do wyboru mamy trzy metody wprowadzania zleceń. 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ń Dokonamy teraz modyfikacji modeli. Dla modelu wtryskarka 100T ustawimy: czyli pracownik z nadzoru przygotowuje listę produktów za pomocą edytora produktów: przycisk [Edytor listy produktów] w oknie panelu operatora. Okno edytora za pomocą którego dodajemy produkty i ich parametry. Operator wybierając opcję nowe zlecenie zobaczy podobne okno i zostanie poproszony o wpisanie numeru zlecenia i ilości zamówionej. Dla modelu wtryskarka1 zmienimy sposób obsługi zleceń na wybór z listy zleceń: Podobnie w panelu operatora pojawi się przycisk [Edytor listy zleceń] który otworzy nam dostęp do edytora zleceń. Dla operatora różnica w stosunku do poprzedniego wariantu jest taka że wybiera ok. KOMPLETNE zlecenie i nic nie dopisuje. Zaleta jest taka że nie ma możliwości błędów spowodowanych przez operatorów (no chyba że wybierze niewłaściwe zlecenie), wada taka że ktoś MUSI przygotować listę zleceń. W trzeciej części artykułu omówimy program GolemZlecenia do zarządzania listami zleceń. strona 8
System wezwań Andon podręcznik: podsystemy i funkcjonalności / system Andon Wszystkie dodane wtryskarki mają ustawione przywołanie wezwań przez operatora. W panelu operatora widzimy przyciski wezwań i odwołania wezwania. Teraz wrócimy do konfiguracji linii LPR1 i LPR2 i dodamy obsługę wezwań za pomocą wejść (przycisków podłączonych so wejść). Naciśniecie przycisku spowoduje wezwanie pomocy albo pomocy technicznej. Odwołanie odbywać się będzie za pomocą przycisku na panelu operatora (choć może również się odbywać za pomocą wejścia). W modelach LPR1 i LPR2 zmieniamy ustawiania systemu Andon na przywołanie wejściami, kasowanie z panelu. W nadzorcach ustawiamy odpowiednie numery wejść do których podłączono przyciski. Personalizacja programów klienckich Mając do dyspozycji oprogramowanie w wersji sieciowej z pewnością będziemy chcieli udostępnić program kliencki wielu użytkownikom, poczynając od komputerów na halach fabrycznych służących obsłudze systemu po komputery szeroko rozumianego szefostwa. Pamiętajmy że każdy program kliencki ma indywidualne ustawienia gdzie możemy na przykład ukryć niektóre widoki, zablokować niektóre (lub wszystkie) raporty czy dostosować niektóre z opcje operatora, np. czas podtrzymania zalogowanego użytkownika. W trzeciej części opiszemy program GolemPOP specjalną wersję programu klienckiego. Operator maszyny i pracownik naprawiający maszynę Do jednej maszyny przypisany może być tylko jeden operator ale jeden operator może być przypisany do wielu maszyn. podręcznik: podsystemy i funkcjonalności / Operator i użytkownik, pracownik UR Każda maszyna może mieć przypisanego operatora osobę która jest za tę maszynę odpowiedzialna. O tym czy maszyna może mieć operatora decydują ustawienia w modelu. Można tę opcję wyłączyć, tak samo jak można ograniczyć dla danej maszyny w ogóle np. tylko do dodawania komentarzy. Logowanie Obsługa systemu odbywa się w ten sposób że aby użytkownik mógł wykonać jakąkolwiek operację musi się zalogować, czyli musi powiadomić system kim jest i co mu wolno. Odbywa się to w ten sposób że klikając w przycisk [Operator] program prosi o podanie hasła. Często pojawiającym się pytaniem jest czy można się logować za pomocą kodów kreskowych lub kart magnetycznych gdyż w wielu firmach pracownicy posiadają identyfikatory z kodami i/lub znacznikami RFID. Otóż w bazie użytkowników, w oknie w którym ustalamy uprawnienia możemy dodać alternatywne hasło, np. wpisać kod kreskowy. Pracownik może się logować i swoim hasłem w stylu adam123 i kodem ze swojego identyfikatora. Jak wprowadzić kod? Sprawa jest prosta w przypadku kodów kreskowych wystarczy dowolny czytnik. Czytniki takie udają klawiaturę i wysyłają kod kończąc go znakiem CR. Kliamy więc przycisk operator, pojawia się okienko podaj hasło, skanujemy kod i jesteśmy zalogowani. W przypadku znaczników RFID (popularnych kart magnetycznych) musimy się zaopatrzyć w czytnik klawiaturowy czytnik kart który działa w ten sposób że, podobnie jak czytnik kodów kreskowych, emuluje klawiaturę wpisując numer. strona 9
Pracownik Utrzymania Ruchu W wersji PRO dostępna jest funkcjonalność pozwalająca na przejęcie maszyny do naprawy. Dzięki tej funkcjonalności wiemy kto w danej chwili daną maszynę naprawia (lub naprawiał w przeszłości) a w bazach danych zgromadzone zostają dane które pozwalają na pokazanie np. jaka jest proporcja czasu awarii do czasu naprawy Młyn i kilka innych dodatków Na koniec (tej części) dodamy kilka elementów infrastruktury i maszyn pomocniczych. Jedną z wielu zalet systemu Golem jest to że mamy bardzo mały koszt dodawania dodatkowych maszyn czy urządzeń. Stworzymy więc grupę infrastruktura do której dodamy kilku nadzorców którzy będą monitorować młyn do przemiału tworzyw, otwarcie drzwi magazynu podręcznego, zapalenie światła na hali oraz przycisk kontrolny dla ochrony. Młyn do odpadu tworzyw Problem z takim młynkiem jest taki że ma on duży silnik który pobiera sporo energii nawet jak pracuje bezproduktywnie. Dla tego stworzymy dla młyna dwu nadzorców: jeden będzie kontrolował pracę silnika a drugi rzeczywistą prace młynka. Osiągniemy to w ten sposób że do silnika podłączymy przekaźnik progowy który wystawia sygnał gdy płynący prąd przekroczy pewien ustawiony limit. Aplikację taką opisano szczegółowo w dokumencie http://www.neuron.com.pl/pliki/golem_oee_podlaczenie_maszyn_i_urzadzen.pdf w rozdziale 10. Dla młynka wybieramy tryb 8 kontrolę czasu pracy z rejestracją zdarzeń. Nie załączamy rejestracji zdarzeń do bazy SQL nie jest nam potrzebna informacja o tym że załączono młyn przedwczoraj o 17:34 wystarczy nam lista ostatnich załączeń celem obserwacji Uwagę musimy zwrócić na to że sygnał z przekaźnika prądu jest bardzo niestabilny i o ile przekaźnik nie ma wbudowanej czasówki to musimy ustawić filtr opóźnienia wyłączenia aby wyciąć krótkie przerwy. strona 10