Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Barcode- und Scannertypen

  Alt 7. Aug 2005, 18:53
Also, ein Scanner macht erstmal alles alleine, also er erkennt den Barcodetypen, dann liest er den Code, interpretiert ihn und schickt ihn zum Host.
Du kannst den Scanner über die serielle Schnittstelle, USB oder über die Tastatur anschliessen.
Ich verwende die serielle Schnittstelle, wenn ich wissen will, ob etwas eingescannt oder eingetippt wurde, ansonsten ist die Einschleifung über die Tastatur die bei weitem einfachste Möglichkeit.
Beim Scanner kannst Du, je nach Modell, einstellen:
- ob und welche Zeichen VOR dem Code geschickt werden soll
- ob ein Zeichen geschickt wird, das den Typ des Barcodes (ITF, EAN, Code39, Code128 etc) identifiziert
- ob und welche Zeichen NACH dem Code geschickt werden soll
- ob eine Checksumme, die am Barcode dranhängt, gleich mitgeprüft werden soll
etc. etc. etc.

Wenn Du z.B. eine Dateneingabe mit Barcodes vereinfachen willst, dann programmierst Du den Scanner (per Handbuch und speziellen Codes) so, das nach jedem Code ein TAB mitgeschickt wird.

Bei Barcodekomponenten solltest Du sicherstellen, das diese pixelgenau drucken. So ist z.B. beim Code39 das Verhältnis zwischen dickem und dünnem Strich als 2,4:1 definiert, mit Toleranzen als 2:1 - 3:1. Der Scanner dekodiert also die Striche und muss entscheiden, ob ein Strich dick oder dünn ist. Bei sehr kleinen Codes auf Pixelebene ist das ein Problem:
Angenommen, der Code ist so lütt, das ein dünner Strich 1 Pixel, und ein Dicker 2 Pixel breit ist, was innerhalb der Toleranz liegt. Bei schlampigen Renderern (den barcodedruckenden Komponenten) ist ein dünner Strich eben 1 oder 2 Pixel breit, und der dicke Strich 2-3 Pixel breit (aufgrund von Rundungsfehlern)! Ich würde einfach einen Barcode-Font installieren. Bei Code39 muss man aber ein '*' vorne und hinten anstellen. Um also 123 als Barcode auszudrucken, muss man *123* schreiben.

Zu Deinen Fragen:
Welchen Scanner?
CCD-Scanner sind billig und robust. Das reicht für die meisten Anwendungen, aber der Scanner muss direkt auf dem Barcode liegen. Es gibt zwar mittlerweile Scanner mit Beleuchtung, aber trotzdem ist die maximale Entfernung wenige Zentimeter.

Laser-Scanner sind teurer, aber dafür kann man den Barcode quasi aus der Ferne "abschiessen". Die Supermarktkassen haben Laserscanner. Die maximale Leseentfernung beträgt (mit speziellen Etiketten) bis zu 4 Metern!

Anschluss:
seriell, USB oder Keyboard, egal (s.o)

Typen:
Interleaved 2 of 5: Sehr kompakt, veraltet, anfällig für Fehllesungen.
Code39: Ziemlich sicher, freie Fonts erhältlich, sodass direkt (ohne Komponente) gedruckt werden kann.
Code128: Sehr kompakt, sehr sicher (mein Favorit).
u.v.a.

Daneben sind auch die 2D-Codes interessant, aber Scanner sind (noch) nicht so billig.


Hoffe, das hilft
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat