Verfahren zur Fehlerabsicherung bei der Verarbeitung einer Zifferfolge durch Hinzufügen einer Prüfzahl zur Zifferfolge und Anordnung zur
Durchführung des Verfahrens
Die Erfindung betrifft ein Verfahren zur Fehlerabsicherung bei der Verarbeitung einer Zifferfolge durch Hinzufügen einer Prüfzahl zur Zifferfolge.
Es sind Anordnungen zur Kontrolle der richtigen Übertragung einer von einer Prüfziffer (Kontrollzeichen) begleiteten Zahl bekannt. Es zeigt beispielsweise die deutsche Patentanmeldung C 3382, Kl. 43a Gr. 41101, bekanntgemacht am 12. Juli 1956, eine derartige Kontrolle mit Hilfe einer Divisionsprobe dadurch, dass die dort beschriebene Anordnung für in Dezimalsystem geschriebene Zahlen von der Prüfung der Teilbarkeit durch 11, der sogenannten Elferprobe , Gebrauch macht. In diesem Falle muss man sich, um das Symbol schreiben zu können, eines besonderen Zeichens für die Zahl 10 bedienen. Die Vorrichtung kann aber die Nachprüfung auch mit einer unter 11 liegenden Zahl durchführen. Hierbei weist die Prüfung bestimmte Lücken auf, d. h. es können nicht alle Fehler entdeckt werden, aber es erübrigt sich ein besonderes Zeichen für die Zahl 10.
Es ist auch in der DAS 1 025 180 ein weiteres Verfahren vorgeschlagen worden, bei dem die Fehler bei der nachträglichen Übertragung der Ziffernreihe entdeckt werden, wobei die den Ziffern nach einem Schlüssel entsprechenden Werte in mehrere Rechenwerke eingeführt werden. Die von den genannten Rechenwerken gelieferten Ergebnisse werden, um die Prüfziffer zu bilden, nach einer vorbestimmten Regel mittels einer von den verschiedenen Rechenwerken gleichzeitig gesteuerten Vorrichtung kombiniert (z. B. addiert). Die Anordnung nach diesem Verfahren wird sehr umfangreich und kompliziert, ausserdem lässt die Prüfung sehr zu wünschen übrig.
Es lässt sich feststellen, dass eine solche Einrichtung mit zwei Zähleinrichtungen bei Eingabe einer Ziffer bereits für verschiedene Ziffern dieselbe Summe der durch die Endzustände dieser Zähleinrichtungen bestimmten Ziffern ergibt, so bei Eingabe der Ziffern 4 und 8 in die Zähleinrich- tungen mit der Grundzahl 3 und 5. Solche bekannten Anordnungen zur Fehlererkennung bzw.
Fehlerabsicherung, die mit einem zusätzlichen Prüfzeichen arbeiten, machen entweder einen umfangreichen schaltungstechnischen Aufwand erforderlich, oder aber sie sind im allgemeinen zwar in der Lage, die sogenannten Einfach-Fehler zu erkennen oder zu prüfen, bezüglich Erkennung und Prüfung insbesondere von sogenannten Zahlendrehern arbeiten sie nicht mit der zur Gewährleistung grösstmöglichen Sicherheit, die für Erkennung und Prüfung derartiger Fehler erforderlich ist, d. h. bei ihnen ist die Wahrscheinlichkeit hierfür nicht optimal. Insbesondere bei Verwendung solcher Anordnung in Verbindung mit mittlerer oder kleiner Datenverarbeitungsanlage, z. B.
Abrechnungsautomaten, Fakturier- oder Buchungsmaschinen oder dgl.. ist dieser Nachteil von besonderer Bedeutung, wobei ein weiterer hinzukommt, dass bei ihnen nur mit unverhältnismassig hohem schaltungstechnischen Aufwand bzw. durch umständliche und damit erheblichen Zeitaufwand benötigende Verfahrensweise erreicht werden kann, dass ohne Berücksichtigung der jeweils vorliegenden Stellenzahl der zu prüfenden Ziffern- oder ziffernmässig kodierten Zeichenfolge gearbeitet werden kann, da die Anzahl der Stelle bei diesen Anordnungen in jedem Falle vorher bekannt sein muss, falls die zu behandelnden Folgen nicht immer die gleiche Anzahl Stellen aufweisen.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zur Fehlerabsicherung bei Zeichenfolgen, die nur aus Ziffern, oder aus Ziffern und andersartigen Zeichen, z. B.
Buchstaben oder dergleichen, oder nur aus andersartigen, ziffernmässig kodierbaren Zeichen, z. B. Buchstaben oder dergleichen, zusammengesetzt sind, durch Summenbildung und Zuordnung eines Prüfzeichens, insbesondere einer Prüfzahl oder einer Prüfziffer zu einer derartigen Zeichenfolge zu schaffen, das diese Nachteile bekannter Anordnungen der genannten Art vermeidet. Des weiteren liegt der Erfindung die Aufgabe zugrunde, eine Anordnung zur Durchführung dieses Verfahrens zu schaffen, die sehr einfach aufgebaut ist, zuverlässig und mit der erforderlichen Fehlererkennungswahrscheinlichkeit arbeitet und bei der Bauteile verwendet werden, die in der Technik der Datenverarbeitung allgemein Verwendung finden und leicht beherrschbar sind.
Erfindungsgemäss ist das Verfahren dadurch gekennzeichnet, dass zur Bildung der Prüfzahl die Ziffer der höchsten Stelle in der Zifferfolge in ein Eingangsregister eingegeben wird und nach ihrer Eingabe vom Eingangsre- gister unter gleichzeitiger Umkodierung gemäss dem Schlüssel
0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 1 i ¯I 1 1 3 5 7 9 0 2 4 6 8 als Prüfwert in ein Prüfwertregister übertragen wird, dass hierauf die nachfolgende Ziffer der nächstniedrigeren Stelle in der Zifferfolge in das zuvor gelöschte Eingangsregister eingegeben und im Eingangsregister Eingangsregi ster mit dem im Prüfwertregister befindlichen Prüfwert summiert wird,
worauf die gebildete Summe vom Eingangsregister unter der genannten Umkodierung wiederum in das zuvor gelöschte Prüfwertregister als neuer Prüfwert übertragen wird, und dass jede weitere Ziffer der Zifferfolge der Reihe nach durch erneute Summenbildung und Prüfwertzuordnung behandelt wird, bis für die letzte Ziffer der niedrigsten Stelle in der Zifferfolge der zugehörige Prüfwert im Prüfwertregister steht, worauf die ser letzte Prüfwert durch das entsprechende Komplement zu 5 bzw. 15 ergänzt wird, welches Komplement die der Zifferfolge hinzugefügte Prüfzahl bildet und angezeigt oder ausgegeben wird, das Ganze derart, dass sich bei mit der genannten Bildung der Prüfzahl übereinstimmender Behandlung der fehlerfrei verarbeiteten Zifferfolge einschliesslich hinzugefügter Prüfzahl durch fortgesetzte Summenbildung und Prüfwertzuordnung die Nullstellung des Prüfwertregisters, d. h.
das Komplement Null, ergibt.
Das vorliegende Verfahren ermöglicht es, die richtige Eingabe oder die richtige Übertragung einer Zifferfolge mit hinzugefügter Prüfzahl dann zu erhalten, wenn nach Verarbeitung der Zifferfolge einschliesslich hinzugefügten Prüfziffer durch von Stelle zu Stelle fortschreitende Summenbildung und Prüfwertzuordnung im Prüfwertregister, sowie letzter Summenbildung aus vorhergehendem Prüfwert und beigefügter Prüfziffer der dieser Summe im Prüfwertregister zugeordnete Prüfwert die Nullstellung des Prüfwertregisters markiert, d. h. gleich Null ist. Ist der Prüfwert Null, so ist die Eingabe oder Übertragung der Zifferfolge richtig erfolgt, andernfalls erfolgte sie falsch.
Erfindungsgemäss ist die Anordnung zur Durchfüh rung des Verfahrens dadurch gekennzeichnet, dass der Eingang einer Summiereinrichtung mit einem Eingaberegi- ster und einem Prüfwertregister verbunden ist und der Ausgang der Summiereinrichtung auf eine Zuordnungsein- richtung führt, deren Ausgang den Eingang des Prüfwertregisters bildet.
Um zu erreichen, dass die so errechnete Summe aus eingegebener Ziffer und vorhergehendem Prüfwert entsprechend der Zuordnung den neuen Prüfwert bildet und in das Prüfwertregister übernommen werden kann, kann der Ausgang jeder der einzelnen Stufen des Eingangsregisters durch eine Verbindungsleitung mit dem Eingang einer einzelnen Stufe des Prüfwertregisters verbunden sein. In den neuen Prüfwert gehen dann also die einzeln eingegebenen Ziffern der zu prüfenden Zahl nicht unabhängig voneinander ein, sondern er bildet sich aus der neu eingegebenen Ziffer und dem im Prüfwertregister gespeicherten vorhergesehenen Prüfwert, der abhängig ist von allen vorher eingegebenen Ziffern der zu prüfenden Zahl.
Die Zuordnung durch entsprechende Verbindungsleitungen ist gemäss der folgenden Wertetabelle dem erfindungsgemässen Verfahren zugrunde gelegt: Summe aus eingegebener Ziffer 0 1 2 3 4 5 6 7 8 9 und vorhergehendem Prüfwert: 10 11 12 13 14 15 16 17 18 1 1 1 neuer Prüfwert: 1 3 5 7 9 0 2 4 6 8 Aus dem nach Eingabe der gesamten zu prüfenden Zahl errechneten Prüfwert lässt sich die Prüfziffer als Ergänzung des Prüfwertes zu 5 oder 15 bestimmen. Damit wird der Endprüfwert der Zahl mit Prüfziffer zu Null, was als Kriterium für richtige Übertragung einer Zahl mit Prüfzif- fer dient.
Besonders vorteilhaft ist es, Eingangs- und Prüfwertregister jeweils als Dezimalzähler auszubilden und eine Summierschaltung mit diesen beiden Zählern zu bilden, bei der die Summe beider Registerinhalte modulo 10 gewonnen wird.
Ausführungsbeispiele der Erfindung werden nachstehend anhand der Zeichnung näher erläutert. Es zeigen:
Fig. 1 ein systematisches Blockschaltbild einer erfindungsgemässen Anordnung;
Fig. 2 den Aufbau der Anordnung mit zwei Zählern.
Die Fig. 1 zeigt ein Eingaberegister 1, in das die zu prüfende Zahl, mit der höchsten Stelle zuerst, Ziffer für Ziffer eingegeben wird. Zu diesem Zweck kann eine bekannte Zehnertastatur vorgesehen werden, oder die zu prüfende Zahl wird beispielsweise aus einem Speicher abgerufen. In einem Summierwerk 2 wird der Inhalt eines Prüfwertregisters 3 zu dem des Eingangsregisters 1 addiert. Bei Beginn der Eintastung sind beide Register gelöscht, so dass die erste Teilsumme die erste eingetastete Zahl selbst ist. Die Summe wird entsprechend einer Zuordnungseinrichtung 4 als neuer Wert in das Prüfwertregister 3 eingespeichert. Dieser neue Wert des Prüfwertregisters 3 bildet für die nächste Teilsumme neben der neu eingetasteten Zahl den zweiten Summanden.
Ist die zu prüfende Zahl ohne Kontrollziffer eingegeben, so ent spricht der zuletzt im Prüfwertregister 3 markierten Stufe die errechnete Kontrollziffer, die beim Hinzufügen zu der zu prüfenden Zahl das Prüfwertregister 3 in seine Nullstel- lung bringt. Damit wird das Erreichen der Nullstellung des Prüfwertregisters 3 bei Eingabe der zu prüfenden
Zahl mit Kontrollziffer zum Kriterium für die richtige Ein gabe.
Die Fig. 2 zeigt schematisch ein Ausführungsbeispiel der Anordnung nach Fig. 1. Ein Eingaberegister A ent spricht dem Register 1 der Fig. 1 und ist dargestellt mit den einzelnen Registerstufen A0 bis A9 zur Aufnahme der zu prüfenden Zahl. Ein Prüfwertregister B entspricht dem
Register 3 der Fig. 1 und zeigt die einzelnen Stufen B9 bis BO. Beide Register sind als bekannte geschlossene Dezi malzähler ausgeführt. Die Summierung des Inhalts des
Eingangsregisters A mit dem des Prüfwertregisters B und die anschliessende Speicherung der Summe im Eingangse gister A wird dadurch realisiert, dass beide Register, ange- fangen von ihrer jeweiligen Markierung, um so viele
Schritte weiterschalten, bis das Prüfwertregister B seine
Nullstellung erreicht, d. h. bis B0 erregt ist.
Die Stufe B0 gibt ein Haltesignal, welches die Weiterschaltung unter bricht. Somit ist die Summe ohne Übertrag beider Regi ster im Eingangsregister A markiert.
Der dem Inhalt des Eingaberegisters A entsprechende
Wert wird durch die Verbindungen der Ausgänge der ein zelnen Stufen A0 bis A9 des Eingaberegisters A mit den Eingängen der einzelnen Stufen B9 bis B0 des Prüfwertregisters B in das Prüfwertregister B übernommen. Die jeweiligen Verbindungen sind durch die Zuordnungen und die unten beschriebene Löschung des Eingaberegisters A bedingt. Die Ausgänge der Stufen B9. .. B0 des Prüfwertregisters B sind mit 0, 1, 2...9 bezeichnet und geben die errechnete Prüfziffer an, d. h. ist nach Eingabe der zu prüfenden Zahl beispielsweise die Stufe B6 gesetzt, so ist die 9 die Prüfziffer.
Den Ausgangsstufen A9 und B0 beider Register kommt besondere Beteutung zu. Die Ausgänge I bzw. II der Ausgangsstufen A9 bzw. B0 unterbrechen bei deren Markierung in Abhängigkeit vom Zuordnungsvorgang bzw. Summiervorgang die Zählimpulse, die der Klemme tz zugeführt werden. Die Ausgangsstufen A9 und B0 werden jeweils bei Übernahme des neuen Wertes in das entsprechende Register zurückgesetzt.
An einem Zahlenbeispiel soll die Wirkungsweise der Anordnung zur Bestimmung eines einer Reihe von Zeichen zugefügten Kontrollzeichens erläutert werden.
Für die Zahl 926 soll die Prüfziffer errechnet werden.
In der Ausgangsstellung sind beide Register gelöscht, d. h.
Register A steht auf A9, Register B auf B0. Die Ziffer 9 wird nun in das Eingangsregister A eingetastet. Der Ausgang kl der Zählerstufe A9 des Registers A ist verbunden mit dem Eingang kl der Zählerstufe B8 des Registers B.
Um eine mit einfachen Mitteln zu erreichende Löschung des Registers A nach Übernahme dessen Inhalts durch das Register B zu erhalten, sind die Verbindungen beider Register so getroffen, dass die richtige Zuordnung der eingegebenen Ziffer im Register B erreicht ist, wenn beide Register gemeinsam so viele Schritte weiterschalten bis Register A seine Stellung A9 erreicht hat. Nach Eingabe der Ziffer 9 in das Register A wird die Summe mit dem Inhalt des Registers B (= Null) gebildet, hier also die direkte Übernahme des Inhalts von Register A in das Register B. In diesem Register B ist also die Stufe B8 markiert.
Die zweite Ziffer des Zahlenbeispiels, die 2, wird nun ins Register A eingegeben, unter gleichzeitigem Zurücksetzen der Stufe A9 und anschliessender Bildung der Summe beider Register. Dazu werden beide Register um so viele Schritte weitergeschaltet bis das Register B in seine Nullstellung, bei markiertem B0, angelangt ist. Beide Register schreiten also um 8 (von B8 auf B0) Schritte weiter, so dass das Register A in seiner Stufe A0 markiert ist und damit die Summe beider Register anzeigt. Der Ausgang al der Stufe A0 ist mit dem Eingang al der Stufe B0 verbunden. Um die Ausgangsstufe von A zu erreichen, schrei- ten beide Register um 9 Schritte (von A0 bis A9) vorwärts, wobei dann das Register B in der Stufe Bl markiert ist.
Die dritte Ziffer des Zahlenbeispiels, die 6, wird jetzt in Register A eingegeben, (unter gleichzeitigem Zurücksetzen der Stufe A9) und bildet die Summe mit dem Inhalt des Registers B dadurch, dass unter gleichzeitiger Weiterschaltung beider Register das Register B seine Nullstellung erreicht und die Weiterschaltung unterbricht.
Im Register A ist nach der Summenbildung die Stufe A7 markiert. Der Ausgang hl der Stufe A7 ist mit dem Eingang hl der Stufe B6 verbunden und die richtige Zuordnung ist gegeben, wenn das Register A unter Weiterschaltung beider Register um zwei Schritte (von A7 auf A9) seine Ausgangsstufe erreicht, wobei beim Prüfwertregister B die Stufe B 4 anspricht. Nachdem die Eingabe der zu prüfenden Zahl abgeschlossen ist, gibt der Ausgang der markierten Stufe des Registers B die Prüfziffer an, die zu der zu prüfenden Nummer hinzugefügt wird.
Im beschriebenen Beispiel ist nach Eingabe der zu prüfenden Zahl die Stufe B4 markiert, deren Ausgang die 1 als Prüfziffer angibt.
Zur Kontrolle der Zahl mit beigefügter Prüfziffer wird die Zahl Ziffer für Ziffer einschliesslich der Prüfziffer in die Rechenanordnung eingegeben. Bei richtiger Übertragung der zu prüfenden Zahl muss die Nullstellung (B0) des
Registers B markiert sein. Jeder andere markierte Ausgang bedingt eine Anzeige für falsche Übertragung der Zahl.
Zusammengefasst arbeitet also die beschriebene Anordnun#g in jedem Arbeitszyklus in folgenden vier Phasen:
1. Übernahme der eingetasteten Ziffer in den ersten
Zähler (das Eingaberegister), wobei gleichzeitig die
Grundstellung gelöscht wird.
2. Durch einfache gleichzeitige Verschiebung des er sten und des zweiten Zählers (des Eingaberegisters und des Prüfwertregisters) so lange bis der zweite Zähler auf
Null steht, wird die Summe aus der in den ersten Zähler eingetasteten oder anderweitig eingespeicherten Zahl (Ziffer) und dem Inhalt des zweiten Zählers im ersten Zähler gebildet.
3. Aus dem ersten Zähler (dem Eingaberegister) wird über die entsprechend der Vorschrift zum Umkodieren festgelegte Leitungsführung die dort gebildete Summe in den zweiten Zähler (das Prüfwertregister) überführt, wobei gleichzeitig die erste Stufe dieses letzteren Zählers gelöscht wird.
4. Durch Rechtsverschieben beider Zähler so lange, bis im ersten Zähler (im Eingaberegister) die höchste Zäh stufe erreicht ist, wird dieser erste Zähler gelöscht, und im zweiten Zähler (im Prüfwertregister) steht dann der neue
Prüfwert, mit dem dann in den nächsten Arbeitszyklus ein getreten wird.