NCXchange – das neutrale NC-Code-Zwischenformat
NCXchange (NCX) ist eine domänenspezifische Sprache als neutrales, herstellerunabhängiges Zwischenformat für NC-Code unterschiedlicher CNC-Steuerungen.
NCXchange (kurz NCX) ist eine domänenspezifische Sprache, die als neutrales Zwischenformat für NC-Code dient. Statt NC-Programme direkt von einem Steuerungsdialekt in einen anderen zu übersetzen, wird der Code zunächst in das herstellerunabhängige NCX-Format konvertiert – und von dort in den Dialekt der Zielsteuerung.
Als universelles Austauschformat ermöglicht NCX die Konvertierung zwischen den Formaten verschiedener Steuerungen (z. B. Heidenhain, Fanuc, Siemens), den Aufbau von Analysefunktionen sowie die Integration in weiterführende Softwareanwendungen.
NCX befindet sich noch in aktiver Entwicklung; Spezifikation und Sprachumfang können sich ändern. Wer sich an der Spezifikation beteiligen oder mitdiskutieren möchte, ist auf der Projektseite auf GitHub herzlich willkommen.
Die Definition beschreibt die Grammatik der Sprache, die Spezifikation dokumentiert alle Sprachelemente, und die Beispiele zeigen die Umsetzung von Fanuc-G-Code in NCX.
Definition
Die Grammatik der NCX-Sprache in Backus-Naur-Form: Wie sich NC-Programme aus Blöcken und Zellen mit Funktion, Adresse und Wert zusammensetzen.
Spezifikation
Alle Elemente der NCX-Sprache im Überblick: Schlüsselwörter, Adressen, Werte, Beispiele und G-Code-Entsprechungen – von PROGRAM bis FEEDRATE_TYPE.
Beispiele
Konvertierungsbeispiele von Fanuc-G-Code nach NCX: Kreisbögen mit G2/G3, Bohrzyklen G81 bis G85 sowie Längen- und Radiuskompensation mit G43 und G41.