Programowanie maszyn CNC to zespół działań zmierzających do utworzenia programu sterującego (koduNC) pracą maszyny w określonym języku oraz formacie. Powinno przebiegać tak, aby w możliwie krótkimczasie otrzymać kod NC spełniający określone warunki oraz gwarantujący wykonanie przewidzianych przeztechnologa zadań obróbkowych.
Zasadniczo programista może opracować taki kod samodzielnie lub też wykorzystać narzędzia wspomagające programowanie, aby skrócić czas tworzenia torów ruchu narzędzi dla bardziej złożonych części. Kluczem do sukcesu firm bazujących na sterowaniu numerycznym procesami wytwarzania jest między innymi idea efektywnego programowania, którego celem jest utworzenie optymalnych torów ruchu narzędzi i dobranie właściwych, ze względu na przebieg procesu oraz czynniki ekonomiczne, parametrów technologicznych. Programowanie powinno przede wszystkim skutkować wytworzeniem efektywnego kodu NC, zapewniając jednocześnie względną prostotę i szybkość realizacji, oraz możliwość współbieżnego projektowania procesu produkcyjnego.
PROGRAMOWANIE RĘCZNE | PROGRAMOWANIE ZAUTOMATYZOWANE |
Programista tworzy kod NC bezpośrednio. Programowanie może odbywać się z pomocą elektronicznych baz wiedzy, systemów CAD, edytorów tekstu lub symulatorów kodu NC. | Programista tworzy kod NC z wykorzystaniem narzędzi wspomagających programowanie. Kod NC generowany jest automatycznie na podstawie danych pośrednich. |
PROGRAMOWANIE PROSTE | PROGRAMOWANIE AUTOMATYCZNE CAD/CAM |
Charakteryzuje się tworzeniem programu sterującego przez wykorzystanie funkcji G, M, T, F itp. bez wykrzystania elementów programowania wysokiego poziomu. | Charakteryzuje się tworzeniem programu sterujęcego przez wykorzystanie oprogramowania komputerowego zarówno do tworzenia modeli jak również ścieżek. Umożliwia programowanie osobom bez znajomości kodu NC który jest generowany przez określony postprocesor. |
PROGRAMOWANIE WYSOKIEGO POZIOMU | PROGRAMOWANIE DIALOGOWE |
Jest programowaniem wymagającym większej wiedzy i doświadczenia. Charakteryzuje się wykorzystaniem zmiennych lub struktur sterujących przebiegiem programu (np. instrukcje warunkowe, pętle programowe). | Charakteryzuje się wykorzystaniem okien dialogowych z grafiką pomocniczą będących narzędziami danego układu sterowania. Jest programowaniem głównie warsztatowym przydatnym do tworzenia krótkich oraz średniej długości programów sterujących. Umozliwia tworzenie programów sterujących osobom z podstawową wiedzą na temat samego kodu NC. |

Bezpośrednie tworzenie kodu NC przez programistę (tzw. programowanie ręczne) jest uzasadnione dla części o prostszych kształtach lub dla takich, które cechować będzie mała liczba skomplikowanych torów ruchu narzędzia. W przypadku części o złożonych kształtach uzasadnione jest stosowanie narzędzi wspomagających programowanie. W tym zakresie można wskazać powszechnie znane zintegrowane systemy CAD/CAM wspomagające zarówno proces projektowania jak i programowania obróbki. Oczywistym jest również fakt, że w określonych sytuacjach (np. ze względu na wymagania procesu technologicznego) możemy stosować obydwie wskazane wyżej metody programowania, bez względu na stopień złożoności wytwarzanej części.

Przykłady komercyjnych systemów CAM (lub zintegrowanych CAD/CAM): AlphaCAM, CATIA, Edgecam, ESPRIT, Gibbscam, GTJ-2010, Mastercam, NCGCam, NX CAM, Pro/ENGINEER, SolidCAM.
Przykłady bezpłatnych systemów CAM: CAMBAM, GCAM, GSIMPLE.
Przykładowe symulatory i programy do edycji kodu NC: AutoEditNC, CNC SIMULATOR.



Spełnienie wzrastających wymagań współczesnej produkcji jest możliwe przy stosowaniu nowych lub udoskonalaniu istniejących i sprawdzonych metod wytwarzania. Ma to również odzwierciedlenie w obszarze automatyzacji procesów technologicznych, a w szczególności w zakresie sterowania numerycznego. Można tutaj wskazać wyzwania stojące przed osobami zajmującymi się tworzeniem narzędzi wspomagających tworzenie kodów NC oraz samymi programistami maszyn CNC:
- tworzenie i wykorzystanie globalnych baz narzędzi i technologii obróbki,
- zwiększanie intuicyjności narzędzi programistycznych,
- normalizacja oparta o najlepsze rozwiązania,
- stosowanie idei sterowania adaptacyjnego procesami wytwarzania, gdzie parametry technologiczne procesu będą zmieniane, w zależności od aktualnych warunków w strefie obróbki,
- tworzenie zaawansowanych i sprzężonych ze sobą metod projektowania (CAD) i programowania (CAM),
- tworzenie innowacyjnych języków programowania umożliwiających prostsze programowanie nawet bardzo złożonych torów ruchu narzędzi.
Z uwagi na ograniczenia, jakie posiadają programy CAM, jak również ze względu na brak wystarczających informacji o przebiegu obróbki podczas programowania ręcznego, może zaistnieć potrzeba zoptymalizowania utworzonego kodu NC. Tworzone są systemy służące specjalnie do tego celu. Koncepcję optymalizacji kodu przedstawiono w sposób uproszczony na powyższym rysunku.

W przedsiębiorstwach produkcyjnych bardzo ważną rolę odgrywa prawidłowy przepływ danych. Na schemacie przedstawiono koncepcję przepływu programów sterujących. Kluczową rolę odgrywa na nim technologiczna baza danych, w której zapisywane są informacje, z których (z różnymi uprawnieniami) mogą korzystać pracownicy.

Wielu zadaje sobie pytanie o przyszłość metod programowania maszyn CNC. Wszystko wskazuje na to, że coraz częściej stosowane będą metody oparte o wspomaganie komputerowe. Metody te będą dostosowywane do rosnących możliwości technologicznych maszyn, które powinny umożliwiać coraz dokładniejszą obróbkę części.
Poniżej podano przykładowe czynniki mające wpływ na otrzymanie kodu NC wysokiej jakości:
- Wysokowydajne strategie tworzenia ścieżek w systemac CAM
- Tworzenie baz danych sparametryzowanych kodów NC do obróbki części podobnych Znajomość technologii w jakiej wytwarzany będzie przedmiot
- Opracowanie i wykorzystywanie baz wiedzy
- Programowanie na bazie opracowanego wcześniej procesu technologicznego
- Inwestowanie w niezbędny sprzęt i oprogramowanie
- Inwestowanie w podnoszenie kwalifikacji technologow programistów
- Optymalna metoda umożliwiająca szybkie opracowanie programu
- Możliwości technologiczne maszyny
- Prawidłowo wykonany postprocesor dla programowania automatycznego
- Zmienne parametry obróbki zapisane w programie uzależnione od warunków w strefie obróbki
- Optmalizowanie kodu NC na etapie programowania po postprocesingu
Oprócz dokładności ważne są również: obróbka z dużymi prędkościami, wzrost znaczenia obróbki kompletnej części, tworzenie zautomatyzowanych linii produkcyjnych oraz stosowanie rozwiązań zwiększających bezpieczeństwo pracy. Firmy produkujące systemy CAM dążą przede wszystkim do maksymalnego uproszczenia całego procesu programowania, ale również zwiększają skuteczność algorytmów tworzących dane geometryczne i technologiczne dla określonych zadań obróbkowych (dane pośrednie).
W systemach CAM pojawiają się bazy danych, z których można korzystać w trakcie programowania. Pojawiają się również moduły lub oddzielne programy optymalizujące przebieg ruchu narzędzi i parametry obróbki, celem np. skrócenia czasu trwania obróbki lub też zwiększenia trwałości narzędzia.
W przemyśle istotnym jest uzyskanie określonych efektów wytwarzania, a także wytwarzanie bez zbędnych kosztów – dla osiągania większych zysków i stabilnego rozwoju. Istnieje potrzeba takich zmian metod programowania, które zagwarantują realizację przedstawionych wyżej celów.
Witold Habrat, Roman Wdowik
artykuł pochodzi z wydania 6 (33) czerwiec 2010