Der OMR Code: Aufbau und Funktionsweise erläutert

von | 29.07.2014
2465988336_3c1be2544d_b_flickr.com_Ankou

Neben dem Data Matrix Code und dem Barcode werden OMR Codes häufig zur Steuerung von Kuvertiermaschinen eingesetzt. Praktiker nennen die OMR Codes auf den gedruckten Dokumenten auch „Steuerzeichen“ und spielen damit auf die Steuerung der Kuvertiermaschine an. Gesteuert wird dabei das Sammeln und Schließen von Sendungen und gegebenenfalls auch das Einfügen von Beilagen. In diesem Blogbeitrag möchte ich einen beispielhaften OMR Code aus dem SAP Formulardruck betrachten und seinen Aufbau und seine Funktionsweise erläutern.

Viele Organisationen, die SAP einsetzen und kein integriertes Output-Management-System haben, generieren OMR Codes mit SAPscript direkt in der SAP Formularerzeugung. In unseren Beratungsprojekten begegnen uns OMR Codes in verschiedenen Ausprägungen. Die Fragen, die wir uns in dem Zusammenhang stellen sind: Wie ist OMR Code aufgebaut? Was bedeuten die Striche? Wie können die Striche Fehlkuvertierungen verhindern?

Exemplarische Positionierung eines OMR Codes auf einer Druckseite [Grafik: MailConsult]

Exemplarische Positionierung eines OMR Codes auf einer Druckseite [Grafik: MailConsult]

OMR ist eine Abkürzung für Optical Mark Recognition und steht für eine Markierungsart, die maschinenlesbar ist. Der OMR Code ist vergleichbar mit einem Barcode, doch kann er aufgrund seines weniger komplexen Aufbaus weniger Daten speichern.

In unserem Praxisbeispiel steht der OMR Code auf der Vorderseite in der linken oberen Ecke eines jeden Blattes. Der erste Strich des OMR-Codes ist das Zeichen für den Lesebeginn eines Infrarot-Lesekopfes, der in der Kuvertiermaschine angebracht ist. In unserem Beispiel folgen stets maximal 4 weitere Striche. Unser OMR-Code besitzt eine Sequenzkontrolle, mit der Fehlkuvertierungen verhindert werden. Sollte ein Druckstapel nach der Entnahme aus dem Drucker in der Reihenfolge durcheinander geraten, so wird dies bei der Lesung in der Kuvertiermaschine  bemerkt. Die Kuvertiermaschine stoppt oder steuert die fehlerhafte Sendung aus.

 

Grundsätzlicher Aufbau des OMR Code

Ein OMR Code besitzt definierte Stellen, an denen die Strichmarkierungen aufgebracht werden können. Unser Beispiel zeigt eine mögliche Anwendung:

Alle möglichen Strichpositionen im OMR Code dieses Praxisbeispiels [Grafik: MailConsult]

Alle möglichen Strichpositionen im OMR Code dieses Praxisbeispiels [Grafik: MailConsult]

Die Bedeutung und die Funktion der OMR-Striche ist simpel: Sie sind wie ein Schalter und signalisieren der Kuvertiermaschine an den jeweiligen Positionen, ob ein Kommando AN = „Strich“ oder AUS = „kein Strich“ gesetzt ist. „Sammeln“ bedeutet, dass noch weitere Blätter folgen, „Schließen“ bedeutet, dass die Sendung komplett ist und dass kuvertiert werden kann. Die folgende Grafik zeigt das Ende eines möglichen Sammelvorgangs an. Der Strich an der dritten Position steht für „Schließen“ und ist AN, da die Kuvertiermaschine das Kuvert nun schließen soll.

Ein Startzeichen, ein leeres Sammelzeichen und ein Schließzeichen bilden die OMR Code Strichkombination zum Schließen einer Sendung. [Grafik MailConsult]

Ein Startzeichen, ein leeres Sammelzeichen und ein Schließzeichen bilden die OMR Code Strichkombination zum Schließen einer Sendung. [Grafik MailConsult]

Soweit so einfach. Damit ist unser OMR Code in der Lage mehrere Blätter in einer Sendungen zu sammeln und diese gemeinsam zu kuvertieren. Doch das reicht nicht aus, um wirklich sicher kuvertieren zu können. Um die Verarbeitungssicherheit zu erhöhen, wird zusätzlich zu den eben genannten Zeichen noch eine Sequenzkontrolle aufgedruckt.

Die Sequenzkontrolle im OMR Code

Die Sequenzkontrolle wird auf jedem Blatt als aufsteigende Zahl codiert. In unserem Praxisbeispiel werden die Zahlen von 1 bis 7 fortlaufend aufgebracht. Auf die 7 folgt wieder die 1. Um eine Abfolge von 7 Zahlen darzustellen benötigt man drei Strichpositionen. Damit kann mit hoher Wahrscheinlichkeit sichergestellt werden, dass die Druckreihenfolge auch bei der Kuvertierung eingehalten wird.

Möchte man den Sequenzzähler erhöhen, so benötigt man mehr Strichpositionen. Damit steigt die Sicherheit bei der Kuvertierung weiter an. Wichtig ist folgende Unterscheidung: die Sequenzkontrolle steht in keinem direkten Zusammenhang zu der Anzahl der Blätter einer Sendung. So kann eine auf 7 Zählern basierende Sequenzkontrolle auch dann verwendet werden, wenn die Kuvertiermaschine mehr Blätter in eine Sendung verpacken soll.

Die Sequenzkontrolle, die aus Übersichtlichkeit vertikal dargestellt wird, ist in diesem Praxisbeispiel wie folgt aufgebaut:

Positionen von Sequenzbits zur Sequenzkontrolle im OMR Code. [Grafik: MailConsult]

Positionen von Sequenzbits zur Sequenzkontrolle im OMR Code. [Grafik: MailConsult]

Jeder Strich, auf dem Blatt von oben nach unten gelesen (auf der nebenstehenden Grafik von rechts nach links), steht für eine Zahl.

Die Zahlen errechnen sich auf der Basis des dualen Zahlensystems. Das duale Zahlensystem stellt jede uns bekannte Zahl als vielfaches von 2 dar:

Sequenzbit 1 steht für:    20 = 1
Sequenzbit 2 steht für :   21 = 2
Sequenzbit 3 steht für:   22 = 4

Möchte man nun die Zahlen 5 darstellen, so ergibt sie sich aus der Summation der Zahlen von 1 und 4. Es werden also die Sequenzbits 1 und 3 gesetzt: 5 ist also 20 + 22

Die folgenden Abbildungen zeigen dies beispielhaft.

 

 Darstellung der Zahl 1: Sequenzbit 1 wird gesetzt:

Beispielrechnung zur Dekodierung eines Sequenzzählers in einem OMR Code. [Grafik: MailConsult]

Beispielrechnung zur Dekodierung eines Sequenzzählers in einem OMR Code. [Grafik: MailConsult]

Darstellung der Zahl 6: Sequenzbit 2 und 3 wird gesetzt:

Beispielrechnung zur Dekodierung eines Sequenzzählers in einem OMR Code. [Grafik: MailConsult]

Beispielrechnung zur Dekodierung eines Sequenzzählers in einem OMR Code. [Grafik: MailConsult]

Darstellung der Strichcodeabfolge einer 8-seitigen Sendung:

Wenn wir nun die Informationen über das Sammeln und Schließen mit denen der Sequenzkontrolle verbinden, dann entsteht ein vollständiger OMR Code für unsere Kuvertiermaschine.

Die Bildergalerie zeigt den Aufbau eines OMR Codes einer 7 seitigen Sendung, die mit der Sequenznummer 1 beginnt:

 
Beitragsfoto: © Ankou / flickr.com
 
Der OMR Code: Aufbau und Funktionsweise erläutert 5.00/5 1 Gesamt

Bildquellen

Autor: Stefan Willuda

Stefan Willuda war bis November 2014 Berater der MailConsult GmbH aus Berlin. Davor war er Leiter der Abteilung Document Services bei der Festo AG. Seine Schwerpunktthemen waren Projektmanagement, Wirtschaftlichkeitsbetrachtungen, Strategien für Inhouse-Dienstleistungen, In- und Outsourcing-Strategien, sowie Arbeitsorganisation im Input- und Output-Management. Motto: Wenn es gelingt, die beteiligten Menschen für eine gemeinsame Vision zu begeistern, werden selbst herausfordernde Umsetzungsprojekte ein Erfolg. (Stefan Willuda auf Xing)

6 Reaktionen auf “Der OMR Code: Aufbau und Funktionsweise erläutert

  1. ISL

    Sehr anschaulich dargestellt.
    Wie bekomme ich das denn in der Praxis in meine Serienbriefe gedruckt?

    Antworten
  2. Rolf Fischer

    Soweit ich beurteilen kann, gibt es keine Möglichkeit im SAP eine fortlaufende Sequenzzählung für den gesamten Druckauftrag zu generieren (jedenfalls nicht ohne grösseren Aufwand). Damit besteht aber das Risiko, dass das Fehlen einzelner Sendungen im Druckvolumen nicht mehr bemerkt wird.
    Gibt es dazu eine Idee oder muss man das als Restrisiko verbuchen ?
    merci RF

    Antworten
    1. Holger Franke

      Hallo Herr Fischer, mit Bordmitteln ist es tatsächlich zumindest aufwändig. Um eine Machbarkeit abzuschätzen müsste man tiefer in die installierte Lösungsarchitektur einsteigen. Gibt es noch ein OMS, separaten Spool? Welches Drucksystem? VG, Holger Franke

      Antworten
  3. Lüdecke

    Hab mal gehört, dass MS Word in der Lage sein soll, diese Codes mitzudrucken.
    Finde aber dazu nichts im Netz.
    Kann da vlt. jemand Auskünfte zu erteilen?

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *