Die Daten werden nach Erfassung des Gebinde-Gewichts, aber vor der Verbuchung des Picks in BPS und vor dem optionalen Druck der Gebinde-Etikette per TCPIP an das RFID System von RODATA geschickt.
Dieses liest die beiden RFID Tags auf dem Gebinde, und falls beide Tags lesbar sind werden die BPS Daten damit verknüpft und im übergeordneten EPCIS System abgelegt. Das Resultat der Operation wird an BPS zurückgemeldet, im Erfolgsfall zusammen mit der ID (GRAI) des Tags (= dem auf dem Tag aufgedruckte Barcode), im Fehlerfall mit einer Meldung im Klartext.
Im Erfolgsfall verbucht BPS den Pick zusammen mit der zurückgemeldeten ID (GRAI) und schliesst ihn ab.
Im Fehlerfall wird die Registrierung abgebrochen (Rollback auf Anfang vor Auslösung der Wägung) und die empfangene Fehlermeldung wird in einem Fenster angezeigt. Der Benützer liest die Meldung und schliesst das Fenster durch Quittierung der OK Taste. Je nach Fehlermeldung hat der Benützer dann verschiedene Optionen:
Die Fehlermeldung enthält im ersten Abschnitt Anweisungen an den Benützer was zu unternehmen ist. In einem zweiten Abschnitt können technische Informationen wie Fehlercodes etc. enthalten sein die der Supporter benötigt. Die Fehlermeldungen werden im Detail durch Rodata und GMOS definiert und gepflegt und sind nicht Gegenstand dieses Pflichtenhefts.
Die Schnittstellenparameter werden in der BPS Packlinienkonfiguration eingestellt, und können somit nach Bedarf pro Packlinie einzeln aktiviert und getestet werden:
Für den Notbetrieb kann die IT die RFID Schnittstelle hier auch wieder ausschalten und die LU-Etikette wieder einschalten. (Später wenn die Etikettendrucker einmal zurückgebaut sind muss die Beschriftung der Gebinde im Notbetrieb allerdings manuell oder durch vorgedruckte Filialetiketten erfolgen).
Das Testprogramm erlaubt einen einfachen Loopback-Test zum angeschlossenen RFID System:
Damit die RFID Schnittstelle im Packlinien-Programm aktiv ist muss das LU-Gebinde im in den Stammdaten der Verpackungen die Einstellung «RFID» auf ja haben:
Zur Simulation des RFID Systems während der Entwicklung haben wir ein separates Programm erstellt welches für Tests, Schulung etc. ebenfalls zur Verfügung steht:
Wenn das Simulationsprogramm auf dem selben PC ausgeführt wird wie das Packlinienprogramm, so wird in der Packlinienkonfiguration als Adresse localhost eingestellt. Läuft das Simulatonsprogramm auf einem anderen PC, so ist bei der Packliniekonfiguration die IP Adresse des PC einzustellen auf dem die Simulation läuft.
Die Daten werden als XML-Pakete ausgetauscht. Zeilenumbrüche und Einrückungen ausserhalb der XML Elementdaten dienen lediglich der Lesbarkeit im Pflichtenheft und können im Datenaustausch weggelassen werden. Innerhalb der Daten sind Zeilenumbrüche allerdings relevant (LF oder CR LF), jedoch inhaltlich nur bei der Fehlermeldung erwartet.
BPS öffnet bei jeder neuen Anforderung den Socket, sendet die Anforderung, wartet auf die Rückmeldung und schliesst dann den Socket wieder. Bei Abbruch des Vorgangs durch den Benutzer wird ebenfalls der Socket geschlossen. Für die nächste Anforderung wird also in jedem Fall wieder ein neuer Socket geöffnet.
Beispiel:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <!DOCTYPE rfidrequest> <Request> <ArtikelNr>223505000052</ArtikelNr> <ArtikelBez>ENTRECOTE VOM RI</ArtikelBez> <Filiale>Rheineck</Filiale> <RuestListe>000001213501462</RuestListe> <FilialNr>0090326</FilialNr> <FuhrenCode>1</FuhrenCode> <FilialZone>01</FilialZone> <LinieNr>12</LinieNr> <LaufNr>001</LaufNr> <GebindeTyp>1</GebindeTyp> </Request>
Datenfelder:
Name | Typ | Länge | Inhalt |
---|---|---|---|
ArtikelNr | String | 12 | Artikel ID, erste 12 Ziffen (also ohne Punkte) |
ArtikelBez | String | 16 | Artikel Name, erste 16 Zeichen |
Filiale | String | 15 | Partner Name, erste 15 Zeichen |
RuestListe | Integer | 15 | Artikelauftrag Key |
FilialNr | Integer | 7 | Partner ID, letzte 7 Ziffern |
FuhrenCode | String | 1 | Tourendatum kleiner/gleich heute: '1' Tourendatum grösser heute: '2' |
FilialZone | Integer | 2 | Partner Zone |
LinieNr | Integer | 2 | Packlinie Nummer, letzte 2 Ziffern |
LaufNr | Integer | 3 | Derzeit fix 1 |
GebindeTyp | Integer | 1 | Abgeleitet aus 1. Zeichen der Bezeichnung der LU Verpackung: 'E'=1, 'B'=2, 'C'=3, 'U'=4, anderer Buchstabe=0 |
Beispiel im Erfolgsfall:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <!DOCTYPE rfidresponse> <Response> <Status>OK</Status> <ID>7613264.00381.100000634153</ID> <Message/> </Response>
Beispiel im Fehlerfall:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <!DOCTYPE rfidresponse> <Response> <Status>ERROR</Status> <ID/> <Message>Tag 2 nicht gelesen. Bitte Gebinde kontrollieren oder auswechseln und Registrierung wiederholen. Wenn Problem damit nicht behebbar bitte Telefon 4471 anrufen. --- RFID-012025: Tag read error.</Message> </Response>
Datenfelder:
Name | Typ | Inhalt |
---|---|---|
Status | String | OK oder ERROR |
ID | String | ID (GRAI) des Tags. Im ERROR Fall kann das Element leer bleiben. |
Message | String | Text der im ERROR-Fall zusätzlich im Fehlerdialog von BPS anzuzeigen ist. Im OK Fall kann das Meldungselement leer bleiben. |