engelhuber.de //blog

Gehirnfürze aus der Sicht eines Nerds

[Update 05.03.13] Navision POS/Kundendisplay ansteuern

| 8 Kommentare

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.

Navision_POS_DisplayRecht simpel, aber funktioniert 🙂
Hier die Objekte zum Rumspielen und verfeinern: F50000_Navision_POS_Display.rar

Navision_POS_Display2

 

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!

Autor: Engelhuber

Wenn dir der Post hilfreich war bzw. er dir gefallen hat, würde ich mich über ein Kommentar freuen. Natürlich ist auch negative Kritik gerne gesehen ;) Du findest mich auch auf Google+...

8 Kommentare

  1. Man bist du fleißig 😉

  2. aber hallo, was denkst du denn 😉

  3. Hi Engelhuber,
    benutzt du Windows 8?? Bei mir füllt das Display sich nur mit irgendwelchen wilden Zeichen!

  4. 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ß

  5. 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?

  6. 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

  7. 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.

  8. 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.

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.