-
Diese Erfindung betrifft ein Anzeigemodul, das für die
Anzeige von Handelspreisen in einem Geschäft geeignet ist.
-
In Geschäften werden üblicherweise Gegenstände auf Regalen
über einem Schild plaziert, das den Preis des Gegenstandes
zeigt, und eventuell auch einen Preis pro Einheitsgröße, etwa
Gewicht oder Volumen. Um Preise zu ändern, muß ein
Angestellter die Gänge des Geschäftes entlanggehen, die alten
Preisschilder entfernen, und neue Preisschilder in den
Preisschildschlitzen auf den Regalen anbringen. Dieses
benötigt Zeit und ist teuer. Außerdem machen Angestellte
Fehler, und Preise können nicht schnell geändert werden, um
Angebote anzuzeigen, oder dem Wunsch des Managements, Preise
an Waren zu ändern, um auflokale Marktbedingungen zu
reagieren.
-
Es wurden verschiedene Versuche unternommen, mit diesem
Problem umzugehen.
-
WO 83/00251 beschreibt ein computergesteuertes
Informationsanzeigesystem, in welchem computerbasierende
Information parallel an entfernte Anzeigeeinheiten gegeben
wird. Wenn eine Anzeigeeinheit ihre eindeutige Adresse
erfaßt, wird die empfangene Information verarbeitet, um eine
Anzeige zu steuern.
-
US-A-4 766 295 beschreibt ein elektronisches
Preisanzeigesystem, in welchem batteriebetriebene
Anzeigeanhänger fernübertragene Infrarotsignale von
deckenmontierten Sendeköpfen oder von einer tragbaren
elektronischen Steuerung empfangen.
-
Die vorliegende Erfindung stellt ein Anzeigemodul zur
Verfügung, das eine Anzeige zur Anzeige von Information
umfaßt, optische Einrichtungen zum Erfassen eines
Lichtpegels, und Einrichtungen zum Anzeigen von Information
auf der Anzeige als Reaktion auf einen vorbestimmten, von den
optischen Einrichtungen erfaßten Lichtpegel, gekennzeichnet
durch Einrichtungen zum Erfassen einer vorbestimmten
Bedingung, und Einrichtungen zur Veranlassung der Anzeige,
auf einen Lichtpegel, der einen bestimmten Pegel übersteigt,
nur zu reagieren, wenn die vorbestimmte Bedingung aufgetreten
ist.
-
Ein Anzeigemodul gemäß der Erfindung kann in einem
Informationsanzeigesystem enthalten sein, das eine
Nachrichtenübertragungsfähigkeit aufweist, und Empfänger zum
Empfangen der Nachrichteninformation, wobei jeder Empfänger
mehrere Anzeigemodule antreibt, um die Information
anzuzeigen. Die Übertragung kann mittels Breitbandfunk von
einem Transceiver vorgenommen werden. Die Information
schließt bevorzugt einen UPC-Code und dazugehörige
Preisinformation ein, ist jedoch nicht darauf beschränkt.
Jeder Transceiver bestätigt die Rundnachrichten, und liefert
die Information an die Anzeige, die zu dem UPC in den
Speicher gehört. Bevorzugt sind die Transceiver und
Anzeigemodule batteriebetrieben und enthalten
Stromsparfunktionen.
-
Die Erfindung wird im folgenden anhand von Beispielen unter
Bezugnahme auf die begleitenden Zeichnungen weiter
beschrieben, welche zeigen:
-
Fig. 1 zeigt ein System einschließlich eines Anzeigemoduls
der Erfindung,
-
Fig. 2A und 2B zeigen eine Regalanordnung des Systems,
-
Fig. 3 zeigt das Regalblockdiagramm,
-
Fig. 4 zeigt einen Schaltplan des Anzeigemoduls,
-
Fig. 5A bis 5O sind Flußdiagramme, die den Betrieb des
Anzeigemoduls zeigen,
-
Fig. 6A bis 6L zeigen das Busformat,
-
Fig. 7 zeigt den Eingabe/Ausgabe-Speicherplan des
Anzeigemoduls,
-
Fig. 8 ist ein Zeitdiagramm für die Digitalplatine des
Regalknotens,
-
Fig. 9A bis 9C sind Schaltpläne für den Regalknoten,
-
Fig. 10 ist der Eingabe/Ausgabeplan für die
Regalknotensteuerung,
-
Fig. 11A zeigt die Deckenknotenfunktionen,
-
Fig. 11B ist ein Blockdiagramm des Deckenknoten-
Transceivers,
-
Fig. 12A und 12B sind Zeitdiagramme für den Deckenknoten,
-
Fig. 13A bis 13G sind Schaltpläne des Deckenknotens,
-
Fig. 14 zeigt schematisch einen intelligenten Lesekopf zur
Verwendung mit dem Anzeigemodul, und
-
Fig. 15A und 15B zeigen Zeitdiagramme für den intelligenten
Lesekopf.
-
Das Pricelink-System (siehe Fig. 1) erfüllt die Aufgabe,
genaue Preisinformation an dem Regal unter Verwendung von
Computern, Mikrocontrollern und Breitband-HF-
Kommunikationstechnik bei 915 MHz aufrecht zu halten.
UPC CODE
-
Der Hauptschlüssel für Daten in dem System ist der UPC Code.
Die gesamte Information in den verschiedenen Teilen des
Systems betreffend ein Produkt wird mittels des UPC Codes
gehalten, und jede neue Information wird mittels des UPC
Codes angenommen.
Anzeigemodul
-
Die für die Öffentlichkeit sichtbarste Komponente des Systems
ist das Anzeigemodul 10. Das Anzeigemodul ist um einen
Mikrocontroller herum konstruiert, der eine UPC-Code-
Zuweisung akzeptiert, für diesen UPC-Code relevante Daten
akzeptiert, und diese Information auf einer
Flüssigkristallanzeige (LCD) 10G anzeigt.
-
Die Erstellung der UPC-Code-Zuweisung wird unter Verwendung
eines Strichcodelesers 14 vorgenommen, der an einem speziell
als in der Hand tragbares Datenendgerät programmierten,
tragbaren Computer 16 angebracht ist. Das Produkt wird mit
dem Lesekopf gelesen, um den UPC-Code aufzunehmen, oder der
UPC-Code wird über Tasten eingegeben, und dann wird derselbe
Lesekopf 14 in dem optischen "Port" 10F auf dem Anzeigemodul
10 plaziert. Sobald der UPC-Code an das Anzeigemodul 10
übertragen ist, fordert das Anzeigemodul eine Zuweisung von
der Modulsteuerung an. Diese Zuweisung enthält genug
Information, um dieses Anzeigemodul von allen anderen
Anzeigemodulen einschließlich anderer Anzeigemodule mit
demselben UPC-Code zu unterscheiden. Somit wird die
Möglichkeit berücksichtigt, für dasselbe Produkt eine normale
Regalstelle, eine spezielle Endkappenanzeige, und eine
Anzeige im kalten Abschnitt zu haben.
-
Jedes Anzeigemodul empfängt zuerst vier Bilder mit jeweils 81
Bit, und empfängt dann regelmäßig Aktualisierungen dieser
Bilder. Wenn die Auffrischung nicht rechtzeitig kommt (etwa
10 bis 20 Stunden), nimmt das Anzeigemodul an, daß es die
Verbindung verloren hat, und daß seine Anzeige falsch sein
kann. Für eine Reaktion auf die Möglichkeit, falsche
Information anzuzeigen, ist, nichts anzuzeigen, oder anders
zu reagieren, bis die Verbindung wieder hergestellt ist.
-
Die beiden Bilder enthalten die normale Anzeige für den
Gegenstand. Jedes Bit in dem ersten Bild wird in ein Segment
auf der LCD-Anzeige für eine Sekunde umgewandelt, dann wird
jedes Bit in dem zweiten Bild in ein Seument auf der LCD-
Anzeige für eine Sekunde umgewandelt. Dieser Vorgang
wiederholt sich in solcher Weie, daß irgendwelche
Unterschiede in den Bildern als blinkende Segmente in der
Anzeige in Erscheinung treten.
-
Das dritte Bild enthält die Information, die angezeigt wird,
wenn die optische "Taste" von dem Konsumenten gedrückt wird.
Das Drücken der "Taste" hindert einfach das Licht des Raumes
daran, in das Anzeigemodul einzudringen.
-
Das letzte Bild enthält Information für das
Geschäftspersonal. Sie kann durch Plazieren des optischen
Strichcodelesers 14 in dem optischen "Port" 10F eingesehen
werden. Zur selben Zeit liest der Lesekopf den UPC-Code des
Produkts, das das Anzeigemodul darstellt.
Regalschiene
-
Die Anzeigemodule werden auf eine extrudierte Schiene 30
geklemmt (siehe die Explosionsdarstellung in Fig. 2A), die so
konstruiert ist, daß sie an der Vorderseite des eher
standardmäßigen Regals 31 befestigt ist (siehe Fig. 2B für
eine Darstellung des Zusammenbaus), das beispielsweise in
Gemüseläden gefunden wird. Die Konstruktion der Schiene 30
sorgt für Schutz von dem Kasten und vor Kollisionen der
Einkaufswagen, die während des normalen Einkaufens und bei
Nachfüllvorgängen auftreten. Schienenverlängerungen 30A und
30B erstrecken sich über die Vorderseite des Anzeigemoduls 10
hinaus, um diesen Schutz zu bieten. Das Anzeigemodul 10 wird
auf der Schiene 30 mittels federbelasteter Klemmen 10A und
10B verriegelt. Die Klemmen werden mittels Federdrähten 10C
und 10D gegen die Schiene 30 gedrückt. Um das Anzeigemodul 10
von der Schiene zu entfernen, müssen vier Federdrähte 10C,
10D (zwei auf der abgewandten Seite sind nicht gezeigt)
gleichzeitig zusammengedrückt werden. Um alle vier
Federdrähte 10C, 10D zusammenzudrücken, und das Anzeigemodul
zu entfernen, ist eih spezielles Entfernungswerkzeug
vorgesehen. Diese Klemmen 10A, 10B und Federdrähte 10C, 10D
begrenzen Vandalismus in der Form gelegentlichen Entfernens
oder Bewegens des Anzeigemoduls (d.h., "Modul" 10). Ein
extrudierter Unterlegring 32 aus Neopren paßt zwischen das
Anzeigemodul 10 und die Schiene 30, wie gezeigt. Die Schiene
30 stellt ebenfalls die vier elektrischen Leitungen 32
zwischen allen Anzeigemodulen 10 auf einem Regal und dem
Regalknoten 38 zur Verfügung (siehe Fig. 3).
-
In einem Ausführungsbeispiel sind viele Anzeigemodule, die
mit einem Regalknoten verbunden sind, auf verschiedenen
Regal ebenen angeordnet.
Regalknoten
-
Der Regalknoten 38 (siehe Fig. 3) enthält die Schnittstelle
zwischen der Regalschiene der Anzeigemodule 10 und dem
Decken-Transceiver 40 (siehe Fig. 1). Die Batterien 34 (siehe
Fig. 3) für alle Anzeigemodule und den Regalknoten befinden
sich im Regalknotengehäuse. Die Batterieverbindung zu den
Anzeigemodulen wird unter Verwendung von zweien der
elektrischen Schaltkreise 32 der Regalschiene vorgenommen.
Der Regalknoten liefert ebenso den Takt für die Anzeigemodule
über einen weiteren dieser elektrischen Schaltkreise. Die
letzte Leitung wird für Datenaustausch verwendet. Bevorzugt
ist der Regalknoten so konstruiert, daß der
Kommunikationsabschnitt von dem Logikschaltungsabschnitt
lösbar ist.
-
Der Regalknoten 38 und der Decken-Transceiver 40 (siehe Fig.
1) kommunizieren im Band 902 MHz bis 928 MHz unter Verwendung
von Breitbandtechnik (spread spectrum). Im wesentlichen
werden die zu sendenden Daten in eine viel längere Nachricht
codiert, die mit viel höherer Bitrate übertragen wird. Wenn
die meisten Bits korrekt übertragen werden, kann die
Nachricht von einem Empfänger ohne Fehler rekonstruiert
werden, der den Bitstrom zurück in die ursprünglichen Daten
decodiert. Das gewählte Band ist relativ ruhig, weil dieses
Band erst seit kurzem für kostengünstige Anwendungen genutzt
wird. Das verwendete Erfassungsschema (FSK) ist relativ
unempfindlich gegenüber Rauschen mit kleinerer Amplitude als
das gewünschte Signal. Das ist analog zu AM-Funkstationen,
die gleichzeitig hereinkommen, mit FM-Stationen, die bis zu
dem Punkt sauber empfangen werden, an dem der Sender zu weit
weg ist, und der Empfang endet. Das bedeutet, daß ein
Geschäft in der Nachbarschaft wahrscheinlich nicht von den
Verbindungen gestört wird. Außerdem hat das benachbarte
Geschäft wahrscheinlich eine andere Codestruktur, so daß die
Information nicht irrtümlich verwendet werden kann.
-
Das Kommunikationsprotokoll wurde so definiert, daß die
Lebensdauer der Batterie am Regal maximal wird, während die
Wahrscheinlichkeit, daß falsche Information angezeigt wird,
minimiert wird. Das Ergebnis dieses Protokolls ist die
Fähigkeit, das folgende zu tun:
-
Akzeptieren eines neuen Moduls oder neuen UPC-Codes für ein
Modul in zwei Sekunden oder weniger.
-
Neues Laden von Preisen in 150 Module in nicht mehr als 10
Minuten. Weil die Regalknoten den meisten Teil der Zeit
schlafen, um Batterieleistung zu sparen, kann es einige
Sekunden oder, im schlechtesten Fall 5 Minuten, dauern, bis
die Regalknoten aufwachen und nach Anweisungen betreffend
eine bevorstehende Übertragung zu suchen. Sobald diese
Kommunikation beginnt, können 150 Module in jeder folgenden
5-Minuten-Periode neu programmiert werden.
-
Aufgewacht, insgesamt 20000 Anzeigemodule Geschäft in einer
halben Stunde. Diese Fähigkeit wird benötigt, wenn die
Spannungsversorgung des Transmitters für mehr als vier
Stunden ausfällt.
-
Es ist ein Modus vorgesehen, der auf Kosten der
Regalknotenbatterielebensdauer eine schnelle Reaktion
ermöglicht. Sobald die erste 5-Minuten-Umwandlung in diesem
Modus aufgetreten ist, können Anderungen bei irgendeinem
Modul nahezu sofort vorgenommen werden.
Decken-Transceiver
-
Diese Einheit 40 (siehe Fig. 1) ist bevorzugt in der Nähe des
Zentrums des Geschäfts angebracht, oberhalb der Einkaufszone.
Pro Geschäft ist bevorzugt einer vorgesehen. Er ist mit dem
(nicht gezeigten) Modulschnittstellenkasten mittels eines
Kabels verbunden. Alle Signale sind Niederspannungssignale,
können jedoch in einem Kanal geführt werden. Der Decken-
Transceiver 40 enthält das 915 MHz Kommunikationsgerät, um
mit den Regalknoten zu kommunizieren.
Modulschnittstellenkasten
-
Dieser Kasten birgt die letzte elektrische und die logische
Verbindung, um die Modulsteuerung mit den Datenmodulen zu
verbinden.
Modulsteuerung (auch Datenmanager 42 genannt)
-
Dieser Computer (auch "Datenmanager" genannt) führt eine
Anzahl von Echtzeitberechnungsfunktionen durch:
-
Konsolen-Anfragen und Eingaben annehmen,
-
Verbindungen zwischen der Modulsteuerung 42 und POS-
Endgerät 44 verwalten, Kommunikations-Interrupts des
POS-Endgeräts 44 bedienen,
-
Verbindungen zwischen der Modulsteuerung 42 und dem
Host-Computer 46 verwalten, Kommunikations-Interrupts
des Host-Computers 46 bedienen,
-
Kommunikationen des POS-Endgerätes 44 und des Host-
Computers 46 in Aktionen umsetzen,
-
Aktualisieren von Gegenstandsdateiladekommunikations-
Statistiken
-
Übersetzen der Gegenstandsdatei in Bilddateien,
Verwalten von Bilddateiübertragungen an Anzeigemodul
Service-Übertragungs-Interrupts
POS Steuerung und Host Computer Schnittstelle
-
Dieses varriert abhängig von dem gewählten, bestimmten POS-
System und den gewählten Optionen
Datachecker
-
In einem Ausführungsbeispiel verwendet die vorliegende
Erfindung ein PC-basierendes Schnittstellenprogramm, das
kommerziell unter dem Namen "POSilink" von Datachecker
vertrieben wird. Ein Schnittstellencomputer (ein PC, d.h. ein
Personal Computer), der unter diesen und anderen Programmen
läuft, überwacht sowohl seine Konsole als auch die serielle
Verbindung zur Modulsteuerung 42.
-
Als regelmäßige Grundlage fordert die Modulsteuerung 42 eine
Kopie von bestimmten Aufzeichnungen von der EXCP-Datei an,
die alle Änderungen enthält, die die POS-Steuerung (d.h., die
Geschäftssteuerung 50) bestätigt hat, seit sie das letztemal
von dem Host-Computer 46 gelöscht wurde (Löschen tritt
möglicherweise zweimal pro Woche auf). Die erneute
Übertragung dieser Daten an die Modulsteuerung 42 erlaubt
ihr, ihre Information zu korrigieren, um aktualisiert zu
bleiben.
-
Weniger häufig, wahrscheinlich einmal pro Woche,
möglicherweise direkt, nachdem der Host-Computer 46 seine
Aktualisierungen vorgenommen hat, fordert die Modulsteuerung
42 eine vollständige Kopie bestimmter Felder der
Gegenstandsdatei der POS-Steuerung 50 an. Diese wird mit der
Pricelink-Gegenstandsdatei verglichen, um zu verifizieren,
daß keine unbemerkten Anderungen aufgetreten sind, und
korrigiert sie, bevor sie länger existieren. Sobald das
System vollständig in Betrieb ist, wird erwartet, daß keine
Differenzen bemerkt werden.
IBM 3270 Emulator
-
Es ist eine Anzahl von Karten/Software Kombinationen
kommerziell erhältlich, um einem Personal Computer (PC) zu
ermöglichen, auf Mainframe-Dateien zuzugreifen. Sobald der PC
die Dateien hat, ist die Übertragung über eine
Standardmodemverbindung an einen anderen PC in dem Geschäft
kein Problem. Der PC in dem Geschäft ist die Modulsteuerung
oder der Schnittstellencomputer. Er macht die indirekt von
dem Host-Computer empfangene Information für die
Modulsteuerung verfügbar, um betimmte Gebiete in der
Pricelink-Gegenstandsdatei zu warten: Meßeinheiten, Einheit-
Preis-Divisor, Angebotsdaten, Preis wenn Angebot,
Coupondaten.
-
In einem Ausführungsbeispiel ist ebenflalls ein Gateway-
Computer 54 vorgesehen, um die POS-Steuerung 50 und den Host-
Computer 46 mit dem Datenverwaltungscomputer 42 zu verbinden.
Typische Systemkonfiguration:
Eine Installation ist wie folgt konfiguriert:
-
1 Modulsteuerung
-
1 Modulschnittstellenkasten
-
1 Decken-Transceiver
-
3333 Regalknoten
-
3333 Regalschienen
-
20000 Anzeigemodule bei 6 pro Regalschiene
-
1 Schnittstellencomputer
-
Posilink Software von Datachecker
-
pro 3270 IBM 3270 Emulator / PC
-
Anzeigemodul
-
Das PriceLink-System gemäß der Erfindung schließt eine
zentrale Steuerung und eine große Anzahl von Anzeigen ein.
Die Steuerung, genannt Datenmanager, sendet
Anzeigeinformation über einen seriellen Bus an die einzelnen
Anzeigemodule. Die Anzeigemodule bestätigen jede Nachricht
und erlauben der Verwaltung, die Übertragungen zu
verifizieren.
-
Das System ist insbesondere zur Verwendung in Gemüseläden
oder ähnlichen Einzelhandelanwendungen geeignet, wobei jedes
Anzeigemodul ein Preisschild auf dem Regal ersetzt. Womit es
jedes Modul mit einem Produkt assoziiert, und die Module sind
mit Schildern versehen, die das Produkt für den Konsumenten
beschreiben.
-
Das System in einem Ausführungsbeispiel erfordert, daß jedes
Produkt einen UPC hat (Universal Product Code). Das ist die
Art von Strichcode, die heutzutage in Gemüseläden weit
verbreitet verwendet wird. Der UPC des Produkts wird die
"Adresse" des Moduls auf dem seriellen Bus. Weil einige
Produkte an vielen Stellen im Geschäft ausgestellt sind, wird
dem UPC eine Ziffer (1 bis 9), Frequenznummer genannt,
angehängt, um die vollständige Adresse eines Moduls zu
bilden. Dieses erlaubt dem Manager, Schreibvorgänge an jedes
Modul für eingegebenes Produkt zu verifizieren.
-
Das oben beschriebene Anzeigemodul schließt einen optischen
Port mit einem Lichtsensor und einem Lichtemitter ein. Dieser
Port hat zwei Verwendungen: als Schnittstelle zu optischen
"Leseköpfen" (Strichcodeleser), und als optische "Taste", die
der Kunde benutzen kann, um eine abwechselnde Anzeige
hervorzurufen.
Grundlegende Anzeigemodulfunktionen
-
Das Modul kann vier 80-Segmentanzeigen speichern (d.h.
Bilder, wie oben beschrieben) (das 81-ste Segment ist nicht
benutzt). Jeder Block von Anzeigedaten wird Quad genannt und
hat vier Anzeigemoden:
-
Quad 0: Normale Anzeige
-
Quad 1: Blinkende Anzeige
-
Quad 2: Benutzerzugängliche Anzeige
-
Quad 3: Anzeige zur Geschäftsverwendung
-
Während des Normalbetriebs wechselt die Anzeige zwischen der
Normalanzeige und der blinkenden Anzeige ab. Wenn ein Segment
in der normalen Anzeige an ist, und aus in der blinkenden
Anzeige, blinkt das Segment mit ungefähr 1/2 Hz. Das heißt,
die Anzeige ändert sich ungefähr einmal pro Sekunde.
-
Der Kunde kann von dem Modul durch Blockieren des optischen
Ports mit einem Finger benutzerzugängliche Inrormation
abfragen, etwa Einheitspreisinformation oder Gesundheits-
Diätinformation. Das Modul erfaßt die Änderung des
Lichtpegels und schaltet in die benutzerzugängliche Anzeige
um. Wenn der Finger weggenommen wird, verzögert das Modul für
2,8 Sekunden und stellt dann die normale Anzeige wieder her.
-
Die vierte Anzeige wird von Geschäftspersonal verwendet. Wenn
ein Strichcodeleser erfaßt wird (durch die Gegenwart von
hellem Licht an dem Port), wird die Bestellmodus-Anzeige
aufgerufen. Diese Anzeige gibt Nachladeinformation für das
Produkt.
-
Nach dem Wechsel in die Bestellmodusanzeige sendet das Modul
seinen gegenwärtigen UPC an den Lesekopf durch Ein- und
Ausschalten einer LED in dem optischen Port mit einem Muster,
das das Abtasten eines Strichcodes simuliert.
-
Herkömmliche Strichcodeleser benutzen eine LED in der Spitze,
um den Strichcode zu beleuchten. Das Pricelinksystem schließt
in einem Ausführungsbeispiel einen speziellen Lese kopf ein
(der an einem handhaltbaren Datenendgerät oder Computer
befestigt ist), der diese LED verwenden kann, Information an
die Anzeigemodule zu senden. Nach der Erfassung des
Lesekopfes und Aussenden seines Strichcodes, versucht das
Modul einen "Handshake" mit dem Lesekopf. Wenn dieser
Handshake erfolgreich ist, akzeptiert das Modul einen neuen
UPC von dem Lesekopf. Somit wird den Modulen ein UPC-Code
gegeben.
Elektronik der Anzeigemodule
-
Die Steuerung in dem Anzeigemodul ist in diesem
Ausführungsbeispiel ein 4 Bit Mikrocontroller Sanyo 5733, mit
2048 Byte Programm-ROM und 128 Nibbles RAM. Der 5733 schließt
eine LCD-Schnittstelle ein, die eine 81-Segmentanzeige
unterstützt. Die geplante Taktfrequenz ist 54,536 kHz
-
Das Anzeigemodul wird in ein Spezialregal eingesteckt, das
vier Drähte enthält. Fig. 3 zeigt ein Blockdiagramm des
Regals. Zwei der Drähte in dem Regalbus verteilen Strom an
die Anzeigemodule, der dritte verteilt einen gemeinsamen Takt
an die Anzeigemodule, und der vierte Draht wird für
bidirektionale serielle Kommunikation verwendet.
-
Die Schaltung des Moduls besteht aus vier logischen Blöcken:
-
1) Anzeige
-
2) Serielle Bus-Schnittstelle
-
3) Optische Port-Schnittstelle
-
4) Erfassungschaltkreis für leere Batterie
-
Es wird auf Fig. 4 verwiesen für einen grundlegenden
Schaltplan des Anzeigemoduls.
Anzeige
-
Der Sanyo 5733 Controller enthält alle Schaltkreise, die für
die Anzeige erforderlich sind. Es gibt 27 Segmentleitungen
und 3 Rückebenenleitungen. Jedes Segment arbeitet mit einem
Tastverhältnis von 33 %. Dieses dreifache Multiplexen
ermöglicht, daß bis zu 81 Segmente gesteuert werden. Das
letzte Segment (die Kreuzung der Segmentleitung 27 und der
gemeinsamen Leitung 3) wird in diesem Ausführungsbeispiel
nicht benutzt. Das Modul verarbeitet die Anzeigeinformation
nicht - es gibt keine codierten Felder. Jeder Quad enthält 80
Bits, jedes Bit steuert ein Segment.
Serielle Bus-Schnittstelle
-
Das Modul überwacht den Kommunikationsbus mit einem einfachen
Eingangsport. Der Bus wird von dem Transceiver
heruntergezogen, so daß er im Tristate-Zustand niedrig ist.
Das Modul kann Information auf dem Bus mit einem
Hochziehtransistor plazieren.
Optische Port-Schnittstelle
-
Es wird ein Phototransistor verwendet, um Licht an dem
optischen Port (d.h., der Lesekopfschnittstelle) zu erfassen.
Der Schaltkreis weist zwei Bereiche auf, die ihm ermöglichen,
drei Lichtpegel zu erfassen. In dem empfindlichsten Bereich
(Bereich 0) wird der optische Port als frei angesehen, wenn
der Schaltkreis Licht erfaßt (es wird normales Umgebungslicht
erfaßt). Wenn der Port dunkel ist, weiss das Modul, daß ein
Kunde den Port mit einem Finger blockiert.
-
Im weniger empfindlichen Bereich (Bereich 1) muß es ein
Lesekopf sein, falls Licht erfaßt wird (oder eine
ungewöhnlich helle Lichtquelle außer einem Lesekopf, wie im
folgenden beschrieben wird). Der Schaltkreis wird
normalerweise im Bereich 0 belassen, weil er weniger Strom
zieht. Die Impedanzpegel, die für diese Funktion erforderlich
sind, müssen noch bestimmt werden.
-
Das Modul sendet einen Strichcode aus und kommuniziert mit
einem "intelligenten Lesekopf" über eine LED. Ein
intelligenter Lesekopf ist ein Lesekopf, der in der Lage ist,
mit dem Modul einen Handshake durchzuführen, und ihm einen
neuen UPC zu geben. Ein "dummer" Lesekopf (d.h., ein
kommerziell erhältlicher Standard-Lesekopf) ist lediglich in
der Lage, den UPC des Moduls zu lesen.
Erfassungsschaltkreis für leere Batterie
-
In einem Ausführungsbeispiel ist zur Erfassung einer leeren
Batterie ein Schaltkreis geringer Funktionalität in den
Modulen, und ein Schlatkreis höherer Funktionalität in dem
Regalknoten-Transceiver. Der Transceiver erfaßt die leere
Batterie und senkt den Versorgungspegel an die Module ab, was
alle Moduldetektoren auslesen würde.
-
Alternativ befindet sich ein weiterer Draht in dem Regal.
Dieser würde dem Transceiver ermöglichen, den Modulen direkt
den Zustand der Batterie anzuzeigen, was einige Komponenten
sowohl in den Modulen als auch in dem Transceiver spart.
-
Die Versorgungsleitung kann ebenfalls als die "HF Antenne"
dienen. Die Module filtern dieses aus, und der Schaltkreis
für leere Batterie weist HF-Reste ab. Ebenfalls ist ein
Schaltkreis zum zeitweiligen Bereitstellen von Strom an jeder
Anzeige vorgesehen, wenn eine Batterie aus dem dazugehörigen
Regalknoten entfernt wird. Eine Verriegelung verhindert die
Entfernung der Batterie, wenn die zeitweilige Stromversorgung
nicht angeschlossen ist.
Allgemeiner Betrieb des Anzeigemoduls
-
Das Anzeigemodul empfängt Strom, wenn es in dem Regal
installiert wird, insbesondere wenn es einem vorhandenen
Regal hinzugefügt wird (wenn das gesamte Regal neu ist,
könnten die Module zuerst eingesteckt werden, und dann die
Batterien hinzugefügt werden, wenn dieses Erleichterungen
bedeutet.)
-
Die folgende Erörterung betrifft den Betrieb des
Anzeigemoduis, bevor es "in dem System" ist - wenn das
Anzeigemodul zuerst eingeschaltet wird, und der Datenmanager
nicht weiß, daß es existiert. Das Flußdiagramm in den Fig. 5A
bis 5O beschreibt diesen Vorgang.
Eintritt in das System
-
Die Anzeige 10G des Anzeigemoduls (siehe Fig. 1) ist zuerst
leer. Der Installierer "liest" das Produkt mit einem Lesekopf
(oder das Strichcode-Symbol auf dem Klebeschild auf dem
Modul), um den UPC in den intelligeten Lesekopf 14 zu laden,
und steckt dann den Lesekopf 14 in den optischen Port 10F des
Moduls (d.h., Anzeigemodul) und drüuckt die "programm"-Taste
auf dem intelligenten Lesekopf-Endgerät 16. Der intelligente
Lesekopf führt mit dem Modul einen Handshake durch und lädt
dann das Modul mit dem UPC.
-
Das Modul ist nun in dem Modus "Anforderung anhängig", so daß
es weiß, daß es eine Nachricht an den Datenmanager 42 senden
muß. Das Bus-Protokoll bietet ein Fenster für solche eine
Nachricht in jedem Zyklus, und das Modul findet dieses
Fenster und plaziert die Anfrage darin. Die Anfragenachricht
ist einfach der neue UPC, den der Lesekopf dem Modul gegeben
hat.
-
Wenn der Bus nicht aktiv und niedrig ist, plaziert das Modul
seine Anforderungsnachricht auf dem offenen Bus. Der
Datenmanager ist für das Erfassen der Nachricht
verantwortlich.
-
Sobald es das Modul schafft, die Anforderungsnachricht auf
den Bus zu legen, tritt es in den Zustand "Zuweisung
anhängig" ein - es weiß, daß der Datenmanager ihm eine
Sequenzzuweisung schuldet. Wenn die Zuweisung nicht innerhalb
95 Sekunden auftritt, führt das Modul jedoch einen Selbst-
Reset durch.
-
Wenn zwei Module ihre Anforderungen zufällig in demselben
Fenster plazieren, weiß keines von ihnen, daß es ein Problem
gibt. Jedoch wird die Nachricht zweifellos zerstückelt, und
der Datenmanager ignoriert sie. (Die Nachricht schließt eine
zweistellige Prüfsumme ein.) Beide Module setzen sich selbst
innerhalb von 95 Sekunden zurück, falls der Installierer mit
dem Lesekopf sie nicht vorher neu einliest.
-
Der Datenmanager muß die Anforderungsnachricht sehen und dann
auf die Festplatte zugreifen, um herauszufinden, wie viele
andere Module mit diesem selben UPC-Code im System sind. Das
Maximum ist neun. Falls weniger als neun vorhanden sind, fügt
der Datenmanager das neue Modul der Liste hinzu und weist
eine "Sequenznummer" für das neue Modul zu. Der Datenmanager
muß ebenfalls die 80 Bit Quad 0 Anzeigedaten für diesen UPC-
Code wiedergewinnen
-
Der Datenmanager muß nun diese neue Sequenznummer dem
Anzeigemodul zur Verfügung stellen. Dieses geschieht dadurch,
daß eine Nachricht an den neuen UPC-Code mit einer
Sequenznummer von Null gesendet wird. Das Anzeigemodul, das
auf die Zuweisung wartet, sucht nach dieser Nachricht. In die
Nachricht eingeschlossen ist ein Nibbel, das normalerweise
eine "Quad"-Nummer hält, jedoch wird dieses Feld benutzt,
während einer Sequenzzuweisung die neue Sequenznummer an das
Anzeigemodul zu leiten. Während einer Sequenzzuzweisung ist
das Quad implizit 0, was bedeutet, daß das Datenfeld die
normale Preisanzeige enthält, Quad 0.
-
Das Anzeigemodul nimmt die Preisdaten auf und plaziert sie in
der Anzeige, so daß der Installierer weiß, daß die
Installation des Anzeigemoduls beendet ist. Ziel ist es, daß
diese Rückkopplung innerhalb einer oder zweier Sekunden
auftritt, nachdem der Lesekopf das Anzeigemodul programmiert.
-
Unmittelbar der Sequenzzuweisung folgend, hat das
Anzeigemodul nur eine normale Preisanzeige. Um das
Anzeigemodul vollständig funktional zu machen, muß der
Datenmanager ihm die anderen drei Anzeigen senden.
Verletzbarkeit
-
Wenn der Installierer mit dem Lesekopf das Modul viele Male
neu programmiert, gehen dem Datenmanager für diesen UPC-Code
die Sequenznummern aus, und er denkt, daß es neun Module
gibt. Wenn es Zeit wird, Information zu diesem Code zu
senden, versucht er wiederholt, mit jedem dieser nicht
existenten Module zu sprechen. Irgendwann schreibt er sie ab
(vielleicht eine Woche später), jedoch wird bis dahin viel
Zeit verschwendet. Außerdem können keine weiteren Module mit
diesem UPC dem System hinzugefügt werden, bis die ungültigen
Zuweisungen gelöscht sind.
-
Der Datenmanager sichert das System gegenüber diesem
Mißbrauch dadurch, daß aufeinander folgende Zuweisungen zu
einem gegebenen Code nicht zugelassen werden, wenn sie zu
schnell kommen.
Einschalten des Anzeigemoduls
-
Das Anzeigemodul hat keine "Rücksetztaste" - das Rücksetzen
bei Einschalten des Sanyo Controllers muß korrekt
funktionieren, oder die Software fällt aus.
-
Die Software beginnt die Ausführung an Stelle 0. Zuerst setzt
das Modul seinen UPC auf 999999-999999, was ein fehlerhafter
Code ist, weil die letzte Ziffer eine Prüfziffer ist und 3
sein sollte. Dieses hindert ein nicht programmiertes Modul
daran, auf irgendeine legitime Adresse auf dem Bus zu
antworten. Jedoch wird ein dummer Lesekopflediglich einen
Ton erzueugen, falls er versucht, ein nicht programmiertes
Modul zu lesen, weil die Prüfziffer falsch ist.
-
Obwohl die Adresse "alles Neunen" über den Bus gesendet wird,
akzeptiert das Anzeigemodul die Daten nicht, weil es
realisiert, daß die Prüfziffer seines eigenen Codes falsch
ist, und wird sich selbst zurücksetzen. Diese Prüfung wird
nur vorgenommen, wenn das Modul sich darauf vorbereitet,
Daten zu akzeptieren, nachdem seine Adresse auf dem Bus
erkannt wird.
"Waisen"-Zähler
-
Ein Geschäft mag wünschen, daß alle Anzeigemodule in dem
Geschäft mit neuer Anzeigeinformation alle acht Stunden oder
ähnlich aktualisiert werden. Ein diesbezügliches Merkmal
verlangt von den Modulen, daß sie ihre Anzeige ausschalten,
wenn sie die Aktualisierung nicht erhalten. Dieses Merkmal
wird von dem "Waisen"-Zähler unterstützt - ein 20 Bit
Echtzeitzähler, der jedesmal inkrementiert wird, wenn das
Modul aufwacht (93,9 ms Periode), oder an jeder Adresse auf
dem Bus (86,7 ms Periode). Wenn der Zähler jemals einen
Übertrag in Bit 19 überträgt, ist das Modul ein "Waise".
Dieses resultiert in einem "Timeout" nach 12,6 bis 13,7
Stunden, abhängig davon, wie oft der Bus aktiv ist.
-
Der Waisen-Zähler wird jedesmal rückgesetzt, wenn das Modul
seine Adresse auf dem Bus erfaßt (wenn alle Adreßprüfungen
durchgehen).
-
Ein verwaistes Modul schaltet seine Anzeige ab, behält jedoch
seinen UPC. Es nimmt den normalen Betrieb auf, sobald der
Datenmanager ihm eine Nachricht sendet.
Ergebnis der Aktualisierung
-
Das Modul hält vier Flags, die die Gültigkeit der vier
internen RAM-Puffer spezifizieren, die die vier Anzeigen
enthalten. Wenn das Modul beispielsweise eine
Sequenzzuweisung empfängt, hat es zuerst nur die normale
Preisanzeige - es darf nicht abwechseln zwischen der normalen
Anzeige (Quad 0) und der Blinkanzeige (Quad 1), weil der
Blinkpuffer keine gültige Information enthält.
-
Wenn es in derselben Weise gewünscht ist, daß das Modul die
Anfrage eines Kunden nach einer Einheitspreisanzeige (Quad 2)
ignoriert, falls es keine anzuzeigende Einheitspreisanzeige
gibt, und wenn ein Lesekopf präsentiert wird, und es keine
gültige Bestellmodusinformation gibt, schaltet das System
einfach alle Segmente in der Anzeige an.
-
Jede Aktualisierung beeinflußt diese "anzeige gültig" Bits
wie folgt. Wenn die Anzeige sofort beeinflußt wird, wird
dieses ebenfalls vermerkt.
Quad 0 aktualisiert, keine Fehler erfaßt:
-
Quad 0 wird in der Anzeige plaziert.
-
Quad 0 ist gültig. Quad 1 und 2 sind ungültig.
-
Quad 3 bleibt gültig, wenn es vor der
Aktualisierung gültig war.
Quad 0 aktualisiert, Fehler erfaßt:
-
Anzeige wird abgeschaltet.
-
Quad 0, 1 und 2 sind ungültig.
-
Quad 3 bleibt gültig, wenn es vor der
Aktualisierung gültig war.
Quad 1 Aktualisiert, Keine Fehler erfaßt:
-
Quad 1 ist gültig.
-
Keine anderen Quads sind betroffen.
Quad 1 Aktualisiert, Fehler erfaßt:
-
Falls Quad 0 gültig ist, und Quad 2 nicht in der
Anzeige ist, Quad 0 in die Anzeige übertragen.
-
Quad 1 ist ungültig.
-
Keine anderen Quads betroffen.
Quad 2 Aktualisiert, Keine Fehler erfaßt:
-
Quad 2 ist gültig.
-
Keine anderen Quads betroffen.
Quad 2 Aktualisiert, Fehler erfaßt:
-
Quad 2 ist ungültig.
-
Keine anderen Quads betroffen.
Quad 3 Aktualisiert, Keine Fehler erfaßt:
-
Quad 3 ist gültig.
-
Keine anderen Quads betroffen.
Quad 3 Aktualisiert, Fehler erfaßt:
-
Quad 3 ist ungültig.
-
Keine anderen Quads betroffen.
Intelligenter Lesekopf gibt mir einen neuen UPC:
-
Display wird abgeschaltet.
-
Alle Quads ungültig.
Initialisierung bei Einschaltung:
-
Display wird abgeschaltet.
-
Alle Quads ungültig.
-
Einmal geschrieben, braucht die Bestellmodusanzeige nicht
nochmal geschrieben zu werden. Nichts kurz von
Reprogrammieren ihres UPC, oder Spannungsausfall, macht Quad
3 ungültig.
-
Wenn Quad 0 aktualisiert wird, müssen die Quads 1 und 2 neu
geschrieben werden, bevor der vollständige Modulbetrieb
wiederhergestellt wird.
-
Wenn es gewünscht ist, den Bus soweit wie möglich zu
entlasten, werden Quad 1 oder 2 oder 3 aktualisiert. Das
setzt den Waisen-Zähler zurück, so daß das Modul sich selbst
nicht abschaltet, jedoch nur ein Drittel der Busaktivität
erfordert.
Prozessordetails
Optionsselektionen für den Sanyo Controller
-
Der Sanyo Controller (siehe Fig. 4) ist mit einer 4,5 oder 6
Volt Spannungsversorgung versehen, und der Prozessor wird mit
einem externen Takt bei 65,536 kHz getaktet.
-
Keiner der internen Rückkopplungen zu Hochzieh- oder
Herunterziehtransistoren wird verwendet. Die Software
schaltet die Herunterziehtransistoren bei der Initialisierung
ab und schaltet sie nicht wieder an.
-
Bei der Initialisierung verläßt die Software den Backup-Modus
und geht in den Backup-Modus nicht zurück (der Backup-Modus
benötigt mehr Leistung in dem Oszillatorschaltkreis).
-
Ein 65 kHz Quarz wird verwendet, um den in dem Oszillator
verschwendeten Strom zu reduzieren. Der invertierende Puffer
in dem Oszillatoreingang weist einen Rückkopplungstransistor
darum herum auf, der die Schwingung unterstützt, wenn ein
Quarz verwendet wird, zieht jedoch Strom von dem externen
Takt. Dieser Widerstand ist größer für die 32 kHz Option als
für die 65 kHz Option.
-
Der Controller verwendet den "62,5 ms" Abzweig für Start1.
Dieses gibt bei 65 kHz einen 31 ms Zeitgeber.
-
In dem Segment PLA steuert jedes in die Anzeigelatches
geschriebene Bit genau ein Segment.
Aufwachen gegenüber Schlafen
-
Wenn der Bus aktiv ist, verbringt der Sanyo Controller die
meiste Zeit mit der Überwachung des Busses, um den Start
einer Adresse zu lokalisieren. Wenn der Sanyo Controller eine
Adresse findet, vergleicht er sie mit seiner eigenen, und
falls sie verschieden sind, prüft der Sanyo Controller den
optischen Port. Wenn in dem optischen Port kein Lesekopf oder
Finger ist, geht er direkt zurück zur Überwachung des Busses.
-
Wenn der Bus im Leerlauf ist, verbringt der Sanyo Controller
seine meiste Zeit angehalten. Der Sanyo Controller wacht alle
93,9 ms (das Dreifache der Start1-Intervalle) auf, um
möglicherweise die Anzeige zu aktualisieren, und zu prüfen,
ob eine Aktivität an dem optischen Port vorhanden ist. Falls
dort nichts geschieht, prüft der Sanyo Controller wiederum
den Bus. Wenn der Bus für die Zeitdauer von mehr als 10 Bit
hoch ist, oder für die Zeit von mehr als 90 Bits niedrig,
verfällt der Sanyo Controller zurück in den Schlafmodus. Das
Ergebnis ist, daß Batterieleistung gespart wird, wenn der Bus
im Leerlauf ist.
Nicht benutzte Ausgänge mit offenem Drain
-
Der Ausgangsport, der die Opto Range und Low Batt Ckt En
Ausgänge ansteuert, ist ein P-Kanal-Ausgang mit offenem
Drain.
Serielles Busformat
-
Das serielle Busformat und Protokoll sind wie folgt (siehe
die Fig. 6A bis 6K). Die Vorspänne, die Verschachtelung von
Adresse, Daten und Bestätigung, das Nibbelformat und die
Bitrate, werden im Hinblick auf die Fähigkeiten des Sanyo
5733 Controllers ausgewählt. Damit der Bus ordnungsgemäß
arbeiet, muß die Busbitrate exakt in Beziehung stehen zur
Taktgeschwindigkeit des Sanyo Controllers. Die Zeitbasis des
Busses und der Module müssen quarzgesteuert sein, um die
erforderliche Übereinstimmung zu erhalten.
-
Die Informationsrichtung auf den Bus ist hauptsächlich von
dem Datenmanager an die Anzeigemodule. In jedem grundlegenden
Buszyklus gibt der Datenmanager 14 Adressennibbel und 20
Datennibbel aus (ausschließlich Vorspänne und Prüfsummen) und
ein Anzeigemodul antwortet mit 3 Nibbeln von ACK
(Bestätigung, von denen zwei Nibbel ein fester Vorspann
sind). Seltener sendet ein Anzeigemodul eine 12 Nibbel
Anforderung für eine Sequenzzuweisung an den Datenmanager.
-
Wie in Fig. 6A gezeigt, beträgt die Gesamtlänge des
grundlegenden Buszyklus 71 Nibbel. Somit hat jeder Buszyklus
71 Nibbels x 5 Bit/Nibbel x 4 Sanyo Controller Zyklen/Bit =
1420 Sanyo Controller Zyklen. Ein Sanyo Controller Zyklus ist
gleich 4 Zyklen/Bit x 1 s/65536 Zyklen = 61,0342 µs Die
Bitzeit = 4 Sanyo Controller Zyklen = 4 x 61,0352 µs =
244,141 µs. Bei fünf Bit pro Nibbel ist die Nibbelzeit = 5 x
244,141 µs = 1,22072 ms bei 71 Nibbeln pro Buszyklus. Die
grundlegende Buszykluszeit = 71 x 1,22070 ms = 86,6699 ms.
-
Fig. 6B zeigt die drei grundlegenden Buszyklen, Zyklus #1,
Zyklus #2, Zyklus #3. Zyklus #1 erkennt die Adresse, Zyklus
#2 nimmt Daten auf, und Zyklus #3 gibt die Bestätigung aus.
Drei Buszyklen benötigen 3 x 86,6699 ms = 260,010 ms.
-
Alle Felder in dem Busformat sind Vielfache von Nibbeln. Das
Nibbelformat (siehe fig. 6C) ist aus fünf Bitzeiten gebildet.
Die ersten vier Bitzeiten in einem Nibbel tragen den
Nibbelwert. Das fünfte Bit wird Space genannt, und der
Datenmanager hält dieses Bit niedrig (d.h., einen Wert von
0), wenn das Nibbel nicht nur aus Nullen besteht. Wenn das
Nibbel 0000 ist, ist sein Spacebit 1. Das am wenigsten
signifikante Bit eines Nibbels kommt zeitlich zuerst.
-
Die Plazierung und Dauer des Spacebit wird von der Sanyo
Controller Software benötigt, wenn der Bus in den RAM gelesen
wird, um ihm Zeit zu geben, das Nibbel in einen Puffer zu
tun, und sich für den Empfang des nächsten Nibbels
vorzubereiten. Jedes Bit ist genau 4 Sanyo Controller
Maschinenzyklen lang, ungefähr so schnell, wie der Sanyo
Controller möglicherweise serielle Daten empfangen kann.
-
Die Regel betreffend den Wert des Spacebit dient dazu, dem
Sanyo Controller zu ermöglichen, schnell zu erkennen, ob der
Bus aktiv ist oder nicht,und zu ermöglichen, daß Header
eindeutig gemacht werden, dadurch, daß ihnen erlaubt wird,
die Spacebitregel zu verletzen. Speziell findet der Sanyo
Controller HDR0 und HDR2 durch die Tatsache, daß es 10
Bitzeiten mit kontinuierlich "1" gibt (d.h., zwei F+ Nibbel).
Normale Daten sollten höchstens fünf aufeinanderf6lgende "1"
haben.
-
Es gibt zwei Felder in jedem Buszyklus, die für die Module
zugewiesen sind, um ihnen zu erlauben, Informationen zum
Datenmanager zu senden. Der Sanyo Controller ist nicht in der
Lage, der Spacebitregel ökonomisch zu folgen, jedoch sind die
Modulnachrichtennibbel auf BCD-Werte beschränkt, um ihn daran
zu hindern, zu viele aufeinanderfolgende "1" auf dem Bus zu
plazieren (und somit die anderen Module zu verwirren, und
möglicherweise ein Modul zu veranlassen, eine Nachricht zu
verpassen). Deshalb ist die Prüfsumme für das
Anforderungsfeld eine BCD Prüfsumme.
Effekt von HF Transceivern auf Modul-erzeugte Felder
-
Das Modul synchronisiert (siehe Fig. 6D) auf eine steigende
Flanke in HDR0 oder HDR2, wie von dem Regalknotenempfänger
erfaßt. Diese Flanken werden tatsächlich zeitlich verschoben,
relativ zu der Zeit, wenn der Datenmanager sie sendet, durch
Verzögerungen, die sowohl im Senderschaltkreis als auch im
Empfängerschaltkreis bewirkt werden. Außerdem ist diese
Verschiebung nicht konstant, sondern variiert von Modul zu
Modul abhängig von der AGC Funktion, der Modulplazierung
innerhalb des Geschäfts (Signalstärke) usw..
-
Fig. 6E zeigt das Adreßfeldformat, einschließlich insgesamt
16 Nibbel. Die 8 Bit Hex-Prüfsumme wird erzeugt durch
Aufaddieren der 14 Nibbel in dem Adreßfeld unter Verwendung
von 8 Bit Addition, dann Komplementieren des Ergebnisses und
Addieren von 1. Ein Beispiel ist in Fig. 6F gezeigt. Auf dem
Bus von einem Anzeigemodul plazierte Information wird weiter
durch die zusätzliche Verzögerung in dem Regalknotensender
verschoben, und auch der Datenmanagerempfänger trägt zur
Verzögerung bei. Die Kombination kann die Modulantwort um
eine Bitzeit verschieben, wie von dem Datenmanager gesehen.
Es ist wahrscheinlich, daß sich die Datenmanager-Software
oder Hardware an diese Verschiebung anpassen muß, um die
Modulnachricht korrekt wiederzugewinnen. Jeder Modulnachricht
geht "75" Hex voraus, um ein bekanntes Anfangsmuster
bereitzustellen, wie in dem Anforderungsfeldformat in Fig. 6G
gezeigt ist. Das Anforderungsfeldformat ist ein offenes
Fenster in dem Datenstrom, um Modulen zu erlauben, eine
Sequenzzuweisung von dem Master anzufordern. Die Prüfsumme
ist sämtlich BCD Ziffern. Alle zwölf UPC Stellen werden
zusammenaddiert, in BCD Arithmetik, Mod 100 Dezimal. Dann
wird dieser Wert von 100 Dezimal subtrahiert.
-
Wenn zwischen dem Ende eines von einem Anzeigemodul erzeugten
Feldes und dem Start des nächsten, von dem Datenmanager
erzeugten Feldes kein Flop zugelassen würde, würde die
Anzeigemodulnachricht gleich mit dem Beginn des nächsten
Feldes aufgrund der oben diskutierten Verzögerungen
überlappen. Das Busformat schließt am Ende des ACK und der
Anforderungsfelder ein volles Nibbel der Stille "Nullen" ein,
um sich diesem Problem zu widmen.
-
Fig. 6G zeigt das Datenfeldformat. Fig. 6H zeigt die
Segmentnummerntabellenabbildung zwischen den physikalischen
-
Pin-Verbindungen und logischen Segmentnummern 1 bis 50. Jedes
Nibbel in dem Datenfeld spezifiziert den Zustand von vier
Anzeigemodulsegmenten. Ein hoher Pegel schaltet das Segment
ein. Das 81-ste Segment wird nicht benutzt, ebenso wie
Segmentleitung 27, gemeinsame Leitung 3.
-
Das am wenigsten signifikante Bit des Nibbels steuert die
unteren Segmentnummern, so daß das erste Nibbel wie in Fig.
61 gezeigt ist. Wie gezeigt, sind die Segmente 1 und 2 aus,
die Segmente 3 und 4 sind an. Wie in Fig. 6J gezeigt, steuert
das zweite Nibbel die Segmente 5 bis 8.
-
Die Prüfsumme ist dieselbe wie in dem Adreßfeld. Das heißt,
die Nibbel werden mit 8 Bit Addition aufaddiert, und die
Prüfsumme ist das 2er-Komplement der Summe.
-
Fig. 6K zeigt die tatsächliche Buskonfiguration, weil das am
wenigsten signifikante Bit zeitlich zuerst innerhalb eines
jeden Nibbels kommt.
-
Fig. 6L zeigt das Bestätigungsfeldformat, das aus insgesamt 5
Nibbels besteht. Das Statusnibbel "STS" ist 6, wenn die
Anzeigemodulbattene in Ordnung ist, und 9, wenn die Batterie
leer ist.
Details des optischen Ports
-
Wenn ein Lesekopf nicht in Verwendung ist, sollte der
optische Port entweder dunkel sein (von dem Finger eines
Kunden abgedeckt), oder von Umgebungslicht beleuchtet. Zwei
Probleme sind denkbar: 1) Die Umgebung ist zu dunkel, und 2)
die Umgebung ist zu hell.
-
Wenn die Lichter des Geschäfts ausgehen, kann die Umgebung
auf den Punkt abfallen, daß die meisten Module zur
Einheitspreisanzeige übergehen. Sie verbleiben in dieser
Anzeige, bis die normale Beleuchtung wieder hergestellt ist.
Dieses reduziert die Reaktionsfähigkeit der Module auf
irgendwelche Nachrichten auf dem Bus, oder die
Lesekopfaktivität an dem optischen Port, nicht.
-
Das entgegengesetzte Problem, eine ungewöhnlich intensive
Umgebung, wurde als das "truck" Problem bekannt, weil es ein
wahrscheinliches Szenario ist, daß ein Lastwagen direkt
außerhalb parkt und eine Menge Sonnenlicht in das Geschäft
hineinreflektiert. Das einfache Modul könnte dieses als
Lesekopf sehen, und in der Befehlsmodusanzeige einrasten.
Anders als bei wenig Licht, fordert der Lesekopf die gesamte
Prozessorzeit, und das Modul würde mit der Überwachung des
Busses aufhören.
-
Die Modulsoftware weist kontinuierlich hohe Lichtpegel durch
Verwendung des "truck" Bits zurück. Dieses Bit wird von der
Software gesetzt, wenn zuerst ein Lesekopf erfaßt und bedient
wird. Das Bit wird nicht rückgesetzt, bis die Software den
Lichtpegel wieder fallen sieht, und das Modul ignoriert hohe
Lichtpegel, bis das "truck"-Bit rückgesetzt wird.
-
Ein zweiter Riegel schützt vor Lichtpegeln, die mit 60 Hz
moduliert sind - das Modul weist einen Lesekopf zurück, falls
er nicht für wenigstens 18 ms fortwährend hell ist (mit der
Auflösung, mit der das Modul abtasten kann). Jedoch kann eine
Modulation mit niedrigerer Frequenz von hellen Pegeln ein
Modul einrasten lassen. Dieser Vorgang wäre gekennzeichnet
durch viele Sekunden von Befehlsmodusanzeige, gefolgt von der
Rückkehr zur normalen Preisanzeige, und dann, sobald das
Modul Dunkelheit und dann Helligkeit sieht, Rückkehr der
Befehlsmodusanzeige für wiederum 4 Sekunden.
-
Wenn ein Lesekopf verwendet wird, kann ein anderes Problem
auftreten. Der herkömmliche (dumme) Lesekopf hält seine LED
an, wenn der Lesekopf versucht, einen Strichcode zu lesen.
Wenn der optische Port zu viel von diesem Licht zurück zum
Lesekopf reflektiert, könnte der Lichtdetektor des Lesekopfes
nur diesen hellen Pegel sehen, was dazu führt, daß er die
Strichcodestruktur, die von der LED des Moduls ausgesendet
wird, nicht mehr lesen kann. Der Lesekopf gemäß der Erfindung
verhindert dieses Problem durch seine Konfiguration.
-
Die intelligente Lesekopfschnittstelle ist konstruiert,
exzessive Reflektion an dem Portfenster zu tolerieren. Zwei
grundlegende Merkmale unterstützen diese Fähigkeit: 1) Der
Handshake, und folgender Datenaustausch erfordert keinen
Detektor, um den Port abzutasten, wenn sein eigener Emitter
an ist, und 2) die Strichcodeaussendung des Moduls kann von
dem intelligenten Lesekopf neu ausgelöst werden, was es dem
intelligenten Lesekopf ermöglicht, die vollständige
Strichcodeaussendung zu sehen, wobei seine LED aus ist.
-
Der Lesekopf erhält die Aufmerksamkeit des Moduls durch
Beleuchten des optischen Ports. Das Modul benötigt 20 bis
ungefähr 120 ms, um auf den Lesekopf zu reagieren, und mit
der Aussendung des Strichcodes zu beginnen. Der Strichcode
benötigt bis zu seinem Abschluß 260 ms.
-
Der intelligente Lesekopf sieht die Reflektion seiner eigenen
LED nicht und sieht den Strichcode des Moduls. In diesem Fall
muß der intelligente Lesekopf die Neuübertragung des
Strichcodes nicht anfordern. Wenn jedoch der Lesekopf nichts
anderes als Helligkeit sieht, muß er seine LED für vielleicht
150 ms anhalten, um sicherzustellen, daß der Lesekopf sie
sieht. Wenn der Lesekopf schließlich seine LED ausschaltet
und die LED des Moduls sehen kann, hat das Modul mit der
Übertragung des Strichcodes bereits begonnen.
-
Der Lesekopf wartet einfach, bis der Strichcode zuende ist
und der Handshake beginnt. Der Lesekopf führt den Beginn des
Handshakes korrekt aus und fällt dann absichtlich in einem
späteren Teil des Handshake aus. Dieses bewirkt, daß das
Modul zum Beginn der Strichcodeaussendung zurückkehrt, und
dieses nächste Mal ist der Lesekopf in der Lage, ihn zu
lesen.
Anzeigemodul Software
-
Der Sanyo 5733 Controller hat 2 kbyte Programm-ROM, die in
acht Seiten von 256 Byte organisiert sind. Ein Speicherplan
des Sanyo 5733 Controllers wird im folgenden beschrieben.
Der RAM hat 128 Stellen, 1 Nibbel breit.
-
Der RAM ist in Seiten organisiert (weil in RAM mit DP gezeigt
wird, und DP in DPH (3 Bit, RAM Seite) und DPL (4 bit, Offset
in Seite) unterteilt ist. Es gibt 8 Seiten, 16 Nibbel pro
Seite.
RAM Seite 0 : (zugewiesene Adresse - Lanzeitspeicherung wird
nur durch Nullprogrammierung mit intelligentem
Lesekopf geändert)
RAM Seite 1: Zeitweilige Speicherung von:
a) Von Regalbusstrom gezogene Adresse
b) Anforderungsbild (komplementierter UPC + chk)
c) Prüfsummenlaufsumme (letzte beiden Nibbel)
RAM Seite 2: Anzeigebild; Quad 0 (erste 16 Nibbel)
RAM Seite 3: Anzeigebild; Quad 0 (letzte 4 Nibbels)
Quad 1 (erste 12 Nibbel)
RAM Seite 4: Anzeigebild; Quad 1 (letzte 8 Nibbel)
Quad 2 (erste 8 Nibbel)
RAM Seite 5: Displayimage; Quad 2 (letzte 12 Nibbel)
Quad 3 (erste 4 Nibbel)
Hex Adresse
RAM Seite 6: Displayimage; Quad 3 (letzte 16 Nibbel)
-
Ende der Anzeigenspeicherung. Die Anzeigen sind jeweils
20 Nibbel lang., Es gibt 4 Anzeigen für eine
Gesamtspeicherung von 80 Nibbeln. Dieses stellt 62,5% des
verfügbaren RAM dar.
RAM Seite 7: Zeitweilige Speicherung, Flags, Zähler
Erläuterung der Bit Interpretation:
Eingangsbit:
-
Comm Kanal ist Hoch (1) falls Kanal in überlegenem Zustand
ist. Der überlegene Zustand ist ein hoher Pegel in der
festverdrahteten Version, oder Träger AN bei HrF
Implementierung des Busses.
-
Dunkel ist Hoch (1) um anzuzeigen, daß der Lichtpegel
unterhalb der gewählten Empfindlichkeitsschwelle ist.
-
Hoch, um eine niedrige Batteriespannung anzuzeigen.
Ausgangsbits:
-
Low batt ckt En wird hoch eingeschrieben, um den Batterie
Leer Erfassungsschaltkreis einzuschalten (wird
abgeschaltet, wenn nicht benutzt, um Batteriestrom zu
sparen).
-
(Der low batt Schaltkreis wird getestet, direkt bevor
ein ACK an den Master gesendet wird, somit ist er fast
die gesamte Zeit aus.)
Opto Range stellt die Lichtempfindlichkeit ein:
-
Range 0 ist der empfindlichste - wird verwendet, um den
Unterschied zwischen normaler Umgebung und
vollständiger Dunkelheit zu umfassen (wenn der
Kunde die Öffnung mit einem Finger abdeckt, um die
Einheitspreisanzeige hervorzurufen).
-
Range 1 ist am wenigsten empfindlich - wird verwendet,
um den Unterschied zwischen der normalen Umgebung
und großer Helligkeit zu erfassen (wenn der
Lesekopf in den optischen Port eingesetzt ist, und
die LED des Lesekopfs angeschaltet ist)
-
(Opto Range sollte immer "0" sein, wenn der optische
Port nicht bedient wird. Wenn Range "1" ist, kann
Strom in dem Erfassungsschaltkreis fließen, was die
Batterie erschöpft.)
-
Senden einer "1"* wird verwendet, um Information von
einem Anzeigemodul an den Regalknotenprozessor oder
Datenmanager zu senden. Wenn Niedrig (0), wird der
Regalknotenbus auf "1" gelegt. Dieses Bit ist immer
auf hoch gesetzt, außer wenn Daten gesendet werden.
Daten werden vor der Sendung komplementiert, so daß
sie richtig herum auf dem Bus auftreten.
Lichtausgabe:
-
SLGT schaltet die Modul-LED ein.
-
RLGT schaltet die Modul-LED aus.
-
(LED sollte immer aus sein, außer während Kommunikation
mit dem Lesekopf - benötigt viel Strom.)
-
ALARM Ausgang: Nicht benutzt
Zeitgabe der Pricelink Anzeigemodul Betriebsanforderung
-
Das bevorzugte Ausführungsbeispiel läßt irgendeinen gegebenen
Regalbus im Leerlauf - niedrig fast die gesamte Zeit; die
einzige Zeit, während welcher der Regalbus aktiv ist, ist
während einer Dauer von ungefähr 1 Sekunde alle acht Stunden.
Das bedeutet, daß wenn ein Anzeigemodul mit einem Lesekopf
gelesen wird, der Bus fast sicher im Leerlauf-niedrig sein
wird.
-
Wenn von dem Modul ein intelligenter Lesekopf erfaßt wird und
der Bus im Leerlauf-niedrig war, als das Modul ihn zuletzt
geprüft hat, plaziert das Modul einen 1,3 ms Impuls auf dem
Bus. Der Impuls wird ausgegeben, wenn die LED des Lesekopfes
nicht erfaßt wird, nachdem das Modul die Aussendung seines
Strichcodes beendet hat. Dieses ist direkt, bevor der
Handshake mit dem Lesekopf versucht wird.
-
Dann versucht das Anzeigemodul eine Handshake Prozedur mit
dem Lesekopf, und wenn der Handshake erfolgreich ist, taktet
das Anzeigemodul seinen neuen UPC aus dem Lesekopf. Dann
prüft das Modul den empfangenen Code, um zu sehen, ob die
Zwei-BCD-Stellen-Prüfsumme korrekt ist, und falls korrekt,
bereitet sich das Anzeigemodul vor, eine Anforderung auf dem
Bus zu plazieren.
-
Das Anzeigemodul prüft zuerst den Bus nochmal, um zu sehen,
daß er noch im Leerlauf ist (dies benötigt 100 ms). Insgesamt
vergehen ungefähr 575 ms nach dem ersten Impuls, bevor die
Anforderungsnachricht übertragen wird. Die Anforderung selbst
benötigt ungefähr 39 ms (80 Regalbusbitzeiten).
Lesekopf-Anzeigemodul Schnittstelle
-
Die Anzeigemodule in dem System bleiben leer, bis der Manager
ihnen ihre erste Anzeigeinformation sendet. Dieser Vorgang
kann jedoch nicht stattfinden, bis eine Zugehörigkeit
zwischen dem Anzeigemodul und einem bestimmten Produkt im
Geschäft gebildet ist.
-
Diese Zugehörigkeit wird gebildet, wenn dem Anzeigemodul von
einem intelligenten Lesekopf ein UPC Code zugewiesen wird.
Der intelligente Lesekopf ist ein handhaltbarer optischer
Lesekopf vom Strichcodelesertyp gemäß der Erfindung, mit der
Fähigkeit, seine Lichtquelle zu modulieren. Diese Fähigkeit
macht eine bidirektionale Kommunikation zwischen einem
Anzeigemodul und einem intelligenten Lesekopf möglich.
-
Im folgenden wird die Zeitgabe des UPC Zuweisungsprozesses
beschrieben.
-
Das Anzeigemodul enthält einen optischen Sender und einen
optischen Empfänger (einen Siliziumphototransistor). Die
Spitze des intelligenten Lesekopfes wird in ein Loch in der
Vorderseite des Moduls eingesetzt, so daß die optischen
Komponenten des Lesekopfes mit denen des Moduls eng gekoppelt
sind.
-
Das Anzeigemodul erfaßt die Gegenwart eines Lesekopfes durch
Bemerken eines ungewöhnlich hohen Lichtpegels. Dieses kann 94
ms dauern, weil das Anzeigemodul den Zustand des optischen
Ports nur einmal alle 94 ms abtastet. Wenn ein Lesekopf
erfaßt wird, bewegt das Anzeigemodul zuerst das Quad 3 Bild
in die Anzeige (oder schaltet alle Segmente ein, falls keine
gültige Quad 3 Information verfügbar ist). Dieser Vorgang
kann einige Millisekunden dauern.
-
Als nächstes sendet das Anzeigemodul seinen gegenwärtigen UPC
Code unter Verwendung seiner LED im Strichcodeformat. Wenn
dem Modul ein Strichcode nicht zugewiesen worden ist, ist der
ausgesendete Code sechs Neunen hintereinander 999999-999999.
Es wird vermerkt, daß dieses ein fehlerhafter Code ist, weil
die Prüfstelle 3 sein sollte, jedoch ist sie 9.
-
Das Strichcodeformat erlaubt herkömmlichen Strichcodelesern,
dem Code eines Anzeigemoduls zu lesen. Ein herkömmlicher
Strichcodeleser wird dummer Lesekopf genannt, weil er dem
Anzeigemodul einen neuen UPC-Code nicht zuweisen kann.
-
Der Strichcode wird mit einer Zeitgabe von ungefähr 2 ms pro
"Modul" (kleinstes Element im Code) ausgegeben; es gibt 110
Module in einem Code, einschließlich Ränder, so daß die
Strichcodeaussendung ungefähr 220 ms benötigt.
-
Nach dem Abschalten seiner LED nach Abschluß des Strichcode
wartet das Anzeigemodul ungefähr 9 ms und testet dann dem
Zustand des Lesekopfes. Wenn die LED des Lesekopfes noch an
ist, schlußfolgert das Anzeigemodul, daß der Lesekopf dumm
ist, und das Anzeigemodul geht für ungefähr 4 Sekunden in
einen Schlafzustand über, wacht dann auf und plaziert Quad
zurück in die Anzeige (oder leer, falls keine Quad
Information verfügbar ist).
-
Wenn die Lesekopf-LED 9 Millisekunden nach dem Ende des
Strichcode aus ist, versucht das Anzeigemodul mit dem
Lesekopf einen Handshake. Vor Beginn des Handshakes plaziert
das Modul einen 1,3 ms Impuls auf dem Regalbus, um den
Regalknotenprozessor aufzuwecken.
-
Der Handshake, und die folgende UPC-Zuweisung sind so
definiert, daß kein Empfänger untersucht wird, während sein
eigener Emitter an ist; das Modul testet dem Zustand des
Lesekopfes nicht, während die Modul-LED an ist, und der
Lesekopf sucht nicht nach einem von dem Modul erzeugten
Impuls, wenn die LED des Lesekopfes nicht aus ist. Dieses
vermeidet Probleme aufgrund möglicher Wechselwirkungen
zwischen Emittern und Detektoren (wie etwa Reflektionen).
-
Der Zustand des optischen Ports ist während dieses Handshakes
sehr stark überabgetastet, was die
Fehlererfassungseigenschaften des Protokolls verbessert.
-
Die Zeitgabe von sowohl dem Handshake als auch dem UPC-
Transfer wird von dem Anzeigemodul Bit für Bit bestimmt. Das
Anzeigemodul gibt einen Impuls von ungefähr 1 Millisekunde
aus, und der intelligente Lesekopf sieht das Ende des
Impulses, verzögert um eine Millisekunde, und schaltet dann
entweder seine LED an oder läßt sie aus. Nach 3 Millisekunde
schaltet der Lesekopf seine LED aus, falls die LED an war.
Dieses schließt die Übertragung von einem Datenbit von dem
Lesekopf zum Anzeigemodul ab. Das Anzeigemodul wartet eine
Millisekunden und gibt dann einen weiteren Zeitgabeimpuls
aus. Dieses resultiert in einer Übertragungsrate von ungefähr
sechs Millisekunden pro Bit.
-
Die Richtung des Datenflusses ist von dem Lesekopf zum
Anzeigemodul; das Anzeigemodul sendet einzig zu der Zeit
Daten an den Lesekopf, wenn der Strichcode ausgesendet wird,
wie oben beschrieben wurde.
-
Der Handshake besteht aus einem sechs Bit Code: 110101. Das
Paar von Einsen wird zuerst ausgegeben - der Zeitablauf ist
von links nach rechts. (Hier bedeutet eine 1, daß die
Lesekopf-LED an ist.)
-
Wenn der Handshake erfolgreich abgeschlossen ist, fährt das
Anzeigemodul fort, Zeitgabeimpulse auszugeben, und der
Lesekopf reagiert durch Einspeisen des neuen UPC-Codes an das
Anzeigemodul. Der Code wird als BCD Nibbels gesendet: es
werden 12 Nibbels für dem Code gesendet, und eine 2 Nibbel
Prüfsumme wird am Ende hinzugefügt. Dieses ergibt insgesamt
56 Bits.
Regalknotenbetrieb
-
Im folgenden wird das Breitbandübertragungsschema für das
Pricelinksystem beschrieben, das anstrebt, in dem Regalknoten
Batterieleistung zu sparen. Die HF (Funkfrequenz) ist
bevorzugt in der Lage, Daten zuverlässig mit viel höheren
Raten als die Anzeigemodule zu übertragen, wodurch sich Raum
ergibt für zusätzlichen Vorspanninformation, die zur
Konservierung der Batterielebensdauer in den Regalknoten
benötigt wird.
-
Das grundlegende Konzept des Schemas ist es, zu ermöglichen,
daß die Anzeigemodule in dem HALT Modus solange wie möglich
sind, den Regalknotenprozessor die meiste Zeit auf niedriger
Geschwindigkeit laufen zu lassen, und den Empfänger/Sender in
dem Regalknoten die meiste Zeit aus zu lassen, und zu
erlauben, daß eine Adreßanforderung und das Echo von Daten
mit Bestätigung und eingeschlössener Information, daß die
Batterie leer ist, gesendet wird.
-
Alle fünf Minuten sendet der Datenmanager einen Befehl aus,
der dem Regalknoten sagt, was während der nächsten fünf
Minuten geschieht. Der Regalknoten ist für das Einschalten
seines Empfängers direkt vor dieser Übertragung
verantwortlich, und abhängig von der empfangenen Information,
geht bis zur nächsten Nachricht zurück in den Schlafzustand,
oder bereitet sich auf dem Empfang von Information vor, die
an die Anzeigemodule geleitet wird. Wenn ein Regalknoten
zwischen Übertragungen aufwacht, empfängt er Information
darüber, wann die nächste Übertragung auftritt.
-
Jeder Buszyklus ist in sechs Fenster unterteilt. Das folgende
ist die Reihenfolge der Fenster für jeden Zyklus auf dem Bus:
-
Fenster 1 - Sync/Info
-
Fenster 2 - Übertragungsdaten
-
Fenster 3 - Anforderung
-
Fenster 4 - Übertragungsdaten wiederholgen
-
Fenster 5 - (leer)
-
Fenster 6 - Echo
-
Das Sync/Info ist ein Fenster für den Datenmanager, in
welches der Datenmanager die gesamte Vorspanninformation im
Zusammenhang mit der Konservierung der Batterielebensdauer in
den Regalknoten tut. Dieses schließt Information darüber ein,
wann die Knoten ihre Empfänger ein- und ausschalten,
Synchinformation usw. Wenn keine Information an die Module
ausgesendet wird, ist dieses das einzige Fenster, das
irgendeine Übertragung von dem Deckenknoten hat, die
Datenfenster bleiben leer.
-
Die Übertragungsdaten sind ein Paket, das die Bits enthält,
die mittels des Regalknotens an die Anzeigemodule
weitergeleitet werden müssen. Weil 24 Informationsbits in
diesem Paket an die Module gesendet werden, muß die
Buszykluszeit 24 Bitzeiten der Module sein, was 5,86 ms ist.
-
Das Anforderungsfenster ist ein Raum für einen Regalknoten,
der gegenwärtig nicht aktiv ist, um eine Anzeigemodul-
Sequenzzuweisungsanforderung einzufügen. Weil eine
Anforderung 80 Bits lang ist und jede Übertragung 24 Bit
enthält, benötigt sie vier Übertragunge.n Eine fünfte
Übertragung ist ein Paket, das die Regalknotenadresse
enthält.
-
Die Wiederholung von Übertragungsdaten ist eine Wiederholung
der Übertragungsdaten. Der Regalknoten liest sie, wenn die
erste Übertragung fehlt oder den Prüfsummentest nicht
besteht.
-
Das Echo ist ein Fenster, das der Regalknoten zur Übertragung
der Bits verwendet, die auf dem Anzeigemodulbus waren, als
die vorangehenden Übertragungsdaten aufgegeben wurden, so daß
irgendeine Nachricht, die ein Modul auf dem Modulbus einfügt,
übertragen wird. Dieses beläßt die gesamte Entschlüsselung
von Bestätigungen und einige Anforderungen auf der anderen
Seite der HF. Um zuzulassen, daß verschiedene Arten von
Übertragungen auftreten, ist das erste Nibbel eines jeden
Pakets ein Vorspann. Das letzte Nibbel in dem Paket wird als
Prüfsumme benutzt, was eine Fehlerprüfung ermöglicht. Dieses
erlaubt, daß 24 Informationsbits in jedem Breitbandpaket von
32 Bits enthalten sind. Fig. 8 zeigt ein Zeitdiagramm für den
Regal knoten.
-
Einige der Pakete erfordern eine Adresse, während andere von
allen anderen Regalknoten abehört werden. Der Regalknoten
geht mit jedem Pakettyp und denen um, die Adressen haben.
-
Die Adresse ist vier Nibbels lang und besteht aus 2 Nibbeln
für die Gruppenadresse und zwei Nibbeln für die
Knotennadresse. Um zu garantieren, daß in fünf Minuten eine
gesamte Gruppe übertragen wird, ist die Anzahl von Knoten pro
Gruppe auf 128 beschränkt. In einem normalen Geschäft mit
20000 Anzeigen, 6 Anzeigen pro Regal, kann man mit lediglich
26 Gruppen rechnen. Diese Spezifikationen sind beispielhaft
und nicht beschränkend.
-
Die Unterteilung der Adresse in Gruppe und Knoten ermöglicht,
daß ein Paket zu einer Gruppe adressiert wird. Wenn die
Knotenadresse Null ist, werden alle Knoten in der Gruppe
adressiert. Wenn die Knoten- und Gruppenadressen Null sind,
werden alle Regale adressiert.
-
Im allgemeinen arbeitet der Regalknoten in drei Zuständen:
Schlafen, Bereitschaft und Aktiv. Das folgende ist ein
allgemeiner Umriß der Zustände.
-
Im Schlafzustand läuft der Prozessor mit niedriger
Geschwindigkeit, wobei der Empfänger und der Sender
abgeschaltet sind. Wenn ein interner Zeitgeber abläuft,
beschleunigt der Prozessor, schaltet den Empfänger ein und
empfängt Information darüber, was in dem nächsten Zeitblock
geschieht. Normalerweise wacht er alle fünf Minuten auf,
jedoch kann dieses von dem Datenmanager entschieden werden.
Wenn der Knoten (d.h., Regalknoten) einschaltet, empfängt er
entweder Synchronisationsinformation oder aktuelle
Information darüber, was als nächstes geschieht. Wenn der
Knoten in die Übertragungen eingeschlossen ist, die in den
nächsten fünf Minuten auftreten, berechnet er die Zeit seiner
Übertragung und wechselt dann in den Bereitschaftszustand. Es
gibt einen anderen Weg, den Schlafzustand zu verlassen. Wenn
der Modulbus mit einer Modulanforderung aktiv wird, sendet
der Prozessor die Anforderung in dem Anforderungsfenster aus
und schaltet dann in den Bereitschaftszustand.
-
Im Bereitschaftszustand läuft der Prozessor mit voller
Geschwindigkeit bei eingeschaltetern Empfänger. Er liest
fortwährend das Sync/Info Fenster für einen adressierten
Befehl, um entweder in den Schlaf- oder in den aktiven
Zustand einzutreten.
-
Wenn ein Knoten aus der Bereitschaft den aktiven Zustand
erreicht, liest der Knoten lediglich das
Übertragungsdatenfenster und leitet diese Bits an die
Anzeigemodule weiter. In das Echofenster tut der Knoten die
Daten, die auf dem Modulbus zuletzt übertragen wurden, die
die Bestätigungen und möglicherweise eine hineingemischte
Anforderung enthalten. Der Knoten verläßt dem aktiven
Zustand, wenn ein Befehl in dem Übertragungsdatenfenster
ausgegeben wird, der dem Knoten sagt, zurück in Bereitschaft
zu gehen, oder zu schlafen. Es ist wichtig, daß nur ein
Knoten zu jeder Zeit in diesem Zustand ist.
-
Zu irgendeiner Zeit, in der das Sync/Info Fenster für
irgendeine andere Nachricht nicht verwendet wird, ist dort
Synchronisationsinformation. Diese Information wird an alle
gesendet, um den Regalknoten mitzuteilen, wann sie auf
explizite Information hören müssen. Die meiste Zeit wachen
alle Knoten in einem Geschäft alle fünf Minuten zur gleichen
Zeit auf und hören auf explizite Information darüber, was
während den nächsten fünf Minuten geschieht. Wenn ein Knoten
die Synchronisation mit den Ausstrahlungen an alle verliert,
ist er schnell in der Lage, zu resynchronisieren. Das
folgende ist das Format der Nachricht:
-
Nibbel 0 - Vorspann 0000 (0) Nibbel 1 - Am wenigsten
signifikante Zeit
-
Nibbel 2 - Zeit
-
Nibbel 3 - Zeit
-
Nibbel 4 - signifikanteste Zeit
-
Nibbel 5 - -
-
Nibbel 6 - -
-
Nibbel 7 - Prüfsumme
-
Die vier Zeitnibbel sind die Anzahl von 1/16tel einer
Sekunde, für welche der Regalknoten schlafen soll.
-
Der Aktivierungsbefehl wird in dem Sync/Info Fenster
übertragen und wird verwendet, einen Regalknoten, der sich in
dem Bereitschaftszustand befindet, zu veranlassen, in den
aktiven Zustand zu wechseln. Der Befehl ist wie folgt
formatiert:
-
Nibbel 0 - Vorspann 0001 (1)
-
Nibbel 1 - Gruppe #
-
Nibbel 2 - Gruppe #
-
Nibbel 3 - Knoten #
-
Nibbel 4 - Knoten #
-
Nibbel 5 - -
-
Nibbel 6 - -
-
Nibbel 7 - Prüfsumme
-
Es ist die Verantwortlichkeit des Datenmanagers,
sicherzustellen, daß sich der aktive Knoten nicht länger im
aktiven Zustand befindet, wenn dieser Befehl ausgegeben wird.
-
Wenn der Datenmanager weiß, daß die Übertragung an ein
individuelles Regal im Bereitschaftszustand beendet ist, wird
ein Befehl gesendet, den Empfänger sofort abzuschalten, und
in einen Modus geringer Leistungsaufnahme zu verfallen. Das
folgende ist das Format des Pakets:
-
Nibbel 0 - Vorspann 0010 (2)
-
Nibbel 1 - Gruppe #
-
Nibbel 2 - Gruppe #
-
Nibbel 3 - Knoten #
-
Nibbel 4 - Knoten #
-
Nibbel 5 - -
-
Nibbel 6 - -
-
Nibbel 7 - Prüfsumme
-
Wenn ein Regalknoten diesen Befehl empfängt, liest er das
nächste Synchronisationspaket, um seinen Zeitgeber zu setzen,
und in dem Schlafzustand zu fallen. Schlafbefehle könnten
ebenfalls an Gruppen oder jedes Regal gerichtet werden.
-
Das Knotenzuweisungspaket wird als Reaktion auf eine im
folgenden definierte Knotenzuweisungsanforderung in dem
Sync/Info Fenster plaziert. Das folgende ist das Paketformat:
-
Nibbel 0 - Vorspann 0011 (3)
-
Nibbel 1 - Gruppe #
-
Nibbel 2 - Gruppe #
-
Nibbel 3 - Knoten #
-
Nibbel 4 - Knoten #
-
Nibbel 5 - erste Markierungsstelle
-
Nibbel 6 - zweite Markierungsstelle
-
Nibbel 7 - Prüfsumme
-
Dieser Befehl hat auch den Effekt, daß der Knoten in den
aktiven Zustand versetzt wird. Der Datenmanager sollte mit
der Eingabe des neuen Regalknotens in die Datenbank warten,
bis klar ist, daß der Knoten seine Adresse empfangen hat.
-
Wenn ein Regalknoten einen Gruppenaufwach-Befehl empfängt,
der zu seiner eigenen Gruppe paßt, berechnet er eine Zeit, in
dem Bereitschaftsmodus einzutreten, basierend auf der Zeit,
die in dem Paket enthalten ist, und seiner Knotennummer. Das
folgende ist das Format des Pakets:
-
Nibbel 0 - Vorspann 0100 (4)
-
Nibbel 1 - Gruppe #
-
Nibbel 2 - Gruppe #
-
Nibbel 3 - Knoten #
-
Nibbel 4 - Knoten #
-
Nibbel 5 - Empfangszeit
-
Nibbel 6 - Empfangszeit
-
Nibbel 7 - Prüfsumme
-
Die Nibbel 5 und 6 werden verwendet, anzuzeigen, wie lange
jedes Regal an sein sollte, in 1/16-teln einer Sekunde, so
daß jeder einzelne Regalknoten die Zeit seiner Ausstrahlung
an alle durch Multiplizieren dieser Nummer mit seiner
Knotenadresse berechnen kann. Im allgemeinen sollte für eine
Gruppe die Zeit 2,25 Sekunden sein, um für neue Versuche
genügend Zeit zu lassen. Die Knoten # ist Null.
-
Wenn der individuelle Aufwachbefehl gegeben wird, lauschen
die Regalknoten, bis sie entweder ihre Adressen leeren, oder
die Liste erledigt ist. In den nächsten fünf Minuten wird nur
an die Module in der Liste übertragen. Das folgende ist das
Format des Pakets:
-
Nibbel 0 - Vorspann 0101 (5)
-
Nibbel 1 - Gruppe #
-
Nibbel 2 - Gruppe #
-
Nibbel 3 - Knoten #
-
Nibbel 4 - Knoten #
-
Nibbel 5 - Empfangszeit
-
Nibbel 6 - Empfangszeit
-
Nibbel 7 - Prüfsumme
-
Der individuelle Regalknoten hört auf jedes Paket, wobei die
Zeit zu seinem internen Zeitgeber addiert wird, bis er seine
Adresse hört. Wenn die Liste vollständig ist, benutzt jeder
Regalknoten, der in der Liste enthalten war, die berechnete
Summe, um zu planen, wann er aufwacht. Dieses fügt dem System
Flexibilität hinzu, belastet jedoch den Datenmanager mit
Planungsarbeit. Es ist wichtig, daß dieses Verfahren nicht zu
oft verwendet wird, weil jeder Regalknoten der gesamten Liste
zuhören muß.
-
Der Notaufwachbefehl wird verwendet, wenn ein Stromausfall
aufgetreten ist, und das gesamte Geschäft schnell
aktualisiert werden muß, oder für Show-Zwecke. Das folgende
ist das Format des Pakets:
-
Nibbel 0 - Vorspann 0110 (6)
-
Nibbel 1 - Gruppe #
-
Nibbel 2 - Gruppe #
-
Nibbel 3 - Knoten #
-
Nibbel 4 - Knoten #
-
Nibbel 5 - -
-
Nibbel 6 - -
-
Nibbel 7 - Prüfsumme
-
Die mittleren sechs Nibbel sind eigentlich unbenutzt. Dieser
Befehl versetzt alle adressierten Knoten in dem aktiven
Zustand, was bewirkt, daß die Batterielebensdauer kürzer
wird. Normalerweise wäre die Adresse Null, um das gesamte
Geschäft aufzuwachen. Dieses Verfahren sollte unter normalen
Umständen nicht verwendet werden.
-
Daten, die an die Anzeigemodule gesendet werden, sind in dem
Übertragungsdatenfenster in dem folgenden Format:
-
Nibbel 0 - Vorspann 1000 (8)
-
Nibbel 1 - Bits
-
Nibbel 2 - Bits
-
Nibbel 3 - Bits
-
Nibbel 4 - Bits
-
Nibbel 5 - Bits
-
Nibbel 6 - Bits
-
Nibbel 7 - Prüfsumme
-
Die Bits sind die Bits, die an die Anzeigemodule ausgesendet
werden. Sie sind in 5 Bit Nibbel formatiert und dann in das
Paket komprimiert, so daß jedes Paket 4,8 Modulnibbel
enthält.
-
Wiederholung von Übertragungsdaten ist eine Wiederholung der
Übertragungsdaten, die einen verschiedenen Vorsprung haben
und in dem Wiederholungsübertragungsdatenfenster plaziert
sind. Sie sind im folgenden Format:
-
Nibbel 0 - Vorspann 1001 (9)
-
Nibbel 1 - Bits
-
Nibbel 2 - Bits
-
Nibbel 3 - Bits
-
Nibbel 4 - Bits
-
Nibbel 5 - Bits
-
Nibbel 6 - Bits
-
Nibbel 7 - Prüfsumme
-
Das Paketübertragungsende wird in den Übertragungsdaten- und
Wiederholungsfenstern plaziert und teilt dem Regalknoten mit,
den aktiven Zustand zu verlassen. Es ist in dem folgenden
Format:
-
Nibbel 0 - Vorspann 1010 (A)
-
Nibbel 1 - (Ziel)
-
Nibbel 2 - -
-
Nibbel 3 - -
-
Nibbel 4 - -
-
Nibbel 5 - -
-
Nibbel 6 - -
-
Nibbel 7 - Prüfsumme
-
Wenn ein aktiver Regalknoten dieses Paket anstelle der
Übertragungsdaten empfängt, geht er in den
Bereitschaftszustand. Das zweite Nibbel könnte verwendet
werden, ein Ziel anzugeben, entweder Bereitschaft oder
Schlafzustände
-
Das Echodatenpaket wird in dem Echofenster plaziert. Wenn ein
Regalknoten 24 Bit empfängt, taktet er sie an die Module aus
und liest ebenfalls dieselben 24 Bit zurück. Die gelesenen
Bit werden in diesem Paket ausgesendet. Das folgende ist das
Paketformat:
-
Nibbel 0 - Vorspann 1011 (B) oder 1100 (C) wenn Batterie leer
ist
-
Nibbel 1 - Bits
-
Nibbel 2 - Bits
-
Nibbel 3 - Bits
-
Nibbel 4 - Bits
-
Nibbel 5 - Bits
-
Nibbel 6 - Bits
-
Nibbel 7 - Prüfsumme
Der Vorspann enthält dem Batteriezustand.
-
Wenn der Regalknoten im Schlaf- oder Bereitschaftszustand
ist, und ein Anzeigemodul eine Anforderung aussendet, werden
die Bits in dem Anforderungsfenster in diesem Format
weitergeleitet:
-
Nibbel 0 - Vorspänn 1101 (D)
-
Nibbel 1 - (Ziel)
-
Nibbel 2 - Bits
-
Nibbel 3 - Bits
-
Nibbel 4 - Bits
-
Nibbel 5 - Bits
-
Nibbel 6 - Bits
-
Nibbel 7 - Prüfsumme
-
Die Aussendung der gesamten Anforderung benötigt vier Pakete.
Außerdem wird ein Knoten ID Paket am Ende der vier
Modul anforderungen ausgesendet.
-
Das Knoten-ID-Paket ist das fünfte Paket einer
Modulanforderung. Es identifiziert die Quelle der
Anforderung, so daß der Datenmanager damit ordnungsgemäß
umgehen kann. Das folgende ist das Format:
-
Nibbel 0 - Vorspann 1110 (E)
-
Nibbel 1 - Gruppe #
-
Nibbel 2 - Gruppe #
-
Nibbel 3 - Knoten #
-
Nibbel 4 - Knoten #
-
Nibbel 5 - erste Markierungsstelle
-
Nibbel 6 - zweite Markierungsstelle
-
Nibbel 7 - Prüfsumme
-
Wenn ein Knoten keine Adresse hat, wenn eine Anforderung
ausgesendet wird, ist die Adresse Null und die
Markierungsstellen sind Zufallsstellen von irgendwoher, die
verwendet werden, die Knotenzuweisung zu identifizieren, wenn
sie kommt.
-
Bei der Umwandlung von dem Breitbandpaketen (Spread Spectrum
Paketen) an den Modulbus ist einiger Überhang involviert.
Weil der Modulbus an einem Regalknoten die meiste Zeit im
Leerlauf ist, ist es erforderlich, irgendeine Übertragung an
ein Regal mit 93,9 ms Busrauschen zu beginnen, um zu
garantieren, daß alle Module auf einem Regalfach sind. Dieses
gleicht 16 24-Bit-Paketen, die ausgesendet werden müssen, um
alle Module aufzuwecken. Wenn an das Regal n Modulbuszyklen
von Information zu senden sind, bei 35 Bits/Zyklus und 24
-
Bits/Paket, müssen (n * 355) / 24 Pakete gesendet werden.
Zusätzlich ist ein weiteres Extrapaket erforderlich, um alle
Echodaten zurückzubekommen, eines für zusätzliche Zeit, um zu
entscheiden, ob die letzte Bestätigung empfangen wurde, und
eines, um den Regalknoten abzuschalten. Somit:
-
Anzahl von Paketen = 19 + (n * 355) / 24
-
Wenn im allgemeinen x verschiedene Bilder an ein bestimmtes
Regal zu senden sind, ist n = x + 2. Dieses ist nicht der
Fall, wenn die Daten nicht vollständig verschachtelt werden
können, und es erforderlich ist, Dummydaten auf dem Bus zu
plazieren, um ihn zu stopfen.
-
Wenn beispielsweise ein Bild an einen Regalknoten gesendet
werden muß, ist die Anzahl von Buszyklen n=3, so daß 64
Breitbandpakete vorhanden sein müssen. Weil ein Paket alle
5,86 ms gesendet wird, ist die Gesamtzeit für dieses
bestimmte Regal gleich 0,375 Sekunden. Wenn in gleicher
Weise, ein Bild an jedes von 12 Modulen an ein Regal gesendet
wird, ist n=14, und die Anzahl von Paketen ist 227, was 1,33
Sekunden benötigt.
-
Wenn der Datenmanager für lange Zeit inaktiv ist, und alle
Anzeigemodule ihre Anzeigen abschalten, wäre es, wenn der
Datenmanager auf die Leitung zurückkehrt, ausreichend, ein
Bild an jedes Modul in dem Geschäft zu senden, um sie zu
reaktivieren.
-
Wenn jedes Regal mit individuellen Aufweckungen geplant wäre,
und unter der Annahme, daß ein Regal durchschnittlich sechs
Module hat, wären für jedes Regal 0,81 Sekunden erforderlich.
Sieht man Extraraum für Neuversuche vor und gibt eine Sekunde
pro Regal, und unter der Annahme von durchschnittlich 3333
Regalen pro Geschäft (20000 Module, 6 Module/Regal), kann das
gesamte Geschäft innerhalb von einer Stunde zur Normalität
zurückkehren. Wenn die durchschnittliche Anzahl von Modulen
pro Regal höher ist, nimmt diese Zeit ab.
-
Für eine Preisänderung würden individuelle Aufweckungen
benutzt. In einem Fünfminutenfenster ist es wünschenswert, so
viele Module wie möglich zu aktualisieren. Wenn an jedes
Modul, das eine Preisänderung erfordert, drei Bilder gesendet
werden müssen und jedes Modul sich auf einem separaten Regal
befindet, wären 14 Modulbuszyklen pro Modul erforderlich, was
227 Pakete ist, 1,33 Sekunden. Wenn pro Regal ungefähr 1,5
Sekunden zugelassen werden, kann erwartet werden, daß 198
Module in einer Fünfminutenperioden aktualisiert werden
können. Die Funktionsleistung würde wesentlich steigen, wenn
mehr als ein Modul auf jedem Regal wäre.
-
Es mag wünschenswert sein, gelegentlich alle wichtigen Bilder
in einem Modul aufzufrischen. Das bevorzugte Verfahren dafür
ist, eine bestimmte Gruppe aufzuwecken. Bis zu 2,25 Sekunden
könnten für jedes Regal in der Gruppe zugeteilt werden, genug
Zeit, um sechs Module aufzufrischen. Wenn in den ersten fünf
Minuten nicht genug Zeit war, könnte dieselbe Gruppe nochmals
gerufen werden. So ist es möglich, gelegentlich diese
Funktion auszuführen, ohne daß Batterielebensdauer geopfert
wird.
-
Die Fig. 9A, 9B, 9C und 9D zeigen schematisch die
Regalknotenschaltung. Fig. 10 zeigt einen I/O Plan für die
Regalknotensteuerung. Der Regalknotencontroller ist bevorzugt
ein COP 424 Mikrocontroller. Der Port L wird als vier Bit
Ausgang und vier Bit Eingang benutzt. Die Ports L0 bis L3
sind Ausgänge für eine Parallel- nach Seriell-Umwandlung
durch HC195. Die Daten werden dann auf den Regalbus
gesteuert. Die Ports L4 bis L7 sind Eingänge, von einem
weiteren HC195, der den Bus während der Mitte einer jeden
Bitzeit abtastet und ein Nibbel von Busaktivität akkumuliert,
die der Prozessor dann einem Deckenknoten berichtet. Der
Prozessor setzt den Port L jedesmal, wenn er die Ports L4 bis
L7 liest, in einen Zustand hoher Impedanz (tristate). Die
serielle (microwire) Schnittstelle wird für Kommunikation mit
den Sender- und Empfängerchips benutzt.
Betrieb des Deckenknotens
-
Eine der Funktionen des Deckenknotens (siehe fig. 11A) ist
es, als Puffer zwischen dem Datenmanager und den Breitband HF
Kommunikationen zu wirken. Seine Funktionen schließen ein:
Unterbrechung des Datenmanagers, wenn Information benötigt
wird, Formatieren der Adreß- und Dateninformation in einem
Format ähnlich dem Anzeigemodulbusformat, Segmentieren dieses
Formates in 24 Bit Pakete zur Ausstrahlung an alle, Empfangen
des Echos von den Regalknoten und Extrahieren der
Bestätigungen, Weiterleiten von Synchronisationsinformation
an die Regalknoten, und Empfangen von Anforderungen von den
Regal knoten.
-
Es sind zwei 8-Bit-Parallelports mit Handshake-Leitungen
vorgesehen, einer für jede Richtung, die die
Kommunikationsverbindung zum Datenmanager bereitstellen.
Kommunikation zwischen dem Deckenknoten und dem Datenmanager
wird von dem Deckenknoten veranlaßt, der den Datenmanager mit
einem Byte unterbricht, das definiert, was geschehen soll. Es
gibt lediglich sechs solcher Befehle. Dann findet ein
wohldefinierter Datenaustausch statt.
-
Der Deckenknoten arbeitet in fünf Moden. Allein (Standalone),
Steuerung, Knotenaufwecken, Knotenübertragung, und
Knotenabschaltung. Das folgende ist eine Beschreibung des
Betriebs in jedem dieser Moden.
-
Im Allein-Modus gibt der Deckenknoten
Synchronisationsinformation in alle Info/Sync-Fenster und
nichts in die Datenfenster. Wenn eine Anforderung empfangen
wird, wird der Datenmanager unterbrochen und in den
Steuermodus eingetreten. Am Ende einer jeden
Fünfminutenperiode wird der Datenmanager ebenfalls
unterbrochen, und der Datenmanager gibt einen Befehl aus, um
entweder in dem Allein-Modus zu bleiben, oder in den
Steuermodus überzugehen. Zeitdiagramme für den Deckenknoten
sind in dem Fig. 12A, 12B gezeigt.
-
Im Steuermodus wird der Datenmanager für jedes Sync/Info-
Fenster unterbrochen. Der Datenmanager kann direkt einen
Befehl in das Fenster tun, oder zurück in den Allein-Modus
verfallen. Einige der Befehle, etwa Knotenaktivierung oder
Knotenzuweisung, veranlassen den Deckenknoten, in den
Knotenaufwachmodus überzugehen.
-
Im Knotenaufwachmodus werden Aktivierungsbefehle an einen
bestimmten Regalknoten mit Rauschen in den Daten gesendet,
bis ein Echo empfangen wird, dann werden 15 weitere Pakete
mit Rauschdaten gesendet, wonach in den
Knotenübertragungsmodus eingetreten wird. Wenn der
Regalknoten nach einigen Versuchen nicht aufwacht, wird in
dem Steuermodus eingetreten.
-
Im Knotenübertragungsmodus wird der Datenmanager ungefähr
alle 86 ms für eine neue Adresse und Daten unterbrochen, und
kurz danach nochmals, um die Bestätigung von dem n-3 Daten zu
geben. Ein Direktbefehl veranlaßt, daß in den
Knotenabschaltmodus eingetreten wird.
-
Der Knotenabschaltmodus ist der einfachste Modus. Er
veranlaßt einfach den gegenwärtigen Regalknoten,
einzuschlafen, und gibt dann die Steuerung zurück an dem
Steuermodus.
-
Das folgende ist eine Beschreibung des Protokolls für dem
Informationsaustausch zwischen dem Deckenknoten und dem
Datenmanager. Im allgemeinen gibt der Deckenknoten dem
Datenmanager ein oder mehrere Bytes, und dann antwortet der
Datenmanager mit Null oder mit mehreren Bytes.
00
5 Minuten Aufwachen - Dieser Befehl wird von dem
gegeben, wenn ein 5-Minutenintervall beginnt, und alle
Regalknoten lauschen. Der Datenmanager kann wie folgt
reagieren:
01 (niedrige Zahl) (hohe Zahl)
Steuerung - In diesem Modus interbricht der Deckenknoten den
Datenmanager alle 5,86 ms und gibt die Zahl an, die die
Anzahl von Paketen bis zur Zeit Null ist. Der Deckenknoten
erwartet eine der folgenden Reaktionen:
-
Fig. 11B zeigt ein Blockdiagramm des Deckenknoten-
Transceivers.
-
Die Fig. 13A bis 13G zeigen schematisch den Schaltkreis des
Deckenknotens.
Intelligenter Lesekopf
-
Der intelligente Lesekopf arbeitet wie oben beschrieben,
zusammen mit bevorzugt einem speziell programmierten, in der
Hand haltbaren Datenendgerät (dem Datenleser). Der
intelligente Lesekopf ist schematisch in Fig. 14 gezeigt.
Dazugehörige Zeitdiagramme finden sich in den Fig. 15A und
15B.
Modul Steuerungssoftware
-
Im folgenden wird mittels Subroutinen die
Modulsteuerungsoftware beschrieben, die sich in dem
Datenmanagercomputer befindet.
-
PL.PRJ
-
Enthält notwendige Zusätze für das herkmmliche Borland
Graphics Programm. EGAVGA.xxx muß verfügbar sein, damit die
Software läuft.
-
PL.C
-
Dieses ist die Hauptschleife für das Programm und enthält
-
Initialisierung
-
Schleife:
-
CONSOLE
-
REFRESH
-
ASSIGN
-
PRINTER
-
GATEWAY
-
Schleifenende
-
Initialisierung
-
Dieses besteht aus
-
Erzeugung bestimmter Dateien, falsl sie nicht existieren (Item.Dat, UI.Ndx,)
-
Aufruf von Start_Ceiling(), um die Hintergrund-Hardware-
Interrupts zu initialisieren.
-
GATEWAY.C
-
Dieses ermöglicht der Modulsteuerung, Information von dem
Gateway Computer zu erhalten.
-
Es läuft in einer Schleife und sucht nach
-
einem Zeitablauf der GatewayException (5 Minuten) oder
Modul hat dem Transport einer Struktur beendet
-
Übertragung an die Modulsteuerung veranlassen, um
Excp run in posilink zu starten.
-
Nach Antwort suchen,
-
Antwort akzeptieren,
-
Antwort in Datenbanken einsetzen
-
ModuleChanges.LsT
-
Item.Dat
-
für die neu entdeckten Gegenstände, UI.Ndx
-
oder
-
spezifische Tageszeit für GatewayItem
-
Übertragung an die Modulsteuerung veranlassen, um
Item run in posilink zu starten
-
Nach Antwort suchen,
-
Antwort in Datenbanken einfügen
-
ModuleChanges.Lst
-
Item.Dat
-
für neu entdeckte Gegenstände, UI.Ndx
-
Der Zugriff auf die Aktualisierung der Aufzeichnung ist nur
verfügbar, wenn die Datenbank nicht schon geöffnet ist, d.h.,
die Konsole im Hauptmenü ist.
-
PLPRINTER
-
Diese enthält die Routine, irgendeine Datei mit dem Namen
"PR.Buf" zu nehmen und zeichenweise an dem Drucker zu senden.
-
Sie startet nicht, bis das Flag Printerbufferempty nicht "Y"
ist.
-
Sobald die Arbeit erledigt ist, wird das Flag
Printerbufferempty auf "Y" gesetzt.
-
Der Zustand dieses Systems ist auf dem Condition Screen
sichtbar.
-
LSMODULE: MODULE REFRESH
-
Diese Funktion wartet darauf, daß die Hardware eine weitere
Struktur anfordert. Wenn sie mehr als 10 Minuten wartet,
Neuinitialisierung des Systems (Start_Ceiling()). Der Test
ist Ready_For_Data() 1 ist bereit, 0 ist Bereitschaft.
-
Ein weiterer Test ist ein Aufruf von Ceiling_OK(), 1 ist OK,
0 ruft eine weitere Start_Ceiling() auf und verzweigt zurück
zum Warten auf Ready_For_Data().
-
Diese öffnet die Group.Ndx und Image.Dat Dateien. Eine
Struktur wird im RAM zur Verwendung von den Hardware
Interrupt Routinen erzeugt, um die Auffrischungsnachricht an
die Regalknoten und Anzeigemodule zu senden. Ein Aufruf von
Queue_Data(...) beginnt den Vorgang.
-
Dann wartet das System auf Data_Ready(). Diese wird von
Unqueue_Data() gefolgt, die Pointer auf die Struktur
zurückgibt, die die Antwort von dem Regalknoten enthält.
Fehlschlagsinformation wird aufgeschrieben mittels eines
Aufrufs von Note_Problem (PLProblem)
-
PLMODULE: MODULE ASSIGN
-
Diese Funktion ruft regelmäßige Request_Ready() bis 1 auf,
was anzeigt, daß ein Modul eine Zuweisung angefordert hat.
-
Unqueue_Request() gibt UPC und den Regalknoten zurück, bereit
zur Übersetzung.
-
Assign-SeqNum(ItemNum, Gruppe, Knoten) wird aufgerufen. Wenn
der Regalknoten selbst neu ist, (Gruppe & Knoten sind beide
0), wird ihm die nächste Adresse zugewiesen. In beiden Fällen
wird eine neue Aufzeichnung in der Image.Dat Datei
beiseitegelegt, um das Bild zu halten.
-
Das neu aufgezeichnete Bild wird dann unter Verwendung von
Item.Dat Information ausgefüllt.
-
Insert_Assignment() wird mit einer Struktur zur
Programmierung des Moduls aufgerufen.
-
Warten auf Assignment_Ready(). Wenn fertig (1), gibt Unqueue
Assignment() die Daten zurück, oder NULL für einen erneuten
Versuch.
-
Dann
-
Dieses öffnet Item.Dat und UI.Ndx.
-
Dieses öffnet die Dateien Group.Ndx und Image.Dat. Im RAM
wird eine Struktur zur Verwendung von den Hardware
Unterbrechungsroutinen erzeugt, um die Zuweisungsnachricht an
die Regalknoten und die Anzeigemodule zu senden.
Fehlschlagsinformation wird mittels eines Aufrufs von
Note_Problem (Plproblem) aufgeschrieben.
-
PLCONSOLE
-
Dieses ist der Hauptpunkt der Schnittstelle zum Menschen.
-
Das Hauptmenü erlaubt die folgenden Auswahlen:
-
Condition Screen
-
Item File Menü.
-
Dieses enthält viele der Routinen, um mit der Datei Item.Dat
und ihrem Index UI.Ndx umzugehen. Die Daten in der Datei
werden chronologisch hinzugefügt, werden jedoch mittels des
UPC Codes indexiert gehalten. Die meisten Routinen greifen
auf die Item Datei unter Verwendung eines binären Chop auf
dem Index zu.
-
Spezielle Funktionen auf dem Item Screen:
-
Gegenstand anschauen
-
Dieses ermöglicht die Eingabe eines UPC Codes und die Anzeige
der Item.Dat Dateimformation über das Produkt auf dem
Schirm. Zusätzliche UPC Codes können eingegeben werden, um
folgende Anzeigen zu erhalten.
-
Edit Item
-
Dieses erlaubt die Eingabe eines UPC Codes und die Editierung
der Item.Dat Dateimformation über das Produkt Zeile für
Zeile. Jede abgeschlossene Editierung sendet die Steuerung
zurück zum Menü.
-
Add Item
-
Dieses erlaubt die Eingabe eines UPC Codes und dann die
Eingabe der Daten dafür, falls er nicht existiert.
-
Delete Item
-
Dieses erlaubt die Eingabe eines UPC Codes, einen Blick auf
die Daten in Item.Dat, und die Option, die Aufzeichnung aus
der Datei UI.Ndx zu löschen. Dieses wird durch Setzen der
Aufzeichnungsnummer in UI.Ndx auf 0xffff vorgenommen.
-
Back to Menu
-
Base Item File Menu
-
Dieses erlaubt die Eingabe eines UPC Codes und die
Herstellung eines Bezugs zu einem anderen UPC Code für
dasselbe Produkt. Im Fall eines Schildes "Cents Off" zeigt
das Modul dem regulären Preis an.
-
Es erlaubt ebenfalls, diese Beziehungen zu editieren und
aufzulisten.
-
Stock File Menu
-
Dieses erlaubt die Eingabe eines UPC Codes, und die
Herstellung eines Bezugs zu einer Lagernummer für dasselbe
Produkt.
-
Report Menu
-
Dieses erlaubt die Auswahl eines zu erzeugenden Berichtes.
-
Optionen von dem Berichtschirm schließen ein:
-
Item List
-
Dieses berichtet alle Produkte in der UPC Reihenfolge.
Transmission Sequence List
-
Dieses berichtet alle Module in der Reihenfolge der
Auffrischungsübertragung, d.h., nach Gruppe, Regalknoten,
dann jedes Modul in der Reihenfolge, in der sie zugewiesen
wurden.
-
Weil die Regalknoten in einer vernünftig konsistenten
Reihenfolge installiert werden, mit Ausnahme derjenigen, die
ausfallen und ersetzt werden müssen, folgt die Reihenfolge
einer Struktur, in der eine Person durch das Geschäft gehen
kann.
-
Low Battery List
-
Dieses berichtet alle Anzeigemodule (in der Reihenfolge der
Auffrischungsübertragung), die ein Batterie-Leer-Signal
gegeben haben. Das erste Anzeigemodul auf dem Regalknoten ist
der Schlüssel, jedoch werden auch alle anderen Anzeigemodule
auf dem Regalknoten aufgelistet, um es leicht zu machen, den
Regalknoten zu finden.
-
Siehe PLProblem, wo sich die Funktion LwoBattery_List
befindet, Siehe PLRefresh, die Note_Problem (PLProblem)
aufruft, immer wenn ein Flag Batterie Leer gefunden wird.
-
Retry Needed Liste
-
Dieser Bericht ist derselbe wie die Batterie-Leer-Liste,
außer daß er Anzeigemodule mit Kommunikationsproblemen in
einem Ausmaß von gelegentlich verfehlten Übertragungen bis zu
vollständig vorloren gegangener Kommunikation berichtet.
-
Failed to Answer Liste
-
Dieser Bericht ist derselbe wie die Retry Needed Liste, außer
daß er nur Anzeigemodule berichtet, die wenigstens einmal
ausgefallen sind.
-
Shelf Changes Liste
-
Irgendeine Regaländerung: neues Anzeigemodul, ausgefallenes
Anzeigemodul
-
Item Changes Liste
-
Dieser Bericht enthält eine Aufzeichnung aller letzten
Änderungen an irgendeiner Aufzeichnung in der Item Datei.
-
Back to Menu
-
HouseKeeping Menu
-
Diese Funktionsgruppe erlaubt eine Konfiguration und ein
Aufräumen des Systems zu verschiedenen Zeiten unter Steuerung
des Bedieners.
-
Show Mode
-
Dieser Modus erlaubt, daß alle Regalknoten bereitstehen, eine
Eingabe anzunehmen. Er konsumiert sehr viel Batterieleistung,
so daß er in der Praxis nicht benutzt wird. (On_Show())
-
Dieser Modus kann mit einem Aufruf von Off_Show abgeschaltet
werden.
-
Exception Scanning Time
-
Dieses ist die Dauer zwischen der Aktivierung des Gateways,
die über Posilink zugänglichen Excp Aufzeichnungen mit dem
Item.Dat Aufzeichnungen zu vergleichen.
-
Die Anzahl wird auf das nächste Vielfache von
Auffrischungszyklen gerundet. Die Anzahl wird dekrementiert,
wenn Ready_Data eine 1 zurückgegeben hat, oder wenn ein 5,5-
Minunten-Zeitgeber (Auffrischung #2) abgelaufen ist, was
anzeigt, daß voll. Er kann nur gestartet werden, nachdem
gerade ein Queue_Data eine neue Aufgabe an die Hardware
gesendet hat, oder nach einem Zeitablauf.
-
Sie benutzt Zeitgeber Nr. 4.
-
Item Scanning Time
-
Dieses erlaubt, die Anzahl von Tagen und die Tageszeit für
dem Beginn des Gateway Item Prozesses zu editieren.
-
Tstamp = 1989-04-12 23:45, wir nehmen 23:45 für eine
Übereinstimmung heraus
-
Lost Module Clearing
-
Dieses erlaubt die Option, einfach alle verlorenen
Anzeigemodule zu löschen, d.h. ein Anzeigemodul, das bei acht
Durchläufen nicht kommuniziert hat.
-
Eine weitere Option ist, alle Anzeigemodule anzuzeigen,
aktive und ausgefallene, für einen UPC Code, und nach einer
Löschung oder Fortsetzung bei jedem zu fragen, das mehr als
achtmal nicht kommuniziert hat. Die Anzeigemodule werden in
der Gruppenreihenfolge präsentiert, wobei andere
Anzeigemodule auf demselben Regal auch sichtbar sind.
-
Low Battery Restart
-
Dieses setzt die Batterie leer Zähler auf 0, unter der
Annahme, daß bei den meisten Problemen neue Batterien gegeben
worden sind.
-
Comm Problem Restart
-
Dieses löscht die Lost Comm und Comm Problem Zähler, tyisch
nach einem Bericht. Das Ergebnis ist, einen erneuten Versuch
zuzulassen, nachdem Probleme beseitigt sind.
-
Quit
-
Diese Anweisung wird nicht immer ohne Passwort verfügbar
sein, und erfordert in Kürze eine Bestätigung. Sie schaltet
das gesamte System ab.
-
PLSTRUCT
-
Dieses enthält alle Definitionen der globalen Variablen und
Notizen über lokale Variablen und Notizen über zu verwendende
Dateien.
-
PLSCREEN & PLMOUSE
-
Diese Datei enthält alle Routinen zum Verwalten des
Bildschirms im Graphikmodus, Akzeptieren von Zeichen und
Mouse-Eingaben.
-
Gateway Computer
-
Der Geschäft Gateway Computer 54 (siehe Fig. 1) ist die
Schnittstelle zwischen allen Teilen des Systems: Der
Regionalcomputer 46 (d.h., Host Computer) (ein Mainframe),
die POS Steuerung 50 und die Pricelink Display Modul-
Steuerung 42.
-
Andere Fähigkeiten umfassen die Verwaltung der gesamten
Kommunikation vom Regionalcomputer an die POS Steuerung. Sie
verwaltet ebenfalls die Kommunikation für andere Computer im
Geschäft, wie etwa in der Apotheke.
-
Die Gateway Funktion ist aufgrund des Fehlens von Information
über den Datachecker POS Kommunikations Standard vorgesehen.
Die verfügbare Software übernimmt die vollständige Steuerung
des Systems, die auf ein Echtzeitprotokoll aktualisiert
werden muß, bevor sie in die PriceLink Modul Steuerungs-
Software integriert werden kann.
-
In einem alternativen Ausführungsbeispiel sind die Funktionen
des Gateway Computers 54 in die PriceLink Modulsteuerung 42
integriert.
-
Die vier Funktionen des Gateway Computers sind die folgenden:
-
Während der Exception226 Aktivität und während der ItemVerify
Aktivität wird die POS-Steuerung befragt. In jedem Fall wird
die Anforerung an die POS-Steuerung gesendet, dann wird die
Antwort empfangen, übersetzt, dann erneut an die
Modulsteuerung übertragen.
-
Während der UnitPrice Aktivität wird der Host Computer
befragt. An ihn werden Anforderungen übertragen und Antworten
zurückerhalten
-
Die Kommunikation findet über ein Bell 201 kompatibles Modem
statt, etwa die Modems 46B, 46C.
-
Die Zeitgabe der Exception226 Aktivität und der ItemVerify
Aktivität wird in der Modulsteuerung bestimmt. Wenn ein
Zyklus gewünscht ist, wird eine Nachricht an den Gateway
Computer gesendet, der Gateway Computer sammelt die
gewünschte Information, und dann werden später die Ergebnisse
zurück an die Modulsteuerung übertragen.
-
Die Zeitgabe für die Unitprice Aktivität wird in der
Modulsteuerung bestimmt. Wenn ein Zyklus gewünscht ist, wird
eine Nachricht an den Gateway Computer gesendet, der Gateway
Computer zeigt seine "modem switching" Bedürfnisse und wartet
auf die Tastatureingabe, um anzuzeigen, daß die Leitung
umgeschaltet worden ist, wiedergewinnt dann die gewünschten
Daten, und dann werden die Ergebnisse zurück an die
Modulsteuerung übertragen.
-
Die Aktivitäten des Gateway Computers können sowohl überwacht
werden, als auch über die Tastatur und Anzeige an dem
Computer gesteuert werden. Irgendwelche der Funktionen, die
auf Befehl von der Modulsteuerung hin gestartet werden
können, können von der Konsole gestartet werden.
-
Preisänderungen, die in dem Geschäft mittels des
Datenverwaltungscomputers oder von dem Host Computer
vorgenommen werden, resultieren darin, daß eine Aufzeichnung
dem Exception Log hinzugefügt wird, wobei die "226"
Identifizierung angefügt wird. Mit einem programmierbaren
Versatz, von der grundlegenden Fünfminutenzeitgabe der
Aktivitäten der Modulsteuerung, und mit einem wählbaren
Vielfachen dieser grundlegenden Zeitgabezyklen fordert die
Modulsteuerung eine Aktualisierung der "226" Aufzeichnungen
des Exception Log an.
-
Bis jetzt werden alle "226" Aufzeichnungen in den Exception
Log jedesmal übertragen. Es wird angenommen, daß dieses eine
kleine Zahl ist, und daß die redundante Übertragung der Daten
kein Zeitproblem erzeugt. Falls es ein Problem wird, wird ein
Verfahren zum Erkennen, welche Aufzeichnungen bereits
gesendet worden sind, ins Auge gefaßt, und es werden nur neue
Änderungen gesendet.
-
Die Möglichkeit von Änderungen, die die Exception 226
Funktion umgehen, ist relativ niedrig, kann jedoch
insbesondere beim Aufstarten nicht ignoriert werden. Es
können neue Gegenstände auftreten, und alte Gegenstände
können gelöscht worden sein. Aus diesem Grund wird von dem
Gateway Computer bei der Aufforderung der Modulsteuerung eine
vollständige Übertragung aller Aufzeichnungen in der
Gegenstandsdatei der POS Steuerung angefordert. Diese Daten
werden von irrelevanten Feldern befreit und dann zurück an
die Modulsteuerung übertragen, zur Verwendung bei der
Aktualisierung ihrer Gegenstandsaufzeichnungen.
-
Die Modulsteuerung kann programmiert sein, anzufordern, daß
diese Funktion zu einer wählbaren Tageszeit durchgeführt wird
(d.h., 6:00 AM) im Abstand von irgendeiner Anzahl von Tagen
(d.h., 1 oder 7).
-
CONSOLE
-
Die Konsolenfunktionen umfassen das folgende:
-
Der Hauptbereitschaftsschirm zeigt irgendeine stattfindende
Aktivität an, entweder auf oberstem Niveau (EXCP226 schreitet
voran) oder auf einem detaillierteren Niveau einschließlich
vollständiger Aufzeichnungsinformation. Der volle
Anzeigemodus kann ein- oder ausgeschaltet werden durch
Drücken von "D". Dieser Bildschirm lädt den Bediener ein, die
Leertaste zu drücken, um ein Menü aufzurufen: Den Console
Activity Schirm.
-
Das Console Activity Menü erlaubt dem Bediener, aus den
Aktivitäten auszuwählen, die gegenwärtig erlaubt sind, und
QUIT, was nicht empfohlen wird.
-
Auswählen von "E" resultiert im Aufruf von POSiLink. Die
Steuerung des Computers wird dann an die POSiLink Software
und dem Bediener an der Konsole übergeben, bis diese
Aktivität beendet ist. Die automatischen Funktionen treten
nicht auf, bis dieser Modus beendet ist. Durch Nachlässigkeit
könnte das System unfähig bleiben, seine regelmäßigen
Aufgaben durchzuführen.
-
Auswählen von "X" resultiert in der Simulation einer
Anforderung von der Modulsteuerung nach einer Eception 226
Aktivität. Die empfangenen Daten und die für die Übertragung
an die Modulsteuerung formatierte Nachricht geht anstelle an
die Modulsteuerung in Dateien. Der Bediener muß die
Dateinamen-Suffixe wählen, die Prefixe sind automatisch. Dann
wird die Information, wie sie empfangen wird, an den
Bildschirm gesendet, oder nicht, abhängig von der "D"
Umschaltung.
-
Wahrscheinlich wählt der Bediener für den Suffix eine Nummer.
-
Das Ergebnis ist
-
EXCP226I.xxx für die Eingabe von dem POS
-
EXCP226D.xxx für die Ausgabe an das Modul.
-
Auswählen von "I" resultiert in der Simulation einer
Anforderung von der Modulsteuerung für eine
Gegenstandsverifizierungsaktivität. Die empfangenen Daten und
die für die Übertragung an die Modulsteuerung formatierte
-
Nachricht geht in Dateien, anstatt an die Modulsteuerung. Der
Bediener muß die Dateinamen-Suffixe wählen, die Prefixe sind
automatisch. Die Information wird, wie sie empfangen wird, an
dem Bildschirm gesendet oder nicht, abhängig von der "D"
Umschaltung.
-
Wahrscheinlich wird der Bediener eine Nummer für den Suffix
wählen.
-
Das Ergebnis ist
-
ITEMVERI.xxx für die Eingabe von der POS
-
ITEVVERO.xxx für die Ausgabe an das Modul.
-
Wählen von "U" resultiert in der Simulation einer Anforderung
von der Modulsteuerung zu einer
Einheitspreisverifizierungsaktivität. Die empfangenen Daten
und die für die Übertragung an die Modulsteuerung formatierte
Nachricht geht in Dateien, anstatt an die Modulsteuerung. Der
Bediener muß die Dateinamen-Suffixe wählen, die Prefixe sind
automatisch. Die Information wird, wie sie empfangen, wird an
dem Bildschirm gesendet, oder nicht, abhängig von der
Umschaltung "D".
-
Der Bediener wählt wahrscheinlich eine Nummer für den Suffix.
-
Das Ergebnis ist
"UNITVERI.xxx für die Eingabe von dem Mainframe
"UNITVERO.xxx für die Ausgabe an das Modul.
-
Wenn von der Konsole keine Aktivität imminent ist, sollte der
Benutzer die Leertaste oder "S" drücken, um zurückzukehren
zum Bereitschaftsmenü.
-
Es wird abgeraten, "Alt-Q" zu wählen, weil es während des
Normalbetriebs nicht die richtige Wahl ist. Es ist jedoch
während der Fehlersuche nützlich, um zu DOS zu kommen, um
einige der oben erzeugten Dateien einzusehen.
-
Das Datachecker Software Paket Posilink wird in der folgenden
Weise von DOS aufgerufen:
-
POSILINK EXCP226.KST
-
Dieses bewirkt das Laden und Ausführen von POSiLink, gefolgt
von der Verwendung von "Tastenanschlägen" von der Datei
-
"EXCP226.KST"
-
Die Datei "EXCP226.KST" enthält das folgende:
-
SET FILE ON
-
SET PRINT OFF
-
SET SCREEN OFF
-
BATCH FROM EXCP226.CMD TO EXCP226.OUT
-
SET SCREEN ON
-
EXIT
-
Die Datei "EXCP226.CMD" enthält das folgende:
-
/C Manager change of item price
-
/READ EXCP ( 1=226
-
Dieses veranlaßt die Posilink Software, irgendwelche
Aufzeichnungen in dem Exception.Log ( EXCP ) mit Feld 1 = 226
Manager Preis Änderung ) einzusehen, und sie in eine Datei
mit dem Namen EXCP226.OUT zu bringen.
-
Das Datachecker Sqftware Paket Posilink wird von DOS in der
folgenden Weise aufgerufen:
-
POSILINK ITEMVER.KST
-
Dieses veranlaßt das Laden und Ausführen von Posilink,
gefolgt von der Verwendung von "Tastenanschlägen" von der
Datei "ITEMVER.KST".
-
Die Datei ITEMVER.KST" enthält das folgende:
-
SET FILE ON
-
SET PRINT OFF
-
SET SCREEN OFF
-
BATCH FRON ITEMVER.CMD TO ITEMVER.OUT
-
SET SCREEN ON
-
EXIT
-
Die Datei "ITEMVER.CMD" enthält das folgende:
-
/C Dump full image of item file
-
/READ ITEM
-
Dieses veranlaßt die POSiLink Software, alle Aufzeichnungen
in der Gegenstandsdatei ( ITEM ) einzuseshen und sie in eine
Datei mit dem Namen ITEMVER.OUT zu bringen.
-
Die Befehle, um die Einheitspreisaktivität durchzuführen,
werden zusammen mit den Programmierern für dem Mainframe
bestimmt.
-
EXCEPTION 226 sind die Daten in der Datei "EXCP226.OUT", wie
sie von der Posilink Applikation empfangen wird.
-
PRICE CHANGE sind die Daten in dem Format, das am Ende einer
Exception 226 Aktivität an die Modulsteuerung gesendet wird.
-
POS ITEM RECORD sind die Daten in der Datei "ITEMVER.OUT",
wie sie von der Posilink Applikation empfangen werden.
-
ITEM VERIFY RECORD sind die Daten in dem Format, das an die
Modulsteuerung am Ende einer
Gegenstandsverifizierungsaktivität gesendet wird.
-
UNITS RECORD sind die Daten in der Datei "UNITS.OUT", wie sie
von dem Regional Computer nach der Einheitspreisaktivität
empfangen werden.
-
( Wählen Sie ein Format, das eine Teilmenge des folgenden
darstellt, was Sie zur Hand haben, in welchem Format auch
immer, das Sie auf der Bitebene beschreiben können,
möglicherweise ASCII mit fester Feldlänge oder EBCDIC. )
-
struct unithost
-
UNITS VERIFY REDORD sind die Daten in dem Format, das am Ende
einer Einheitspreisaktivität an die Modulsteuerung gesendet
wird.
-
MODULE CONTROLLER ITEM RECORD ist das Format der Daten in der
Gegenstandsdatei, die in der Modulsteuerung gespeichert wird.
-
Diese Offenbarung enthält urheberrechtsfähiges Material.
Während der Inhaber des Urheberrechts keine Einwände gegen
die Facsimile-Reproduktion von irgendwelchem Material in den
Aufzeichnungen des Patentamts hat, reserviert der Inhaber des
Urheberrechts alle anderen Urheberrechte.