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