Aplikacja gospodarki narzędziowej dla NX
Transkrypt
Aplikacja gospodarki narzędziowej dla NX
Aplikacja gospodarki narzędziowej dla NX W ostatnich latach duże znaczenie w produkcji przemysłowej zyskują technologiczne bazy danych. Ich wartość nabiera nowego wymiaru podczas pracy z programami obróbkowymi, pozwalającymi na optymalizację procesu. W celu sprostania stawianym wymaganiom konieczne jest dobranie odpowiedniej kadry specjalistów, zasobów sprzętowych oraz oprogramowania, które umożliwia zbieranie, przetwarzanie i analizę informacji. Programy te dają możliwość unikania błędów oraz zapewniają ciągły przepływ informacji pomiędzy poszczególnymi jednostki a także maszynami. Bazy danych są zbiorem danych, zorganizowanym w określonej strukturze przez system zarządzania bazą danych (SZDB, ang. DBMS - Database Management System), zawierającym dane związane z działalnością danej firmy, czy dziedziną jaką dana jednostka się zajmuje. Biorąc pod uwagę ilość wdrożeń systemów CAD, CAM (m.in. Catia, NX) w firmach przemysłowych oraz uczelniach i szkołach technicznych, daje się zauważyć szczególne ich znaczenie w projektowaniu elementów maszyn.Technologiczne bazy danych odgrywają znaczącą rolę w wymienionych systemach. Dzięki nim systemy CAD/CAM umożliwiają szybki wgląd do zebranych informacji, pozwalają modelować, dokonywać obliczeń oraz analiz modelu 3D, programować obróbkę i tworzyć dokumentacje z przeprowadzonych działań. Wykorzystują zawarte parametry do zadanych obliczeń, niejednokrotnie porównując otrzymane wyniki z wartościami wzorcowymi. Nadal nie został rozwiązany problem wymiany informacji pomiędzy różnymi stanowiskami roboczymi. Brakuje również możliwości odzyskania danych podczas dokonywania ponownej instalacji systemu. Dlatego stworzono aplikację wspomagającą gospodarkę narzędziową pozwalając na przechowywanie zbioru danych oraz na ich łatwy eksport do systemu NX. Przedstawiana w artykule aplikacja może zostać wykorzystana do zarządzania narzędziami skrawającymi w systemie CAD/CAM oraz być inspiracją do tworzenia technologicznych baz danych usprawniających działanie firm i przedsiębiorstw produkcyjnych. Tworzenie aplikacji W celu wykonania opisywanego programu, konieczne stało się dotarcie do plików przechowujących dane, wykorzystywanych w systemie NX firmy Siemens oraz znalezienie sposobu ingerencji w ich strukturę. Ukierunkowano się na poszukiwanie pojedynczego pliku, zawierającego informacje na temat narzędzi. Opisywany system przechowuje swoje kluczowe dane w plikach z rozszerzeniem *.dat. Informacje o narzędziach przechowywane są w dwóch folderach, w zależności od wyboru jednostek metrycznych bądź calowych. Pliki jednostek metrycznych przechowywane są w katalogu: …\UGS\NX6.0\MACH\resource\library\tool\metric Ścieżka dostępu uzależniona jest od wybranego podczas instalacji katalogu. Najczęściej jest to katalog domyślny w formie: C:\Program Files\UGS\NX6.0\MACH\resource\library\tool\metric Baza narzędzi zawiera się w pliku tool_database.dat. Plik ten można edytować w bardzo łatwy sposób np. za pomocą notatnika. Łatwe przeglądanie tabeli jest możliwe dzięki formie zapisu. Struktura danego typu narzędzia podzielona jest na kolumny, z których kolumny od 3 do 6 odgrywają kluczową rolę. Określają one przyporządkowanie narzędzia do ściśle określonej grupy. UGT UGST Milling Milling Milling Milling Milling Milling Milling Milling Milling Milling Milling Drilling Drilling Drilling Drilling Drilling Drilling Drilling Drilling Drilling Drilling Drilling Drilling Drilling Drilling Podgrupa narzędzi ST Grupa narzędzi T Tabela 1. Wypis grup oraz parametrów narzędzi systemu NX dla frezów oraz wierteł wraz z tłumaczeniem wykorzystanym w programie Parametry po których Język angielski Język polski system NX rozpoznaje daną kategorię Grupa narzę dzi End Mills Non-indexable End Mills Indexable Ball Mills Non-indexable Face Mills Indexable T-Slot Mills Non-indexable Barrel Mills UG - 5 Parameter Cutter UG - 7 Parameter Cutter UG - 10 Parameter Cutter Thread Mills Mill From Tool Twist Drills Core Drills Spot Drills Center Drills Counter Boring Non-indexable Counter Sinking Non-indexable Gun Drill Taps Indexable Insert Drill Fixed Diameter Boring Machine Chucking Reamers Taper Machine Reamers Step Drills UG Drills 02 02 02 02 02 02 02 02 02 02 02 03 03 03 03 03 03 03 03 03 03 03 03 03 03 01 02 03 12 21 93 90 91 92 31 51 01 03 21 22 51 61 07 71 06 32 41 42 04 90 01 01 01 01 08 07 01 01 01 02 00 02 02 02 02 02 02 02 02 02 02 02 02 02 02 01 01 04 01 00 00 01 02 03 10 00 00 00 04 01 07 02 00 08 00 05 06 06 12 00 Frezy Frezy Frezy Frezy Frezy Frezy Frezy Frezy Frezy Frezy Frezy Wiertła Wiertła Wiertła Wiertła Wiertła Wiertła Wiertła Wiertła Wiertła Wiertła Wiertła Wiertła Wiertła Wiertła Podgrupa narzędzi Frezy trzpieniowe pełnowęglikowe Frezy z płytkami wieloostrzowymi Frezy kuliste Głowice frezarskie Frezy teowe Frezy baryłkowe Frezy 5-parametrowe Frezy 7-parametrowe Frezy 10-parametrowe Frezy do gwintów Frezy kształtowe Wiertła kręte Wiertła rdzeniowe Nawiertaki długie Nawiertaki Pogłębiacze walcowe Pogłębiacze stożkowe Wiertła kręte długie Gwintowniki Wiertła na płytki wymienne długie Wiertła z płytkami wieloostrzowymi Rozwiertaki maszynowe Rozwiertaki stożkowe Wiertła stopniowe UG Wiertła Dzięki polom w kolumnach które pełnią rolę kluczy, których wartości określają rodzaj grupy system rozpoznaje i przyporządkowuje określone nadrzędzie pożądanej grupie. Pola pełniące rolę unikatowych identyfikatorów, zamieszczone w kolumnach, przechowują dane o tym samym znaczeniu w kolejnych wierszach. Struktura grup ma charakter hierarchiczny a miejsca konkretnych grup rozpoznawane są na podstawie kolumn T, ST, UGT, UGST. Grupy narzędzi oraz ich identyfikatory przedstawia Tabela 1. Dane narzędziowe wprowadzane są do pliku w określonej kolejności. System rozpoznaje poszczególne pola zliczając znaki „|” które oddzielają poszczególne wartości. Przed każdą tabelą z danymi narzędzi umieszczane są skróty wpisane w poszczególne pola tabeli oraz ich objaśnienia. Ważny jest zachowany określony format bloku danych. Rys. 1. Zrzut ekranu przykładu wprowadzonych danych w bazie narzędziowej systemu NX Znając powyższe informacje oraz opisaną budowę i formę zapisu danych w pliku, pozostaje wybranie sposobu dopisywania danych. Pisząc program, zdecydowano się na stworzenie aplikacji będącej bazą danych opartą na języku MySQL. Wszystkie informacje przechowywane są wewnątrz bazy. Cała baza zawiera 57 tabel. Nazwy tabel utworzone są w sposób sugerujący dane zawarte wewnątrz struktury. Rys. 2. Zrzut widoku bazy danych MSQL napisanego programu Odwołując się do struktury napisanego programu warto przedstawić diagram klas części aplikacji. Rys. 3. Diagram klas części aplikacji Niektóre elementy interfejsu graficznego Javy - nowoczesnego interfejsu Swing, zwłaszcza te, które mają zaprezentować użytkownikowi wiele danych, są wykonane w oparciu o model "model-widok-kontroler" (MVC Model-View-Controller). Model ten wyraźnie oddziela dane od tego w jaki sposób mają być one prezentowane użytkownikowi. Dzięki temu model może przechowywać różne typy danych natomiast prezentować je użytkownikowi w miarę spójny sposób. Napisana aplikacja dosyć szeroko korzysta z modeli danych. Wyróżnić można w niej trzy typy modeli: model danych dla tabeli z narzędziami, model danych dla drzewa kategorii narzędzi i model danych do prezentacji na liście wyboru. Podstawową klasą dla modelu danych tabeli JTable jest klasa ModelTabeli, która dziedziczy po abstrakcyjnym modelu i implementuje jego metody, tak aby widok tabeli za pomocą kontrolera mógł pobrać dane do prezentacji. Oczywiście można użyć tej klasy do trzymania danych dla tabeli, jednak w celu wygody i przejrzystości w implementacji aplikacji, model ten jest dziedziczony przez trzy klasy będące już końcowymi modelami dla tabel. Są to tabele: narzędzi, edycji narzędzia i schowka. Klasy dziedziczące po klasie ModelTabeli poszerzają jej listę metod o pewne specyficzne dla danej tabeli, nie będące jednak wymagane przez tabelę JTable. Natomiast te, które są są wymagane przez kontroler, mogą zostać przedefiniowane w klasie końcowej (jak np. isCellEditable()) aby dostosować zachowanie widoku tabeli do obsługi danych, które on prezentuje. Modele danych mają bezpośrednie połączenie z bazą danych za pomocą obiektu BazaDanych. Obiekt ten udostępnia kilka metod, za pomocą których modele mogą pobierać i zapisywać dane w bazie. Czynności te są wykonywane w tych dodatkowych metodach klas modeli tabel. Wywołaniem tych metod zajmuje się aplikacja, np. reakcja na przycisk Zapisz. Model danych tabeli narzędzi jest najbardziej rozbudowany. W nim tworzone są modele edycyjne wybranego narzędzia, a następnie przypisywane do odpowiednich tabel. Dodatkowo model ten przechowuje zdjęcie narzędzia, którego oczywiście nie ma w tabeli, ale za pomocą odpowiedniej metody jest pobierane na panel ze zdjęciem. Podobnie jest z metodą umieszczającą wybrane narzędzie w schowku, wystarczy przekazać obiekt (model tabeli) schowka, a za pomocą standardowych metod modelu tabeli narzędzie zostanie dodane do schowka. W aplikacji występują jeszcze ModelListWyboru oraz ModelDrzewaNarzedzi. Dziedziczą one po standardowych modelach dla tych elementów i poszerzają ich implementację o specjalizowane metody ich obsługi potrzebne w aplikacji. Model dla list wyboru jest jeden, a pozwala na wyświetlenie trzech różnych tabelek bazodanowych (jeden model na jedną tabelę) - czym znakomicie spełnia koncepcję MVC. Opis programu Program został napisany w języku Java i wykorzystuje bazę danych MySQL, opartą na dwóch serwerach WAMPSERVER lub Derby. Do aplikacji dodatkowo utworzono instalator pozwalający w prosty sposób umieścić program w posiadanym przez użytkownika systemie operacyjnym. Minimalne wymagania aplikacji to: Procesor (400 MHz lub więcej) System operacyjny: Microsoft Windows 2000/XP Pamięć 256 MB RAM (lub więcej) Napęd CD-ROM Wymagane miejsce na dysku 18 MB Zainstalowany sterownik Java Proponowana aplikacja w pełni spełnia postawione założenia tj. przechowuje, zarządza oraz integruje parametry z technologiczną narzędziową bazą danych systemu NX. Opis funkcjonalności programu przedstawiono na podstawie głównego okna aplikacji. Rys. 4. Główne okno programu Opis poszczególnych elementów: 1. Menu programu ważnymi funkcjami zawartymi w nim są: Importuj z XML – pozwala na import parametrów z pliku XML Eksport NX – eksportuje parametry narzędzi ze schowka do NX-a Katalog eksportu – pozwala na ustawienie katalogu do którego ma być eksportowany plik z danymi zgromadzonymi w schowku 2. Narzędzia z wybranej kategorii – wyświetla wszystkie narzędzia z wybranej kategorii wraz z parametrami: identyfikatora, nazwy, średnicy, długości, części roboczej, rodzaj obróbki i numerem katalogowym. Wybranie narzędzia z wyświetlonej listy pokazuje szczegółowe parametry w polu „Szczegóły wskazanego narzędzia”. 3. Zdjęcie narzędzia – wyświetla zdjęcie narzędzia lub dowolny inny plik zamieszczony przez użytkownika. Każde narzędzie może posiadać inny obrazek. 4. Rysunek techniczny – pole wyświetlające stały rysunek z parametrami narzędzia. Rysunki przyporządkowane są dla całej kategorii danego narzędzia. 5. Inne parametry – pole pozwalające na wprowadzanie dodatkowych parametrów, niż te zawarte w polu Szczegóły wskazanego narzędzia. Pola Materiały, Rodzaj obróbki, Typ obróbki są polami wyboru. Natomiast pole Uwagi jest polem tekstowym i pozwala na wprowadzenie dowolnej notatki o długości do 1000 znaków. 6. Przyciski czynności: Dodaj nowe – pozwala na dodanie nowego narzędzia do kategorii w której aktualnie znajduje sie użytkownik. Modyfikuj – umożliwia modyfikację parametrów aktualnie wybranego narzędzia. Zapisz zmiany – przycisk staje się aktywny po wcześniejszej aktywacji jednego z przycisków: Dodaj nowe lub Modyfikuj. Służy do zapisania wykonanych modyfikacji w danym narzędziu. Do schowka – Przycisk jest aktywny, gdy jest możliwość dodania aktualnie przeglądanego narzędzia do schowka programu. Następnie schowek pozwala na wyeksportowanie narzędzi do systemu NX. 7. Szczegóły wskazanego narzędzia – pole wyświetla wszystkie parametry przypisane do danej grupy narzędzi. Poszczególne pola zostały posegregowane kolorami wg ważność pól. 8. Schowek – przechuje parametry narzędzi które maja zostać wyeksportowane. 9. Przyciski czynności schowka: Usuń – przycisk pozwalający na usunięcie jednej pozycji ze schowka. Eksportuj>>NX –kliknięcie w przycisk powoduje wyeksportowanie wszystkich zebranych narzędzi ze schowka do pliku bazodanowego, odczytywanego przez system NX. Najważniejszymi zadaniem opisywanej aplikacji jest eksport parametrów do systemu NX. Równie ważny jest import parametrów do bazy z plików XML o określonej strukturze. W celu eksportu informacji o narzędziu do systemu NX należy zamieścić je w schowku programu za pomocą przycisku „Do schowka” oraz zatwierdzić przyciskiem „Eksport>>NX”. Narzędzia wraz z parametrami zostaną wyeksportowane do pliku bazodanowego w wskazaną przez użytkownika lokalizację. Aby dokonać importu parametrów narzędzia należy wybrać z menu Plik>>Importuj z XML, następnie wskazać plik XML z parametrami narzędzia, które mają być dodane do bazy programu. Importować można tylko jedno narzędzie z parametrami z jednego pliku XML. Integracja parametrów narzędzia pomiędzy plikiem XML a bazą danych następuje dzięki parametrom (słowom kluczowym) opisującym poszczególne dane. Wypis parametrów przechowuje baza danych w tabeli nazwy, kolumnie importXML. Rys. 5. Przykład struktury pliku XML wczytywanego przez program Wnioski Prezentowany program pozwala na zaprezentowanie możliwych sposobów ingerencji w systemy CAD/CAM oraz przedstawia jedną z możliwości kastomizacji oprogramowania do komputerowego wspomagania prac inżynierskich. Dzięki stworzonej aplikacji problem wymiany informacji oraz braku dostosowania tych systemów do potrzeb konkretnego użytkownika, jak również możliwości odzyskania danych podczas dokonywania ponownej instalacji systemu zostaje rozwiązany. Uzyskano zamierzone cele, stworzono aplikację wspomagającą gospodarkę narzędziową dla systemu NX firmy Siemens pozwalającą na import, zarządzanie oraz eksport parametrów narzędzi. Ułatwiono przepływ informacji pomiędzy użytkownikami, jak również stanowiskami pracy. Stworzona baza stanowi innowacyjny element dla systemów CAD/CAM. Napisana jest w formie pozwalającej na wykorzystanie jej w przemyśle.