Programmierung in der Koordinatenmesstechnik
Programmierung von Messprogrammen | Programmierung in der Messsoftware | Skripting mit Python in GOM Anwendungen | Beispielprogramm für GOM ATOS |Programmierung von Messprogrammen
Unter Programmierung versteht man in der Koordinatenmesstechnik gemeinhin die Erzeugung von Messprogrammen für automatisierte taktile und auch optische Koordinatenmessgeräte. Sowohl offline ("maschinenfern", "hauptzeitparallel") als auch online ("teach-in") werden hierzu Messpunkte, Umfahrpunkte oder Bahnkurven definiert, mit deren Hilfe vorgegebene Merkmale am Messobjekt erfasst werden können. Weiterhin enthalten diese Messprogramme meist auch Befehle zur Verknüpfung einzelner Messpunkte, so dass auch die Abweichungen von komplexeren Geometrien zu deren Solldaten ausgewertet werden können.
Herstellerneutrale Programmiersysteme stellen der Messsoftware die Messprogramme in einem herstellerneutralen Format zur Vefügung, dies kann beispielsweise im Format DMIS sein. Neben der im Diagramm gezeigten Unterteilung der offline Programmierung in herstellerspezifische und herstellerneutrale Systeme kann auch eine Unterscheidung der Programmierung innerhalb einer Messsoftware oder innerhalb eines CAD-Systems getroffen werden.
Verschieden umfangreiche und komplexe Messsoftwares zur Erstellung von Messprogrammen für taktile oder optische Koordinatenmessgeräte und auch für deren Abarbeitung finden sich bei den Informationen zu Firmen im Kapitel Messsoftware".
Programmierung in der Messsoftware
Weitaus weniger verbreitet ist die Vorstellung der Programmierung DER Messsoftware (und nicht wie beschrieben die Programmierung MIT einer Messsoftware), also einer Programmerstellung innerhalb der Messsoftware selbst zur Steuerung eben dieser Messsoftware, auch bekannt als "Skripting" oder in der einfachsten Form als eine Art "Makrorekorder", wobei meist durch Automatisierung von Routinetätigkeiten aber teilweise deutliche Zeiteinsparungen zu erzielen sind. Darüber hinaus ist es mit einer solchen Programmierung innerhalb der Messoftware auch möglich, dem Messtechniker in der Anwendung fehlende Funktionen doch bereitzustellen, sei es dauerhaft oder bis zu einer regulären Implementierung in die Anwendung selbst. Hierzu ist dann aber meist die Verfügbarkeit und Nutzung einer leistungsstarken und befehlsstarken Programmiersprache ("Hochsprache") unerlässlich.
Die einfachste Stufe, um Befehlsketten oder bestimmte wiederkehrende Abläufe innerhalb einer Messsoftware zu automatisieren, sind Makrorekorder. Nach dem Start des Rekorders zeichnet dieser alle im folgenden vom Anwender aufgerufenen Befehle und durchgeführte Aktionen auf. Durch ein Ersetzen z.B. spezifischer Elementnamen durch Variablen wird ein solches Makro auf verschiedene Messobjekte und Randbedingungen anwendbar und damit universeller.

Skripteditor von PolyWorks 10 von Fa. Innovmetric
Deutlich leistungsfähiger sind dann Programmierumgebungen innerhalb der Messsoftwares, welche zwar immer auch noch einen Makrorekorder für die Befehlsaufzeichnung enthalten, die aber mit Befehlen einer speziellen "Skriptsprache" oder sogar einer höheren Programmiersprache ergänzt werden können. Ein Beispiel für eine Software mit einer Skriptsprache ist "Polyworks" von Innovmetric mit der "Macro Script Control Language" (MSCL). Höhere Programmiersprachen werden hingegen von PCDMIS von Hexagon genutzt (Visual Basic) oder von "GOM Inspect" von Fa. Carl Zeiss GOM Metrology (Python).
Skripting mit Python in ZEISS Anwendungen
Das Skripting in der ZEISS Software basiert auf einer Art Makrorekorder, welcher alle in der Software ausgeführten Operationen in Form eines Python Skripts aufzeichnen kann. Der Anwender kann diese Aufzeichnung dann ergänzen und erweitern, gegebenenfalls auch verallgemeinern, also beispielsweise anstelle der aufgezeichneten, konkreten Elemente mit Variablen als Platzhalter arbeiten. Grundsätzlich ist aber auch die komplette Neuerstellung eines Python Programms oder Python Skripts möglich, ohne vorab oder währenddessen mit aufgezeichneten Befehlsfolgen zu arbeiten.
Das folgende Bild zeigt den in der Software von ZEISS integrierten Skripteditor, welcher die Python- und auch die ZEISS-Skript-Befehle zur besseren Übersicht mit einer farblichen Hervorhebung versieht.

Screenshot des Skripteditors der Messsoftware "ZEISS INSPECT"
Ein Skript innerhalb der ZEISS Software bzw. setzt dabei zum einen auf einem Python-Interpreter auf, um die regulären Befehle dieser Sprache nutzen und verarbeiten zu können. Der Zugriff auf spezielle Funktionen der Anwendung (wie z.B. "ZEISS INSPECT") oder auf einzelne Elemente (wie Punkte, Kreise, Abstände, Toleranzen usw.) erfolgt dabei über das "ZEISS Application Interface", einer speziellen Schicht als Schnittstelle zwischen der Anwendung und dem Skript.
Um eine leistungsfähigere Programmierumgebung nutzen zu können als den in "ZEISS INSPECT" integrierten Editor ist es mittlerweile möglich, den von Microsoft kostenlos bereitgestellten Editor "Visual Studion Code" mit der Anwendung "ZEISS INSPECT" zu verknüpften und die Programmiertätigkeiten dort vorzunehmen. Die Programme aus "ZEISS INSPECT" werden in "Visual Studio Code" gespiegelt und auch von wieder zurück in die Messsoftware übernommen.

Screenshot des Fensters von "Visual Studio Code" mit Programmen aus "ZEISS INSPECT"
Die Programmierungumgebung "Visual Studion Code" kann man kostenlos von einer Webseite von Microsoft herunterladen und installieren. Eine Anleitung zur Verknüpfung der Messsoftware "ZEISS Inspect" und "Visual Studio Code" findet man auf der Webseite Add-On Documentation von Carl Zeiss GOM Metrology.