AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

EAN128 mehrdeutig ?

Ein Thema von Hansa · begonnen am 14. Nov 2007 · letzter Beitrag vom 14. Nov 2007
Antwort Antwort
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

EAN128 mehrdeutig ?

  Alt 14. Nov 2007, 09:58
Hi,

hier wurde die Behauptung aufgestellt, der Strichcode EAN128 könnte mehrdeutig sein. Ich habe gesagt, das könne kaum sein, weil es Prüfsummen usw. gibt. Aber wer weiß ? Hat jemand den im Einsatz ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Dunkel
Dunkel

Registriert seit: 26. Mär 2007
Ort: Klingenstadt
541 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: EAN128 mehrdeutig ?

  Alt 14. Nov 2007, 10:25
Wie sollen die Daten eines Strichcodes mehrdeutig sein? Entscheidet der Strichcodescanner oder die Software dann nach gut dünken welche Daten dem User anzuzeigen sind?

Laut Wiki sind aber verschiedene Datenbezeichner definiert welche unterschiedliche Informationen beinhalten können. Wahrscheinlich baut diese Behauptung darauf auf.
Es ist zu wahr um schön zu sein...
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

Re: EAN128 mehrdeutig ?

  Alt 14. Nov 2007, 10:28
EAN 128 bedeutet ja: es ist ein Code 128 Barcode, der mit dem Symbol FC1 beginnt.
Code 128 trägt in sich schon eine Prüfsumme.
Wenn ein Scanner die Prüfsumme checked, ist die Wahrscheinlichkeit doch sehr hoch, dass der Barcode
korrekt gelesen wurde.
Nach dem FC1 folgt ein Datenbezeichner (2 bis 4 Ziffern) gefolgt von den Nutzdaten.
siehe: http://www.gs1-germany.de/content/e39/e50/e236/e237
Dies kann sich innerhalb eines Barcodes auch mehrfach wiederholen.
Je nach Datenbezeichner ist die Länge der folgenden Nutzdaten fest oder variabel.
Bei variabler Länge muss ein FC1 als Trenner dienen, falls weitere Datenbezeichner folgen sollen.

Also ich kann hier keine Mehrdeutigkeit erkennen.
Ein Erbenzähler könnte z.B. behaupten der Datenbezeichner 8008 (=Herstelldatum und -Uhrzeit) ist nicht eindeutig,
weil die Zeitzone fehlt. Oder die Jahreszahl ist nur 2-stellig; man erkennt das Jahrhundert nicht.
Andreas
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: EAN128 mehrdeutig ?

  Alt 14. Nov 2007, 10:43
Hallo,

das habe ich auch schon mal gehört.
Es geht hier nicht um Mehrdeutigkeit der Daten,
sondern das ein Scanner den Wert falsch scannt, z.B. nur einen Teil.

Es gibt Barcode-Formate, die z.B. keine Prüfsummen,
kein Stopbit kennen.

Der 128 sollte aber sicher sein.


Heiko
Heiko
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: EAN128 mehrdeutig ?

  Alt 14. Nov 2007, 10:55
Da tauchen Fragen auf.

1. Könnte es sein, dass die eventuell den Code128 benutzen und nicht EAN128 ?
2. Ist EAN128 überhaupt direkt vergleichbar mit EAN8/13 ?
3. Dann fiel noch das Wort "Trennzeichen". Ist das eventuell dieses FNC1 ? Wenn ja, was ist das und wozu ist das gut ?
4. Wo ist die Prüfziffer ? Die bauen sich selber eine Nummer zusammen, allerdings nur mit C?? Kenne das jetzt nur von EAN13. Da ist es die 13. Ziffer. Ist es bei dem EAN128 auch die letzte ?
Gruß
Hansa
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: EAN128 mehrdeutig ?

  Alt 14. Nov 2007, 13:27
Hallo,

ja kommen

Bsp: Interleave25

Das ist ein sogenannter "unsicherer" Barcode.
er hat wohl kein Stop-Bit.
Code128, EAN128 sind sichere Barcodes (Prüfsumme, Startbit, Stopbit).


Heiko
Heiko
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

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

Re: EAN128 mehrdeutig ?

  Alt 14. Nov 2007, 13:48
Hi, wir haben uns jahrelang mit der Materie beschäftigt. Das bedeutet nicht, das wir die volle Ahnung haben, sondern nur, das wir in so ziemlich jede Falle getappt sind.

Eins vorneweg: Es gibt keine 100% sicheren Barcodes. Sehrwohl gibt es richtig schlechte (Interleaved 2 of 5) und ziemlich gute (Code 128). Mit den EAN Codes haben wir nie gearbeitet, weil die wohl eher in der Lebensmittelindustrie zuhause sind. Soweit ich mich erinnere, ist bei den Dingern aber die 2.Hälfte des Codes spiegelbildlich zur 1.Hälfte. Weiterhin ist das zu kodierende Datenformat geregelt, so mit Hersteller-ID, Preis und so. Genau weiss ich das aber nicht.

Wir hatten eine Anwendung in der Industrie, bei der Werkstücke beim Anlegen an Maschinen eingescannt wurden. Der Kunde wollte die Software nicht abnehmen, weil die Daten nicht 100%ig korrekt in der DB waren. Wir sind auf Fehlersuche gegangen und haben dabei eben festgestellt, das es zu Fehllesungen kommt. Meistens, oder eigentlich fast immer verweigert der Scanner dann bzw. schickt gar nichts, weil z.B. die Prüfsumme nicht stimmt. Aber sehr selten kamen eben die Daten trotzdem durch, und waren Murks.

Wir haben dann weitere Konsistenzprüfungen eingebaut und so den Fehler gegen 0 gedrückt. Aber er ist immer noch vorhanden, nun jedoch im Bereich von 1:500000 oder noch geringer, fällt also nur bei genauer Analyse auf.

Wenn Du also
1. Einen guten Barcode verwendest (Code 39, Code 128)
2. Die Prüfsumme einbaust
3. Gute Scanner besorgst
und
4. Die gescannten Daten noch auf Plausibilität prüfst (Artikelnr muss existieren o.ä.)

Dann kannst Du ein 'eigentlich 100% Sicher' als Qualitätsmerkmal angeben.

@hoika: Stimmt, der ITF2of5 hat keine Start/Stop-Sequenzen (Bits sind das nicht, sondern eher Zeichen). Dafür stellt man i.a. eine konstante Datenlänge ein (muss gerade sein). Wenn der Scanner schräg auf den Barcode trifft, würde er sonst u.U. nur die ersten paar Zeichen lesen, die aber dafür richtig. Damit wenigstens das erkannt wird, kam man auf den banalen Trick mit der festen Datenlänge. Bei ITF sind Fehllesungen im Bereich von 1-3% zu erwarten.

Ach, eins noch: Die Scanner dekodieren natürlich anhand der unterschiedlichen Strick- und Zwischenraumstärken. Wenn man nun einen Barcode ziemlich klein (oder auf nem Matrixdrucker) ausdruckt, und der Renderer nicht darauf achtet, das die Balken immer genau die gleiche Dicke haben (z.B. dünne immer 2pxl, dicke immer 4pxl), dann hat man einen Barcode, der toll aussieht, mit dem aber die meisten Scanner nicht klarkommen, weil eben dünne Striche nicht immer gleich dünn sind. Die Toleranz (was ist dick? was ist dünn?) ist relativ eng gehalten.

Schaut Euch also die gedruckten Barcodes unter einer Lupe an und zählt die Pixelbreiten der Balken. Jaggies, also unscharfe Kanten sind auch sehr beliebt. Am besten, man bastelt sich eine S/W-Bitmap und vergrößert die um eine ganze Zahl. Dann bekommt man saubere Barcodes.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz