Verfahren und System zur Bearbeitung von Banknoten
Die Erfindung betrifft ein Verfahren und ein System zur Bearbeitung von Banknoten gemäß dem Oberbegriff der Ansprüche 1 bzw. 18.
Bei dem aus der deutschen Offenlegungsschrift DE 196 46 454 AI bekannten Verfahren wird eine Sortierklasse für Blattgut, insbesondere Banknoten, aus den für das Blattgut erhaltenen Meßergebnissen mit einem Sortieralgorithmus abgeleitet, welcher in Form eines Sortierbaums vorgegeben wird. Hier- zu werden in unterschiedlichen Ebenen des Sortierbaums Sortierknoten angeordnet, in welchen für ein oder mehrere Meßergebnisse jeweils Wertebereiche festgelegt werden. Der Wertebereich eines Meßergebnisses in einem Sortierknoten einer Ebene ist hierbei im Wertebereich des entsprechenden Meßergebnisses in einem zugeordneten Sortierknoten der darüberliegenden Ebene enthalten.
Bei der Ableitung der Sortierklasse aus den vorliegenden Meßergebnissen wird im Sortierbaum der Sortierknoten in der tiefsten Ebene ermittelt, bei welchem alle Meßergebnisse der Banknote in den entsprechenden festgeleg- ten Wertebereichen liegen. Die Sortierklasse, die diesem Sortierknoten entspricht, wird schließlich dem Blattgut zugeordnet. Die Ermittlung des Sortierknotens erfolgt durch Rekursion, wobei ausgehend von einem Sortierknoten in der höchsten Ebene alle in der nächst unteren Ebene liegenden Sortierknoten auf die Existenz eines Sortierknotens hin durchsucht werden, bei welchem alle Meßergebnisse des Blattguts innerhalb der entsprechenden Wertebereiche der Meßergebnisse des Sortierknotens liegen. Ist dies der Fall, werden die diesem Knoten zugeordneten Sortierknoten in der nächst unteren Ebene in gleicher Weise überprüft usw. Auf diese Weise wird der Sortierknoten in der untersten Ebene ermittelt, bei dem alle Meßergebnisse des Blattguts in den entsprechenden Wertebereichen der Meßergebnisse dieses Sortierknotens liegen.
Auf grund seiner hierarchischen Struktur mit mehreren Ebenen gibt ein solcher Sortierbaum den Sortieralgorithmus in einer für den Bediener im allgemeinen nicht leicht verständlichen und kaum intuitiv erfaßbaren Form wieder. Für die Vorgabe komplexer Sortieralgorithmen ist daher meist ein höhe- res Maß an Erfahrung und Expertenwissen erforderlich. Darüber hinaus besteht die Gefahr einer fehlerhaften Vorgabe von Wertebereichen in den zahlreichen, i.a. für jede zu sortierende Denomination von Banknoten separat zu definierenden Sortierknoten, was zu fehlerhaften Sortierergebnissen führen kann. Außerdem muß ein für einen bestimmten Typ von Banknotenbearbei- tungsmaschinen vorgegebener Sortierbaum meist modifiziert werden, wenn dieser auf einen anderen Typ von Banknotenbearbeitungsmaschinen übertragen werden soll. Auch dies erfordert ein hohes Maß an Expertenwissen und stellt eine unerwünschte Fehlerquelle dar.
Es ist Aufgabe der Erfindung, ein Verfahren und ein entsprechendes System zur Durchführung des Verfahrens anzugeben, welches eine vereinfachte und zuverlässigere Vorgabe und Ausführung des Sortieralgorithmus, insbesondere für unterschiedliche Typen von Banknotenbearbeitungsmaschinen, erlaubt.
Diese Aufgabe wird durch das Verfahren und das System mit den Merkmalen der unabhängigen Ansprüche 1 bzw. 18 gelöst. Vorteilhafte Weiterbildungen sind Gegenstand der abhängigen Ansprüche.
Das Verfahren gemäß Anspruch 1 zeichnet sich dadurch aus, daß der Sortieralgorithmus unter Verwendung eines oder mehrerer Entscheidungsknoten vorgegeben wird, welche jeweils einen oder mehrere Entscheidungsknotenausgänge aufweisen und über den bzw. die jeweiligen Entscheidungsknotenausgänge mit einem oder mehreren weiteren Knoten, insbesondere weite-
ren Entscheidungsknoten, verknüpft werden. Die Entscheidungsknoten werden bei der Ableitung der Sortierklasse in der Weise durchlaufen, daß ein Übergang von einem Entscheidungsknoten zu einem damit verknüpften anderen Knoten, insbesondere anderen Entscheidungsknoten, über einen Entscheidungsknotenausgang des Entscheidungsknotens erfolgt. Die Auswahl des jeweiligen Entscheidungsknotenausgangs, über welchen der Übergang vom Entscheidungsknoten zu einem anderen Knoten erfolgt, hängt hierbei von den Eigenschaften der Banknote und/ oder von vorgegebenen Parametern ab.
Die vorgegebenen Parameter beziehen sich z.B. auf die Konfiguration oder den Maschinentyp der entsprechenden Banknotenbearbeitungsmaschine, können aber durch einen Bediener frei vorgegeben werden und unterschiedliche Informationen widerspiegeln, wie z.B. die Identität des Bedieners, die Uhrzeit oder andere Parameter.
Durch die Verwendung von Entscheidungsknoten läßt sich der Sortieralgorithmus, vorzugsweise als Sortierprogrammcode oder Eingabegraphik, in leicht verständlicher, intuitiv erfaßbarer und übersichtlicherer Form vorge- ben, wodurch die Vorgabe des Sortieralgorithmus einfacher und zuverlässiger wird.
Bei dem erfindungsgemäßen System gemäß Anspruch 18 ist die Eingabeeinrichtung, über welche der Sortieralgorithmus vorgegeben wird, derart aus- gebildet, daß der Sortieralgorithmus in Form eines, insbesondere compilier- baren, Sortierprogramms vorgegeben werden kann. Darüber hinaus ist mindestens eine Übersetzungseinrichtung, insbesondere ein Compiler, zur Übersetzung des vorgegebenen Sortierprogramms in ein für die Banknotenbearbeitungsmaschine ausführbares Objektprogramm vorgesehen.
Dieses zur Ausführung des erfindungsgemäßen Verfahrens besonders geeignete System erlaubt eine einfache und zuverlässige Vorgabe des Sortieralgorithmus, vorzugsweise als Sortierprogrammcodes oder Eingabegra- phik. Durch die Übersetzung des Sortierprogrammcodes bzw. der
Eingabegraphik in ein Objektprogramm, welches insbesondere von unterschiedlichen Typen von Banknotenbearbeitungsmaschinen ausführbar ist, wird außerdem die Übertragbarkeit eines für eine Banknotenbearbeitungsmaschine bestimmten Typs vorgegebenen Sortieralgorithmus auf andere Typen von Banknotenbearbeitungsmaschinen vereinfacht.
Die Erfindung wird nachfolgend anhand von Figuren näher erläutert. Es zeigen:
Fig. 1 ein Beispiel für einen in Form eines erfindungsgemäßen Entscheidungsgraphen vorgegebenen Sortieralgorithmus;
Fig. 2 eine Tabelle mit der Definition von Entscheidungsknotenfunktionen der in Fig. 1 gezeigten Entscheidungsknoten;
Fig. 3 eine Tabelle mit dem Inhalt von Report Tags zu Entscheidungsknotenausgängen der in Fig. 1 gezeigten Entscheidungsknoten; und
Fig. 4 einen Aufbau des erfindungsgemäßen Systems zur Sortierung von Banknoten.
Beispiel für einen Sortieralgorithmus
Im nachfolgend anhand der Figuren 1 bis 3 erläuterten Beispiel für einen Sortieralgorithmus soll jeder zu bearbeitenden Banknote eine Sortierklasse aus zwei möglichen Sortierklassen zugeordnet werden. Eine erste Sortierklasse wird hierbei sog. Fit-Banknoten zugeordnet, welche für eine weitere Verwendung tauglich sind, während eine zweite Sortierklasse sog. Unfit- Banknoten zugeordnet wird, welche, beispielsweise aufgrund von Verschmutzung, Flecken oder Eselsohren, für eine weitere Verwendung un- tauglich sind. Nicht klassifizierbare Banknoten sollen als zurückzuweisende Banknoten, sog. Reject-Banknoten, eingestuft werden.
Der Sortiervorgang soll in zwei verschiedenen Protokolltypen protokolliert werden, wobei in einem ersten Protokolltyp, dem sog. Reject-Report, Infor- mationen über Banknoten protokolliert werden, welche als Reject-Banknoten eingestuft werden. In einem zweiten Protokolltyp, dem sog. Unfitness- Report, sollen Informationen über Banknoten protokolliert werden, welche als Unfit-Banknoten klassifiziert werden.
Eigenschaften der Banknoten
Die zur Ableitung der Sortierklasse herangezogenen Eigenschaften der Banknoten werden von Sensoren einer Banknotenbearbeitungsmaschine, in welcher die Banknoten geprüft und ihrer Sortierklasse entsprechend sortiert ausgegeben werden, ermittelt.
Im dargestellten Beispiel wird sowohl die Denomination, d.h. der Nennwert, als auch die Orientierung der Banknote von zwei Sensoren ermittelt, wobei die Eigenschaften Sensorl_Denomination und Sen-
sor2_Denomination bzw. Sensorl_Orientation und Sen- sor2_Orientation erhalten werden.
Die Eigenschaft DoubleFeed gibt wieder, ob eine Banknote ordnungsgemäß in die Banknotenbearbeitungsmaschine eingezogen wurde, und kann dementsprechend nur die Werte TRUE oder FALSE annehmen.
Die vier Transporteigenschaften TransportPropl bis Transport Prop4 können numerische Werte annehmen und enthalten Informationen zum Transport der Banknote.
Aus drei für die Echtheitsprüfung vorgesehenen Sensoren werden die drei Echtheitseigenschaften Authenticityl , Authenticity2 und Authen- icity3 erhalten, welche bei Vorhandensein eines entsprechenden Echt- heitsmerkmals den Wert 1 und bei Fehlen des Echtheitsmerkmals den Wert 0 annehmen. Abhängig von der Denomination der jeweiligen Banknote müssen für ein positives Ergebnis der Echtheitsprüfung keine, höchstens eine, höchstens zwei oder alle drei der Echtheitseigenschaften den Wert 1 annehmen.
Die eigentliche Klassifizierung der Banknote in eine Fit- oder Unfit-Banknote hängt von den Zustandseigenschaften FrontSoil, BackSoil, Front - Stain, BackStain und DogEarl bis DogEar4 ab, welche jeweils ein Maß für die Verschmutzung bzw. für Flecken auf der Banknotenvorderseite bzw. -rückseite sowie für Eselsohren an den vier Ecken der Banknote darstellen.
Entscheidungsknoten
Fig. 1 zeigt einen in Form eines erfindungsgemäßen Entscheidungsgraphen vorgegebenen Sortieralgorithmus, anhand dessen aus den genannten Eigen- schatten einer Banknote eine Sortierklasse "FIT", "UNFIT" bzw. "REJECT" abgeleitet wird.
Der Entscheidungsgraph weist einen rautenförmigen Startknoten START, ovale Entscheidungsknoten mit Entscheidungsknotenfunktionen FCT_1 bis FCT_14 und rechteckige Endknoten TN(1) bis TN(3) auf, welche zum Teil miteinander verknüpft sind.
Bei der Ableitung der Sortierklasse einer Banknote werden, beginnend mit dem Startknoten START und dem darauf folgenden ersten Entscheidungs- knoten mit der Entscheidungsknotenfunktion FCT_1, miteinander verknüpfte Entscheidungsknoten solange durchlaufen, bis einer der Endknoten TN(1) bis TN(3) erreicht ist. Die dem jeweiligen Endknoten TN(1) bis TN(3) zugeordnete Klasse "REJECT", "FIT" bzw. "UNFIT" entspricht dann, vorzugsweise in Verbindung mit weiteren Eigenschaften der Banknote, wie z.B. Denomina- tion und/ oder Orientierung, der Sortierklasse der Banknote.
Jeder der in Fig. 1 dargestellten Entscheidungsknoten weist verschiedene Entscheidungsknotenausgänge auf, über welche ein Übergang von einem Entscheidungsknoten zu einem damit verknüpften anderen Entscheidungs- knoten bzw. Endknoten erfolgen kann. Der Entscheidungsknotenausgang, über welchen bei Durchlaufen des Entscheidungsgraphen ein Übergang erfolgt, hängt von den Eigenschaften der zu bearbeitenden Banknote ab.
Vorzugsweise hängt die Wahl des Entscheidungsknotenausgangs vom Funktionswert der Entscheidungsknotenfunktion FCT bis FCT_14 des jeweiligen Entscheidungsknotens ab. Hierbei ist jedem Entscheidungsknotenausgang ein Vergleichswert, z.B. TRUE, FALSE bzw. 1 bis 4, zugeordnet. Ein Übergang findet über denjenigen Entscheidungsknotenausgang statt, dessen Vergleichswert dem Funktionswert der jeweiligen Entscheidungsknotenfunktion entspricht. Beispielsweise sind dies bei dem Entscheidungsknoten mit der Entscheidungsknotenfunktion FCT_10 die mit 1, 2, 3 bzw. 4 bezeichneten Ausgänge für alle Fälle, in denen der Funktionswert gleich 1, 2, 3 bzw. 4 ist. In Fällen, in denen der Funktionswert einen anderen Wert annimmt, findet ein Übergang über den mit "Remainder" bezeichneten Entscheidungsknotenausgang statt.
Entscheidungsknotenfunktionen
Fig. 2 zeigt eine Tabelle mit Definitionen der den Entscheidungsknoten in Fig. 1 zugeordneten Entscheidungsknotenfunktionen FCT_1 bis FCT_14. Die Entscheidungsknotenfunktionen FCT_1 bis FCT_14 nehmen jeweils einen Funktionswert an, welcher von Eigenschaften der Banknote und/ oder von vorgegebenen Parametern abhängt.
Die Entscheidungsknotenfunktion FCT_1 des ersten zu durchlaufenden Entscheidungsknotens enthält lediglich die Eigenschaft DoubleFeed. Der Funktionswert dieser Entscheidungsknotenfunktion kann folglich entweder den Wert TRUE oder FALSE annehmen, welcher einen ordnungsgemäßen bzw. fehlerhaften Einzug der Banknote in die Banknotenbearbeitungsmaschine widerspiegelt. Ist der Funktionswert TRUE, so erfolgt ein Übergang (siehe Fig. 1) zum Endknoten TN(1), welchem die Sortierklasse "REJECT" zugeordnet ist, d.h. die Banknote wird als zurückzuweisende Reject-
Banknote eingestuft. Lautet dagegen der Funktionswert FALSE, so erfolgt ein Übergang zum nächsten Entscheidungsknoten mit der Entscheidungsknotenfunktion FCT_2.
Die Entscheidungsknotenfunktion FCT_2 enthält vier mit AND-verknüpfte Ungleichungen zu den Transporteigenschaften Transport Propl bis Transport Prop4 der Banknote. In jeder der Ungleichungen wird überprüft, ob eine Transporteigenschaft, z.B. Transport Propl, innerhalb eines für die jeweilige Transporteigenschaft vorgegebenen Vergleichswertebe- reichs, z.B. zwischen TR_PROPl_ O und TR_PR0P1_HI, liegt. Nur wenn alle vier Transporteigenschaften TransportPropl bis TransportProp4 die entsprechenden Ungleichungen erfüllen, nimmt der Funktionswert der Entscheidungsknotenfunktion FCT_2 den Wert TRUE an, und es erfolgt ein Übergang zum Entscheidungsknoten mit der Entscheidungsknotenfunktion FCT_7.
Lautet der Funktionswert der Entscheidungsknotenfunktion FCT_2 dagegen FALSE, dann werden die Entscheidungsknoten mit den Entscheidungsknotenfunktionen FCT_3 bis FCT_6 durchlaufen, bis schließlich der Endkno- ten TN(1), dem ebenfalls die Sortierklasse "REJECT" zugeordnet ist, erreicht wird. Die Entscheidungsknotenfunktionen FCT_N mit N=3, 4, 5 und 6 nehmen hierbei den Funktionswert TRUE an, wenn eine Transporteigenschaft Transport PropN kleiner oder gleich der entsprechenden unteren Grenze TR_PROPN_LO oder größer oder gleich der entsprechenden oberen Grenze TR_PROPN_HI des vorgegebenen Vergleichswertebereichs ist. Andernfalls lautet der jeweilige Funktionswert FALSE. Auf diese Weise wird ermittelt, welche der vier Transporteigenschaften TransportPropl bis Transport - Prop4 den Grund für eine Einstufung der Banknote als Reject-Banknote darstellt.
Die Entscheidungsknotenfunktion FCT_7 nimmt die Funktionswerte TRUE oder FALSE an, wenn die ermittelte Denomination für beide Denominationssensoren identisch bzw. unterschiedlich ist. In letzterem Fall erfolgt ein Übergang (siehe Fig. 1) zum "REJECT-Endknoten TN(1).
Nimmt der Funktionswert der Entscheidungsknotenfunktion FCT_7 dagegen den Wert TRUE an, so erfolgt ein Übergang zum nächsten Entscheidungsknoten mit der Entscheidungsknotenfunktion FCT_8. Dort wird über- prüft, ob die von beiden Sensoren ermittelten Orientierungen der Banknote kompatibel sind. Die Eigenschaft Sensorl_Orientation und Sen- sor2_Orientation nimmt jeweils einen von vier möglichen Werten 1, 2, 3 oder 4 an, welche den unterschiedlichen Orientierungen der Banknote während ihres Transports in der Bearbeitungsmaschine entsprechen, nämlich "Banknotenvorderseite oben" oder "Banknotenrückseite oben" ("FaceUp" bzw. "BackUp") mit jeweils zwei möglichen Ausrichtungen. Eine Kompatibilität ist immer dann gegeben, wenn die Summe der für beide Sensoren ermittelten Werte gleich 5 ist. Ist dies nicht der Fall, nimmt die Entscheidungsknotenfunktion FCT_8 den Wert FALSE an, und es erfolgt ein Übergang zum "REJECT-Endknoten TN(1).
Andernfalls nimmt die Entscheidungsknotenfunktion FCT_8 den Wert TRUE an, und es erfolgt ein Übergang zum Entscheidungsknoten mit der Entscheidungsknotenfunktion FCT_9. Dort wird die Summe der Echtheitsei- genschaften Authenticityl, Authenticity2 und Authenticity3, welche jeweils den Wert 1 oder 0 annehmen können, mit einem Vergleichswert tblAuthentic verglichen. Dieser Vergleichswert ist als eindimensionales Variablenfeld tblAuthentic [SEN1_DEN0] mit dem Feldindex SENl_DENO vorgegeben. Der Feldindex SENi_DENO entspricht hierbei dem
Wert der von der zu bearbeitenden Banknote ermittelten Eigenschaft Sen- sorl_Denomination. Folglich handelt es sich bei dem Vergleichswert tblAuthentic [SENl_DENO] um einen von der Denomination der jeweiligen Banknote abhängigen Vergleichswert.
Angenommen, "Dl" sei der Name einer Denomination, für welche zumindest zwei Echtheitsmerkmale vorhanden sein müssen, dann gilt für tblAuthentic [Dl] = 2. Der Funktionswert der Entscheidungsknotenfunktion FCT_9 nimmt in diesem Fall nur dann den Wert TRUE an, wenn die Summe der Echtheitseigenschaften Authent icityl, Authent icity2 und Au- thenticity3 größer oder gleich dem Wert 2 ist. Andernfalls lautet der Funktionswert FALSE, und es findet ein Übergang zum "REJECT- Endknoten TN(1) statt.
Die Vorgabe von Vergleichswerten oder Vergleichswertebereichen in Form von Variablenfeldern hat den Vorteil, daß in einem Entscheidungsknoten eine Vielzahl verschiedener Vergleichswerte bzw. Vergleichswertebereiche für einen Vergleich herangezogen werden können. Hierdurch ist selbst zur Sortierung von Banknoten mit einer großen Anzahl verschiedener Denomi- nationen lediglich ein Entscheidungsgraph erforderlich, wodurch ein hohes Maß an Übersichtlichkeit und Zuverlässigkeit gewährleistet wird.
Die Entscheidungsknotenfunktion FCT_10 enthält lediglich die Eigenschaft Sensorl_Orientation und kann folglich, wie bereits oben im Zusam- menhang mit der Entscheidungsknotenfunktion FCT_8 erläutert wurde, einen von vier möglichen Funktionswerten 1, 2, 3 oder 4 annehmen, welche den unterschiedlichen Orientierungen der Banknote entsprechen.
Wie aus Fig. 1 ersichtlich ist, wurden den Entscheidungsknoten mit den Entscheidungsknotenfunktionen FCT_10 bis FCT_13 zusätzlich eigene Bezeichnungen zugeordnet: "Senl_Orient", "SoilNode", "StainNode" und "DogEar- Node".
Außerdem sind den Entscheidungsknotenausgängen der Entscheidungsknoten FCT_10 bis FCT_13 Ausgangsvariablen und Ausgangswerte zugeordnet. Bei einem Übergang über einen Entscheidungsknotenausgang wird der zugehörigen Ausgangsvariable der entsprechende Ausgangswert zugeordnet. Einige Ausgangs werte sind Fig. 1 im Bereich der Entscheidungsknotenausgänge der Entscheidungsknoten FCT_10 bis FCT_13 als eingeklammerte Zahlenwerte (0) bzw. (1) eingezeichnet. Auf die Ausgangsvariablen der einzelnen Entscheidungsknoten kann von Entscheidungsknotenfunktionen in jeweils nachfolgend durchlaufenen Entscheidungsknoten zugegriffen wer- den. Die Namen der Ausgangsvariablen der einzelnen Entscheidungsknoten setzen sich hierbei aus der Bezeichnung des Entscheidungsknotens, z.B. Senl_Orient, und der Erweiterung exitValue zusammen, also z.B. Senl_Orient . exitValue.
Wie der in Fig. 2 gezeigten Tabelle zu entnehmen ist, werden in der Entscheidungsknotenfunktion FCT_11 die Banknoteneigenschaften für die Verschmutzung der Vorder- und Rückseite FrontSoil bzw. BackSoil mit entsprechenden vorgegebenen Vergleichswerten tblFitFrontSoil bzw. tblFitBackSoil verglichen, welche in diesem Fall jeweils als zweidimen- sionale Variablenfelder mit je zwei Feldindizes vorgegeben sind. Der erste Feldindex Senl_Orient . exitValue entspricht der oben erläuterten Ausgangsvariablen des mit "Senl_Orient" bezeichneten Entscheidungsknotens, während der zweite Feldindex SENl_DENO der während der Bearbeitung der Banknote ermittelten Eigenschaft Sensor l_Denomination entspricht.
Der für den Vergleich herangezogene Vergleichswert tblFitFrontSoil bzw. tblFitBackSoil ist also abhängig von der Orientierung und der Denomination der zu prüfenden Banknote. Nur für den Fall, daß beide Banknoteneigenschaften Front Soil und BackSoil kleiner sind als die jeweiligen Vergleichs werte, nimmt die Entscheidungsknotenfunktion FCT_11 den Wert TRUE an. In allen anderen Fällen lautet der Funktionswert FALSE. Der Ausgangswert (0) bzw. (1) dieses Entscheidungsknotens wird in die Ausgangsvariable SoilNode . exitValue geschrieben.
In der Entscheidungsknotenfunktion FCT_12 werden die Eigenschaften FrontStain und BackStain mit vorgegebenen Vergleichswerten tblFitFrontStain bzw. tblFitBackStain verglichen. Die Ausführungen zur Entscheidungsknotenfunktion FCT_11 gelten analog. Der Ausgangswert (0) bzw. (1) dieses Entscheidungsknotens wird in die Ausgangs- variable StainNode . exitValue geschrieben.
In der Entscheidungsknotenfunktion FCT_13 wird die Summe der für die vier Ecken der Banknote ermittelten Eigenschaften DogEarl bis DogEar4 mit einem denominationsabhängigen Vergleichswert tblFitDogEar [SENl_DENO] , der als eindimensionales Variablenfeld vorgegeben ist, verglichen. Ist die Summe kleiner als dieser Vergleichswert, wird der Funktionswert der Entscheidungsknotenfunktion gleich TRUE, andernfalls gleich FALSE. Der Ausgangswert (0) bzw. (1) dieses Entscheidungsknotens wird in die Ausgangsvariable DogEarNode . exitValue ge- schrieben.
In der Entscheidungsknotenfunktion FCT_14 schließlich wird die Summe der Ausgangswerte der mit "SoilNode", "StainNode" und "DogEarNode" bezeichneten Entscheidungsknoten überprüft. Nur wenn die Summe der Aus-
gangswerte der jeweiligen Ausgangsvariablen SoilNode . exitValue, StainNode . exitValue und DogEarNode . exitValue den Wert 0 ergibt, d.h. alle drei Ausgangswerte gleich (0) sind, nimmt der Funktionswert der Entscheidungsknotenfunktion FCT_14 den Wert TRUE an, und es erfolgt ein Übergang zu dem mit "FIT" bezeichneten Endknoten TN(2). Andernfalls erfolgt ein Übergang zu dem mit "UNFIT" bezeichneten Endknoten TN(3).
Report Tags
Bestimmten Entscheidungsknotenausgängen des in Fig. 1 dargestellten Entscheidungsgraphen ist jeweils eine Reportvariable RT_1 bis RT_13, ein sogenanntes Report Tag, zugeordnet. Im Fall eines Übergangs über einen Entscheidungsknotenausgang erfolgt ein entsprechender Eintrag in das zugehörige Report Tag.
Wie bereits oben erläutert wurde, soll die Ableitung der Sortierklasse im dargestellten Beispiel in zwei verschiedenen Protokolltypen, nämlich einem Reject-Report und einem Unfitness-Report, protokolliert werden. Diese Protokolltypen können durch eine Zusammenstellung der gewünschten Report Tags frei definiert werden. Während des Sortiervorgangs wird dann der Inhalt des jeweils ausgewählten Report Tags in ein Protokoll des entsprechenden Protokolltyps geschrieben.
Fig. 3 zeigt eine Tabelle mit dem Inhalt von Report Tags, die einzelnen Ent- scheidungsknotenausgängen von in Fig. 1 dargestellten Entscheidungsknoten zugeordnet wurden. Demnach wird der Inhalt der Report Tags RT_1 bis RT_10 im Protokoll des Reject-Reports protokolliert, während der Inhalt der Report Tags RT_11 bis RT_13 im Protokoll des Unfitness-Reports protokolliert wird.
Der Inhalt der Report Tags selbst kann ebenfalls frei definiert werden. So werden als Inhalt der Report Tags RT_1, RT_3 bis RT_6 und RT_10 die im jeweiligen Entscheidungsknoten geprüften Bartknoteneigenschaften Dou- bleFeed, TransportPropl bis TransportProp4 bzw. Sensor l_Orientation gewählt. Bei den Report Tags RT_2, RT_7 bis RT_9 und RT_11 bis RT_13 dagegen wird der jeweilige Eintrag frei nach dem Wunsch des Bedieners definiert; im dargestellten Beispiel sind dies die Einträge "TRANSPORT", "NON-MATCHING DENOMINATIONS", "NON- MATCHING ORIENTATIONS", "AUTHENTICITY", "SOIL", "STAIN" bzw. "DOGEAR", welche eine - auch für einen wenig erfahrenen Bediener - anschauliche Information zur einer zurückgewiesenen bzw. als unfit klassifizierten Banknote darstellen.
Endknoten
Zur weiteren Vereinfachung der Vorgabe des Entscheidungsgraphen können für einzelne Werte der Eigenschaften auch systematische Namen definiert werden. Für die Werte SENi_DENO der Eigenschaft Sensor l_Denomination können dies z.B. die Namen Dl, D2, D3 etc. definiert werden. Entsprechendes gilt für die Werte SENl_ORIENTATION der Eigenschaft Sensorl_Orientation, welche z.B. mit Ll, L2, L3 und L4 bezeichnet werden können.
Die Werte SENl_ORIENTATION und SEN1_DEN0 einer aktuell bearbeiteten Banknote sind den Endknoten TN(2) und TN(3) zugeordnet und dienen als Indizes von zweidimensionalen Tabellen mit sog. Endknotenidentifizierern tblTn2 bzw. tblTn3, welche jeweils einen numerischen Wert für das Sortierergebnis darstellen, welcher an die Bearbeitungsmaschine weitergegeben
wird. Auf diese Weise ist es möglich, eine Banknote, die mit "FIT; SENl_ORIENTATION : L3; SENl_DENO : D47" beschrieben ist, in der Bearbeitungsmaschine anders zu sortieren oder zu stapeln als eine Banknote, die mit
"FIT; SENIJDRIENTATION : Ll; SENl_DENO : D43" beschrieben ist.
Stapelmodi
Die Definition eines Stapelmodus, d.h. welche Sortierklassen von Banknoten in welchen Staplern der Banknotenbearbeitungsmaschine ausgegeben wer- den sollen, kann dann auf einfache Weise erfolgen. Soll beispielsweise vorgegeben werden, daß alle Unfit-Banknoten mit einer Orientierung 1 oder 3 in einen ersten Stapler und alle Fit-Banknoten in einen zweiten Stapler ausgegeben werden, so können die entsprechenden Anweisungen für den jeweiligen Stapler wie folgt lauten: erster Stapler: SELECT "UNFIT" AND ( SEN1_0RIENTATI0N : L1 OR
SENIJDRIENTATION : 3 ) zweiter Stapler: SELECT " FIT" .
Sortierprogramm
Der in Fig. 1 beispielhaft dargestellte Sortieralgorithmus ist in Form eines Entscheidungsgraphen dargestellt. Alternativ wird der Sortieralgorithmus in Form eines entsprechenden Sortierprogramms, d.h. als Programmcode, vorgegeben, bei welchem die einzelnen Entscheidungsknoten mit ihren Ent- scheidungsknotenfunktionen definiert und jeweils abhängig von den Funktionswerten der Entscheidungsknotenfunktionen durch Programmverzweigungen bzw. -Sprünge durchlaufen werden. Als Programmiersprache für das Sortierprogramm wird vorzugsweise eine anwendungsorientierte, d.h.
eine speziell auf die Erfordernisse bei Sortierung von Banknoten abgestimmte, compilierbare Sprache verwendet.
System zur Sortierung von Banknoten
Fig. 4 zeigt einen Aufbau des erfindungsgemäßen Systems zur Sortierung von Banknoten. Der Sortieralgorithmus wird in einer Eingabeeinrichtung 40 eingegeben. In dem hier dargestellten Beispiel kann das Sortierprogramm 43 direkt mit einer Tastatur 49 eingegeben und von einer Anzeigeeinrich- tung 47, insbesondere einem Bildschirm oder Display, angezeigt werden.
Das Sortierprogramm 43 wird vorzugsweise in Form eines compilierbaren Programmcodes vorgegeben. Bei der Compilierung wird zunächst eine vollständige Übersetzung des Programmcodes durchgeführt, bevor dessen Aus- führung in einer Banknotenbearbeitungsmaschine 50 erfolgen kann. Hierdurch wird eine schnelle Ausführung des compilierten Programmcodes in Echtzeit möglich.
Die Übersetzung des Sortierprogramms 43 erfolgt in einer Übersetzungsein- richtung 44, insbesondere einem Compiler, welche das Sortierprogramm in ein Objektprogramm 45 umwandelt, dessen Programmcode von der Banknotenbearbeitungsmaschine 50 ausgeführt werden kann. Der Programmcode des Objektprogramms 45 wird hierbei von einem Interpreter 51 in der Banknotenbearbeitungsmaschine 50 in Echtzeit ausgeführt. Als Schnittstelle zwi- sehen dem Interpreter 51 und der Banknotenbearbeitungsmaschine 50 ist eine Interpreterschale 52 vorgesehen.
Der Programmcode des Objektprogramms 45 kann auch von Banknotenbearbeitungsmaschinen 50' anderen Bautyps, z.B. mit einer anderen Sensor-
und/oder Staplerkonfiguration, ausgeführt werden, wenn diese einen Interpreter 51' aufweisen, welcher mit dem Interpreter 51 der Banknotenbearbeitungsmaschine 50 identisch ist. Lediglich die jeweilige Interpreterschale 52' als Schnittstelle zwischen Maschine und Interpreter 51' muß entsprechend angepaßt werden.
Alternativ oder zusätzlich zur direkten Eingabe des Sortierprogramms 43 kann das Sortierprogramm 43 auch indirekt in Form einer Eingabegraphik 46, welche in ihrer Form insbesondere dem in Fig. 1 dargestellten Ent- scheidungsgraphen entspricht, eingegeben werden. Die Eingabeeinrichtung 40 weist hierfür eine graphische Eingabeoberfläche 48 auf, z.B. ein durch Berührung und/ oder mittels Tastatur ansteuerbares Touchscreen- Display bzw. Graphik-Display. Über die Eingabeeinrichtung 40 können insbesondere Entscheidungsknoten eingefügt, Entscheidungsknotenausgänge und Entscheidungsknotenfuhktionen definiert sowie Verknüpfungen zwischen einzelnen Knoten hergestellt werden. Entsprechendes gilt für Endknoten, Report Tags und alle anderen im Zusammenhang mit dem Beispiel gemäß den Figuren 1 bis 3 erläuterten Struktureinheiten und Größen des Entscheidungsgraphen.
Durch diese graphische Vorgabe des Sortierprogramms, insbesondere unter Verwendung der oben näher beschriebenen Entscheidungsknoten und Entscheidungsknotenfuhktionen, wird eine sehr übersichtliche und weniger fehleranfällige Vorgabe des gewünschten Sortieralgorithmus ermöglicht.
Durch eine erste Umwandlungseinheit 41 wird die Eingabegraphik 46 in den Code des Sortierprogramms 43 umgewandelt und kann durch die Anzeigeeinrichtung 47 dargestellt, überprüft und gegebenenfalls mittels Tastatur 47 verändert werden. Durch eine zweite Umwandlungseinheit 42 kann eine
Umwandlung des Sortierprogramms 43 in die Form der Eingabegraphik erfolgen, welche dann auf der Eingabeoberfläche 48 dargestellt und dort gegebenenfalls - wie bereits oben näher ausgeführt - graphisch verändert werden kann.
Die Eingabegraphik 46 kann auch zur Darstellung des Weges dienen, den eine zu sortierende oder bereits sortierte Banknote durch den Entscheidungsgraphen durchläuft bzw. durchlaufen ist. Hierdurch wird das Sortierergebnis für die Banknote veranschaulicht, so daß der Grund für eine be- stimmte Klassifizierung, z.B. REJECT, FIT oder UNFIT, im einzelnen nachverfolgt werden kann. Die Eingabeoberfläche 48 wird hierzu in einem speziellen Debug-Modus betrieben.
Interpretermodi
Der Interpreter 51 bzw. 51' kann prinzipiell in unterschiedlichen Interpretermodi betrieben werden.
In einem ersten Interpretermodus wird die für die Ableitung der Sortierklas- se einer Banknote in Echtzeit erforderliche Rechenzeit in der zentralen Recheneinheit der Banknotenbearbeitungsmaschine 50 bzw. 50' dadurch minimiert, daß stets nur für den jeweils aktuell zu durchlaufenden Entscheidungsknoten der Funktionswert der entsprechenden Entscheidungsknotenfunktion FCT_1 bis FCT_14 ermittelt wird. Falls zu diesem Zeitpunkt noch nicht alle hierfür erforderlichen Eigenschaften der Banknote vorliegen - weil z.B. die Ableitung einer erforderlichen Eigenschaft aus den Meßwerten eines Sensors noch nicht abgeschlossen ist - wartet der Interpreter mit der Ermittlung des Funktionswertes der Entscheidungsknotenfunktion so lange, bis alle benötigten Eigenschaften vorliegen. Hierdurch wird die Rechenzeit mi-
nimiert, so daß Rechenkapazitäten für andere Prozesse in der Banknotenbearbeitungsmaschine freigehalten werden. Mit einer Minimierung der Rechenzeit geht jedoch eine Erhöhung der insgesamt für die Ableitung der Sortierklasse benötigten Auswertezeit einher.
Es kann daher alternativ ein zweiter Interpretermodus gewählt werden, in welchem die für die Ableitung der Sortierklasse einer Banknote insgesamt erforderliche Auswertezeit minimiert wird. In diesem Modus werden - unabhängig vom aktuell zu durchlaufenden Entscheidungsknoten - die Funkti- onswerte von einzelnen Entscheidungsknotenfunktionen FCT_1 bis FCT_14 immer dann berechnet, sobald die von den jeweiligen Entscheidungsknotenfunktionen benötigten Eigenschaften der Banknote vollständig vorliegen. Dies erfordert zwar eine höhere Rechenzeit in der zentralen Recheneinheit der Banknotenbearbeitungsmaschine, die Auswertezeit, innerhalb welcher die Ableitung der Sortierklasse der Banknote erfolgt, wird jedoch verringert, da während des Durchlaufens der Entscheidungsknoten Wartezeiten an einzelnen Entscheidungsknoten entfallen.