Messrechner Software für Wafer-Vorvermessungsanlage für Hochdrucksensorelemente

Kategorie Embedded Softwareentwicklung
Firma Robert Bosch GmbH
Schwerpunkt Ansteuerung der Messgeräte, Kommunikation mit Anlagen-Steuerung (SPS),
Grafische Benutzeroberfläche, Auswertung und Visualisierung der Messergebnisse
Zeitraum Q1 2015 bis Q2 2015
Team 3 Mann
Beschreibung Die Anlage dient der Qualitätssicherung und hat folgende Funktionen:

Wafer werden in zwei Kassetten der Anlage zugefügt, wobei jede Kassette bis zu 9 Wafer trägt. Jeder Wafer kann dabei mehrere Hundert Sensoren tragen. Ein Roboter entnimmt den Wafer und legt ihn auf eine Bearbeitungsträgerplatte (Chuck), die den Wafer hält und temperiert, ab.
Zeitgleich erfolgt vom Leitsystem ein Datenaustausch mit den Daten der Wafer. Dabei werden für jeden Wafer in einem Verzeichnis auf der Festplatte des Messrechners zwei Datenfiles abgelegt. Eine Datei enthält den Aufbau des Wafers u.a. mit Fehlstellen im Wafer, Positionsangaben der einzelnen Sensoren und weitere Grunddaten. Die andere Datei enthält Messungen aus vorlaufenden Messstationen welche im Folgenden Arbeitsprozess der Anlage für Verrechnungen verwendet werden.
Im Verlauf der Bearbeitung werden Messdaten zu jedem einzelnen Sensor erzeugt und zwischengespeichert sowie bewertet. Nach Bearbeitung des Wafers auf dem Chuck werden diese Einzelmessungen in die Dateien übernommen.
Die Messung erfolgt dabei mittels einem Kontaktwerkzeug (Spinne) das bis zu vier Sensoren gleichzeitig kontaktieren kann. Diese Spinne wird von der SPS positioniert.
Nach dem Ausrichten erfolgt ein Kommandoaustausch mit der SPS. Diese erwartet nun vom Messrechner Positionsdaten zum Anfahren der ersten Position der Spinne. Der Messrechner sendet Positionierdaten und entsprechende Kommandos über ein Softwareinterface (TCP-IP Socket Kommunikation) an die SPS, die SPS positioniert und meldet die erfolgreiche Positionierung zurück. Bei auftretenden Fehlern bei der Sensorvermessung sendet der Messrechner ein Reinigungs-kommando worauf beim nächsten Sensorwechsel die Spinne von der SPS auf ein Klebepad gesetzt wird und damit gereinigt wird und danach auf die geforderte Position zurückfährt. Die Anforderung der Reinigung soll dabei parametrierbar sein. Ebenso war ein Halt für eine Bedienerentscheidung parametrierbar vorzusehen. Nach dem Aufsetzten der Spinne erfolgt eine Vermessung gemäß einem Messprogramm welches Wafer-Typ-abhängig ist. Die Vermessung erfolgt dabei über eine zweite Ethernet-Verbindung über TCP-IP fähige Messgeräte.
Der Messrechner übernimmt auch die Visualisierung und Teile der Bedienung des Systems. Diese beiden Funktionen unterteilen sich in:
• Visualisierung der Kassetten mit den Wafern mit Abbildung des Bearbeitungsfortschrittes und der voraussichtlichen Bearbeitungszeit der Kassette, sowie eine Fehlerstatistik.
• Visualisierung des aktuell in Bearbeitung befindlichen Wafers als Map, d.h. geografische Darstellung der einzelnen Sensoren ähnlich einer matrixorientierten Landkarte.
• Bedienung über virtuelle Tasten auf dem Touchscreen Monitor wobei der Tastendruck an die SPS als Kommando gesendet wird.Funktional waren folgende Aufgaben zu erledigen:
• Kommandoaustausch mit der SPS (Kontrollfunktion).
• Datenaustausch mit der SPS (z.B. Positionsdaten).
• Datenverwaltung (Einlesen der Datensätze und Speichern der geänderten Datensätze).
• Auswertung der Prüfvorschriften und Ansteuerung der Messtechnik.
• Aufbereitung und Darstellung der Messdaten.

Die Umsetzung erfolgte in C++ unter Verwendung der Klassenbibliothek Qt. Da zum Zeitpunkt der Softwareentwicklung weder die Anlage selbst, noch eine funktionierende SPS vorhanden war, mussten zu Beginn alle Anlagenfunktionen durch von uns entwickelte Hilfsprogramme simuliert werden.

Weitere besondere Herausforderungen waren:
• Durch variable Wafer- und Sensorgrößen musste die grafische Darstellung skalierbar sein.
• Das Abfangen aller möglichen Fehlerzustände und daraus folgende Aktionen.
• Für das optimale Durchlaufen des Wafers musste ein selbstoptimierender Algorithmus entwickelt werden.
• Softwaretechnische Berücksichtigung einer späteren Erweiterung der Anlage.
• Das Fehlen grundlegender Informationen, wie z.B. Dateiformate.
• Die Überschätzung der Möglichkeiten der SPS, was zahlreiche Anpassungen im Gesamtkonzept der Anlage erforderte.
• Zahlreiche Änderungen der Anforderungen durch den Endkunden.

Tools und Technologien TCP/IP Sockets
Multi-Threading
C++
Qt V5.4
Qt-Creator