DE68926445T2 - Netzwerk und Protokoll zur Echtzeitbetriebssteuerung einer Maschine - Google Patents

Netzwerk und Protokoll zur Echtzeitbetriebssteuerung einer Maschine

Info

Publication number
DE68926445T2
DE68926445T2 DE68926445T DE68926445T DE68926445T2 DE 68926445 T2 DE68926445 T2 DE 68926445T2 DE 68926445 T DE68926445 T DE 68926445T DE 68926445 T DE68926445 T DE 68926445T DE 68926445 T2 DE68926445 T2 DE 68926445T2
Authority
DE
Germany
Prior art keywords
logic block
message
byte
logic
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE68926445T
Other languages
English (en)
Other versions
DE68926445D1 (de
Inventor
Peter C Digiulio
David K Lee
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Pitney Bowes Inc
Original Assignee
Pitney Bowes Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Pitney Bowes Inc filed Critical Pitney Bowes Inc
Publication of DE68926445D1 publication Critical patent/DE68926445D1/de
Application granted granted Critical
Publication of DE68926445T2 publication Critical patent/DE68926445T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Description

  • Die Erfindung betrifft ein Kommunikationsnetzwerk und das Gebiet der Maschinenprozeßsteuersysteme, und betrifft insbesondere Prozeßsteuerungen, die auf eine solche Weise in einem Netz arbeiten, die am besten für die Echtzeit- Betriebssteuerung von Postversandmaschinen-Prozeßsystemen geeignet ist.
  • Ein Multiprozessor-Paketportofrankiersystem ist in unserem US-Patent Nr. 4 308 579 von Dlugos beschrieben. Dieses System weist einen Systemprozessor auf, an welchen ein Waagen- Untersystemprozessor, ein Portodruck-Untersystemprozessor und ein Peripheriegeräte-Untersystemprozessor angeschlossen sein können. Die Prozessoren teilen sich einen gemeinsamen Datenbus, über welchen Daten seriell übertragen werden. Der Systemprozessor nimmt Gewicht- und Statusdaten an, die von dem Waaagen-Untersystemprozessor über den seriellen Datenbus übertragen werden. Der Systemprozessor bearbeitet diese Daten sowie Tastatureingabedaten zur Berechnung des erforderlichen Portos als Funktion der Herkunft eines Pakets, des Ziels eines Pakets, der Dienstleistungsklasse und ausgewählter spezieller Gebühren. Druckereinstelldaten werden an den Portodruck-Untersystemprozessor über den seriellen Datenbus übertragen. Peripheriegeräte, beispielsweise ein Dokumentendrucker oder ein Paketidentifizierungs- Nummemzähler, werden durch Daten gesteuert, die über den seriellen Datenbus an den Peripheriegeräte- Untersystemprozessor geschickt werden. Die Kommunikation wird von dem Systemprozessor gesteuert, der jede Datenübertragung zwischen Prozessoren mit Hilfe eines Steuersignals initialisiert, welches von dem adressierten Untersystemprozessor als Anforderung von Information interpretiert wird.
  • Eine Mehrfachknotennetzwerks-Konfiguration, die einige Ähnlichkeiten mit dem hier in Figur 1 gezeigten Netzwerk aufweist, ist in dem IBM Technical Disclosure Bulletin, Band 12, Nummer 2, Juli 1969 beschrieben. Dieses Dokument betrifft die Lösung des Problems der Erhöhung der Geschwindigkeit bei einem Übertragungsnetzwerk. Es ist erforderlich, unterschiedliche Leitungsabschnitte anzugleichen. Die Lösung eines derartigen Problems führte zur Umordnung der üblichen Anordnung, Zeichnung A, eines Netzwerks, bei welchem Abrufzeichen von einem Endgerät an jene Endgeräte geschickt werden, die ihm auf der Leitung vorausgehen. In der Zeichnung A arbeitet die Leitung 1 normal, und können verschiedene Endgeräteempfänger R angeglichen werden.
  • In dem "Wescon Convention Record", November 1983, wurde in bezug auf ein in North Hollywood, USA abgehaltenes Treffen ein Artikel von A. Steinberg et al mit dem Titel geschrieben "Using the 8051's 9-bit Serial Mode". Hierin wurde ausgeführt: "Intel hat eine spezielle Betriebsart bei seinen neuen Erzeugnissen vorgesehen, die serielle Ports aufweisen. Diese Betriebsart gestattet den selektiven Empfang eines Datenstroms auf der Grundlage des Zustands des 9. Datenbits. Ein einfaches Protokoll, welches als uLANTM bezeichnet wird, wurde als Standard eingerichtet um sicherzustellen, daß eine maximale Anzahl an Herstellern miteinander kompatibel sein kann, wenn diese Hardware-Betriebsart verwendet wird. Die Anwendungen, in welchen eine Betriebsart mit dem 9. Bit verwendet werden könnte, sowie die Beschreibung der Spezifikationen für elektrische und Datenübertragungseigenschaften werden in dieser Veröffentlichung beschrieben".
  • Üblicherweise wiesen Hochgeschwindigkeits- Postverarbeitungssysteme einen Umschlagvereinzelungs- und -Zufuhrmechanismus auf, eine Waage oder eine andere Vorrichtung zur Ermittlung des Postversandstückgewichtes, einen Transportmechanismus und einen Portofrankierstempel- Druckmechanismus, beispielsweise eine Frankiermaschine. Angestrebt bei derartigen Bearbeitungssystemen ist die Verarbeitung von Postversandstücken nacheinander auf schnellstmögliche Weise mit der höchsten Durchsatzrate.
  • Konventionellerweise werden derartige Postverarbeitungssysteme dadurch aufgebaut, daß einzelne Verarbeitungsstationen eingerichtet werden, und synchronisierte Transporteinrichtungen zum Transport der Postversandstücke zwischen Stationen zur Verfügung gestellt werden. Beispielsweise vereinzelt in einem derartigen System eine Zufuhrstation Postversandstücke von einem Postversandstapel. Die jeweiligen Postversandstücke werden zu einer Waage zum Wägen transportiert. Das Gewicht wird elektronisch einer Frankiermaschine zum Einstellen des Portodruckmechanismus und dem Abbuchen des entsprechenden Portos mitgeteilt. Nach dem Wägen des Postversandstücks wird das Postversandstück einer Postversandmaschinendruckstation zum Frankierstempeldrucken durch die Frankiermaschine transportiert, welche auf konventionelle Weise an der Postversandmaschine angebracht ist.
  • Die Bearbeitung eines Stroms von Poststücken auf die geschilderte Art und Weise erfordert ein hohes Ausmaß an Koordination zwischen den einzelnen Einrichtungen. Jede Einrichtung steht herkömmlich unter dem Steuereinfluß ihrer eigenen Mikroprozessorsteuerung. Die Systemkoordination zwischen den einzelnen Einrichtungen des Systems wird durch einfache Signale des Typs "STOP-GO" zwischen den einzelnen Einrichtungen bewerkstelligt. Hierbei wird das "STOP"-Signal in den meisten Fällen durch einen einfachen elektromechanischen Schalter getriggert, und wird das "GO"- Signal elektrisch durch den Verarbeitungsmechanismus nach Beendigung von dessen Funktion getriggert. Beispielsweise triggert nach Vereinzelung eines Postversandstücks von dem Postversandstückstapel die Zufuhrvorrichtung den Transport, entweder über einen mechanischen Schalter oder ein einfaches "GO"-Signal von dem Mikroprozessor der Zufuhrvorrichtung, um die Steuerung des positionierten Postversandstücks zu übernehmen. Der Transport erlangt in Reaktion auf das "GO"- Signal die Steuerung über das Postversandstück zum Liefern an die Waage, wobei die Zufuhrvorrichtung in eine "STOP"- Betriebsart oder Bereitschaftsbetriebsart versetzt wird. Nach Ankunft des Postversandstücks an der Waage gibt der Transport die Steuerung des Postversandstückes frei und triggert ein "GO"-Signal für die Waage, wodurch der Transport in eine "STOP"-Betriebsart oder Bereitschaftszustands-Betriebsart versetzt wird. Die beschriebene "STOP-GO"-Prozedur wird zwischen der Waage, dem Postversandstück-Maschinentransport und der Frankiermaschine wiederholt. Zur Erhöhung der Durchsatzrate der Postversandstückverarbeitung sind Abänderungen dieser Art des Systemkoordinationsschemas bekannt.
  • Um die Durchsatzrate eines derartigen Postversandsystems zu erhöhen ist es bekannt, das System zeitabhängig auszubilden. Hierbei wird jeder Einrichtung ein diskretes Zeitintervall zur Durchführung ihrer vorgegebenen Funktion zugeteilt, bevor die nächste Einrichtung aktiviert wird. Zeitabhängige Postversandbearbeitungssysteme sind häufig mit einer "Aufwärtsbedienungs"-Fähigkeit versehen, wobei ein Postversandstück der nächsten Verarbeitungsstation unmittelbar vor Beendigung der Verarbeitung des vorherigen Postversandstücks zugeführt wird.
  • Es hat sich herausgestellt, daß die geschilderten Systemkoordinationsschemata schlecht für größere Hochgeschwindigkeitspostversand-Bearbeitungssysteme geeignet sind, wenn derartige Systeme gemischte Postversandstücke bearbeiten sollen, also einen Postversandstückstapel, der wesentliche Variationen der Umschlagabmessungen und -Gewichte aufweist. Bei einem Einsatz bei derartigen Postversandsystemen mit höherer Geschwindigkeit hat sich herausgestellt, daß Erhöhungen der Bearbeitungssystemdurchsatzrate negativ durch ein erhöhtes Auftreten eines Staus des Verarbeitungssystems beeinflußt werden. Darüberhinaus muß zur Annahme gemischter Postversandstücke die Stationsverarbeitungszeit erhöht werden.
  • Ein Ziel der vorliegenden Erfindung besteht in der Bereitstellung eines Kommunikationsnetzwerks mit einem hierfür besonders geeigneten Protokoll zum Verbinden von Mikroprozessorsteuerungen eines Postversandbearbeitungssystems zur Bereitstellung einer Echtzeit-Datenkommunikation zwischen den Steuerungen. Hierbei ist angestrebt, daß das zur Verfügung gestellte Kommunikationsnetzwerk und das zugehörige Protokoll die Echtzeitsteuerung von Postversandbearbeitungs- Systemfunktionen auf äußerst synchronisierte Weise erleichtern. Die Kommunikationskonfiguration ist so aufgebaut, daß eine frei wählbare Kommunikation zwischen den Knoten ermöglicht wird, die Synergieeffekte für den Betrieb der Maschine ermöglicht. Das Protokoll ist so aufgebaut, daß die Kommunikationskonfiguration optimal genutzt wird, und die tatsächliche Kommunikationszeit und Prozessor-Overhead minimalisiert werden, die mit der Kommunikationsfunktion zusammenhängen.
  • Ein weiteres Ziel der vorliegenden Erfindung besteht in der Bereitstellung einer Kommunkationskonfiguration und eines zugehörigen Protokolls, welche gut zur Echtzeitsteuerung von Postversandmaschinenoperationen mit erheblich höherer Geschwindigkeit geeignet sind, insbesondere dann, wenn derartige Operationen synchron gesteuert werden müssen. Synchron gesteuerte Operationen erfordern häufige Kommunikation von Datenübertragungen zwischen Knoten. Ein zugehöriges Ziel der vorliegenden Erfindung besteht in der Bereitstellung eines Protokolls, welches Einrichtungen zur Nachrichtenfehlererkennung aufweist, und dann, wenn ein Nachrichtenfehler auftritt, eine erneute Aussendung der Nachricht ermöglicht, so daß eine hohe Nachrichtenverläßlichkeit sichergestellt ist. Ein weiteres Ziel der vorliegenden Erfindung besteht darin, innerhalb der Kommunikationskonfiguration ein Konkurrenzschema zur Verfügung zu stellen, welches minimalen Prozessor-Overhead verbraucht und keine zusätzliche Hardware erfordert.
  • Gemäß der vorliegenden Erfindung wird ein Kommunikationsnetzwerk zur Verfügung gestellt, welches aufweist:
  • einen ersten, zweiten, dritten und vierten Steuerknoten, der jeweils eine erste, zweite, dritte bzw. vierte Prozessorvorrichtung zum Erzeugen und Empfangen von Datennachrichten aufweist, wobei der erste Knoten mit einem Sendestift in Leitungsverbindung mit Empfangsstiften des zweiten und dritten Knotens und einem Sendestift des vierten Knotens verbunden ist, und der erste Knoten einen Empfangsstift in Leitungsverbindung mit Sendestiften des zweiten und dritten Knotens und einen Empfangsstift des vierten Knotens aufweist;
  • dadurch gekennzeichnet, daß:
  • jede Prozessorvorrichtung so betreibbar ist, daß sie auf Datennachrichtenbytes reagiert und Datennachrichtenbytes erzeugt, wobei jedes Datenbyte ein Startbit, acht Datenbits, ein programmierbar einstellbares Bit und ein Stopbit aufweist;
  • jede Prozessorvorrichtung weiterhin so betreibbar ist, daß sie nur auf ein Befehlsbyte mit eindeutiger Adresse, bei welchem das einstellbare Bit gesetzt ist, reagiert, die Prozessorvorrichtung so betreibbar ist, daß sie in Reaktion hierauf ein Antwortnachrichtenbyte erzeugt, bei welchem das einstellbare Bit nicht gesetzt ist, der Prozessor so betreibbar ist, daß er von dem Quellenknoten ein Nachrichtenzählbyte empfängt, welches ohne Unterbrechung durch Datennachrichtenbytes folgt, bei dem Nachrichtenzählbyte und den Datennachrichtenbytes das einstellbare Bit nicht gesetzt ist, und der Prozessor nach Empfang einer vollständigen Datennachricht entsprechend dem empfangenen Zählwert des Nachrichtenzählbytes so betreibbar ist, daß er ein Bestätigungsbyte erzeugt;
  • jede der ersten und zweiten Prozessorvorrichtungen weiterhin so betreibbar ist, daß sie ein Befehlsdatennachrichtenbyte mit eindeutiger Adresse erzeugt, welches an einen der Knoten als Ziel geschickt werden soll, bei dem Adressenbefehlsbyte das einstellbare Bit gesetzt ist, die Prozessorvorrichtung so betreibbar ist, daß sie auf ein Antwortnachrichtenbyte von dem Zielknoten reagiert, bei der Antwortnachricht das einstellbare Bit nicht gesetzt ist, der Prozessor dann so betreibbar ist, daß er an den Zielknoten ein Nachrichtenzählbyte sendet, welchem ohne Unterbrechung Datennachrichtenbytes folgen, bei dem Nachrichtenzählbyte und dem Datennachrichtenbytes das einstellbare Bit nicht gesetzt ist, woraufhin der Zielknoten nach Empfang einer vollständigen Datennachricht entsprechend dem empfangenen Zählwert des Nachrichtenzählbytes ein Bestätigungsbyte sendet, welches anzeigt, ob die empfangene Nachricht fehlerfrei war; und
  • die dritte Prozessorvorrichtung weiterhin so betreibbar ist, daß sie ein Datennachrichtenbyte an den ersten Knoten nur in Reaktion auf eine Datennachricht von dem ersten Knoten erzeugt, die dritte Prozessorvorrichtung so betreibbar ist, daß sie reagiert durch Senden, an den ersten Knoten, eines Nachrichtenzählbytes, welchem ohne Unterbrechung die Datennachrichtenbytes folgen, und bei dem Nachrichtenzählbyte und den Datennachrichtenbytes das einstellbare Bit nicht gesetzt ist, woraufhin der Zielknoten nach Empfang einer vollständigen Datennachricht entsprechend dem empfangenen Zählbyte ein Bestätigungsbyte sendet, welches anzeigt, ob die empfangene Nachricht fehlerfrei war.
  • Gemäß einer bevorzugten Ausführungsform der Erfindung führt ein Postbearbeitungssystem zahlreiche Funktionen mit einem Postversandstück unter Führung und Steuerung einer einzigen Systemsteuerung (eines zweiten Knotens) durch. Das Verarbeitungssystem umfaßt eine Frankiermaschine, welche aus Portosicherheitsgründen unter der Steuerung einer getrennten Steuerung arbeitet. Eine Frankiermaschine, die für die vorliegende Erfindung am besten geeignet ist, besteht aus zwei Abschnitten, einem gesicherten Frankiermaschinenabschnitt und einem ungesicherten Paketidentifizierungsnummern- und Datierungsabschnitt (PIN- Datierung). Der Frankiermaschinenabschnitt wird von einer Steuerung auf Mikroprozessorbasis (erster Konten) gesteuert, welche verschiedene Frankiermaschinensysteme steuert, beispielsweise den Druckradeinstellmechanismus, das Portobuchungssystem, und so weiter. Die PIN- Datierungsvorrichtung (zusammenfassend als "Datierungsvorrichtung" bezeichnet) steht unter Steuerung einer ungesicherten Mikroprozessorsteuerung, die exklusiv mit dem ersten Master-Knoten kommuniziert.
  • Das Postverarbeitungssystem kann weiterhin eine Waage aufweisen, vorzugsweise eine Resonanzwaage einer solchen Art, die das Gewicht eines Postversandstücks auf der Grundlage von Änderungen der Resonanzfrequenz der erregten Waage bestimmt. Die Waagenfunktionen werden von einer Mikroprozessorsteuerung (vierter Knoten) gesteuert. Der erste Knoten (Frankiermaschinensteuerung) und der zweite Knoten (Postversandmaschinensteuerung) können jeweils als Master- Steuerungen in bezug auf ihre jeweiligen Echtzeit-gesteuerten Funktionen ausgebildet sein, die zum Zwecke der Synchronisierung von Funktionen miteinander kommunizieren müssen. Der dritte Knoten kann nur direkt mit dem ersten Knoten kommunizieren, und der vierte Knoten kann nur direkt mit dem zweiten Knoten kommunizieren.
  • Jede Steuerung bei der bevorzugten Ausführungsform weist einen eingebauten, programmierbaren Mikroprozessor auf, der mit einem residenten UART (universelles asynchronisiertes Empfangen/Senden) versehen ist. Jede Mikroprozessorsteuerung weist einen Sende- und einen Empfangs-Kommunikationsstift auf. Der Sendestift des ersten Knotens (Frankiermaschine) steht in Leitungsverbindung mit dem Empfangsstift des zweiten Knotens (Postversandmaschine) und dem dritten Knoten (Datierungsvorrichtung) sowie dem Sendestift des vierten Knotens (Waage). Der Empfangsstift des ersten Knotens steht in Leitungsverbindung init dem Sendestift des zweiten und des dritten Knotens und dem Empfangsstift des vierten Knotens. Die Leitungsverbindung zwischen den Knoten gestattet keine direkte Kommunikation zwischen dem zweiten und dritten Knoten, dem ersten und vierten Knoten, und dem dritten und vierten Knoten.
  • Das Protokoll ist so ausgebildet, daß Prozessorkommunikations-Overhead und Reaktionszeit minimalisiert werden, und zwar dadurch, daß
  • (a) Kommunikationssteuerdaten durch redundante Bytes geschützt sind, welche eine exakte Nachrichtenübertragung fördern;
  • (b) Der Textabschnitt einer Nachricht für das 8-Byte- Mikrosystem transparent ist, beispielsweise ein 8- Bit-Zeichen statt des ASCII-Codes;
  • (c) Übertragungsfehler durch redundante Byte erfaßt werden, beispielsweise eine zyklische Redundanzüberprüfung, wobei eine Fehlerbeseitigung durch Zeitablauf und erneute Aussendung erzielt wird;
  • (d) eine das Protokoll betreffende Nachricht immer bestätigt wird;
  • (e) Das Protokoll dazu fähig ist, eine Kommunikation mit den Daten wiederaufzunehmen, wenn ein Nachrichtenaustausch nicht empfangen wird, oder wenn die Übertragung einer Reihe von Daten abgebrochen wird; und
  • (f) eine Nachrichtenreihenfolge eingeführt wird, um eine Duplizierung zu erfassen: Zu diesem Zweck werden "Sende"- und "Empfangs"- Sequenznummern unabhängig an jedem Kommunikationsknoten aufrecht erhalten.
  • Wenn die Datierungsvorrichtung sendet ist ihr Ziel immer die Frankiermaschine, und wenn die Waage sendet, ist ihr Ziel immer die Postversandmaschine. Jeder Knoten weist einen Empfangs- und einen Sendepuffer auf. Es gibt keine elektrischen Schaltungen zwischen den Sende/Empfangsstiften der Steuerungen. Die Verfügbarkeit des Empfangspuffers wird vor der Übertragung einer Nachricht von dem Sendeknoten überprüft. Die maximale Anzahl an Datenbytes, die zu einem Zeitpunkt übertragen werden kann, beträgt 32 Bytes zwischen dem MMP und der Frankiermaschine, und 8 Bytes zwischen der Frankiermaschine und dem PIN, mit Ausnahme der Bytezählung.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Figur 1 ist eine Knotennetzwerkanordnung gemäß der vorliegenden Erfindung.
  • Figuren 2a, 2b, 2c und 2d zeigen schematisch Protokollnachrichtenformate gemäß der vorliegenden Erfindung.
  • Figuren 3a und 3b sind Nachrichtenzeitablaufdiagramme gemäß der vorliegenden Erfindung.
  • Figuren 4a und 4b sind ein Logikdiagramm von MMP-Befehlen zur Verbindung mit der Frankiermaschine.
  • Figuren 5a, 5b und 5c sind Logikdiagramme einer MMP- Sendeprozedur vom MMP zur Frankiermaschine.
  • Figur 5d ist ein Logikdiagramm einer Neuversuchsroutine.
  • Figuren 6a, 6b, 6c und 6d sind ein Logikdiagramm des MMP- Empfangs von der Frankiermaschine.
  • Figuren 7a, 7b und 7c sind ein Logikdiagramm einer MMP- Sendeprozedur vom MMP zum WOW.
  • Figuren 8a, 8b, 8c und 8d sind ein Logikdiagramm einer MMP- Empfangsabrufprozedur vom WOW.
  • Figur 9 ist ein Logikdiagramm von Frakiermaschinenbefehlen zur Verbindung mit der Datierungsvorrichtung.
  • Figuren 10A, 10B und 10C sind ein Logikdiagramm einer Frankiermaschinensendeprozedur zum MMP.
  • Figuren 11a, 11b, 11c und 11d sind ein Logikdiagramm einer Frankiermaschinenempfangsprozedur vom MMP.
  • Figuren 12a, 12b, 12c, 12d und 12e sind ein Logikdiagramm für Senden/Empfangen der Frankiermaschine zur bzw. von der Datierungsvorrichtung.
  • Figuren 13a, 13b, 13c, 13d und 13e sind ein Logikdiagramm des Empfangs/Sendens der Datierungsvorrichtung von bzw. zu der Frankiermaschine.
  • Figuren 14a und 14b sind ein Logikdiagramm einer WOW- Sendeprozedur bei einer Abfrage vom MMP.
  • Figuren 15a, 15b und 15c sind ein Logikdiagramm einer WOW- Empfangsprozedur vom MMP.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • In Figur 1 weist ein insgesamt mit 10 bezeichnete Postverarbeitungssystem eine Kommunikationsarchitektur mit vier (4) Knoten auf, nämlich Knoten 12, 14, 16 und 17. Der Knoten 14 repräsentiert eine Postversandmaschinensteuerung 2, als MMP bezeichnet, welche eine Anzahl an Maschinenoperationen steuert. Eine Waage, die auch als WOW bezeichnet wird, und eine Steuerung 4 aufweist, wird durch den Knoten 17 repräsentiert. Der Knoten 12 repräsentiert die Frankiermaschinensteuerung 1, welche mehrere Untersysteme steuert, beispielsweise einen Portodruckradeinstellmechanismus und ein Portobuchungssystem. Der Frankiermaschinenmechanismus ist mit einem Sicherheitsmechanismus versehen, um eine unerlaubte Manipulation des Portobuchungsystems zu verhindern. Die Frankiermaschine 18 weist eine Datierungssteuerung 3 auf, die im allgemeinen auf ungesicherte Weise vorgesehen ist. Die Kommunikationskonfiguration und das Protokoll, welche nachstehend beschrieben werden, gestatten die Trennung von Systemen, die keine hohe Sicherheit erfordern, beispielsweise der Datierungsvorrichtung, von den gesicherten Systemen der Frankiermaschine, beispielsweise des Portodruckradeinstellmechanismus und des Portobuchungssystems. Die Fähigkeit zur Aufteilung der Frankiermaschinenfunktion gestattet spezialisierte Systemsteuerungen, was zu verringerten Reaktionszeiten führt, und einen erhöhten Gesamtwirkungsgrad des Systems fördert. Darüberhinaus wird die Wartung des ungesicherten Systems am Installationsort erleichtert.
  • Die Frankiermaschine 18 weist weiterhin einen Frankiermaschinenabschnitt 12 auf, der nachstehend auch als Knoten 1 bezeichnet wird, und einen PIN-Datierungsabschnitt 16, der nachstehend auch als Knoten 3 bezeichnet wird. Die Postversandmaschine 19 weist eine Systemsteuerung auf, die nachstehend auch als Knoten 2 bezeichnet wird, die in Verbindung mit der Frankiermaschine 18 über Leitungen 20 und 22 steht, sowie eine Waagensteuerung, die nachstehend als Knoten 4 bezeichnet wird. Jeder Knoten 1, 2, 3 und 4 weist eine Steuerung auf Grundlage eines UART-Mikroprozessors des Typs Intel 8031 oder 80196 auf, wobei der Mikroprozessor eingebaute Hardwarefunktionen zur Implementierung des nachstehend geschilderten Kommunikationsprotokolls enthält. Vergleiche die Veröffentlichtungsnummer ISBN 1-55512-072-5 mit dem Titel "EMBEDDED CONTROLLER HANDBOOK", Band 1, 1988 der Intel Corporation, Santa Clara, California.
  • Der Intel-Mikroprozessor-UART weist einen Sendestift (TXD) und einen Empfangsstift (RXD) auf. Die Knotenkonfiguration bildet ein Mehrpunkt-Vollduplex-Kommunikationsschema. Der Sendestift TXD des Knotens 1 ist über eine Leitung 20 bzw. 22 an den Empfangsstift RXD des Knotens 2 angeschlossen. Der Sendestift TXD des Knotens 4 steht in Leitungsverbindung 24 mit der Leitung 20, und der Empfangsstift RXD des Knotens 4 steht in Leitungsverbindung 26 mit der Leitung 22. Der Sendestift TXD des Knotens 3 steht in Leitungsverbindung 28 mit der Leitung 22, und der Empfangsstift RXD des Knotens 3 steht in Leitungsverbindung 30 mit der Leitung 20. Diese Anordnung erlaubt keine direkte Kommunikation zwischen den Knoten 2 und 3, oder den Knoten 1 und 4. Jedem Sendestift TXD und Empfangsstift RXD der jeweiligen Knoten 1, 2, 3 und 4 ist ein Puffer zugeordnet.
  • Wenn der Knoten 1 sendet, empfangen sowohl der Knoten 2 als auch 3 das Signal nur mit dem gewünschten Empfänger in Reaktion auf das adressierte Signal auf die nachstehend geschilderte Weise. Wenn der Knoten 2 sendet, empfangen beide Knoten 1 und 4 das Signal nur mit dem gewünschten Empfänger in Reaktion auf das Adressensignal. Es ist möglich, daß beide Knoten 2 und 3 gleichzeitig an den Knoten 1 senden, und daß die Knoten 1 und 4 gleichzeitig an den Knoten 2 senden. Die Knoten 1 und 2 können zu jeder Zeit senden. Konkurrenz wird dadurch gelöst, daß die Vollduplexschaltung dazwischen genutzt wird, und daß dem Knoten 2 eine hohe Priorität verliehen wird. Der Knoten 2 hält den Bus für den Knoten 4 und verhindert so einen Sendevorgang von dem Knoten 1. Auf entsprechende Weise hält der Knoten 1 den Bus für den Knoten 3.
  • Wie in den Figuren 1, 2 und 3 gezeigt, weist der Mikroprozessor-UART des Intel 8031, Modell 2 Hardwarefunktionen zum Implementieren des nachstehend geschilderten Protokolls auf. Der 8031-UART arbeitet bei 375 kbyte pro Sekunde (bps) bei einer Quarztaktfrequenz von 12 Megahertz. Eine Sendung mit einem Byte besteht aus 11 Bits: einem Startbit, 8 Datenbits, einem programmierbaren Bit, und einem Stopbit. Das programmierbare Byte dient zur Ankündigung des Beginns eines Nachrichtenblocks. Wenn beim Empfang das programmierbare Bit nicht gesetzt ist, kann der UART in eine "Schlafbetriebsart" gelangen, die keinen CPU- Overhead infolge der Kommunikation erfordert. Die Übertragung eines Bytes (8 Bit-Daten plus 3 Bit Overhead) erfordert 29,2 µsec. bei 375 kbps, so daß 29,2 µs. nach dem Laden des UART- Senderegisters verfügbar sind. Dieser Zeitraum wird dazu genutzt, ein Nachrichtenpegelkommunikations-Protokoll auf Softwarebasis zu implementieren. Bei der bevorzugten Knotenumgebung sind innerhalb der Definition des Protokolls eine Ausbreitungsverzögerung und eine Umlaufverzögerung (Umschalten vom Senden aufs Empfangen und umgekehrt) vernachlässigbar.
  • Es sind vier Vollduplexschaltungen vorhanden: MMP- Frankiermaschine, MMP-WOW, Frankiermaschinen- Datierungsvorrichtung, und Datierungsvorrichtung-WOW. Bei einer Vollduplexschaltung können zwei Knoten Daten zur selben Zeit senden. Das Protokoll verwendet dieses Merkmal zur Auflösung einer Konkurrenz zwischen MMP und der Frankiermaschine. MMP oder die Frankiermaschine können einen Sendevorgang frei wählbar einleiten. Das WOW- und das Datierungsvorrichtungsmodul sind jeweils ein Slave-Knoten im strengen Sinne in bezug auf MMP bzw. die Frankiermaschine. Das WOW-Modul reagiert nur, wenn es von MMP abgefragt wird.
  • Die Datierungsvorrichtung reagiert nur auf die Frankiermaschine, wenn es von dieser Daten empfängt.
  • Wenn MMP sendet ordnet sie eine Knotenadresse am Anfang eines Nachrichtenaustausches an, um einen Empfangsknoten festzulegen, also entweder die Frankiermaschine oder die WOW. Ein adressierter Empfangsknoten antwortet mit seiner Adresse und identifiziert sich auf diese Weise. Nach diesem Handshake-Vorgang werden eigentliche Nachrichtendaten ausgetauscht. Wenn eine Nachricht an die Frankiermaschine adressiert ist, ignoriert die WOW sämtliche Daten und wartet auf den Start eines neuen Nachrichtenaustausches. Ist eine Nachricht an das WOW adressiert, geht die Frankiermaschine in eine "Schlafbetriebsart" über, während derer der Frankiermaschine kein Sendevorgang gestattet wird. Die MMP schickt eine "Aufwecknachricht" an die Frankiermaschine, nachdem sie mit der WOW fertig ist.
  • Wenn die Frankiermaschine an die MMP sendet, ordnet sie die MMP-Knotenadresse am Beginn eines Nachrichtenaustausches an. Die Frankiermaschine wartet dann auf eine Antwort. Die MMP reagiert mit ihrer Adresse und identifiziert sich so. Nach diesem Handshake-Vorgang werden eigentliche Nachrichtendaten ausgetauscht. Während des Wartezeitraums kann allerdings die Frankiermaschine einen Start eines neuen Nachrichtenaustausches von der MMP empfangen, welcher eine Konkurrenz anzeigt. Falls dies geschieht, bricht die Krankiermaschine die Übertragung ab und schaltet auf Empfang (wenn die Frankiermaschine der Adressat ist) oder in eine "Schlafbetriebsart" (wenn die WOW der Adressat ist), wodurch die Konkurrenzsituation gelöst wird. Für die MMP bestimmte Daten werden von der Datierungsvorrichtung ignoriert. Die Frankiermaschine wird wieder "wach", wenn entweder ein expliziter "Aufweckbefehl" empfangen wird, oder eine übliche Nachricht von der MMP.
  • Damit die Frankiermaschine eine Nachricht an die Datierungsvorrichtung schicken kann, schickt sie zunächst eine Befehl "MMP-Schlafen" an die MMP. Diese Nachricht beruht auf einer Konkurrenz, wie im voranstehenden Absatz beschrieben. Dann erfolgt eine Kommunikation der Frankiermachine mit der Datierungsvorrichtung. Die MMP "wacht auf", wenn einer von drei Zuständen auftritt: (1) automatisch nach 1,5 ms, (2) nach Empfang eines ausdrücklichen "Aufweckbefehls", oder (3) nach Empfang einer Nachricht von der Frankiermaschine. Die MMP sollte in der "Schlafbetriebsart" nicht senden. Nachrichtencodes sind in der Tabelle 1 angegeben, und Tabelle 2 gibt eine Zusammenfassung des Nachrichtenaustausches. Tabelle 1 BEFEHLSCODE die MMP sendet eine Nachricht an die Frankiermaschine. die MMP sendet zur Einrichtung einer Verbindung mit der Frankiermaschine. die MMP sendet an die Frankiermaschine zum Aufwecken. die MMP sendet eine Nachricht an die WOW. die MMP sendet zur Einrichtung einer Verbindung mit der WOW. die MMP fragt die WOW ab (holt sich eine Nachricht von der WOW). werden nicht verwendet. die Frankiermaschine möchte eine Nachricht an die MMP senden. die Frankiermaschine befiehlt der MMP, zu schlafen. die Frankiermaschine befiehlt der MMP, aufzuwachen. die Frankiermaschine sendet eine Nachricht an die Datierungsvorrichtung, und die Datierungsvorrichtung kann innerhalb von 200 Mikrosekunden eine Nachricht an die Frankiermaschine senden. Die Frankiermaschine sendet zur Einrichtung einer Verbindung an die Datierungsvorrichtung. ANTWORTCODE: Die Frankiermaschine reagiert auf den MMP-Befehl < OFH> und zeigt an, daß sie empfangsbereit ist. Die Frankiermaschine reagiert auf den MMP-Befehl < 1EH> und zeigt an, daß eine Verbindung eingerichtet ist. Die Frankiermaschine reagiert auf den MMP-Befehl < 3CH> und zeigt an, daß die Frankiermaschine die Schlafbetriebsart verlassen hat. Die WOW reagiert auf den MMP-Befehl < 3CH> und zeigt an, daß sie empfangsbereit ist. Die WOW reagiert auf den MMP-Befehl < 48H> und zeigt an, daß eine Verbindung eingerichtet ist. Die WOW reagiert auf den MMP-Befehl < 5AH> und zeigt an, daß sie eine Nachricht zu senden hat. Die Frankiermaschine reagiert auf den MMP-Befehl < OFH> und zeigt an, daß sie nicht empfangsbereit ist (der Empfangspuffer nicht verfügbar ist) Die WOW reagiert auf den NMP-Befehl < 3CH> und zeigt an, daß sie nicht empfangsbereit ist. Die WOW reagiert auf den MMP-Befehl < 5AG> und zeigt an, daß sie keine Nachricht zu senden hat. Die MMP reagiert auf den Frankiermaschinenbefehl < 96H> und zeigt an, daß sie empfangsbereit ist. Die MMP reagiert auf den Frankiermaschinenbefehl < 96H> und zeigt an, daß sie nicht empfangsbereit ist. Die MMP reagiert auf den Frankiermaschinenbefehl < A5H> und zeigt an, daß sie in die Schlafbetriebsart eingetreten ist. Die MMP reagiert auf den Frankiermaschinenbefehl < B4H> und zeigt an, daß sie in die Aufweckbetriebsart eingetreten ist. Die Datierungsvorrichtung reagiert auf den Frankiermaschinenbefehl < C3H> und zeigt an, daß sie empfangsbereit sit. Die Datierungsvorrichtung reagiert auf den Frankiermaschinenbefehl < C3H> und zeigt an, daß sie nicht empfangsbereit ist. Die Datierungsvorrichtung reagiert auf den Frankiermaschinenbefehl < D2H> und zeigt an, daß eine Verbindung eingerichtet ist. Alle Knoten antworten mit (FF), wenn ein Sendeknoten einen Nachrichtenübertragungsbefehl sendet, bevor eine Verbindung eingerichtet ist. Nachrichtenübertragungsbefehle sind: < 0F> , < 3C> , < 5A> , < 96> und < C3> . BESTÄTIGUNG Eine positive Bestätigung, welche anzeigt, daß eine Nachricht fehlerfrei empfangen wird. Eine negative Bestätigung, welche anzeigt, daß ein oder mehrere Fehler beim Empfang einer Nachricht festgestellt wurde(n). TABELLE 2 NACHRICHTENAUSTAUSCH data daten Frankiermaschine Bit gesetzt gelöscht Bemerkungen Handshake Puffer frei Byte-zählung, Daten, order Puffer nicht frei verbindungsfehler verbindung einrichten Aufweckbefehl Aufweckbestätigung MMP Schlafen befehlen Bestätigung von MMP MMP Aufwecken befehlen WOW abfragen WOW hat Nachricht zu senden data Frankiermaschine Datierungsvorrichtung Daten gelöscht gesetzt Bit Byte-Zählung, Daten, oder WOW abfragen WOW hat keine Nachricht zu senden Handshake verbindungsfehler Bemerkungen Puffer frei Puffer nicht frei verbindung einrichten bestätigen < ACK> empfangen
  • Das 9. Bit des UART 8031 wird gegesetztzt, um den Start eines Nachrichtenaustausches anzuzeigen. Die WOW oder die Datierungsvorrichtung überträgt keine Daten, wenn das 9. Bit gesetzt ist. Daher sollten die WOW und die Datierungsvorrichtung den UART so programmieren, daß ein Kommunikations-Interrupt bei gesetztem 9. Bit erzeugt wird, so daß die meisten unerwünschten Daten durch Hardware gefiltert werden.
  • Das Protokoll stellt sicher, daß zu jedem Zeitpunkt nur ein Knoten sendet, abgesehen von dem Zeitraum der Auflösung der Konkurrenz, und die Verfügbarkeit eines Empfangspuffers wird durch einen sendenden Knoten vor dem Aussenden eines Kommunikationspuffers überprüft.
  • Die Maximalanzahl an Daten-Bytes mit Ausnahme der Byte- Zählung, die zu einem Zeitpunkt übertragen werden kann, beträgt 33 Byte, mit Ausnahme zwischen der Frankiermaschine und der Datierungsvorrichtung, wo diese Maximalanzahl 8 Byte beträgt. Ein Anwendungsprogramm sollte einen Puffer mit einer Länge von zumindest 34 Byte reservieren, welche die Byte- Zählung einschließen, für die MMP, die Frankiermaschine und die WOW. Für die Datierungsvorrichtung sollte die Größe eines Kommunikationspuffers 9 Byte einschließlich der Byte-Zählung betragen. Eine Byte-Anzahl von Null ist nicht zulässig. Das signifikanteste Bit (MSB) der Byte-Zählung wird zur Übertragung einer Seguenznummer verwendet. Dieses MSB ist für ein Anwendungsprogramm transparent. Der Kommunikationstreiber demaskiert das MSB, verwendet es und gibt den Wertebereich 1 bis 33 oder 1 bis 8 an ein Anwendungsprogramm aus. Es erfordert etwa 35 µs, ein Byte zu übertragen.
  • Wie aus Fig. 2 hervorgeht, tauchen sämtliche, in dem Nachrichtenformat definierten Daten als Signal auf der tatsächlichen Kommunikationsleitung 20, 22, 24, 26, 28 und 30 auf. Die allgemeine Form des Nachrichtenformats enthält ein Adressenbefehls-Byte < ADD.CMD> , welches ein Feld von einem Byte aufweist. Das Adressenbefehls-Byte wird von dem Sourceknoten gesendet, und ihm folgt eine Antwort (REPLY) von den Zielknoten 1, 2 oder 3, also ein Handshake-Betrieb. Nach einem erfolgreichen Handshake sendet der Quellenknoten eine Daten-Byte-Zählung < BYTE.C> , gefolgt von der Daten-Byte-Datei [< data> --< data> ] zu dem Zielknoten. Der Quellenknoten sendet dann eine zyklische Redundanzüberprüfung < CRC> mit zwei Byte, nämlich einen hohen Pegel ("high") für die zyklische Redundanzüberprüfung < CRCH> sowie einen niedrigen Pegel ("low") für die zyklische Redundanzüberprüfung < CRCL> , welche den Byte-Zählwert < BYTE.C> abdecken und umfassen. Der Zielknoten sendet dann eine positive/negative Bestätigung in Bezgu auf die Integrität der Daten nach Durchführung einer Fehlerüberprüfung. Die Kommunikation zwischen den Knoten 2 und 4 erfolgt nach einer Abfrage des Knotens 2 durch den Knoten 4. Der Knoten 2 gibt eine Adresse < ADD.CMD> an den Knoten 4 aus, der eine Antwort (REPLY) aussendet, gefolgt von einer Byte-Zählung < BYTE.C> , die ungleich Null ist, folgt dann eine Daten-Byte-Kartei [< data> --< data> ], eine Redundanzüberprüfung < CRCH> und < CRCL> , sowie eine Bestätigung < ACK/NAK> . Eine Fehlerüberprüfung der Datennachricht wird dadurch erzielt, daß die empfangenen Daten mit gespeicherten und vorher festgelegten Werten in einem Empfangsknoten verglichen werden.
  • Das 9. Bit wird zur Unterscheidung des Adressen-Bytes < ADD.CMD> von anderen Bytes verwendet. Alle anderen Bytes in dem voranstehend geschilderten Format werden bei gelöschtem 9. Bit gesendet. An einem Empfangsknoten können Softwarebefehle so eingestellt sein, daß ein Prozessorempfangs-Interrupt nur zugelassen wird, wenn das 9. Bit gesetzt ist. Immer wenn das 9. Bit gesetzt ist, wird die Empfangssequenz erneut gestartet.
  • Wenn eine negative Bestätigung (ACK/NAK) von dem Zielknoten gesendet wird, wird die Nachricht von dem Quellenknoten erneut gesendet. Eine Nachrichtensequenzierung wird zur Erfassung einer duplizierten Nachricht verwendet, so daß daher nach Feststellung eines Fehlerzustands eine identische Nachricht mehr als einmal gesendet wird. Wenn eine Duplizierung festgestellt wird, läßt man die duplizierte Nachricht wegfallen. Beispielsweise sendet der Knoten 1 eine Nachricht, und der Knoten 2 hat diese korrekt empfangen, jedoch wird die Bestätigung < ACK> von dem Knoten 2 nicht an den Knoten 1 geliefert. Die Frankiermaschine sendet dann dieselbe Nachricht erneut, was zu einer duplizierten Nachricht am Knoten 2 führt.
  • Im allgemeinen schickt eine Übertragung des Sendeknotens eine Sequenznummer als Teil der Byte-Zählung < BYTE.C> an einen Empfangsknoten. Der Empfangsknoten aktualisiert die Empfangssequenznummer und sendet die aktualisierte Sequenznummer an den Sendeknoten als Teil der Bestätigung < ACK> , wodurch ein Zyklus beendet wird. Am Ende jedes Zyklus sollten die Sende-Sequenznummer und die Empfangs- Sequenznummer gleich sein. Die Frankiermaschine behält ein Paar von Empfangs/Sende-Sequenznummern für die MMP, sowie ein weiteren Paar für das PIN-Modul. Die MMP behält ein Paar von Empfangs/Sende-Sequenznurmmern für die Frankiermaschine sowie ein weiteres Paar für die WOW. Die Datierungsvorrichtung behält ein Paar von Empfangs/Sende-Sequenznummern für die Frankiermaschine, und die Waage behält ein Paar von Empfangs/Sende-Sequenznummern für die MMP.
  • Sämtliche Sequenznummern eines Knotens werden beim Stromeinschalten initialisiert, oder wenn der "Verbindungsbefehl" empfangen wird. Die MMP gibt den Verbindungsbefehl an die Frankiermaschine und die WOW aus. Die Frankiermaschine gibt den Verbindungsbefehl an die Datierungsvorrichtung aus. Sobald eine Verbindung durch den Verbindungsbefehl eingerichtet wurde, sind die Sequenznummern zwischen den beiden Knoten gleich.
  • Nur die Sende-Sequenznummer taucht auf der tatsächlichen Kommunikationsleitung auf. Eine Sequenznummer mit einem Bit wird dem signifikantesten Bit von < BYTECNT> zugeordnet. Zwischen der MMP und der Frankiermaschine, und zwischen der MMP und der WOW gibt es zwei Paare von Sequenznummern. Die Frankiermaschine hat die Sende-Sequenznummer für die Datierungsvorrichtung, jedoch keine Empfangs-Sequenznummer für die Datierungsvorrichtung. Entsprechend hat die Datierungsvorrichtung die Empfangs-Sequenznummer, jedoch keine Sende-Sequenznummer. Der Grund hierfür liegt darin, daß es der Datierungsvorrichtung nicht erlaubt ist, einen Sendevorgang einzuleiten, und daß die Frankiermaschine eine erneute Aussendung der Datierungsvorrichtung nur dann befiehlt, wenn keine vollständige Nachricht empfangen wurde.
  • Das in den Fig. 3a und 3b gezeigte Zeitablaufdiagramm erläutert den Zeitablauf der Kommunikation zwischen MMP und der Frankiermaschine, zwischen MMP und WOW, und zwischen Frankiermaschine und Datierungsvorrichtung.
  • Die MMP und die Frankiermaschine können einen Sendevorgang in dem Protokoll einleiten. Dies kann eine Konkurrenz hervorrufen, wenn die beiden Knoten gleichzeitig zu senden versuchen. Die Konkurrenz wird dadurch aufgelöst, daß die MMP als Knoten mit hoher Priorität festgelegt wird. Diese Konkurrenzvorgehensweise schaltet das Erfordernis aus, eine Abfrage zwischen den beiden Knoten einzurichten.
  • Die MMP kann immer dann senden, wenn sie es wünscht, wenn kein Empfangsvorgang erfolgt. Sie sollte vor dem Senden eines Puffers daher das Empfangsregister überprüfen. Wenn bereits Daten empfangen werden, dann sollte die MMP erst den Empfangsvorgang bedienen. Sobald jedoch der Sendevorgang gestartet wurde, kann die MMP den Sendevorgang ohne Unterbrechungen (Interrupts) beenden. Im Gegensatz hierzu kann es erforderlich sein, daß die Frankiermaschine einen Sendevorgang abbricht, damit die MMP Priorität erlangt.
  • Wenn, wie in Fig. 3 gezeigt, die MMP < ADD.CMD> sendet, so erwartet sie (REPLY) innerhalb von minimal 70 µs und maximal bis zu 550 µs von der Frankiermaschine oder der WOW. Der Empfangs-Interrupt der Frankiermaschine oder der WOW sollte nicht für mehr als 500 µs gesperrt werden. Vorzugsweise sollte ein Empfangs-Interrupt zu allen Zeiten freigeschaltet sein. Nach die MMP < ADD.CMD> in das UART-Senderegister geladen hat, kann sie ein Daten-Byte in dem UART- Empfangsregister so schnell wie in 70 µs empfangen. Dies entspricht einer Bit-Verschiebungszeit mit einer Rate von 375k bps.
  • Nachdem (REPLY) empfangen wurde, wartet die MMP zwischen minimal 250 µs und maximal 400 µs, bevor sie < BYTECNT> sendet. Dieser Vorgang wird wiederholt, um sämtliche < data> , < CRCH> und < CRCL> zu senden. Die MMP wird dann (ACK/NAK) innerhalb von 250 µs empfangen.
  • Immer wenn eine Nachricht für die WOW bestimmt ist, überwacht die Frankiermaschine den Befehl, und versetzt sich dann selbst in die "Schlafbetriebsart". Wenn die Frankiermaschine ein fehlerhaftes Byte empfängt, ignoriert sie es einfach. Die Frankiermaschine wacht auf nachstehend erläuterte Weise auf. Es wird empfohlen, daß die MMP die "Aufwecknachricht" sendet, wenn sie nicht sofort eine Nachricht für die Frankiermaschine hat, so daß die Frankiermaschine mit der Datierungsvorrichtung kommunizieren kann.
  • Die Frankiermaschine weist zur Auflösung der Konkurrenz mit der MMP eine niedrige Priorität auf. Wenn die MMP zur selben Zeit sendet wie die Frankiermaschine, so erfaßt die Frankiermaschine die Konkurrenz und schaltet auf den Empfang um.
  • Nach Senden von < ADD.CMD> der MMP erwartet die Frankiermaschine eine Antwort (REPLY) von der MMP innerhalb von minimal 70 µs und maximal 550 µs. Während des Wartezeitraums kann < ADD.CMD> von der MMP statt (REPLY) empfangen werden. Wird (REPLY) empfangen, so sendet die Frankiermaschine das Rücksetzen der Nachricht an die MMP. Der Empfangs-Interrupt der MMP sollte nicht für länger als 500 µs gesperrt sein. Vorzugsweise sollte die MMP den Empfangs- Interrupt zu sämtlichen Zeiten freigeschaltet haben. Wenn andererseits ein < ADD.CMD> von der Frankiermaschine empfangen wird, so bricht die Frankiermaschine den Sendevorgang ab und schaltet auf Empfang um. Wie bei dem Nachrichtenformat beschrieben, sind (REPLY) und < ADD.CMD) deutlich unterscheidbar. Nachdem die Frankiermaschine (REPLY) empfangen hat, sendet die Frankiermaschine den Rest des Nachrichtenpuffers.
  • Das Vollduplexmerkmal der Kommunikationshardware wird zur Auflösung der Konkurrenz eingesetzt. Nachdem die Konkurrenzsituation aufgelöst ist, ist die Betriebsart Zweiweg-abwechselnd, so daß sich die Frankiermaschine entweder in der Sendebetriebsart oder in der Empfangsbetriebsart befindet.
  • Zum Senden an die Datierungsvorrichutng schickt die Frankiermaschine zuerst den "Schlafbefehl" an die MNP. Dann schickt sie < ADD.CMD> an die Datierungsvorrichtung. Die Datierungsvorrichtung sendet (REPLY) innerhalb von 200 µs. Dann sendet die Frankiermaschine den Rest der Datennachricht. Bei irgendwelchen fehlerhaften Daten sendet die Datierungsvorrichtung (NAK), und der Nachrichtenaustausch ist beendet. Anderenfalls sendet die Datierungsvorrichtung (ACK), und schickt innerhalb von 200 µs eine Nachricht an die Frankiermaschine zurück. Das Datierungsmodul leitet nie einen Sendevorgang ein. Sobald die Datierungvorrichtung eine Nachricht empfängt, verarbeitet sie die Nachricht und beginnt innerhalb von 200 µs mit dem Senden einer Antwortnachricht. Nachdem die Frankiermaschine die Kommunikation mit der Datierungsvorrichtung beendet hat, schickt sie den "Aufweckbefehl" an die MMP. Das Senden und Empfangen von Daten zwischen der Frankiermaschine und der Datierungsvorrichtung tritt, mit Ausnahme des Handshake- Vorgangs, innerhalb eines Minimuns von 35 µs und eines Maximums von 50 µs pro Byte auf.
  • Die MMP empfängt ungewünshcte Daten, wenn die Frankiermaschine eine Übertragung abbricht. Die Frankiermaschine empfängt unerwünschte Daten, welche für die WOW bestimmt sind. Die WOW empfängt unerwünschte Daten von der Frankiermaschine und der WOW. Immer wenn ein Knoten einen empfangenen Code nicht bestätigen kann, ignoriert er ihn einfach. Weiterhin ignoriert ein Knoten Daten, wenn diese nicht an den Knoten adressiert sind.
  • Wenn die Frankiermaschine einen Sendevorgang infolge einer Konkurrenzsituation abbricht, empfängt die MMP-UART-Hardware das < ADD.CMD> -Byte. Dieses < ADD.CMD> -Datum wird gelöscht, nachdem (REPLY) empfangen wurde, wodurch der ungewünschte Empfangs-Interrupt verhindert wird. Während des MMP- Sendevorgangs sollte der Empfangs-Interrupt abgeschaltet sein.
  • Ob der Empfangsvorgang durch Interrupt beeinflußt wird oder nicht, sollte der Empfang eines Bytes immer zeitlich entsprechend der Senderate der Frankiermaschine oder der WOW ablaufen. Wenn die Zeit überschritten wird, sollte ein Empfangsvorgang abgebrochen werden. Immer wenn Daten mit gesetztem 9. Bit empfangen werden, sollte der Vorgang erneut gestartet werden.
  • Wenn die Frankiermaschine den "Schlafbefehl" aussendet, tritt die MMP in eine "Schlafbetriebsart" ein, und während dieses Zeitraums sollte sie nicht senden. Die MMP sollte automatisch 1,5 ms später aufwachen, oder nach Empfang einer Nachricht oder einer "Aufwecknachricht", je nach dem, welche zuerst kommt. Die MMP sollte die UART-Hardware so steuern, daß sie Daten empfängt oder nicht empfängt, bei denen das neuente Bit gelöscht ist. Um das automatische Aufwecken nach 1,5 ms zu unterstützen, sollte das Interval zwischen den beiden aufeinanderfolgenden Nachrichten-Sendevorgangängen von der Frankiermaschine zu der Datiervorrichutng größer als 2 ms sein.
  • Die MMP sollte eine Empfangsvoirgang abbrechen, wenn ein nächstes Datenbit nicht innerhalb von 400 µs empfangen wird. Darüberhinaus sollte die MMP den Empfangs-Interrupt nicht nicht für länger als 500 µs abschalten.
  • Die Sendung der Frankiermaschine an die Datiervorrichtung wird von der MMP empfangen, und die WOW-Sendung an die MMP zu diesem Zeitpunkt verfälscht sicher die Daten. Um diese Art der Konkurrenz zwischen der Frankiermaschine und der WOW zu verhindern, reserviert die MMP den Frankiermaschinenbus, während sie mit der WOW kommuniziert. Während dieses Zeitraums tritt die Frankiermaschine in die "Schlafbetriebsart" ein.
  • Sobald die Frankierbaschine < ADD.CMD> empfängt, das für die WOW bestimmt ist, tritt sie in eine "Schlafbetriebsart" ein, und während dieses Zeitraums empfängt die Frankiermaschine nur. Die Frankiermaschine ist so programmiert, daß der Empfangsinterrupt freigeschaltet ist, wenn ein Datum mit gesetztem 9. Bit empfangen wird. Wenn die MMP die Kommunikation mit der WOW beendet, schickt sie einen expliziten "Aufweckbefehl" an die Frankiermaschine. Die Frankiermaschine kann die WOW-Sendung nicht empfangen.
  • Der Wartezeitraum zum Empfangen eines Bytes nach einem Byte beträgt bis zu 50 Mikrosekunden von der Datiervorrichtung, und bis zu 400 Mikrosekunden von der MMP. Die Frankiermaschine bricht den Empfang nach dem Wartezeitraum ab.
  • Die Daten mit gesetztem 9. Bit von dem MMP initialisieren einen WOW-Empfangsvorgang. Falls dieser für die Frankiermaschine bestimmt ist, ignoriert die WOW die Daten, und auch der darauffolgende Datenstrom wird ignoriert, da das neunte Bit nicht gesetzt ist. Die Daten mit gesetztem neunten Bit von der Datiervorrichtung sind für die WOW transparent, da ein Empfangsvorgang noch nicht einmal getriggert wird. Die Empfangsrate ist ebenso groß wie die Senderate der MMP.
  • Wenn die Datiervorrichtung < ADD.CMD> empfängt, das für die MMP gedacht ist, so liest sie einfach die Daten und läßt sie wegfallen. Der Empfangs-Interrupt der Datiervorrichtung wird freigeschaltet, wenn Daten mit gesetztem 9. Bit empfangen werden. Die Datenübertragung von der WOW ist für die Datiervorrichtung transparent. Die Empfangsrate ist ebenso groß wie die Senderate. Ein Empfangsvorgang wird abgebrochen, wenn die Ankunft von Daten 50 Mikrosekunden überschreitet.
  • Das Protokoll in bezug auf Steuerdaten ist: < ADD.CMD> , (REPLY), und < ACK/NAK) . Die Codes für diese Daten sind so definiert, daß vier Bits redundant sind. Die Fehlererfassung wird dadurch erreicht, daß der erwartete Wert mit dem empfangenen Wert verglichen wird, wenn ein bestimmtes Steuerdatum innerhalb des Zusammenhangs des Protokolls definiert ist.
  • Eine Fehlererfassung für sinnvolle Daten beruht auf der Eins- Komplement-Arithmetikprüfsumme, die von John G. Fletcher vorgeschlagen wurde. Vergleiche die Veröffentlichung "An Arithmetic Checksum for Serial Transmissions", John G. Fletcher, IEEE TRANSACTIONS ON COMMUNICATIONS, Band COM-30, Nr. 1, Januar 1982.
  • Das ausgewählte Schema ist für Software-Implementierung gedacht, und die Eins-Komplement-Prüfsumme mit 16 Bit kann innerhalb von 15 Mikrosekunden unter Verwendnung des Befehlsatzes des Geräts 8031 mit 12 Mhz berechnet werden.
  • Bei dieser Geschwindigkeit wird nicht die Datenübertragungsrate beeinträchtigt, die Hardware gestützt ist.
  • Das Prüfsummenverfahren kann sämtliche Ein-Bit-Fehler und Zwei-Bit-Fehler erfassen, da die Nachrichtenpufferlänge kleiner als 250 Byte ist. Sämtliche 16-Bit-Burst-Fehler werden mit einer Genauigkeit von 99,999981 % erfaßt. Der unerfaßte Fehlerprozentsatz beträgt 0,001526 % für CCITT CRC, und 0,001538 % für das gewählte Prüfsummenverfahren.
  • Zur Erläuterung werden zuerst zwei Byte der Prüfsumme, beispielsweise c0 und c1, auf Null initialisiert. Die Prüfsumme wird berechnet aus < BYTECNT> und dem letzten < data> . Immer wenn ein Datum mit 8 Bit, beispielsweise b, gesendet wird, wird die Prüfsumme unter Verwendung der 1- Komplement-Arithmetik berechent:
  • c0 E c0 + b, die Addition ist Modulo 256, und bei einem Überlauf wird ein Überlauf addiert.
  • c1 E c1 + c0 die Addition erfolgt Modulo 256, und bei einem Überlauf wird der Überlauf addiert.
  • (Beispiel: c0=249, c1-241, b-9, dann ist c0=3, c1-244)
  • Wenn sämtliche Daten übertragen wurden, erwartet der Empfänger, daß die Prüfsumme aus Nullen besteht. Die beiden Prüfbytes werden vom Sender berechnet. Das erste Prüfbyte, beispielsweise f, wird folgendermaßen berechnet:
  • f1 E c0 + c1, die Addition erfolgt Modulo 256, und bei Überlauf wird der Überlauf addiert.
  • f E 256 - f1, (wobei das negative Vorzeichen Modulo 256 gewählt wird)
  • (Beispiel: c0=3, c1=244, f1=247, f=9)
  • Nachdem das erste Prüfbyte herausgeschickt wurde, wendet der Empfänger immer noch dieselbe Arithmetikprozedur an. (Beispiel: c0=3, c1=244, f=0, und dann ist c0=12, c1=256).
  • Das zweite Prüfbyte wird berechnet als (s = 256 = c0), und wird an den Empfänger geschickt. (Beispielsweise c0=12, s=244, c0=256) . Wen sämtliche Daten einschließlich der Prüfsumme akkumuliert wurden, dann sind die Prüfbytes = 256. Das voranstehende Beispiel wird folgendermaßen zusammengefaßt: Daten zuerst erste Daten zweite Daten dritte Daten b Prüfbyte
  • Das Prüfsummenverfahren ist sehr wirkungsvol implementierbar: Unter Verwendung der 8031-Befehle mit 12 MHz erfordert es 6 Mikrosekunden, um c0 und c1 zu akkumulieren, 6 Mikrosekunden zur Berechnung des ersten Prüfbytes, und 6 Mikrosekunden zur Überprüfung des Prüfsummenfehlers.
  • Der Sender und der Empfänger wenden denselben Algorithmus zur Berechnung der Prüfsumme an.
  • Ein Sendeknoten ist immer für die Fehlerbeseitigung verantwortlich. Der Empfangsknoten fordert nie eine erneute Sendung an. Wenn ein Empfangsknoten einen undefinierten Code in < ADD.CMD> entdeckt, ignoriert er einfach die Daten. Wenn er eine Nachricht empfängt, bevor eine Verbindung eingerichtet wurde, schickt er OFFH zurück, und bricht den Empfangsvorgang ab. Wenn ein Empfangsknoten CRC-Fehler feststellt, so sendet er < NAK> . Wenn irgenein Datenbyte mit gesetztem neunten Bit mitten in einem Empfangsvorgang empfangen wird, dann wird der Vorgang erneut gestartet. Ein Abbruch eines Sendevorgangs, oder ein kürzerer Datenempfang als der bei der Bytezählung festgelegte, oder ein Zeitablauf führt dazu, daß ein Empfangsvorgang abnorm beendet wird.
  • Ein Sendeknoten erfaßt einen Fehler durch Zeitablauf für < ADD.CMD> , oder durch Empfang von < NAK> . Wenn ein Fehler festgestellt wird, wartet der Knoten eine vorbestimmte Zeit und beginnt dann mit erneuter Einleitung des Sendevorgangs.
  • Der Status, der die Nichtverfügbarkeit eines Empfangspuffers an dem Empfangsknoten anzeigt, wird nicht als Fehler angesehen. Die MMP, die Frankiermaschine, die WOW und die Datiervorrichtung sollten Empfangspuffer so schnell wie möglich abarbeiten, um eine Netzblockade von Kommunikationspuffern zu verhindern.
  • Der Nachrichtenaustausch zwischen der Frankiermaschine und der Datiervorrichtung erfordert eine spezielle Fehlerbehandlung, da bei einem Nachrichtenaustausch eine Nachricht an die Datiervorrichtung geliefert wird, und eine Nachricht von der Datiervorrichtung zurückgeschickt wird. Beide Knoten sollten das Liefern einer Nachricht bestätigen. Wenn (ACK) von der Datiervorrichtung oder < ACK> von der Frankiermaschine verlorengeht, kann nur eine Seite eine Nachrichtenlieferung bestätigen. Und nur die Frankiermaschine kann einen Nachrichtenaustausch einleiten. Aus diesen Gründen verwendet die Kommunikation der Datiervorrichtung einen "Bestätigungsbefehl". Unter Verwednung der Antwort auf den Bestätigungsbefehl stellt die Frankiermaschine sicher, daß die Datiervorrichtung tatsächlich < ACK> korrekt empfangen hat. Unter Verwendung des Bestätigungsbefehls weiß die Datiervorrichtung, daß die Frankiermaschine eine Nachricht empfangen hat, obwohl die Datiervorrichtung nicht korrekt < ACK> empfangen hat.
  • Die Frankiermaschine muß den Bestätigungsbefehl senden, nachdem sie Nachrichten mit der Datiervorrichtung ausgetauscht hat (ein Byte an die Datiervorrichtung und ein Antwortbyte an die Frankiermaschine). Die Datiervorrichtung muß die Ausführung der empfangenen Nachricht beginnen, nachdem sie die Bestätigungsnachricht erhalten hat.
  • Der Nachrichtenaustausch mit der Datiervorrichtung besteht aus zwei Nachrichten: einem Befehl an die Datiervorrichtung und einer Reaktion an die Frankiermaschine. Daher wird die Sende-Sequenznummer in der Frankiermaschine am Ende eines erfolgreichen Nachrichtenaustausches aktualisiert. Für die Datiervorrichtung wird die Empfangs-Sequenznummer aktualisiert, wenn eine Nachricht fehlerfrei empfangen wurde. Die Frankiermachinen-Sende-Sequenznummer für die Datiervorrichtung wird aktualisiert, wenn < ACK> an die Datiervorrichtung übertragen wird. Die Datiervorrichtung hat die Sende-Sequenznummer nicht, da ein erneuter Versuch von der Frankiermaschine gesteuert wird, was bedeutet, daß die Datiervorrichutng keine duplizierte Nachricht sendet. Aus dem selben Grund hat die Frankiermaschine nicht die Empfangs- Sequenznummer für die Datuervorrichtung.
  • Beispiel für Fehlerzustände (Datiervorrichtung- Frankiermaschine):
  • Fall 1: Wenn eine Befehlsnachricht nicht korrekt an die Datiervorrichtung geliefert wird, dann schickt die Datiervorrichtung nicht (ACK) zurück. Von der Frankiermaschine wird ein Rückgewinnungsvorgang eingeleitet, und eine erneute Aussendung ausgeführt.
  • Fall 2: Eine Befehlsnachricht wird korrekt an die Datiervorrichtung geliefert, jedoch ist der Datiervorrichtungs-Empfangspuffer voll, oder es wird (ACK) von der Datiervorrichtung gesendet, jedoch konnte die Frankiermaschine nicht das zurückgeschickte (ACK) empfangen. Soweit die Datiervorrichtung betroffen ist, löscht sie den Empfangspuffer, berechnet den Sendepuffer, und sendet ihn. Jedoch gibt es kein < ACK> von der Frankiermaschine. Daher ist der Datiervorrichtungs-Sendepuffer immer noch voll. Die Frankiermaschine sendet die selbe Nachricht erneut. Bei der Datiervorrichtung wird die empfangene Nachricht infolge der Sequenznummer zurückgewiesen. Da der Datiervorrichtungs- Sendepuffer immer noch voll ist, wird er von der Datiervorrichtung gesendet.
  • Fall 3: Eine Befehlsnachricht wird an die Datiervorrichtung geliefert. (ACK) wird an die Frankiermaschine geliefert. Wenn ein Fehler in der Antwortnachricht von der Datiervorrichtung festgestellt wird, erfolgt dieselbe Fehlerbehandlung wie im Falle 2.
  • Fall 4: Ein Befehl wird an die Datiervorrichtung geliefert. Eine Antwortnachricht wird an die Frankiermaschine geliefert. Es wird angenommen, daß das < ACK> von der Frankiermaschine nicht an die Datiervorrichtung geliefert wird. Zur Behandlung dieses Falles ist es erforderlich, daß die Frankiermaschine den "Bestätigungsbefehl" gibt, also < E1> , an die Datiervorrichtung, nachdem sie < ACK> schickt. Für < E1> löscht die Datiervorrichtung den Sendepuffer, und antwortet mit (69). Wenn der Sendepuffer leer ist, wenn die Datiervorrichtung < E1> empfängt, antwortet die Datiervorrichtung einfach mit dem Code (69).
  • Fall 5: Die Situation is ebenso wie im Falle 4. Darüber hinaus wird angenommen, daß (69) von der Frankiermaschine nicht empfangen wird. Für die Fehlerbeseitigung sendet die Frankiermaschine erneut < E1> , statt den Puffer insgesamt erneut zu senden. Die Frankiermaschine setzt nicht die Marke für einen vollen Empfangspuffer, obwohl dies der Fall ist, bis die Frankiermasachine (69) empfängt.
  • Für den Befehl < C3> (Puffersendebefehl von der Frankiermaschine) reagiert die Datiervorrichtung folgendermaßen:
  • (1) Empfangspuffer voll oder belegter Prozessor: Antwortkode = (E1)
  • (2) Empfangspuffer ist leer: (D2)
  • (3) Verbindungsfehler: (FF).
  • Für den Befehl < E1> reagiert die Datiervorrichtung folgendermaßen:
  • (1) Verbindungsfehler: (FF).
  • (2) Sämtliche anderen Fälle: (69).
  • Der Kommunikationstreiber der Steuerung implementiert das Protokoll. Es muß ein Treiber für jeden Knoten vorhanden sein, also die MMP, die Frankiermaschine, die WOW und die Datiervorrichtung. Jeder Treiber besteht aus einer Empfangs- Interrupt-Service Routine, einer Senderoutine, einer Stromeinschalt-Initialisierungsroutine, und zusätzlich aus Verbindungsroutinen für die MMP und die Frankiermaschine. Der Treiber startet einen Empfangsvorgang, wenn er durch einen Empfangs-Interrupt getriggert wird. Die Empfangs- und Sendevorgänge sollen innerhalb eines endlichen Zeitraums zu einem aufrufenden Programm oder zum unterbrochenen Punkt zurückkehren. Ein Anwendungsvorgang muß die Treiber- Senderoutine aufrufen, um eine Nachricht zu senden. Die Initialisierungsroutine für einen Treiber sollte von einem Anwendungsprogramm ausgeführt werden, bevor die Treiberfunktionen verwendet werden, einschließlich der Interrupt-getriebenen Empfangsfunktion.
  • Operation des Systems
  • Wie nunmehr aus den Figuren 4a und 4b hervorgeht, kann der Knoten 2 (MMP) je nach Wunsch senden. Nach Stromversorgung des Systems beginnen die Softwarebefehle mit einer Startsequenz im Logikblock 100, um die MMP mit der Frankiermaschine und der Waage zu verbinden. Nach Einleitung der Startsequenz sendet die MMP Software-gesteuert einen Adressenbefehl < ADD.CMD> im Logikblock 102, der an die Frankiermaschine 18 gerichtet ist. Daraufhin steht die MMP am Logikblock 104 in Bereitschaft, um in einem Zeitraum zwischen 30 und 500 Mikrosekunden eine Antwort von der Frankiermaschine zu empfangen. Daraufhin erfolgt im Logikblock 106 eine Überprüfung, um sicherzustellen, ob eine Antwort (REPLY) rechtzeitig empfangen wurde. Wurde nicht rechtzeitig eine Antwort empfangen, wartet die Frankiermaschine 2 Mikrosekunden lang am Logikblock 108 und geht dann zum Anfangspunkt der Startroutine im Logikblock 102 zurück. Wird die Antwort rechtzeitig empfangen, geht dann die Kommunikationslogik zum Logikblock 110 über, um zu überprüfen, ob ein Antwortcode "2D" mit gelöschtem 9. Bit empfangen wurde, also ein Handshake-Vorgang erfolgt ist. Wurde ein falscher Code empfangen, oder ist das 9. Bit nicht gelöscht, so geht die Kommunikationslogik dann zum Logikblock 108 über, wartet 2 Mikrosekunden, und leitet dann erneut die Startsequenz im Logikblock 102 ein.
  • Wenn im Logikblock 110 die richtige Antwort empfangen wurde, geht die Kommunikationslogik zum Logikblock 112 über, woraufhin die Initialisierung der Empfangs-Sequenznummer und der Sende-Sequenznummer zwischen der MMP und der Frankiermaschine durchgeführt wird. Daraufhin sendet die MMP einen Adressenbefehl < ADD.CMD> , und ein Code mit gesetztem 9. Bit wird mit dem gesetzten 9. Bit an die WOW geschickt. Auf entsprechende Weise wird die MMP-Kommunikationslogik angewiesen, auf die Antwort von der WOW einen Zeitraum von etwa 30 bis 150 Mikrosekunden lang zu warten. Die empfangene Antwort wird im Logikblock 118 überprüft, um festzustellen, ob sie rechtzeitig empfangen wurde, und falls nicht, geht die Kommunikationslogik zum Logikblock 120 über, worauf ein Wartevorgang von 2 Mikrosekunden durchgeführt wird, und das System nach 114 zurückkehrt, um zu versuchen, erneut eine Kommunikationsverbindung mit der WOW in der voranstehend festgelegten Reihenfolge einzurichten. Wird die Antwort rechtzeitig empfangen, geht die Kommunikationslogik zum Logikblock 122 über, worauf der Antwortcode überprüft wird, um festzustellen, ob der richtige Antwortcode (5A) mit gelöschten 9. Bit empfangen wurde, also ob ein Handshake- Vorgang stattgefunden hat. Wurde ein falscher Antwortcode empfangen, oder war das 9. Bit nicht gelöscht, so geht die Kommunikationslogik erneut zum Logikblock 120 über, für einen Wartevorgang von 2 Mikrosekungen, und dann wird erneut eine Einleitung der Verbindungssequenz bei 114 durchgeführt. Wenn der richtige Code empfangen wurde und das 9. Bit gelöscht war, dann geht die Kommunikationslogik der MMP zum Logikblock 124 über, worauf die WOW-Empfangssequenznummer und die Sendesequenznummern initialisiert werden. Daraufhin geht die Kommunikationslogik zum Logikblock 126 über und befindet sich in Bereitschaft zur Kommunikation.
  • In den Figuren 5a, 5b und 5c ist gezeigt, was passiert, wenn das MMP-Steuerprogramm das Senden einer gepufferten Nachricht an die Frankiermaschine anfordert. Im Bereitsschaftszustand, der im Logikblock 130 dargestellt ist, schickt dann die Frankiermaschine einen Frankiermaschinenadressenbefehl < ADD.CMD> im Logikblock 134 mit gesetztem 9. Bit. Die Kommunikationslogik wird dann angewiesen, innerhalb eines Zeitraums von 30 bis 500 Mikrosekunden auf eine Antwort zu warten. Die Kommunikationslogik geht dann nach Empfang einer Antwort zum Logikblock 138 über, worauf eine Überprüfung durchgeführt wird, um festzustellen, ob rechtzeitig eine Antwort empfangen wurde. Wurde eine Antwort nicht rechtzeitig empfangen, also ist die Zeit abgelaufen, so wird die Kommunikationslogik angewiesen, den Sendevorgang abzubrechen und den Fehler im Logikblock 140 festzuhalten. Dann wird im Logikblock 142 eine Routine für einen erneuten Versuch eingeleitet. Wenn die Antwort rechtzeitig empfangen wurde, geht die Kommunikationslogik zum Logikblock 144 über, worauf eine Überprüfung durchgeführt wird um festzustellen, ob das 9. Bit gelöscht ist. Erneut geht, wenn das 9. Bit nicht gelöscht ist, die Kommunikationslogik zum Logikblock 140 über, und von dort aus zum Logikblock 142 für einen erneuten Versuch. Wenn das 9. Bit des Antwortbytes gelöscht ist, dann geht die Kommunikationslogik zum Logikblock 146 über, worauf eine Überprüfung durchgeführt wird um festzustellen, ob ein gültiger Antwortcode empfangen wurde, und ob der Empfangspuffer der Frankiermaschine bereit ist, Information von der Frankiermaschine anzunehmen. Wurde kein gültiger Antwortcode empfangen, wird die Kommunikationslogik erneut zum LOogikblock 140 zurückgebracht, und von dort zu einer Routine für einen erneuten Versuch im Logikblock 142. Wurde ein gültiger Code empfangen, dann geht die Kommunikationslogik zum Logikblock 148 über, worauf die Bytezählung und die Sequenznummer mit gelöschtem 9. Bit übertragen werden, und die Start-Akkumulierung für die CRCs durchgeführt wird. Dann geht die Kommunikationslogik zum Logikblock 150 über, worauf ein Datenbyte mit gelöschtem 9. Bit gesendet wird, die CRCs mit dem Akkumulieren unter Verwendung des Datenbytes weitermachen, und die Bytezählung dekrementiert wird. Zu diesem Zeitpunkt wird eine Schleife eingerichtet, in welcher das Senden von Datenbytes weitergeht, bis der Bytezählwert auf Null heruntergezählt oder dekrementiert ist. Einmal werden die Bytezählwerte im Logikblock 152 überprüft. Wenn der Bytezählwert auf Null dekrementiert wurde, wurden sämtliche Daten übertragen, und dann geht die Kommunikationslogik zum Logikblock 154 über, worauf dann CRCH und CRCL gesendet werden, und das 9. Bit erneut gelöscht wird. Daraufhin wartet im Logikblock 158 die Kommunikationslogik auf eine Bestätigungsantwort von der Frankiermaschine innerhalb des Antwortzeitraums von 30 bis 500 Mikrosekunden. Die Kommunikationslogik geht zum Logikblock 158 über, um zu überprüfen, ob die Antwort rechtzeitig empfangen wurde. Wird die Antwort nicht rechtzeitig empfangen, so geht die Kommunikationslogik zum Logikblock 160 über, worauf ein Abbruch der Sendung durchgeführt wird, und der Fehler aufgezeichnet wird. Dann geht die Kommunikationslogik zum Logikblock 142 über, in welchem die Routine für einen erneuten Versuch eingeleitet wird.
  • Wird rechtzeitig eine Antwort empfangen, so geht die Kommunikationslogik vom Logikblock 158 zum Logikblock 164 über, in welchem eine Überprüfung durchgeführt wird um festzustellen, ob das 9. Bit gelöscht ist. Ist das 9. Bit nicht gelöscht, so geht die Kommunikationsroutine zum Logikblock 160 über, und von dort aus zum Logikblock 142 für die Routine für den erneuten Versuch. Wurde das 9. Bit der Antwort gelöscht, so geht die Logikroutine zum Logikblock 166 über, in welchem eine Überprüfung durchgeführt wird um festzustellen, ob die Empfangsnachricht eine Bestätigungsnachricht enthält, und falls nicht, geht die Logikroutine zum Logikblock 160 über, und von dort aus zum Logikblock 142 für einen erneuten Versuch. Wird eine Bestätigung empfangen, dann wird eine Aktualisierung der Sende-Sequenznummer in dem Speicherbit im Logikblock 168 durchgeführt, von dort aus geht die Logikroutine zum Logikblock 170 über, worauf eine Benachrichtigungsroutine für das MMP-Steuerprogramm durchgeführt wird, um mitzuteilen, daß der Sendevorgang beendet wurde, und dann kehrt die Logik zum Bereitschaftszustand 130 zurück.
  • In Figur 5d geht die Routine 142 für einen erneuten Versuch nach Beginn zum Logikblock 182 über, worauf eine Inkrementierung des Zählers für den erneuten Versuch durchgeführt wird. Die Logikroutine geht dann zum Logikblock 184 über, um festzustellen, ob der Zählwert für den erneuten Versuch den gewünschten, vorbestimmten Wert überschreitet. Ist der Zählwert für den erneuten Versuch zu hoch, so geht die Routine zum Logikblock 186 über, worauf ein Bericht an das Frankiermaschinensteuerprogramm erzeugt wird, in welchem mitgeteilt wird, daß ein Kommunikationszusammenbruch aufgetreten ist, und bei 188 endet die Kommunikation. Ist der Zählwert für den erneuten Versuch nicht zu hoch, dann geht die Routine vom Logikblock 184 zum Logikblock 190 über, worauf ein Warte- oder Zeitablaufvorgang von 2 µs durchgeführt wird, und von hier aus erfolgt eine Rückkehr zum Bereitschaftszustand bei 130, worauf eine erneute Sendung versucht wird.
  • In den Figuren 6a, 6b, 6c und 6d steht zum Empfang einer Nachricht das MMP-Steuerprogramm bereit, im Logikblock 192 jede Adressenbefehlsnachricht < ADD.CMD> mit gesetztem 9. Bit zu empfangen. Nach Empfang eines Adressenbefehls < ADD.CMD> , der von der Frankiermaschine stammt, führt die MMP eine Reihe von Überprüfungen in den Logikblöcken 192 bis 194 durch, um festzustellen, ob die empfangene Nachricht oder für die MMP oder für die PIN-Datiervorrichtung gedacht ist. Ist die Nachricht für die PIN-Datiervorrichtung gedacht, so ignoriert die MMP die Befehlsnachricht. Ist die Nachricht für die MMP gedacht, so geht die Kommunikationslogik zum Logikblock 195 über. Im Logikblock 155 wird eine Überprüfung durchgeführt um festzustellen, ob die empfangene Nachricht ein MMP- Aufweckbefehl ist. Ist die Befehlsnachricht ein Aufweckvorgang, so sendet die MMP eine Aufweckbestätigung im Logikblock 196 und kehrt dann zum Bereitschaftszustand zurück. Wenn im Logikblock 197 festgestellt wird, daß die empfangene Befehlsnachricht ein Schlafbefehl ist, so gibt die MMP eine Schlafbestätigung im Logikblock 198 aus, und geht zu einem zeitlich verschobenen Aufweckvorgang nach 1,5 ms über. Nach dem Aufwecken befindet sich die MMP im Bereitschaftszustand.
  • Wenn die empfangene Nachricht eine ordnungsgemäße Adressenbefehlsnachricht ist, welche Datenübertragung anzeigt, im Logikblock 200, so geht die Kommunikation zum Logikblock 201 über. Wird die empfangene Nachricht im Logikblock 200 nicht erkannt, so ignoriert die Kommunikation die Befehlsnachricht und kehrt zum Bereitschaftszustand zurück. Vom Logikblock 200 aus geht die Kommunikationslogik zum Logikblock 201, worauf die Kommunikation überprüft, ob eine Systemverbindung durchgeführt wurde, also ob die Befehlsverbindungsroutine ausgeführt wurde, vergleiche die Figuren 4a und 4b. Wenn die Befehlsverbindungsroutine nicht durchgeführt wurde, sendet die Kommunikationslogik eine Verbindungsfehlernachricht und kehrt zum Bereitschaftszustand im Logikblock 191 zurück.
  • Vom Logikblock 201 bis zum Logikblock 206 wird ein Versuch durchgeführt, um zu überprüfen, ob der MMP-Empfangspuffer verfügbar ist. Ist der MMP-Empfangspuffer nicht verfügbar, so sendet die MMP im Logikblock 208 eine Nachricht "Puffer nicht fertig". Die Kommunikationsroutine geht dann zum Logikblock 210 über, um den Fehler aufzuzeichnen, kehrt dann zum Bereitschaftszustand zurück. Ist der Empfangspuffer frei, so geht die Logikroutine vom Logikblock 206 zum Logikblock 212 über und sendet im Logikblock 212 eine Empfangsbereitschaft < REPLY> . Die Kommunikationslogik der MMP geht dann zum Logikblock 214 über, worauf eine Überprüfung durchgeführt wird, um festzustellen, ob rechtzeitig eine Datennachricht empfangen wird, nämlich ein Bytezählwert. Ist die Zeitabgelaufen, so geht die Kommunikationslogikroutine zum Logikblock 216 über, in welchem eine Abbruchroutine ausgeführt wird und der Fehler aufgezeichnet wird. Die Routine geht dann zum Bereitschaftzustand über. Wird die Datennachricht im Logikblock 214 rechtzeitig empfangen, geht die Kommunikationslogik zum Logikblock 218 über, in welchem eine Überprüfung durchgeführt wird, um festzustellen, ob das 9. Bit des Puffer-Byte-Zählwerts in der empfangenen Nachricht gelöscht ist. Ist das neunte Bit nicht gelöscht, geht die Kommunikationslogikroutine vom Logikblock 218 zum Logikblock 216 für eine Abbruchroutine und dann zum Bereitschaftszustand über. Ist bei der empfangenen Nachricht das 9. Bit gelöscht, dann geht die Kommunikationsroutine vom Logikblock 218 zum Logikblock 220 über, in welchem eine Überprüfung des Puffers erfolgt, um festzustellen, ob der Puffer-Bytezälwert im vorgeschriebenen Bereich liegt. Liegt der Pufferzählwert nicht im vorgeschriebenen Bereich, so geht die Routine erneut zum Logikblock 216 und von dort zum Bereitschaftzustand über. Liegt der Puffer-Bytezählwert innerhalb des ordnungsgemäßes Bereiches, so geht die Routine vom Logikblock 220 zum Logikblock 222 über. Im Logikblock 222 wird der Puffer- Bytezählwert dem Anfangs-CRC-Wert zugeordnet. Dann geht die Routine zum Logikblock 224 über, wo auf auf zu empfangene Daten gewartet wird. Dann geht die Kommunikationslogik vom Logikblock 224 zum Logikblock 226 über, in welchem ein Versuch durchgeführt wird, um festzustellen, ob die Daten rechtzeitig empfangen wurden. Wurden die Daten nicht rechtzeitig empfangen, also wenn die Zeit abgelaufen ist, so werden eine Empfangsabbruchs- und Fehleraufzeichnungsfunktion im Logikblock 228 durchgeführt, und dann kehrt die Routine zur Bereitschaftsposition im Logikblock 200 zurück. Wurden die Daten rechtzeitig empfangen, so wird im Logikblock 230 eine Überprüfung durchgefüht, um festzustellen, ob das neunte Bit des Datenbytes gelöscht ist. Ist das 9. Bit nicht gelöscht, so geht die Logik zum Logikblock 228 über, und von dort zum Bereitschafts-Logikblock 220. Ist das 9. Bit gelöscht, dann geht die Routine vom Logikblock 230 zum Logikblock 232 über, worauf die empfangene Daten in dem Speicher gespeichert werden, die CRC mit dem Akkumulieren unter Verwendung der empfangenen Daten fortfährt, und der Bytezählwert dekrementiert wird. Vom Logikblock 232 geht es dann mit dem Logikblock 234 weiter, wobei der Puffer-Byte- Zählwert überprüft wird, um festzustellen, ob er gleich Null ist, und wenn dies nicht der Fall ist, kehrt die Kommunikationslogik zum Logikblock 224 für den Empfang weiterer Daten zurück, und von dort durchläuft die Routine eine Schleife mit den Logikblöcken 224, 226, 230 und 232, bis die gesamte Datennachricht empfangen wurde, und der Bytezählwert auf Null dekrementiert wurde, und vom Logikblock 234 geht die Routine nach 236 über, wo ein Wartezustand durchgeführt wird, um den CRCH-Byte-Zählwert innerhalb einer vorbestimmten Zeit des Zeitgebers zu empfangen. Nach dem Wartezustand geht die Routine vom Logikblock 236 zum Logikblock 238 über, in welchem, eine Überprüfung erfolgt um festzustellen, ob der CRCH-Byte-Zählwert rechtzeitig empfangen wurde. Falls die Zeit abgelaufen ist, geht die Routine dann vom Logikblock 238 zum Logikblock 228 und von dort zum Logikblock 191 über. Wurde die Information rechtzeitig empfangen, also das CRCH-Byte, so geht die Routine vom Logikblock 238 zum Logikblock 240 über, in welchem eine Überprüfung durchgeführt wird um festzustellen, ob das neunte Bit gelöscht ist. Ist das 9. Bit nicht gelöscht, so geht die Routine erneut vom Logikblock 240 zum Logikblock 238 und dann zum Logikblock 200 über.
  • Wenn das 9. Bit der Empfangsnachricht im Logikblock 240 gelöscht war, so geht die Kommunikationsroutine zum Logikblock 242 über, in welchem die CRC akkumuliert wird, wobei CRCH notiert wird. Vom Logikblock 242 geht die Kommunikationsroutine zum Logikblock 244 über, in welchem eine Wiederholung der Empfangsprozedur für CRCL durchgeführt wird. Die Empfangsprozedur ist eine Wiederholung der Schritte vom Logikblock 224 bis zum Logikblock 242. Daraufhin geht vom Logikblock 244 die Kommunikationsroutine zum Logikblock 246 über, in welchem eine Überprüfung von CRCL und von CRCH durchgeführt wird. Wenn ein Fehler in einer der Variablen CRCL oder CRCH auftritt, dann geht die Routine vom Logikblock 246 zum Logikblock 248 über, in welchem eine negative Bestätigung < NAK> geschickt wird, und daraufhin kehrt die Routine zum Logikblock 200 zurück. Wenn im Logikblock 246 sowohl CRCL als CRCL in Ordnung sind, dann geht die Routine zum Logikblock 252 über, in welchem eine Bestätigung ausgesandt wird. Vom Logikblock 252 geht die Routine zum Logikblock 254 über, in welchem eine Überprüfung durchgeführt wird um festzustellen, ob die Empfangs-Sequenznummern zu den gespeicherten Seguenznummern passen. Wenn sie passen, dann geht die Routine vom Logikblock 254 zum Logikblock 258 über, worauf eine Aktualisierung der gespeicherten Sequenznummern durchgeführt wird, und die Routine zum Logikblock 260 übergeht, in welchem die Puffersteuerung an die MMP- Steuerverarbeitung übergeben wird. Wenn im Logikblock 254 die Sequenznummern nicht zur gespeicherten Sequenznummer passen, dann geht die Routine zum Logikblock 256 über, in welchem eine Erfassung einer duplizierten Nachricht empfangen wird, und von dort geht die Routine vom Logikblock 256 zum Logikblock 262 über, in welchem festgestellt wird, daß die Empfangsprozedur beendet ist.
  • In den Figuren 7a, 7b und 7c ist gezeigt was passiert, wenn das MMP-Steuerprogramm das Senden einer gepufferten Nachricht an die WOW anfordert. In dem im Logikblock 263 gezeigten Bereitschaftzustand sendet die MMP den WOW-Adressenbefehl < ADD.CMD> im Logikblock 164 mit gesetztem 9. Bit. Die Kommunikationslogik wird dann angewiesen, innerhalb eines Zeitraums von 30 bis 500 µs auf eine Antwort zu warten. Die Kommunikationslogik geht dann nach Empfang einer Antwort zum Logikblock 268 über, worauf eine Überprüfung durchgeführt wird um festzustellen, ob die Antwort rechtzeitig empfangen wurde. Wurde die Antwort nicht rechtzeitig empfangen, also ist die Zeit abgelaufen, wird die Kommunikationslogik angewiesen, die Übertragung abzubrechen und den Fehler im Logikblock 270 aufzuzeichnen. Dann wird im Logikblock 142 eine Routine für einen erneuten Versuch eingeleitet. Wenn die Antwort rechtzeitig empfangen wurde, geht die Kommunikationslogik zum Logikblock 274 über, worauf eine Überprüfung durchgeführt wird um festzustellen, ob das neunten Bit gelöscht ist. Wenn das 9. Bit nicht gelöscht ist, so wird die Kommunikationslogik erneut zum Logikblock 270 zurückgeschickt, und von dort aus zum Logikblock 142 für einen erneuten Versuch. Wenn das 9. Bit des Antwort-Bytes gelöscht ist, dann geht die Kommunikationslogik zum Logikblock 276 über, in welchem eine Überprüfung durchgeführt wird um festzustellen, ob ein gültiger Antwortcode empfangen wurde, und ob der Empfangspuffer von WOW bereit ist, Information von MMP zu empfangen. Wurde kein gültiger Antwortcode empfangen, so wird die Kommunikationslogik erneut zum Logikblock 270 zurückgeführt, und von dort zu einer Routine für einen erneuten Versuch im Logikblock 142. Wurde ein gültiger Code empfangen, dann geht die Kommunikationslogik zum Logikblock 278 über, worauf der Bytezählwert und die Sequenznummer mit gelöschtem 9. Bit gesendet werden, und die Start-Akkumulierung für die CRCs durchgeführt wird. Die Kommunikationslogik geht dann zum Logikblock 280 über, worauf ein Datenbyte mit gelöschtem 9. Bit gesendet wird, gefolgt von den akkumulierten CRCs unter Verwendung des Datenbytes, und die Bytezählung dekrementiert wird. Zu diesem Zeitpunkt wird eine Schleife eingerichtet, in welcher das Senden von Datenbytes weitergeht, bis die Bytezählung auf Null herunterdekrementiert ist. Die Bytezählung wird im Logikblock 282 überprüft. Wenn die Bytezählung auf 0 dekrementiert wurde, wurden sämtliche Daten übertragen, und die Kommunikationslogik geht zum Logikblock 284 über, worauf CRCH und CRCL mit gelöschtem 9. Bit gesendet werden. Daraufhin wartet im Logikblock 286 die Kommunkationslogik auf eine Antwort von der WOW innerhalb der Reaktionszeit von 30 bis 500 µs. Die Kommunikationslogik geht zum Logikblock 258 über um zu überprüfen, ob die Antwort rechtzeitig empfangen wurde. Wird die Antwort nicht rechtzeitig empfangen, so geht die Kommunikationslogik zum Logikblock 290 über, in welchem ein Sendeabbruch durchgeführt wird, und der Fehler aufgezeichnet wird. Dann geht die Kommunikationslogik zum Logikblock 142 über, in welchem die Routine für einen erneuten Versuch eingeleitet wird.
  • Wenn rechtzeitig eine Antwort empfangen wird, geht die Kommunikationslogik vom Logikblock 288 zum Logikblock 294 über, in welchem eine Überprüfung durchgeführt wird, um festzustellen, ob das 9. Bit gelöscht ist. Ist das 9. Bit nicht gelöscht, so geht die Kommunikationsroutine zum Logikblock 290 und von dort zum Logikblock 142 für die Routine für einen erneuten Versuch über. War das 9. Bit der Antwort gelöscht, so geht die Logikroutine zum Logikblock 298 über, in welchem eine Überprüfung durchgeführt wird um festzustellen, ob die empfangene Nachricht eine Bestätigungsnachricht enthält, und falls nicht, geht die Logikroutine zum Logikblock 290 und von dort zum Logikblock 142 für einen erneuten Versuch über. Wenn eine Bestätigung empfangen wird, dann wird eine Aktualisierung der Sende- Sequenznummer in dem Speicherbit im Logikblock 298 durchgeführt, von dort geht die Logikroutine zum Logikblock 300 über, worauf eine Benachrichtigungsroutine für das MMP- Steuerprogramm durchgeführt wird um mitzuteilen, daß die Übetragung beendet ist, und dann kehrt die Logik im Logikblock 301 zum Beritschaftzustand zurück.
  • In den Figuren 8a, 8b, 8c und 8d beginnt die MMP- Abfragekommunikationslogik für die WOW im Logikblock 302. Vom Logikblock 302 aus geht die Abfrage-Kommunikationslogik zum Logikblock 303 über um zu ermitteln, ob die Kommunikationsverbindung mit der WOW eingirchtet wurde. Wurde die Verbindung nicht eingerichtet, so geht die Routine damit weiter, die Verbindung im Logikblock 304 einzurichten (vgl. die Logikblöcke 112 bis 124), und geht von hier aus zum Bereitschaftzustand über. Wurde die Verbindung eingerichetet, so geht die Logik zum Logikblock 305 über, worauf ein Abfragebefehl gesendet wird. Die Logik geht dann zum Logikblock 306 nach Empfang einer Antwort von der WOW über. Die Kommunikationslogik geht weiter mit den Logikblöcken 307, 310 und 313. Im Logikblock 307 geht, wenn bei der Antwort das 9. Bit gesetzt ist, die Logik zum Logikblock 308 über, um den Fehler aufzuzeichnen, und dann zum Logikblock 309, in welchem ein Zeitablauf von 2 ms durchgeführt wird, worauf die Logik zum Bereitschaftzustand zurückkehrt. Im Logikblock 310 ist der Antwortcode ein Code ohne Nachricht von der WOW im Logikblock 311, die Kommunikationslogik führt einen Zeitablauf von 2 ms im Logikblock 312 aus, und kehrt dann zum Bereitschaftzustand zurück. Im Logikblock 313 wurd die Antwort überprüft, und wenn der Antwortcode ein anderer Code ist als "WOW-Nachricht-Bereit", so unterbricht die Kommunikationslogik die Antwort als unbekannt und zeichnet den Fehler im Logikblock 314 auf, führt dann im Logikblock 315 einen Zeitablauf von 2 ms durch, und kehrt zum Breitschaftszustand zurück. Ist die Antwortnachricht die Nachricht "WOW-Nachricht-Bereit" im Logikblock 313, so geht die Kommunikationslogik zum Logikblock 316 über.
  • Im Logikblock 314 erfolgt eine Überprüfung, um festzustellen, ob ein Bytezählwert (BYTE.C) rechtzeitig empfangen wird. Wenn die Zeit abgelaufen ist, so geht die Kommunikationslogikroutine zum Logikblock 317 über, in welchem eine Abbruchroutine ausgeführt wird, und der Fehler aufgezeichnet wird. Die Routine geht dann zum Bereitschaftzustand über. Wird die Antwort rechtzeitig im Logikblock 316 empfangen, so geht die Kommunikationslogik mit dem Logikblock 318 weiter, in welchem eine Überprüfung durchgeführt wird um festzustellen, ob das 9. Bit des Puffer- Bytezählwertes in der empfangenen Nachricht gelöscht ist. Ist das 9. Bit nicht gelöscht, so geht die Kommunikationslogikroutine von dem Logikblock 318 zum Logikblock 317 für eine Abbruch-Routine und dann zum Bereitschaftzustand über. Ist bei der empfangenen Nachricht das 9. Bit gelöscht, so geht die Kommunikationsroutine vom Logikblock 318 zum Logikblock 320 über, in welchem eine Überprüfung des Puffers durchgeführt wird um festzustellen, ob der Puffer-Bytezählwert innerhalb eines vorgeschriebenen Bereiches liegt. Liegt der Pufferzählwert nicht innerhalb des Bereiches, so geht die Routine erneut zum Logikblock 317 und von dort zum Bereitschaftszustand über. Liegt der Puffer- Bytezählwert innerhalb des ordnungsgemäßen Bereiches, so geht die Routine vom Logikblock 320 zum Logikblock 322 über. Im Logikblock 322 wird der Puffer-Bytezähhlwert dem Anfangs-CRC- Wert zugeordnet. Die Routine geht dann zum Logikblock 324 über, in welchem ein Wartezustand auf zu empfangende Daten durchgeführt wird. Die Kommunikationslogik geht dann vom Logikblock 324 zum Logikblock 326 über, worauf ein Versuch durchgeführt wird um festzustellen, ob die Daten rechtzeitig empfangen wurden. Wurden die Daten nicht rechtzeitig empfangen, also ist der Zeitgeber abgelaufen, so werden im Logikblock 328 eine Empfangsabbruchs-und Fehleraufzeichnungsfunktion durchgeführt, und dann kehrt die Routine zum Bereitschaftszustand zurück. Wurden die Daten rechtzeitig empfangen, so wird im Logikblock 330 eine Überprüfung durchgeführt um festzustellen, ob das 9. Bit des Datenbytes gelöscht ist. Ist das 9. Bit nicht gelöscht, so geht die Logik zum Logikblock 328 über und von dort zum Bereitschaftszustand. Ist das 9. Bit gelöscht, so geht die Routine vom Logikblock 330 zum Logikblock 332 über, worauf die empfangenen Daten in dem Speicher gespeichert werden, die CRC unter Verwendung der empfangenen Daten akkumuliert, und der Bytezählwert dekrementiert wird. Vom Logikblock 332 aus geht es mit dem Logikblock 334 weiter, und der Puffer- Bytezählwert wird daraufhin überprüft, um festzustellen, ob er gleich 0 ist, und falls dies nicht der Fall ist, wird die Kommunikationslogik zum Logikblock 324 für den Empfang weiterer Daten zurückgeführt, und durchläuft die Routine von dort eine Schleife durch die Logikblöcke 324, 326, 330 und 332, bis die gesamte Datennachricht empfangen wurde, und der Byte-Zählwert auf 0 dekrementiert wurde. Sobald der Byte- Zählwert auf 0 dekrementiert wurde, geht die Routine vom Logikblock 334 nach 336 über, in welchem ein Wartezustand durchgeführt wird, um den CRCH-Byte-Zählwert innerhalb einer vorbestimmten Zeit des Zeitgebers zu empfangen. Nach dem Warten geht die Routine vom Logikblock 336 zum Logikblock 338 über, in welchem eine Überprüfung durchgeführt wird um festzustellen, ob der CRCH-Byte-Zählwert rechtzeitig empfangen wurde. Falls die Zeit abgelaufen ist, geht dann die Routine vom Logikblock 338 zum Logikblock 328 und dann zum Bereitschaftzustand über. Wenn die Information rechtzeitig empfangen wurde, also das CRCH-Byte, so geht die Routine von Logikblock 338 zum Logikblock 340 über, in welchem eine Überprüfung durchgeführt wird, um festzustellen, ob das 9. Bit gelöscht ist. Ist das 9. Bit nicht gelöscht, so geht die Routine erneut von 340 zum Logikblock 328 über, und von dort aus zum Bereitschaftszustand.
  • Wenn bei 340 das 9. Bit der empfangenen Nachricht gelöscht war, so geht die Kommunikationsroutine zum Logikblock 342 über, in welchem CRC akkumuliert wird, wobei CRCH notiert wird. Vom Logikblock 342 aus geht die Kommunikationsroutine zum Logikblock 344 über, in welchem eine Wiederholung der Empfangsprozedur für CRCL durchgeführt wird. Die Empfangsprozedur ist eine Wiederholung der Schritte vom Logikblock 324 bis zum Logikblock 342. Daraufhin geht die Kommunikationsroutine vom Logikblock 344 zum Logikblock 346 über, in welchem eine Überprüfung von CRCL und CRCH durchgeführt wird. Wenn ein Fehler entweder in der Variablen CRCL oder der Variablen CRCH auftritt, dann geht die Routine vom Logikblock 346 zum Logikblcok 348 über, in welchem eine negative Bestätigung < NAK> an die MMP geschickt wird, und daraufhin geht die Routine mit dem Bereitschaftszustand weiter. Wenn im Logikblock 346 sowohl CRCL als auch CRCH in Ordnung sind, dann geht die Routine zum Logikblock 356 über, in welchem eine Bestätigung ausgesandt wird. Vom Logikblock 352 aus geht die Routine zum Logikblock 354 über, in welchem eine Überprüfung durchgeführt wird, um festzustellen, ob die Empfangs-Seguenznummern zu den gespeicherten Sequenznummern passen. Wenn sie passen, dann geht die Routine vom Logikblock 354 zum Logikblock 358 über, worauf eine Aktualisierung der gespeicherten Sequenznummern durchgeführt wird, und die Routine dann zum Logikblock 360 übergeht, in welchem die Puffersteuerung an die MMP-Steuersoftware übergeben wird. Wenn im Logikblock 354 die Sequenznummern nicht zu der gespeicherten Sequenznummer passen, dann geht die Routine zum Logikblock 356 über, in welchem eine Erfassung einer duplizierten Nachricht aufgezeichnet wird, und von dort aus geht die Routine vom Logikblock 356 zum Logikblock 362 über, in welchem festgestellt wird, daß die Empfangsprozedur beendet ist.
  • In Fig. 9 leiten nach Einschaltung des Systems die Frankiermaschinen-Softwarelogikbefehle eine Startsequenz im Logikblock 363 ein. Bei Beginn der Startsequenz sendet der Frankiermaschinen-Kommuniktionslogikbefehl einen Adressenbefehl < ADD.CMD> mit entsprechendem Code an den PIN im Logikblock 364. Daraufhin befindet sich die Frankiermaschine im Bereitschaftszustand im Logikblock 356 zum Empfang einer Antwort von PIN zwischen 30 und 500 µs. Daraufhin wird im Logikblock 367 eine Überprüfung durchgeführt, um zu überprüfen, ob die Antwort rechtzeitig empfangen wurde. Wurde die Antwort nicht rechtzeitig empfangen, so wartet die Frankiermaschine 2 µs lang am Logikblock 368, und geht dann zum Start zurück. Wird die Antwort rechtzeitig empfangen, so geht die Kommunikationslogik dann zum Logikblock 370 über, um festzustellen, ob die Kommunikation verbunden wurde, durch Empfang eines ordnungsgemäßen Antwortreaktionscodes mit gelöschtem 9. Bit. Wenn ein falscher Code empfangen wurde oder das 9. Bit nicht gelöscht ist, so geht die Kommunikationslogik zum Logikblock 368 über, wartet dann 2 µs, und leitet dann erneut den Start ein.
  • Wenn die richtige Antwort im Logikblock 370 empfangen wurde, geht die Kommunikationslogik zum Logikblock 112 über, worauf eine Initialisierung der Empfangs-Sequenznummer und der Sende-Sequenznummer durchgeführt wird. Dann geht die Kommunikationslogik zum Bereitschaftszustand im Logikblock 372 über.
  • In den Fig. 10a, 10b und 10c wird die Frankiermaschinen- Sendeprozedur aktiviert, wenn das Frankiermaschinen- Steuerprogramm das Schicken eines Puffers von Daten im Logikblock 373 an die MMP anfordert. Vom Logikblock 373 aus geht die Kommunikationslogikprozedur zum Logikblock 376 über, um zu überprüfen, ob sich die Frankiermaschine in einer "Schlafbetriebsart" befindet. Befindet sich die Frankiermaschine in einer "Schlafbetriebsart", so wird der Sendevorgang am Logikblock 376 abgebrochen, und wird der vorliegende Versuch im Logikblock 377 beendet. Befindet sich die Frankiermaschine nicht in einer "Schlafbetriebsart", so geht die Kommunikationslogik zum Logikblock 375 über.
  • Im Logikblock 375 wird eine Überprüfung vorgenommen, um festzustellen, ob die Frankiermaschine mit der MMP verbunden ist. Wurde keine Verbindung eingerichtet, so geht die Routine vom Logikblock 375 zum Logikblock 376 über, in welchem ein Sendeabbruch durchgeführt wird, und daraufhin ein Ende im Logikblock 377 durchgeführt wird. Wenn die Frankiermaschine mit der NMP verbunden ist, so geht die Routine vom Logikblock 375 zum Logikblcok 378 über, in welchem die Frankiermaschine einen Adressenbefehl an die MMP mit gesetztem 9. Bit schickt. Die Kommunikationslogik wartet dann befehlsgemäß im Logikblock 380 auf eine Antwort innerhalb des geeigneten Zeitraums. Die Kommunikationsroutine geht dann vom Logikblock 380 zum Logikblock 382 über, in welchem eine Überprüfung durchgeführt wird, um festzustellen, ob die Antwort von der MMP rechtzeitig empfangen wird. Falls die Zeit abgelaufen ist, geht die Routine zum Logikblock 384 über, in welchem ein Sendevorgangsabbruch und eine Fehleraufzeichnung durchgeführt werden. Von dort aus geht die Routine zum Logikblock 142 über, in welchem in eine Routine für einen erneuten Versuch gesprungen wird und diese ausgeführt wird. Wird die Antwort von der MMP rechtzeitig empfangen, so geht die Routine vom Logikblock 382 zum Logikblock 388 über, in welchem eine Überprüfung der Antwort durchgeführt wird, um festzustellen, ob das 9. Bit gesetzt ist. Ist das 9. Bit gesetzt, dann geht die Kommunikationsroutine zum Logikblock 390 über, worauf durch das gesetzte 9. Bit ein Konkurrenzproblem erkannt wird, die Übertragung abgebrochen wird, und die Frankiermaschine auf die Empfangsbetriebsart umschaltet. Vom Logikblock 390 aus schaltet dann die Frankiermaschine zum Empfang einer Nachricht bei 392 um, entsprechend der Nachrichtenempfangsroutine, die nachstehend beschrieben wird.
  • Wenn im Logikblock 388 das 9. Bit nicht gesetzt ist, geht die Routine zum Logikblock 394 über, um einen Antwortcode zu empfangen. Im Logikblock 396 wird der empfangene Antwortcode überprüft, und wenn der Antwortcode nicht in Ordnung ist, so geht die Routine vom Logikblock 396 zum Logikblock 398 über, in welchem die Übertragung abgebrochen wird, und dann erneut zum Logikblock 142, um in die Routine für einen erneuten Versuch einzutreten. Wenn ein ordnungsgemäßer Antwortcode im Logikblock 396 empfangen wird, geht die Routine dann zum Logikblock 402 über, um zu überprüfen, ob der empfangene Antwortcode angibt, daß der MMP-Puffer verfügbar ist. Ist der Puffer nicht verfügbar, so geht die Routine vom Logikblock 402 zum Logikblock 404 über, notiert die unbekannte Antwort, bricht die Übertragung ab und zeichnet den Fehler auf, und dann versucht die Routine erneut einen Versuch im Logikblock 142.
  • Wenn die Antwortnachricht korrekt ist, geht die Routine vom Logikblock 402 zum Logikblock 408 über, in welchem die Frankiermaschine den Byte-Zählwert überträgt, die Sequenznummern und die akkumulierten CRCs gestartet werden, und notiert wird, daß das 9. Bit der Datennachricht gelöscht ist. Zu diesem Zeitpunkt ist die Kommunikationsroutine identisch mit der voranstehend beschriebenen Routine in Bezug auf die MMP-Sendebetriebsart, und geht mit Logikblock 408 bis Logikblock 432 weiter, identisch mit den jeweiligen Logikblöcken 150 bis 130, die vorher beschrieben wurden.
  • In den Fig. 11a, 11b, 11c und 11d wird die Frankiermaschinen- Empfangsprozedur durch einen Adressenbefehl von der MMP mit gesetztem 9. Bit im Logikblock 440 getriggert. Vom Logikblock 440 aus geht die Kommunikationsroutine der Frankiermaschine zum Logikblock 442 über, um die empfangenen Daten dahingehend zu überprüfen, ob die empfangenen Daten ein Befehl zur Einrichtung des Verbindungs-Handshakevorgangs (1E) sind. Handelt es sich bei den Daten um einen eingerichteten Kommunikationsbefehl (1E), so geht die Routine zum Logikblock 444 über, worauf die Frankiermaschine "aufgeweckt wird" und die folgenden Nachrichten im Logikblock 444 losgeschickt werden, so daß sie dem Nachrichtenempfangsformat der Verbindungsroutine der MMP entsprechen, also einem Aussenden des Kommunikationsempfangsbefehls; einem Verbindungseinrichtungsbefehl, dem Rücksetzen der Empfangs- Sequenznummern; und einer Rücksetzvorrichtung zum Empfang von Sequenznummern.
  • Im Logikblock 445 wird die empfangene Befehlsnachricht überprüft, um festzustellen, ob die Nachricht eine Frankiermaschinennachricht "Aufwecken" ist. Handelt es sich bei der Nachricht um ein "Aufwecken" der Frankiermaschine, so wird die Frankiermaschine "aufgeweckt", und die Kommunikationslogik geht zum Logikblock 440 über. Ist die empfangene Nachricht kein "Aufwecken" der Frankiermaschine, so wird in den Logikblöcken 446, 448 und 449 eine Überprüfung durchgeführt, um festzustellen, ob der von der MMP erzeugte Befehl für die WOW bestimmt ist. Ist der empfangene Befehl für die WOW bestimmt, so geht die Frankiermaschinen- Kommunikationslogik zum Logikblock 447 über, in welchem die Frankiermaschine in eine "Schlafbetriebsart" versetzt wird, und die Logik geht zum Logikblock 440 über.
  • Im Logikblock 504 wird eine Überprüfung durchgeführt, um festzustellen, ob der Adressenbefehl < ADD.CMD> ordnungsgemäß an die Frankiermaschine adressiert ist. Wenn die Adresse nicht ordnungsgemäß an die Frankiermaschine adressiert ist, dann geht die Logik zum Logikblock 506 über, in welchem die Nachricht als unbekannter Befehlsfehler aufgezeichnet wird, und von dort geht die Logik zum Logikblock 404 über. Ist die Adresse richtig, dann geht die Kommunikationslogik vom Logikblock 504 zum Logikblock über, in welchem die Frankiermaschine aufgeweckt wird. Die Logik geht zum Logikblock 288 über, um zu überprüfen, ob bereits eine Verbindung eingerichtet wurde. Wurde die Verbindung nicht eingerichtet, so wird an die MMP ein Antwortcode zurückgeschickt, der einen Fehlzustand im Logikblock 510 anzeigt. Wenn zu diesem Zeitpunkt die Verbindung eingerichtet wurde, dann geht die Routine vom Logikblock 508 zum Logikblock 512 über, welcher untersucht, ob der Frankiermaschinen-Empfangspuffer zum Empfang von Daten verfügbar ist. Ist der Empfangspuffer nicht verfügbar, dann wird eine Antwort, daß der Puffer nicht verfügbar ist, an die MMP im Logikblock 514 geschickt. Daraufhin kehrt die Routine zum Bereitschaftszustand zurück.
  • Wenn im Logikblock 512 der Puffer verfügbar ist, geht die Kommunikationslogik vom Logikblock 512 zum Logikblock 516 über, in welchem die Frankiermaschine an die MMP eine Bereitschaftsnachricht schickt. Vom Logikblock 516 aus geht die Kommunikationsroutine zum Logikblock 518 über, worauf die Routine auf den Empfang eines Pufferzählwerts und einer Sequenznummer einen vorbestimmten Zeitraum lang wartet. Zu diesem Punkt geht die Routine mit ihrer Datenempfangssequenz weiter, die durch die Logikblöcke 520 bis 568 bezeichnet wird, wobei diese Empfangsprozedur identisch mit jener Empfangsprozedur ist, die voranstehend unter Bezugnahme auf die Logikblöcke 214 bis 262 beschrieben wurde, die voranstehend geschildert wurden.
  • In den Fig. 10a, 10b, 10c, 10d und 10e wird die Frankiermaschinen-Sende/Empfangsprozedur zum und vom Knoten 3 durch das Frankiermaschinensteuerprogramm eingeleitet, welches anfordert, einen Puffer an Information an PIN im Logikblock 569 zu senden. Die Frankiermaschinen- Kommunikationslogik überprüft im Logikblock 570, ob sich die Frankiermaschine in einer "Schlafbetriebsart" befindet. Befindet sich die Frankiermaschine in der "Schlafbetriebsart", so geht die Logik zum Logikblock 571 über, in welchem mit einer Warteroutine begonnen wird, bis die MMP die Frankiermaschine aufweckt, worauf die Logik bei 142 eine Routine für einen erneuten Versuch durchführt. Ist die Frankiermaschine aufgeweckt, geht die Kommunikationslogik vom Logikblock 570 zum Logikblock 572 über. Wurde im Logikblock 572 die Datenverbindung nicht eingerichtet, so wird im Logikblock 573 ein Fehler aufgezeichnet und eine Übertragungsbeendigungsroutine im Logikblock 574 ausgeführt.
  • Wenn im Logikblock 572 die Kommunikationsverbindung zwischen der Frankiermaschine und PIN eingerichtet war, schickt die Kommunikationslogik eine "Schlaf"-Nachricht an die MMP im Logikblock 575 und empfängt eine Antwort von der MMP im Logikblock 576. Im Logikblock 577 wird die MMP-Antwort überprüft. Handelt es sich bei der Antwortnachricht nicht um eine "Schlaf"-Bestätigung von der MMP, so geht die Kommunikationslogik dazu über, im Logikblock 142 einen erneuten Versucht auszuführen. Stellt die MMP-Antwort eine "Schlaf"-Bestätigung dar, so geht die Frankiermaschinen- Kommunikationslogik zum Logikblock 578 über.
  • Im Logikblock 578 wird der PIN-Adressenbefehl < ADD.CMD> an PIN mit gesetztem 9. Bit geschickt. Die Kommunikations- Software geht dann vom Logikblock 578 zum Logikblock 580 über, in welchem sie auf eine Reaktion von PIN innerhalb von 50 bis 500 us wartet. Dann geht die Kommunikationslogik zum Logikblock 582 über, in welchem eine Überprüfung durchgeführt wird, um festzustellen, ob rechtzeitig eine Antwort empfangen wurde. Wurde die Antwort nicht rechtzeitig empfangen, so geht die Kommunikationslogik vom Logikblock 582 zum Logikblock 584 über, es wird ein Abbruch der Übertragung durchgeführt und der Fehler aufgezeichnet. Die Kommunikationslogik geht dann zum Logikblock 558 über, in welchem in eine Routine zum erneuten Versuchen der Übertragung hineingesprungen wird. Wird die Antwort rechtzeitig empfangen, so geht die Kommunikationslogik vom Logikblock 582 zum Logikblock 590 über, in welchem die Antwortnachricht überprüft wird, um festzustellen, ob das 9. Bit gelöscht ist. Ist das 9. Bit nicht gelöscht, so geht die Kommunikationsroutine erneut zum Logikblock 584 über, und von dort zum Logikblock 588. Ist das 9. Bit gelöscht, dann geht die Kommunikationslogik vom Logikblock 590 zu 592 über, wo eine Überprüfung durchgeführt wird, um festzustellen, ob die PIN-Antwort gültig ist. Ist die Antwort nicht gültig, so geht die Kommunikationslogik zum Logikblock 584 und von dort aus zum Logikblock 448 für einen erneuten Versuch über. Wird ein gültiger Antwortcode empfangen, dann geht die Kommunikationslogik vom Logikblock 592 zum Logikblock 594 über, worauf die Kommunikationslogik auf identische Weise weiterarbeitet, wie voranstehend in Bezug auf Frankiermaschinen-Übertragungen an die MMP beschrieben. Die Frankiermaschine geht daher auf solche Weise weiter, daß der Ablauf vom Logikblock 594 zum Logikblock 614 identisch mit der Prozedur ist, die sich aus der Abfolge der voranstehend beschriebenen Logikblöcke 148 bis 166 ergibt.
  • Im Logikblock 616 wartet die Frankiermaschine auf den ersten Byte-Zählwert der Pufferübertragung von PIN, der abgelaufen ist. Das Kommunikationsprotokoll zwischen der Frankiermachine und PIN kann nicht gestört werden, bis die Frankiermaschine vollständig eine Datenantwort an die Frankiermaschine übertragen hat. Vom Logikblock 616 aus geht die Kommunikationslogik zum Logikblock 618 über. Im Logikblock 618 wird eine Überprüfung durchgeführt um festzustellen, ob der von PIN empfangene Byte-Zählwert rechtzeitig empfangen wurde, und ob das 9. Bit gelöscht ist, und ebenfalls, ob der Byte-Zählwert innerhalb des ordnungsgemäßen Bereiches liegt. Falls eine der Bedingungen nicht erfüllt ist, geht die Kommunikationslogik dann vom Logikblock 618 zum Logikblock 620 über, in welchem ein Übertragungsabbruch ausgeführt wird, und daraufhin zum Logikblock 142 zur Ausführung einer Routine für einen erneuten Versuch.
  • Zu diesem Zeitpunkt tritt die Frankiermaschine in eine Empfangsbetriebsart ein, welche identisch mit der Frankiermaschinen-Empfangsprozedur ist, die bei den Logikblöcken 220 bis 252 beschrieben wurde, und die durch jeweilige Logikblöcke 624 bis 670 angedeutet ist.
  • Die Frankiermaschinen-Kommunikationslogik geht vom Logikblock 670 nacheinander auf die Logikblöcke 672, 673 und 674 über, in welchen die jeweilige Funktion durchgeführt wird: Inkrementieren der Sende-Sequenznummern; Schicken einer Bestätigungsnachricht an die Datiervorrichtung, und eine Antwort von der Datiervorrichtung empfangen wird. Die Kommunikationslogik geht dann zum Logikblock 675 über, in welchem die Antwort der Datiervorrichtung überprüft wird. Ist die Antwort nicht in Ordnung, dann springt die Logik in die Routine für einen erneuten Versuch. Ist die Antwort in Ordnung, dann wird "Aufwecken" an die MMP im Logikblock 676 geschickt, folgend auf den Empfang der Frankiermaschine einer "Aufweck"-Antwort von der MMP im Logikblock 678. Dem Frankiermaschinen-Steuerprogramm wird dann mitgeteilt, daß der Sende/Empfangsvorgang fertig ist, im Logikblock 680.
  • Wie voranstehend erwähnt kann, wie in den Figuren 13a, 13b, 13c, 13d und 13e gezeigt ist, die Datiervorrichtung nicht von sich aus eine Kommunikation einleiten. Sie kann nur auf eine von der Frankeirmaschine eingeleitete Kommunikation reagieren. Die Datiervorrichtungs-Empfangs/Sendeprozedur wird durch eine Kommunikation getriggert, bei welcher das 9. Bit gesetzt ist, wie im Logikblock 621 angegeben. Nach Empfang einer Kommunikation geht die Datiervorrichtungs- Kommuniktionsroutine vom Logikblock 691 zum Logikblock 682 über, worauf eine Überprüfung durchgeführt wird um festzustellen, ob der Adressenbefehl ein Verbindungseinrichtungscode ist. Wenn ein Verbindungsstartcode geschickt wurde, dann geht die Frankiermaschine vom Logikblock 582 zum Logikblock 683 über, worauf eine Verbindungseinrichtungsroutine in Reaktion auf die voranstehend geschilderten Verbindungsbefehle durchgeführt wird, wodurch in Reaktion auf die Befehle die Datiervorrichtung den Antwortcode ausgibt, den Verbindungseinrichtungscode, und Empfangs-Sequenznummern zurücksetzt Die Kommunikationslogik geht dann vom Logikblock 683 zum Bereitschaftszustand im Logikblock 681 über.
  • Wenn im Logikblock 682 der Adreßbefehl kein Verbindungseinrichtungsbefehl ist, so geht die Routine zum Logikblock 684 über, in welchem eine Überprüfung des Adressenbefehls durchgeführt wird um festzustellen, ob die Adressendaten für die Datiervorrichtung bestimmt sind. Ist der Adressenbefehl nicht für die Datiervorrichtung bestimmt, so geht die Routine dann vom Logikblock 684 zum Logikblock 681 und damit zum Bereitschaftszustand über. Ist der Adressenbefehl ein anderer Befehl als ein Verbindungseinrichtungsbefehl, so geht die Routine vom Logikblock 684 zum Logikbloock 685 über, in welchem eine Überprüfung durchgeführt wird um festzustellen, ob die Kommunikationsverbindung eingerichtet wurde. Wurde die Kommunikationsverbindung nicht eingerichtet, so geht die Logik vom Logikblock 685 zum Logikblock 686 über, in welchem ein Fehler aufgezeichnet wird, und dann geht die Logik zum Logikblock 681 über. Wurde die Kommunkation eingerichtet, so geht die Routine zum Logikblock 687 über. Wenn im Logikblock 687 der Datiervorrichtungs-Empfangspuffer nicht verfügbar ist, so geht die Kommunikationslogik zum Logikblock 689 über, in welchem eine Nachricht bezüglich der Nichtverfügbarkeit des Puffers ("E1") an die Frankiermaschine geschickt wird. Wenn der Datiervorrichtungs-Empfangspuffer verfügbar ist, geht die Logik zum Logikblock 569 über, in welchem eine Nachricht bezüglich der Verfügbarkeit des Puffers und der Empfangsbereitschaft an die Frankiermaschine geschickt wird.
  • Vom Logikblock 590 aus geht die Kommunikationsroutine mit dem Logikblock 591 weiter, worauf die Kommunikationsroutine auf einen Puffer-Bytezählwert und eine Sequenznummer innerhalb eines vorbestimmten Zeitraums wartet. Daraufhin geht die Kommunikationsroutine zu einer Datenempfangsbetriebsart über, die durch die Logikblöcke 692 bis 709 bezeichnet wird, wobei diese Abfolge identisch mit der Empfangsroutine ist, die voranstehend bezüglich der Logikblöcke 214 bis 252 geschildert wurde. Im Logikblock 610 wird die Bestätigung für eine erfolgreich empfangene Nachricht gesendet, und die Empfangs-Kommunikationsroutine der Datiervorrichtung geht zum Logikblock 710 über, in welchem eine Überprüfung durchgeführt wird um festzustellen, ob die Empfangs-Sequenznummern zu den gespeicherten Sequenznummern passen. Wenn die Seguenznummern nicht passen, so geht die Routine vom Logikblock 710 zum Logikblock 711 über, in welchem eine duplizierte Nachricht festgestellt wird, und von dort aus zum Logikblock 712, worauf der Übertragungspuffer eingestellt wird, welcher der duplizierten Nachricht entspricht. Vom Logikblock 712 aus geht die Routine zum Logikblock 717 über, der nachstehend beschrieben wird.
  • Wenn im Logikblock 710 die Sequenznummern zueinander passen, geht die Kommunikationsroutine vom Logikblock 710 zum Logikblock 713 über, in welchem eine Aktualisierung der gespeicherten Sequenznummern durchgeführt wird, gefolgt von einer Nachricht an das Frankiermaschinen-Anwendungsprogramm, in welcher der Empfang des Puffers ohne Fehler mitgeteilt wird, im Logikblock 714. Daraufhin geht die Routine vom Logikblock 714 zum Logikblock 715 über, in welchem sie den Befehl in dem Puffer verarbeitet. Vom Logikblock 715 aus geht die Kommunikationsroutine zum Logikblock 716 über, in welchem sie sich darauf vorbereitet, eine Puffernachricht an die Frankiermaschine zu übertragen. Vom Logikblock 716 aus geht die Routine in den Logikblock 717 hinein, und in diesem Logikschritt schaltet die Datiervorrichtungs- Kommunikationslogik auf eine Sendebetriebsart um und macht damit weiter, den Daten-Bytezählwert und in ihrem Speicher gespeicherte Sequenznummern zu übertragen, und es wird mit dem Akkumulieren der CRCs begonnen. Daraufhin springt die Kommunikationslogik in eine Datensendeschleife im Logikblock 718. Im Logikblock 718 werden die Datenbytes mit dem gelöschten 9. Bit und der Akkumulator-CRC-Dekrementierungs- Bytezählwert übertragen. Die Routine geht vom Logikblock 718 zum Logikblock 719 über, in welchem eine Überprüfung durchgeführt wird um festzustellen, ob der Bytezählwert gleich 0 ist, und falls nicht, geht die Routine dann nach 718 zurück, bis sämtliche Daten gesendet wurden. Wenn der Bytezählwert im Logikblock 719 auf Null dekrementiert war, geht die Routine zum Logikblock 720 über, in welchem die Datiervorrichtung CRCH und CRCL überträgt. Vom Logikblock 720 aus geht die Kommunikationslogik zum Logikblock 721 über, in welchem die Routine angewiesen wird, auf das empfangene Byte zu warten. Im Logikblock 723 erfolgt eine Überprüfung zur Feststellung, ob die Antwortnachricht rechtzeitig empfangen wurde. Falls nicht, geht die Routine zum Logikblock 724 über, und wird ein Fehler aufgezeichnet, und vom Logikblock 724 kehrt sie zum Logikblock 681 zurück. Es wird darauf hingewiesen, daß zu diesem Zeitpunkt kein Sprung in eine Routine zum erneuten Versuchen einer erneuten Übertragung erfolgt, und stattdessen die Datiervorrichtung so eingestellt wird, daß sie die Nachricht von der Frankiermaschine erneut empfängt. Wenn die Antwort rechtzeitig empfangen wird, also eine Bestätigung, dann geht die Routine vom Logikblock 723 zum Logikblock 725 über, in welchem eine Überprüfung durchgeführt wird um festzustellen, ob das 9. Bit gelöscht ist. Ist das 9. Bit nicht gelöscht, dann geht die Routine zum Logikblock 724 über, und von dort nach 681. Wurde das 9. Bit gelöscht, so geht die Übertragungsroutine zum Logikblock 726 über, um zu überprüfen, ob eine Bestätigung empfangen wurde. Wurde keine Bestätigung von der Frankiermaschine empfangen, geht die Logik zum Logikblock 724 über, und von dort aus zum Logikblock 681. Wurde eine Bestätigung empfangen, so geht die Logik zu den Logikblöcken 727 und 728 über, in welchem die Bestätigungsnachricht empfangen und beantwortet wird. Daraufhin geht die Kommunikation zum Logikblock 646 über, um das Ende der Übertragung zu signalisieren.
  • In den Figuren 14a, 14b und 14c ist dargestellt was passiert, wenn das WOW-Steuerprogramm die Aussendung einer gepufferten Nachricht an die MMP anfordert. In dem im Logikblock 730 gezeigten Bereitschaftzustand führt dann, wenn die WOW einen Abfragebefehl von der MMP im Logikblock 731 empfängt, sie eine Überprüfung durch um festzustellen, ob die Kommunikationsverbindung eingerichtet wurde, im Logikblock 732. Wenn die Kommunikationsverbindung nicht eingerichtet wurde, geht die Logik zum Logikblock 733 über, in welchem eine Verbindungsfehlernachricht an die MMP geschickt wird, und von hier aus geht die Logik zum Ende am Logikblock 734 über. Wenn die Kommunikationsverbindung eingerichtet wurde, geht die Logik zum Logikblock 735 über, in welchem der WOW- Sendepuffer überprüft wird. Wenn der Sendepuffer von dem WOW- Steuerprogramm nicht vollständig freigeschaltet wurde, geht die Logik zum Logikblock über und schickt an die MMP eine Antwortnachricht, welche keine Übertragung bedeutet (Code "87"), und geht dann zum Bereitschaftszustand bei 730 über. Wenn der Sendepuffer freigeschaltet ist, schickt die WOW eine die Sendebereitschaft anzeigende Nachricht an die MMP im Logikblock 737.
  • Die Kommunikationslogik geht zum Logikblock 738 vom Logikblock 737 über, worauf der Bytezählwert und die Sequenznummer mit gelöschtem 9. Bit übertragen werden, und der Start der Akkumulierung für die CRCS durchgeführt wird. Die Kommunikationslogik geht dann zum Logikblock 740 über, woraufhin ein Datenbyte mit gelöschtem 9. Bit übertragen wird, gefolgt von den akkumulierten CRCs unter Verwendung des Datenbytes, und der Bytezählwert dekrementiert wird. Zu diesem Zeitpunkt wird eine Schleife eingerichtet, bei welcher das Senden von Datenbytes weitergeht, bis der Bytezählwert auf 0 dekrementiert ist. Der Bytezählwert wird im Logikblock 742 überprüft. Wenn der Bytezählwert auf 0 dekrementiert wurde, wurden sämtliche Daten übertragen, und die Kommunikationslogik geht zum Logikblock 744 über, worauf dann CRCH und CRCL ausgesandt werden, und das 9. Bit erneut gelöscht wird. Daraufhin wartet im Logikblock 746 die Kommunikationslogik auf eine Antwort von der MMP innerhalb der Reaktionszeit von 30 bis 500 µs Die Kommunikationslogik geht zum Logikblock 748 über, um zu überprüfen, ob die Antwort rechtzeitig empfangen wurde. Wird die Antwort nicht rechtzeitig empfangen, geht die Kommunikationslogik zum Logikblock 750 über, in welchem ein Übertragungsabbruch durchgeführt und der Fehler aufgezeichnet wird. Die Kommunikationslogik geht dann zum Logikblock 734 über, bei welchem eine Ende der Übertragung durchgeführt wird.
  • Wenn rechtzeitig eine Antwort empfangen wird, geht die Kommunikationslogik vom Logikblock 748 zum Logikblock 754 über, in welchem eine Überprüfung durchgefürht wird um festzustellen, ob das 9. Bit gelöscht ist. Ist das 9. Bit nicht gelöscht, so geht die Kommunikationsroutine zum Logikblock 750 und von dort zum Logikblock 734 über. Wenn das 9. Bit der Antwort gelöscht war, geht die Logikroutine zum Logikblock 756 über, in welchem eine Überprüfung durchgeführt wird um festzustellen, ob die empfangene Nachricht eine Bestätigungsnachricht enthält, und falls nicht, geht die Logikroutine mit dem Logikblock 750 und von dort aus mit dem Logikblock 734 weiter. Wenn eine Bestätigung empfangen wird, dann wird eine Aktualisierung der Sende-Sequenznummer in dem Speicherbit im Logikblock 758 durchgeführt, daraufhin geht die Logikroutine zum Logikblock 760 über, worauf eine Benachrichtigungsroutine an das WOW-Steuerprogramm durchgeführt wird, daß die Übertragung beendet ist, und dann kehrt die Logik in den Bereitschaftszustand 130 zurück.
  • Wie in den Figuren 15a, 15b und 15c gezeigt steht das WOW- Steuerprogramm in Bereitschaft, jede Nachricht mit gesetztem 9. Bit zu empfangen, im Logikblock 800. Jede empfangene Adressenbefehlsnachricht wird im Logikblock 801 überprüft. Falls es sich bei der empfangenen Nachricht um einen Kommunikationsverbindungs-Einrichtungsbefehl handelt, geht die WOW-Kommunikationslogik zum Logikblock 802 über, worauf die Kommunikationsverbindung eingerichtet wird, und die Sequenznummern zurückgesetzt werden. Dann geht die Logik zum Logikblock 864 zur Ausführung einer Beendigung über. Ist die empfangene Nachricht eine Nachricht, die anzeigt, daß keine Einrichtung erfolgte, so geht die Logik zum Logikblock 803 über, in welchem der Adressenbefehl überprüft wird. Ist die Nachricht nicht an die WOW adressiert, geht die Logik zum Logikblock 864 über. Ist die Nachricht für die WOW adressiert, geht die Logik zum Logikblock 804 über, um zu überprüfen, ob die Verbindung eingerichtet wurde. Wurde die Verbindung nicht eingerichtet, wird eine Verbindungsfehlernachricht an die MMP im Logikblock 805 geschickt, und geht die Logik zum Logikblock 864 über.
  • Falls die Verbindung eingerichtet wurde, geht die Logik zum Logikblock 806 über, in welchem die Verfügbarkeit des WOW- Empfangspuffers überprüft wird. Ist der Puffer nicht verfügbar, so wird eine die Nichtverfügbarkeit des Puffers anzeigende Nachricht an die MMP im Logikblock 807 geschickt, und die Logik geht zum Logikblock 864 über. Ist der Puffer verfügbar, so wird eine die Pufferverfügbarkeit anzeigende Nachricht an die MMP im Logikblock 809 geschickt, und befindet sich die WOW im Bereitschaftszustand zum Empfang des Datennachrichtenbyte-Zählwertes im Logikblock 810.
  • Die Kommunikationslogik geht dann zum Logikblock 814 über, worauf eine Überprüfung durchgeführt wird um festzustellen, ob rechtzeitig eine Antwort empfangen wird. Wenn die Zeit abgelaufen ist, geht die Kommunikationslogikroutine zum Logikblock 816 über, in welchem eine Abbruchroutine ausgeführt und der Fehler aufgezeichnet wird. Die Routine geht dann zum Bereitschaftszustand im Logikblock 800 über. Wenn die Antwort rechtzeitig im Logikblock 814 empfangen wird, geht die Kommunikationslogik zum Logikblock 818 über, in welchem eine Überprüfung durchgeführt wird um festzustellen, ob das 9. Bit des Puffer-Byte-Zählwertes in der empfangenen Nachricht gelöscht ist. Ist das 9. Bit nicht gelöscht, so geht die Kommunikationslogikroutine vom Logikblock 818 zum Logikblock 816 für eine Abbruchroutine über, und dann zum Bereitschaftzustand im Logikblock 800. Wenn bei der empfangenen Nachricht das 9. Bit gelöscht ist, dann geht die Kommunikationsroutine vom Logikblock 818 zum Logikblock 820 über, in welchem eine Überprüfung des Puffers erfolgt um festzustellen, ob der Puffer-Bytezählwert innerhalb eines vorbestimmten Bereiches liegt. Liegt der Pufferzählwert nicht innerhalb des Bereiches, geht die Routine erneut zum Logikblock 816 über, und von dort aus zum Bereitschaftszustand im Logikblock 800. Wenn der Puffer- Bytezählwert innerhalb des ordnungsgemäßen Bereiches liegt, geht die Routine vom Logikblock 820 zum Logikblock 822 über. An diesem Punkt ist die WOW-Empfangslogik, die Logikblöcke 824 bis 862, identisch mit den voranstehend geschilderten Logikblöcken 224 bis 262.

Claims (4)

1. Kommunikationsnetzwerk mit:
einem ersten (1), zweiten (2), dritten (3) und vierten (4) Steuerknoten, der jeweils eine erste, zweite, dritte bzw. vierte Prozessorvorrichtung (12, 14, 16, 17) aufweist, zum Erzeugen und Empfangen von Datennachrichten, wobei der erste Knoten mit einem Sendestift (TX D) in Leitungsverbindung mit Empfangsstiften (RX D) des zweiten und dritten Knotens und einem Sendestift (TX D) des vierten Knotens verbunden ist, und der erste Knoten einen Empfangsstift (RX D) in Leitungsverbindung mit Sendestiften (TX D) des zweiten und dritten Knotens und einem Empfangsstift des vierten Knotens aufweist;
dadurch gekennzeichnet, daß:
jede Prozessorvorrichtung so betreibbar ist, daß sie auf Datennachrichtenbytes reagiert und Datennachrichtenbytes erzeugt, wobei jedes Datenbyte ein Startbit, acht Datenbits, ein programmierbar einstellbares Bit und ein Stopbit aufweist;
jede Prozessorvorrichtung (12, 14, 16, 17) weiterhin so betreibbar ist, daß sie nur auf ein Befehlsbyte mit eindeutiger Adresse, bei welchem das einstellbare Bit gesetzt ist, reagiert, die Prozessorvorrichtung so betreibbar ist, daß sie in Reaktion hierauf ein Antwortnachrichtenbyte erzeugt, bei welchem das einstellbare Bit nicht gesetzt ist, der Prozessor so betreibbar ist, daß er von dem Quellenknoten ein Nachrichtenzählbyte empfängt, weiches ohne Unterbrechung durch Datennachrichtenbytes folgt, bei dem Nachrichtenzählbyte und den Datennachrichtenbytes das einstellbare Bit nicht gesetzt ist, und der Prozessor nach Empfang einer vollständigen Datennachricht entsprechend dem empfangenen Zählwert des Nachrichtenzählbytes so betreibbar ist, daß er ein Bestätigungsbyte erzeugt;
jede der ersten und zweiten Prozessorvorrichtungen (12, 14) weiterhin so betreibbar ist, daß sie ein Befehlsdatennachrichtenbyte mit eindeutiger Adresse erzeugt, welches an einen der Knoten als Ziel geschickt werden soll, bei dem Adressenbefehlsbyte das einstellbare Bit gesetzt ist, die Prozessorvorrichtung so betreibbar ist, daß sie auf ein Antwortnachrichtenbyte von dem Zielknoten reagiert, bei der Antwortnachricht das einstellbare Bit nicht gesetzt ist, der Prozessor dann so betreibbar ist, daß er an den Zielknoten ein Nachrichtenzählbyte sendet, welchem ohne Unterbrechung Datennachrichtenbytes folgen, bei dem Nachrichtenzählbyte und dem Datennachrichtenbytes das einstellbare Bit nicht gesetzt ist, woraufhin der Zielknoten nach Empfang einer vollständigen Datennachricht entsprechend dem empfangenen Zählwert des Nachrichtenzählbytes ein Bestätigungsbyte sendet, welches anzeigt, ob die empfangene Nachricht fehlerfrei war; und
die dritte Prozessorvorrichtung (16) weiterhin so betreibbar ist, daß sie ein Datennachrichtenbyte an den ersten Knoten (1) nur in Reaktion auf eine Datennachricht von dem ersten Knoten erzeugt, die dritte Prozessorvorrichtung (16) so betreibbar ist, daß sie reagiert durch Senden, an den ersten Knoten, eines Nachrichtenzählbytes, welchem ohne Unterbrechung die Datennachrichtenbytes folgen, und bei dem Nachrichtenzählbyte und den Datennachrichtenbytes das einstellbare Bit nicht gesetzt ist, woraufhin der Zielknoten nach Empfang einer vollständigen Datennachricht entsprechend dem empfangenen Zählbyte ein Bestätigungsbyte sendet, welches anzeigt, ob die empfangene Nachricht fehlerfrei war.
2. Kommunikationsnetzwerk nach Anspruch 1, bei welchem die zweite Prozessorvorrichtung (14) weiterhin so betreibbar ist, falls der zweite Knoten (2) einen Sendevorgang zu dem ersten Knoten (1) einleitet und eine Antwortbytenachricht mit gesetztem neunten Bit empfängt, den Sendevorgang abzubrechen und einen vorbestimmten Zeitraum lang zu warten, und daraufhin den Sendevorgang zu versuchen.
3. Kommunikationsnetzwerk nach Anspruch 1 oder 2, bei welchem die Prozessorvorrichtung eine Fehlernachrichterfassungsvorrichtung aufweist, um zu erfassen, ob die empfangenen Datenbytes fehlerfrei sind, so daß dann, falls die Datenbytes eine Fehler enthalten, die Prozessorvorrichtung ein negatives Bestätigungsbyte erzeugt, und falls das Datenbyte keine Fehler enthält, die Prozessorvorrichtung ein positives Bestätigungsbyte erzeugt.
4. Kommunikationsnetzwerk nach Anspruch 3, bei welchem die Fehlernachrichterfassungsvorrichtung so betreibbar ist, eine zyklische Blockprüfsumme als Funktion der empfangenen Datenbytes zu berechnen; die zyklische Blockprüfsumme mit einer Prüfsumme zu vergleichen, die als Funktion einer Sequenznummer berechnet wird, die in dem empfangenen Nachrichtenzählbyte enthalten ist; und zu bestimmen, falls die Prüfsummen übereinstimmen, daß die Datennachricht fehlerfrei ist, und, falls die Prüfsummen nicht übereinstimmen, daß die Datennachricht einen Fehler enthält.
DE68926445T 1988-12-28 1989-12-05 Netzwerk und Protokoll zur Echtzeitbetriebssteuerung einer Maschine Expired - Fee Related DE68926445T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/291,477 US5007054A (en) 1988-12-28 1988-12-28 Network and protocol for real-time control of machine operations

Publications (2)

Publication Number Publication Date
DE68926445D1 DE68926445D1 (de) 1996-06-13
DE68926445T2 true DE68926445T2 (de) 1996-10-17

Family

ID=23120460

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68926445T Expired - Fee Related DE68926445T2 (de) 1988-12-28 1989-12-05 Netzwerk und Protokoll zur Echtzeitbetriebssteuerung einer Maschine

Country Status (5)

Country Link
US (1) US5007054A (de)
EP (1) EP0384078B1 (de)
AU (1) AU630391B2 (de)
CA (1) CA2004323C (de)
DE (1) DE68926445T2 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5154246A (en) * 1991-03-08 1992-10-13 Pitney Bowes Inc. Sensor processor for high-speed mail-handling machine
DE4135553A1 (de) * 1991-10-29 1993-05-06 Alcatel Sel Aktiengesellschaft, 7000 Stuttgart, De Verfahren und schaltungsanordnung zur datenblockuebertragung ueber ein bussystem
US5917840A (en) * 1992-03-13 1999-06-29 Foxboro Company Protection against communications crosstalk in a factory process control system
US5442639A (en) * 1993-10-12 1995-08-15 Ship Star Associates, Inc. Method and apparatus for monitoring a communications network
US5561277A (en) * 1994-03-15 1996-10-01 Delaware Capital Formation, Inc. Dual processor control system with continuous parallel interface integrity testing
KR100228297B1 (ko) * 1996-05-10 1999-11-01 윤종용 디지탈 셀룰라시스템의 기지국에서 로딩에러 검출방법
JP3206648B2 (ja) * 1998-04-15 2001-09-10 ブラザー工業株式会社 多機能周辺装置
US6694470B1 (en) * 1999-05-21 2004-02-17 Panasonic Communications Co., Ltd. Retransmission procedure and apparatus for handshaking protocol
US6897971B1 (en) * 1999-06-09 2005-05-24 International Business Machines Corporation Facsimile distribution manager
EP1791285A1 (de) * 2005-11-29 2007-05-30 Alcatel Lucent Hybride ARQ Vorrichtung und entsprechendes Verfahren, wobei die FEC Redundanz basierend auf die Wiederübertragungszahl eines Pakets angepasst wird
US20100169242A1 (en) * 2008-12-29 2010-07-01 Salazar Edilberto I Multiple carrier mail sorting system
US8160974B2 (en) * 2008-12-29 2012-04-17 Pitney Bowes Inc. Multiple carrier mailing machine
US8787843B2 (en) * 2009-06-26 2014-07-22 Nokia Siemens Networks Oy Wake up procedure for a base station in a communications network

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4308579A (en) * 1979-02-21 1981-12-29 Pitney Bowes Inc. Multiprocessor parcel postage metering system having serial data bus
US4587609A (en) * 1983-07-01 1986-05-06 Honeywell Information Systems Inc. Lockout operation among asynchronous accessers of a shared computer system resource

Also Published As

Publication number Publication date
CA2004323C (en) 2000-08-01
CA2004323A1 (en) 1990-06-28
EP0384078A2 (de) 1990-08-29
AU4678389A (en) 1990-07-05
AU630391B2 (en) 1992-10-29
EP0384078A3 (de) 1992-09-16
US5007054A (en) 1991-04-09
DE68926445D1 (de) 1996-06-13
EP0384078B1 (de) 1996-05-08

Similar Documents

Publication Publication Date Title
DE68926445T2 (de) Netzwerk und Protokoll zur Echtzeitbetriebssteuerung einer Maschine
DE69120659T2 (de) Verfahren zur fehlerkorrektur in einem datenkommunikationssystem
DE69531410T2 (de) Mehrrechnerumgebungen
DE69232613T2 (de) Hochgeschwindigkeitschnittstelle für eine Duplex-Datenverbindung
DE3876776T2 (de) Steuerflussverminderung in selektiven wiederholungsprotokollen.
DE10066507B3 (de) Verfahren und Vorrichtung zur Kommunikation mit verzögerter Bestätigung und Alarmverwaltung
DE3331233C2 (de) Datensteuereinrichtung in lokalen Verbindungsnetzen
DE3788355T2 (de) Eingangs/ausgangsnetz für ein rechnersystem.
DE69232686T2 (de) Multiplex-Übertragungssystem
JP2925678B2 (ja) データ通信方法及びデータ通信システム
JP2503086B2 (ja) デ―タ・リンク制御方法
DE3788551T2 (de) Mehrpunkt-Datenübertragung mit Überwachungssystem zum Erkennen von gestörten Aussenstellen.
DE69921882T2 (de) Verfahren zur Entdeckung und Lösung von Datenkorruption in einem UART-basierten Kommunikationsnetzwerk
DE3413473C2 (de)
DE68927046T2 (de) Kommunikationsnetz und Protokoll zur Echtzeitbetriebssteuerung einer Postbearbeitungs-Maschine
DE3113332C2 (de)
DE102005062575B4 (de) Verfahren und Vorrichtung zum Übertragen von Daten über eine Datenverbindung von einem Sender zu einem Empfänger mittels Pakete
DE68908204T2 (de) Nachrichtenverteilungssystem.
DE60113766T2 (de) System und Verfahren zur Datenübertragung in zwei Moden und entsprechender Sender und Empfänger
DE3433944A1 (de) Endoskopisches geraet
WO2000022537A1 (de) Elektronische steuereinrichtung mit einem parallelen datenbus und verfahren zum betreiben der steuereinrichtung
DE3415936C2 (de) Verfahren zum synchronisierten Austausch von prüfbaren Datentelegrammen
EP0601216A1 (de) Serielles Nachrichtenübertragungsverfahren
DE2542846C3 (de) Verfahren zur Datenübertragung zwischen zwei Stationen im Duplex- oder Halbduplexbetrieb mit automatischer Fehlerkorrektur durch Rückfrage und Wiederholung der gestört empfangenen Zeichen
JP3182235B2 (ja) 多重伝送システム

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee