Diagnose für die Kommunikation mit dem EC-Terminal

Heute gibt es in unserem Blog einen etwas technischeren Artikel.

Sollte es bei der Kommunikation zwischen Kasse und Terminal zu Problemen kommen, konnte man schon in der Vergangenheit die übertragenen Daten in einer Log-Datei aufzeichnen. Leider lässt sich so ein Datenstrom wie 10 02 06 d1 17 40 2a 20 2a 20 20 48 84 6e 64 6c 65 72 62 65 6c 65 67 20 20 2a 20 2a 10 03 1c 81 nur sehr schwer lesen. Aus diesem Grund stellen wir auf Anfrage ein kleines Tool zur Verfügung, dass die Daten aus der Log-Datei extrahiert und aufbereitet.

Unten ist ein Beispiel für die Ausgabe dieses Tools zu sehen. Jedes Datenpaket wird in seine Bestandteile zerlegt und zu jedem Einzelbestandteil werden weitere Details angezeigt. Im konkreten Fall handelt es sich hier um eine einzelne Textzeile, die das Terminal zum Drucken an die Kasse schickt („* * Händlerbeleg * *“ soll zentriert gedruckt werden). Die Kasse bestätigt zunächst den Empfang (ACK) und sendet dann ein Paket mit der Nachricht, dass die Druckdaten verarbeitet werden konnten. Das Terminal bestätigt ebenfalls mittels ACK.


recv: 10 02 06 d1 17 40 2a 20 2a 20 20 48 84 6e 64 6c 65 72 62 65 6c 65 67 20 20 2a 20 2a 10 03 1c 81
DLE STX <ADPU> DLE ETX <CRC1> <CRC2> 
  ADPU: PrintLine
    Text: * * Händlerbeleg * *
    IsCentered: True
    IsDoubleHeight: False
    IsDoubleWidth: False
    IsLastLine: False
    IsNormalText: False

send: 06
ACK

send: 10 02 80 00 00 10 03 f5 1f
DLE STX <ADPU> DLE ETX <CRC1> <CRC2> 
 ADPU: Success

recv: 06
ACK

Verwendete Abkürzungen:

  • recv – Empfange Daten
  • send – Sende Daten
  • DLE STX – Data Link Escape, Start of Text – Beginn eines Datenblocks
  • DLE ETX – Data Link Escape, End of Text – Ende eines Datenblocks
  • CRC1, CRC2 – Bytes 1 und 2 der Prüfsumme
  • ADPU – Application Protocol Data Unit – Nutzdaten im ZVT-Protokoll
  • ACK – Acknowledge – Bestätigung, dass ein Datenblock empfangen wurde