In der Zeitschrift „Hardware Hacks“ Ausgabe 1/2013 wurde im Rahmen eines Tests (S. 30ff) von Desktop-CNC Maschinen kritisiert, dass bei vielen der getesteten Maschinen noch der LPT-Port (Parallelport) als Schnittstelle zum PC verwendet wird. Warum das meiner Meinung nach trotzdem sinnvoll ist, will ich nachfolgend erläutern:
Es stimmt zwar, dass der Druckerport (LPT) im PC längst obsolet ist. Trotzdem hat er als Schnittstelle für Schrittmotorsteuerungen in low-cost CNC-Anwendungen nach wie vor seine Berechtigung. Dies ist vor allem darauf zurückzuführen, dass im Endgerät kein Protokoll implementiert werden muss, sondern die I/O-Signale direkt verwendet werden können – nach dem sie idealerweise auf einer Interfacekarte (oft auch als Breakout Board bezeichnet) noch etwas aufbereitet wurden. Musste man früher die Pinbelegung ggf. noch durch ein handgelötetes Adapterkabel anpassen, können heute eigentlich alle gängigen Programme auf unterschiedliche Pinbelegungen hin angepasst werden.
Steht kein LPT-Port mehr zur Verfügung oder soll aus Performance-Gründen USB oder LAN eingesetzt werden, ist dies trotzdem ohne Weiteres möglich. Aufgrund der bereits genannten Protokoll-Problematik ist hierfür jedoch ein Controller erforderlich, der zu dem eingesetzten CNC-Programm passt. WinPCNC wird z.B. in der USB-Version gleich mit einem passenden Controller geliefert, der 2 „LPT“-Ports als Schnittstelle zur Elektronik bietet. Mit dem „Smooth-Stepper“ gibt es für Mach3 ähnliche Lösungen sowohl für USB als auch Ethernet. Ausgangsseitig werden auch hier diskrete I/Os in Anlehnung an den LPT-Port verwendet.
Wenn ein Maschinenhersteller also für seine Steuerung auf den LPT-Port setzt, ist das letztlich im Sinne des Anwenders, weil diese nicht an die vom Maschinenbauer präferierte Software gebunden ist. Statt dessen bleibt dem Anwender die freie Wahl, welche Software er einsetzen möchte.
Tags: Breakout board, CNC, Elektronik, Ethernet, Interface, LPT, Schrittmotor-Steuerung, Takt-/Richtung, USB
Sehr aufschlussreich. Gibt es denn bereits Bestrebungen, Schnittstellen auf Protokollebene zu standardisieren?
In der Richtung ist mir nichts bekannt. Eine Standardisierung würde ja eine Offenlegung der Protokolle bedeuten, und da wollen sich die kommerziellen Anbieter meist nicht in die Karten schauen lassen. Projekte mit offengelegtem Protokoll sind z.B. der NC-Pilot USB oder GBRL, ein G-Code Interpreter für Arduino/AVR.