ASML

Projekt dla lidera innowacji w branży półprzewodników od 1984 roku.
image

Szczegóły

  • Zakres Rozwój backendu, zarządzanie projektami
  • Innowacja C++ w wersji 11/14
  • Technologie C++, Python
  • Sektor biznesowy Przemysł
  • Model współpracy Time&Material
  • Zespół iteo 5 x programistów backendu
    1 x kierownik projektu

Łatwo rozszerzalne rozwiązanie pozwalające klientowi na dostosowanie sterownika do przyszłych wersji maszyny bez żadnych przeszkód.

Najważniejsze informacje o projekcie

ASML, lider w branży, zatrudnia zespół 25 tys. pracowników, którzy zapewniają producentom chipów wszystko, czego potrzebują – sprzęt, oprogramowanie i usługi do masowej produkcji wzorów na krzemie przy użyciu litografii. Projekt obejmował stworzenie oprogramowania symulacyjnego do obsługi funkcji ramienia robota i dostarczenie klientowi informacji zwrotnych za pomocą ASML Driver Simulator, a także reakcji czujników opartych na warunkach pogodowych.

image
image

Potrzeby i cele biznesowe!

Wysokopoziomowym celem klienta było opracowanie oprogramowania dla nowej generacji maszyn wykorzystywanych do litografii płytek elektronicznych.

Zadaniem zespołu iteo było stworzenie funkcjonalności ramienia robotycznego wraz z testami, umożliwiającej przenoszenie fotorezystów między różnymi miejscami w komorze próżniowej.

Ważne było stworzenie oprogramowania, które będzie rozszerzalne w przyszłości i będzie wspierać kompatybilność wsteczną z obecnie działającymi maszynami.

Funkcjonalność

Sterownik umożliwia przenoszenie fotorezystów za pomocą robota stworzonego na bazie poprzedniej wersji. Umożliwia:

  • Łatwiejsze dodawanie i edycja wykonywanych scenariuszy z uwzględnieniem typu maszyny
  • Obsługa robota z dowolną liczbą ramion
  • Wsparcie dla nowego czujnika używanego do pomiaru pozycji fotorezystu
  • Łatwa rozbudowa o nowe czujniki/siłowniki w przyszłości
image

Innowacja

Używanie języka C++ w wersji 11/14

Główną innowacją było zastosowanie języka C++ w wersji 11/14. W porównaniu do starszego rozwiązania w języku C, pozwoliło nam to wykorzystać wzorce projektowe do stworzenia uniwersalnej architektury łatwej do rozbudowy. Dodatkowo, użycie C++ umożliwiło dobre pokrycie kodu testami, co zaowocuje bardziej stabilnym rozwiązaniem w przyszłości.

Wyzwania i rozwiązania

Głównym wyzwaniem było stworzenie „silnika”, który umożliwiłby zarówno łatwe dodawanie nowych scenariuszy, jak i działanie już istniejących (z poprzedniej wersji kontrolera).

Aby to osiągnąć, zachowaliśmy strukturę, tj. każdy scenariusz składał się z określonej liczby kroków i podkroków – podkroki były operacjami elementarnymi. Poza tym rozwiązanie musiało być kompatybilne z resztą dużego systemu. Osiągnęliśmy to analizując istniejące interfejsy i implementując tylko niezbędne zmiany, które pozwoliły zminimalizować potrzebę zmian w innych modułach.

image

Wynik

Klient będzie w stanie dostosować kontroler do przyszłych wersji maszyny dla większej liczby ramion i nowych czujników. Wysokopoziomowa architektura oprogramowania została przygotowana i udokumentowana.

iteo przedstawiło pomysły i implementację generyczną, która sprawiła, że można ją łatwo rozszerzyć zgodnie z potrzebami klienta. Wykorzystaliśmy nowoczesny zestaw narzędzi programistycznych (Git, Jenkins) zastosowany w projekcie klienta po raz pierwszy.