Hier möchte ich mal kurz beschreiben wie man mit Hilfe von Navision ein serielles POS bzw. Kundendisplay der Marke Jarltech ansteuert, da ich darüber keinerlei Information gefunden habe.
Da mein Test-Display (Glacetron 8034) nur eine Zeichenanzahl von 2*20 Zeichen hat, ist mein Beispiel auf max. 20 Zeichen pro Zeile beschränkt.
Das Display kann mit diversen Steuercodes gesteuert werden. Die Codes können im Handbuch des Displays eingesehen werden.
Für meinen Test habe ich lediglich die Codes für einen Zeilenumbruch, Alles löschen und Zeilenanfang benötigt.
Wichtig ist dass die Variablen für diese 3 Codes als Character Variable angelegt und später mit den jeweiligen Steuercodes initialisiert werden:
Zeilenumbruch := 10; // Umbruch für Display AllesLöschen := 26; // alles auf dem Display löschen Zeilenanfang := 13; // Cursor am Anfang der Zeile positionieren
Beim Klick auf „Ausgabe“ wird nun eine Textdatei mit den auszugebenden Zeilen und den Steuercodes erstellt und diese mittels WSH (Windows Scripting Host) an den COM Port weitergeleitet.
Recht simpel, aber funktioniert 🙂
Hier die Objekte zum Rumspielen und verfeinern: F50000_Navision_POS_Display.rar
Update 05.03:
Da mich der kurze CMD Popup mittels WSH in Navision etwas gestört hat, habe ich ein kleines Tool gebastelt welches auch ganz normal via SHELL aufgerufen werden kann. Das Tool läuft unsichtbar und erfordert zwei Parameter: die Datei die ausgegeben werden soll und den COM-Port.
Navision: SHELL('C:\POSDispOut32.exe','C:\POSDispOut.dat','COM1'); CMD: C:\POSDispOut32.exe C:\POSDispOut.dat COM1
Hier das Tool für 32 und 64bit: POSDispOut.rar
Hinweis: Sollte das Display nur irgendwelche wirren Zeichen anzeigen, muss der COM-Port vorher umkonfiguriert werden.
CMD: MODE COM1: 9600, N, 8, 1
Danke an Tobias!
4. Februar 2013 um 16:41
Man bist du fleißig 😉
4. Februar 2013 um 18:01
aber hallo, was denkst du denn 😉
15. Februar 2013 um 12:56
Hi Engelhuber,
benutzt du Windows 8?? Bei mir füllt das Display sich nur mit irgendwelchen wilden Zeichen!
15. Februar 2013 um 14:33
Hi Tobias,
habe es bisher nur unter XP getestet da mein Notebook keinen seriellen Anschluss hat.
Aber danke für den Hinweis, werde ich noch mal unter Win7/8 testen.
Gruß
15. Februar 2013 um 14:47
OK Ich habe nun Rausgefunden, dass ich erst im CMD den COM Mode umstellen muss.
Dennoch scheint das Steuerzeichen zum Löschen nicht richtig zu funktionieren. Hast du einen Tipp was ich noch einstellen muss?
15. Februar 2013 um 15:14
Konnte es gerade auch mal unter Win7 testen.
Bei mir erscheinen nur €€€-Zeichen. Aber selbst wenn ich es über CMD per „echo test > COM1“ versuche.
Hängt denke ich mir dem Zeichensatz zusammen.
So weit ich weiß wurde ab Vista ein anderer Zeichensatz verwendet!?
Bin jetzt erst mal eine Woche im Urlaub und dann werde ich noch mal rumspielen.
Würde mich aber mal interessieren was bei dir mit dem ECHO Befehl raus kommt
15. Februar 2013 um 15:18
Bei mir kamen auch nur irgendwelche komischen Zeichen, aber eher so vier Horizontale Balken übereinander und ein C mit strich unten dran. Wenn du allerdings erst diesen Befehl ausführst, dann solltest du Text angezeigt bekommen:
MODE COM4: 9600, N, 8, 1
Aber auch im cmd bekomme ich es irgendwie nicht hin, das Display zu löschen.
28. Februar 2013 um 11:20
Danke für den Hinweis, somit funktioniert es auch unter Win7.
Bzw. hatte das gleiche Problem auch auf einem anderen XP Rechner.
Schreibe dir die Steuerzeichen in eine Textdatei uns sende die an den COM-Port. Dann sollte es gehen. In der Shell habe ich es auch nicht hinbekommen.