Schneidplotter aus China

Und er läuft doch …

… unter Windows und Linux!

Schon vor längerer Zeit hatte über ich über ein bekanntes Portal einen Vinylplotter aus China erstanden. Wie so häufig reizte der Preis. Immerhin konnte man hier für wenig mehr als 260 Euro einen Schneidplotter mit 870mm Breite erhalten. Das Gerät unterstützt die Seitenbeschreibungssprachen HPGL und DMPL.

Chinaplotter Auktionsbild
So wurde er beworben.

Dazu gab es eine Software (Artcut) für Windows und ein wenig Zubehör (3 Messer, Stifthalter, USB-Kabel). Die Software habe ich schon nach wenigen Tagen weggepackt. Unter Win 7 habe ich sie einwandfrei installieren können, unter Win 10 ist mir das nicht gelungen. Für Linux lag sie nicht vor. Von anderen Grafikprogrammen bin ich, was das Handling und den Funktionsumfang angeht, erheblich mehr gewohnt.
Meine Idealvorstellung war, den Plotter wie einen Drucker einzubinden und aus einem Vektorzeichenprogramm einsetzen zu können. Dem Plotter lag ein Treiber für einen CH-340-Baustein bei. So etwas wird bspw. benötigt um einen Arduino an einen PC anzuschliessen.

Chinaplotter
Nach dem Zusammenbau.

Ein wenig Suche im Internet ergab, dass mein favorisiertes Vektorzeichenprogramm Inkscape eine Erweiterung zum Plotten bereits mitbringt. Dafür wird das Python-Modul pyserial benötigt. Offenbar läuft dieses in der aktuellen Version unter Win 10 nicht. Im Netz wird Version pyserial 2.7 empfohlen. Nach dem Download muss das Unterverzeichnis serial im Ordner C:\Program Files\Inkscape\python\Lib\ entpackt werden. Je nachdem wo Inkscape installiert wurde kann das auch C:\Program Files (x86)\Inkscape\python\Lib\ sein. Unter Kubuntu 16.04 habe ich die neueste Version von pyserial bislang noch nicht ausprobiert und stattdessen gleich auch 2.7 installiert. Hierzu das source-package downloaden und entpacken. Danach in das entpackte Verzeichnis pyserial-x.y wechseln und dort python setup.py install eingeben.

Da für Windows der CH-340-Treiber mitgeliefert wurde habe ich ihn dort auch installiert. Etwas unkonfortabel muss man nach dem Anschluß des Plotters an die USB-Schnittstelle erst nachsehen, welchem virtullen COM-Port er zugewiesen wurde, denn die Schnittstelle muss später im Plotten-Dialog der Inkscape-Erweiterung angegeben werden. Das gleiche gilt allerdings auch für den Anschluß mit Hilfe des USB-Kabels unter Linux. Der CH-340-Baustein stellt einen USB-Serial-Adapter zur Verfügung.

Win10: Nachschauen des virtuellen COM-Ports.
(Hier: COM3)
USB- und COM-Schnittstelle
USB- und COM-Schnittstelle

Letzlich soll der Plotter sein Dasein am Linux-Rechner fristen und da dieser Rechner noch über eine reale COM-Schnittstelle verfügt, habe ich ihn mittels seriellem Kabel auch dort angeschlossen. Zunächst bekam ich beim Plottversuch aus Inkscape nur Fehlermeldungen, was eine lange Fehlersuche nach sich zog.

Fehlermeldung beim Plotversuch auf ttyS0.
Fehlermeldung beim Plotversuch auf ttyS0.

Die komplette Fehlermeldung lautete:

Traceback (most recent call last):
File „plotter.py“, line 227, in <module>
e.affect()
File „/usr/share/inkscape/extensions/inkex.py“, line 268, in affect
self.effect()
File „plotter.py“, line 96, in effect
self.sendHpglToSerial()
File „plotter.py“, line 162, in sendHpglToSerial
if ‚ould not open port‘ in inst.args[0]:
TypeError: argument of type ‚int‘ is not iterable

Letztlich war es wohl ein Rechteproblem an der Datei /dev/ttyS0. Mit chmod 666 /dev/ttyS0 habe ich die Datei zum lesen und schreiben freigegeben, danach hat alles einwandfrei funktioniert. Merkwürdig, dass danach auch der Anschluß über USB funktionierte. Ich kann mir das nur so erklären, dass hier ein USB-Serial-Adapter zum Einsatz kommt. Vielleich spielt ttyS0 auch bei einem virtuellen seriellen Port (Anschluss über ttyUSB0) eine Rolle?

Auch hier wird das Gerät, wie bei Win10, als USB-Serial-Adapter erkannt. Mit den Befehlen lsusb und dmesg | grep usb kann man sich unter Linux Klarheit verschaffen.

Ausgabe nach lsusb
Ausgabe nach lsusb
Ausgabe nach dmesg | grep usb
Ausgabe nach dmesg | grep usb

In Inkscape müssen die zu plottenden Objekte zunächst in Pfade konvertiert werden. Danach kann man die Erweiterung zum plotten starten: Erweiterungen – Exportieren – Plotten. Unter dem Reiter Verbindungseinstellungen ist die Bezeichnung für den Port anzugeben: /dev/ttyS0 für den Anschluß direkt an den physischen seriellen Anschluß oder /dev/ttyUSB für den Anschluß mit dem USB-Kabel und mit Einsatz des eigebauten USB-Serial-Adapters.

Dialog der Inkscape-Erweiterung zum Plotten.
Dialog der Inkscape-Erweiterung zum Plotten.
(Hier mit der Anschlußvariante USB.)

Als nächstes werde ich den Plotter unter Linux als Drucker einrichten. Ein vielversprechendes Programm, um aus Anwendungen auf dem Plotter auszugeben, habe ich im Netz bereits entdeckt: TuxPlot.
Nach dem Test werde ich hier darüber berichten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*