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. Tabela 1. Wypis grup oraz parametrów narzędzi systemu NX dla frezów oraz wierteł wraz z tłumaczeniem wykorzystanym w programie Język angielski Parametry po których system NX rozpoznaje daną kategorię Język polski Grupa narzędzi Podgrupa narzędzi T ST UGT UGST Grupa narzę dzi Podgrupa narzędzi Milling End Mills Non-indexable 02 01 01 01 Frezy Frezy trzpieniowe pełnowęglikowe Milling End Mills Indexable 02 02 01 01 Frezy Frezy z płytkami wieloostrzowymi Milling Ball Mills Non-indexable 02 03 01 04 Frezy Frezy kuliste Milling Face Mills Indexable 02 12 01 01 Frezy Głowice frezarskie Milling T-Slot Mills Non-indexable 02 21 08 00 Frezy Frezy teowe Milling Barrel Mills 02 93 07 00 Frezy Frezy baryłkowe Milling UG - 5 Parameter Cutter 02 90 01 01 Frezy Frezy 5-parametrowe Milling UG - 7 Parameter Cutter 02 91 01 02 Frezy Frezy 7-parametrowe Milling UG - 10 Parameter Cutter 02 92 01 03 Frezy Frezy 10-parametrowe Milling Thread Mills 02 31 02 10 Frezy Frezy do gwintów Milling Mill From Tool 02 51 00 00 Frezy Frezy kształtowe Drilling Twist Drills 03 01 02 00 Wiertła Wiertła kręte Drilling Core Drills 03 03 02 00 Wiertła Wiertła rdzeniowe Drilling Spot Drills 03 21 02 04 Wiertła Nawiertaki długie Drilling Center Drills 03 22 02 01 Wiertła Nawiertaki Drilling Counter Boring Non-indexable 03 51 02 07 Wiertła Pogłębiacze walcowe Drilling Counter Sinking Non-indexable 03 61 02 02 Wiertła Pogłębiacze stożkowe Drilling Gun Drill 03 07 02 00 Wiertła Wiertła kręte długie Drilling Taps 03 71 02 08 Wiertła Gwintowniki Drilling Indexable Insert Drill 03 06 02 00 Wiertła Wiertła na płytki wymienne długie Drilling Fixed Diameter Boring 03 32 02 05 Wiertła Wiertła z płytkami wieloostrzowymi Drilling Machine Chucking Reamers 03 41 02 06 Wiertła Rozwiertaki maszynowe Drilling Taper Machine Reamers 03 42 02 06 Wiertła Rozwiertaki stożkowe Drilling Step Drills 03 04 02 12 Wiertła Wiertła stopniowe Drilling UG Drills 03 90 02 00 Wiertła 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.