DE3689052T2 - System und Verfahren zur Busübertragungssteuerung für eng gekoppelte Nachrichten zwischen verteilten programmierbaren Steuergeräten. - Google Patents

System und Verfahren zur Busübertragungssteuerung für eng gekoppelte Nachrichten zwischen verteilten programmierbaren Steuergeräten.

Info

Publication number
DE3689052T2
DE3689052T2 DE86302360T DE3689052T DE3689052T2 DE 3689052 T2 DE3689052 T2 DE 3689052T2 DE 86302360 T DE86302360 T DE 86302360T DE 3689052 T DE3689052 T DE 3689052T DE 3689052 T2 DE3689052 T2 DE 3689052T2
Authority
DE
Germany
Prior art keywords
monitor
network
module means
bus
active
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
DE86302360T
Other languages
English (en)
Other versions
DE3689052D1 (de
Inventor
Temple L Fulton
William O Perkins
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.)
Siemens Corp
Original Assignee
Siemens Corp
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 Siemens Corp filed Critical Siemens Corp
Publication of DE3689052D1 publication Critical patent/DE3689052D1/de
Application granted granted Critical
Publication of DE3689052T2 publication Critical patent/DE3689052T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/366Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a centralised polling arbiter
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/04Program control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/052Linking several PLC's

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Description

    Hintergrund der Erfindung
  • Die Erfindung bezieht sich auf Steuersysteme der Art mit einem Netz aus verteilten programmierbaren Steuereinheiten, die über eine Kommunikationsverbindung miteinander verbunden sind, und insbesondere auf ein Verfahren und Mittel zum Steuern der Hochgeschwindigkeitsübertragung relativ kleiner Datenmengen zwischen Steuereinheiten beim Einsatz für Übertragungsleitungsanwendungen oder sequentielle Prozesse, die ein Sperren zwischen den programmierbaren Steuereinheiten erfordern.
  • Die zunehmende Anwendung programmierbarer Steuereinheiten hat zu zwei Grunderfordernissen für Kommunikationsvorgänge mit den Steuereinheiten geführt, von denen die erste als SCADA oder Supervisory Control And Data Acquisition (Überwachungssteuerung und Datenerfassung) und die zweite als TCC oder Tightly Coupled Control (enggekoppelte Steuerung) zwischen den Steuereinheiten bekannt ist, bei der Daten oder Eingangs/Ausgangs-Informationen von einer Steuereinheit zur anderen übertragen werden. Es gibt lokale Netzwerke, die für die SCADA-Funktion geeignet sind, jedoch sind diese Netzwerke in der Regel keine kosteneffektiven Mittel für die enggekoppelte Steuerfunktion.
  • Programmierbare Steuereinheiten, wie die PC-Familie der Serie 500, die von der Firma Texas Instruments Incorporated hergestellt und verkauft wird und die typischerweise in Leiterlogik programmiert sind, wobei sie für die Maschinensteuerung, für Materialbehandlungsanlagen und die Stapelverarbeitungssteuerung eingesetzt werden, sind unter Verwendung von kreuzweise verdrahteten Wort-I/O-Modulen verriegelt worden. Die Wort-I/O-Module der Serie 500 von Texas Instruments können beispielsweise bis zu acht parallele 16-Bit-Datenwörter pro PC-Abtastung senden oder empfangen, und bei einer Verdrahtung mit 16 Drähten können sie zum Verriegeln von Daten über eine begrenzte Entfernung eingesetzt werden. Das Erfordernis, 16 Datenleitungen sowohl für die Eingabe als auch für die Ausgabe zusammen mit Abtast- und Masseleitungen vorzusehen, ist jedoch eine unerwünschte Einschränkung der Brauchbarkeit vom wirtschaftlichen Standpunkt her gesehen.
  • Weitere bekannte Lösungswege bei der Datenverriegelung zwischen gleichrangigen Teilnehmern enthalten Mehrfachzugriffs- Zeitteilverfahren, in denen jedem PC zum Senden seiner Daten zu einer Überwachungssteuereinheit ein fester Zeitanteil gegeben wird. Dieses Verfahren erscheint ineffizient und unflexibel, da es sich nicht an variierende Erfordernisse des Netzwerks anpaßt. Dies heißt beispielsweise, daß dann, wenn gewisse PCs mit dem Netzwerk gekoppelt sind, jedoch an einem gegebenen Zeitpunkt nicht aktiv sind, dieser Abschnitt des Abtastvorgangs, der den inaktiven PCs zugeordnet ist, nicht benutzt wird. Weitere Lösungsversuche umfaßten Kollisionserfassungsverfahren; diese Versuche hatten jedoch den Nachteil, daß sie eine nicht vorhersehbare Zeitabtastung zeigten. In vielen Fällen, in denen die Datenverriegelung unter gleichberechtigten Teilnehmern angewendet wird, wobei beispielsweise einer den Betrieb der Maschinen synchronisiert, ist es wichtig, sowohl eine voraussagbare als auch eine schnelle Abtastzeit zu erzielen.
  • In der GB-A-2 068 690 ist ein Prozeßsteuercomputer beschrieben, der mehrere Datenprozessoren enthält, die abhängig von Prozeßvariablen die den Prozeß steuernden Signale liefern. Die Datenprozessoren stehen über einen Bus miteinander in Verbindung, wobei ein Prozessor als Hauptstation wirkt, die den Bus für den Datenaustausch mit einem anderen Prozessor steuert, worauf die Steuerung des Bus dann auf diesen anderen Prozessor als Hauptstation übertragen wird, so daß er seine Daten über den Bus austauschen kann. Wenn für eine Zeitperiode kein Prozessor als Hauptstation erscheint, kann jeder Prozessor die Bussteuerung entsprechend einem Prioritätssystem übernehmen.
  • In der US-A-4 409 656 ist ein lokales Netzwerk beschrieben, das mehrere Datenprozessoren unter Verwendung eines Bus mit redundanten Kabeln verbindet, bei welchem im wesentlichen identische Knotengeräte zwischen die Prozessoren und die redundanten Kabel eingefügt sind, damit eine Rekonfigurierung des Netzwerks für den Fall einer Fehlfunktion oder einer Kabelunterbrechung ermöglicht wird. Die Knotengeräte sorgen für Diagnose- und Wiederherstellungsprozeduren. Eines der Knotengeräte wird ausgewählt, um als Bussteuereinheit zu wirken, die die übrigen Knotengeräte abtastet und die Priorität festlegt, mit der die Datenprozessoren Daten über den Bus senden oder empfangen können. Der Ausfall des als Bussteuereinheit wirkenden Knotengeräts führt dazu, daß diese Funktion gemäß einer vorbestimmten Folge auf ein anderes Knotengerät übertragen wird.
  • Zusammenfassung der Erfindung
  • Es ist daher ein Ziel der Erfindung, ein Verfahren und ein System für eine Verriegelung programmierbarer Steuereinheiten zwischen gleichrangigen Partnern (peer-to-peer interlocking) zu schaffen, die zuverlässig, schnell, voraussagbar und doch wirtschaftlich sind.
  • Ein weiteres Ziel der Erfindung ist die Schaffung von Übertragungen zwischen gleichrangigen Partnern sowohl für diskrete Anwendungen und Prozeßanwendungen, die besonders für die schnelle Kommunikation einer kleinen Datenmenge zwischen jeder beliebigen Anzahl von Stationen von zwei bis zu vorzugsweise sechzehn nützlich sind.
  • Ein weiteres Ziel der Erfindung ist es, ein Verfahren und ein System zur Aufrechterhaltung des Systembetriebs mit minimaler Verschlechterung auch bei Ausfällen in der Netzwerkausrüstung oder im Netzwerkmedium zu schaffen.
  • Ein weiteres Ziel der Erfindung ist es, ein Verfahren und ein System zum Lösen von Sendekonflikten von Einheiten des Netzwerks zu schaffen.
  • Ein weiteres Ziel ist die Schaffung eines Verfahrens und eines Systems zur Kommunikation zwischen gleichwertigen Partnern, die mit jedem Computersystem benutzt werden können, bei dem es erwünscht ist, kleine Datenmengen schnell und mit hoher Datenintegrität zu senden.
  • Ein weiteres Ziel der Erfindung ist es, ein Verfahren und ein System zur Kommunikation zwischen gleichrangigen Partnern zu schaffen, die die Bus-Bandbreite auf fortgesetzter Basis wirksam ausnutzen, über relativ lange Netzwerkstrecken angewendet werden können und der Anwendung in Fabrikumgebungen zugänglich sind.
  • Ein weiteres Ziel ist die Schaffung von Kommunikationsverbindungen zwischen gleichrangigen Partnern mit Jabberstop- und Watchdog-Merkmalen.
  • Gemäß einem Aspekt der Erfindung wird ein Steuersystem für verteilte Prozesse geschaffen mit einem Kommunikationsbus (12), mehreren programmierbaren Prozeßsteuereinheiten (PC&sub0;, PC&sub1;, PCn-1), die jeweils über Kommunikationsmodulmittel (GM&sub0;, CM&sub1;, CMn-1) mit dem Bus gekoppelt sind, wobei die Kommunikationsmodulmittel die Übertragung eng gekoppelter Informationen unter den Steuereinheiten steuern, wobei jede programmierbare Prozeßsteuereinheit abhängig von Eingangssignalen (I/O&sub0;, I/On-1), die sich auf den Prozeß beziehen, Ausgangssignale zum Steuern ausgewählter Geräte erzeugt, die den Prozeß bewirken, wobei jedes Kommunikationsmodulmittel über den Bus Daten senden und empfangen kann und als aktiver Monitor arbeiten kann, der die ausschließliche Steuerung über die Datenübertragungsaktivität auf den Bus ausübt, wobei jedes Kommunikationsmodulmittel ferner als Nicht-Monitor arbeiten kann, wobei während des Betriebs an jedem Zeitpunkt immer nur ein aktiver Monitor vorhanden ist und im Betrieb die Nicht- Monitore nur dann senden, wenn sie durch den aktiven Monitor dazu freigegeben sind, das dadurch gekennzeichnet ist, daß die Nicht-Monitore Daten zu allen anderen Kommunikationsmodulmitteln senden können, daß der aktive Monitor ausschließlich die Steuerung über die Sendeaktivität auf den Bus ausübt, indem er jedem der Kommunikationsmodulmittel Zeitschlitze zuteilt und jedes der anderen Kommunikationsmodulmittel freigibt, Daten während dieses Zeitschlitzes auf den Bus zu senden, und daß jedes Kommunikationsmodulmittel auch als passiver Monitor arbeiten kann, der zusätzlich zum Aussenden von Daten zu allen anderen Modulmitteln bei einer solchen Freigabe durch den aktiven Monitor auch die Sendeaktivität überwacht und nach einer ausgewählten Zeitdauer ohne Sendeaktivität zum aktiven Monitor wird, wobei das System Zeitsteuermittel enthält, die eine Anzeige des Ablaufs der ausgewählten Zeitdauer liefern, und Mittel enthält, die eines der Kommunikationsmodulmittel, das nicht der aktive Monitor ist, als passiven Monitor zuordnen.
  • Gemäß einem zweiten Aspekt der Erfindung wird ein Verfahren zum Steuern von Netz-Bus-Kombinationen für enggekoppelte Informationen unter verteilten programmierbaren Steuereinheiten, die an einen Kommunikationsbus angeschlossen sind, geschaffen, wobei jede Steuereinheit an einen Knotenpunkt über ein Kommunikationsmodulmittel mit dem Kommunikationsbus gekoppelt ist, das Daten über den Kommunikationsbus senden und empfangen kann, wobei das Kommunikationsmodulmittel als aktiver Monitor arbeiten kann, der das Netz abtastet und die ausschließliche Steuerung über die Sendetätigkeit auf dem Netz ausübt, und als Nicht-Monitor arbeiten kann, der bei Freigabe durch den aktiven Monitor Daten über den Bus sendet und empfängt, und bei welchem nur eines der Kommunikationsmodulmittel als aktiver Monitor zum Steuern der Übertragungen auf den Bus bestimmt wird, das dadurch gekennzeichnet ist, daß die Nicht-Monitore Daten auf den Bus senden, wenn sie durch den aktiven Monitor freigegeben werden, wobei der aktive Monitor bei Aktivierung bei seinem ersten Netzabtastvorgang eine Abfrage an jedes an den Bus angeschlossene Kommunikationsmodulmittel sendet, um festzustellen, welche Kommunikationsmodulmittel eingeschaltet und aktiv am Bus sind, wobei die abgefragten Kommunikationsmodulmittel freigegeben werden und ihre Daten auf den Kommunikationsbus senden, wobei der aktive Monitor eine Liste der Kommunikationsmodulmittel erstellt, die auf die Abfrage als am Bus aktives Kommunikationsmodulmittel antworten, wobei der aktive Monitor während jedes normalen folgenden Abtastvorgangs einen Teil der Abtastung für jedes Kommunikationsmodulmittel, das in der Liste enthalten ist, ais- Zeitschlitz (TSA) zuweist und die TSA der Reihe nach zu jedem in der Liste enthaltenen Kommunikationsmodulmittel sendet, wobei das die TSA empfangende Kommunikationsmodulmittel freigegeben wird und seine Daten über den Kommunikationsbus zu jedem anderen Kommunikationsmodulmittel am Bus sendet.
  • In einem Ausführungsbeispiel der Erfindung ist das Netzwerkmedium ein abgeschirmtes, verdrilltes Doppeladerkabel mit 124 Ohm, das bis zu sechzehn Knotenpunkte unterstützen kann und eine maximale Netzwerkentfernung von zehntausend Fuß abdecken kann. Jeder Knotenpunkt am Netzwerk enthält eine Kommunikationssteuereinheit und einen diskreten Leitungstreiber/ empfänger zur Erzielung einer Grundbandübertragung mit einer Datenrate von 115,2 Kilobit pro Sekunde.
  • In einem Ausführungsbeispiel der Erfindung wird ein Rundspruchbus mit nichtquittierten Nachrichten unter Verwendung eines geschlossenen Systems und eines bitorientierten Protokolls benutzt. Das Protokoll macht von HDLC-Start- und Start- Endkennzeichen mit automatischer Nulleinfügung und Nullweglassung Gebrauch. Jeder Knotenpunkt kann zwischen eins und sechzehn Wörter übertragen. Der übertragende Knotenpunkt erzeugt einen zyklischen Redundanzcode (CRC) und fügt ihn einer Nachricht an, und der empfangende Knotenpunkt prüft den CRC- Code zur Bestätigung der Daten.
  • Ein Rundspruchnachrichtenrahmen enthält ein Startkennzeichen, ein Steuer/Adressen-Feld, das die Art des Rahmens identifiziert, den beabsichtigten Empfänger im Falle von Abfragen oder Zeitschlitzzuordnungen (TSAs) sowie die Quelle der Daten im Falle einer Rundspruchnachricht, das Datenwort oder die Datenwörter, jeweils aus zwei Bytes, zwei Bytes für die CRC- Bestätigung und ein Endkennzeichen.
  • In einem Ausführungsbeispiel wird das Netzwerk initialisiert, um Verbindungen zwischen allen im Netzwerk vorhandenen Knotenpunkten herzustellen, und es wird dann aufrechterhalten, um für jeden Knotenpunkt die Möglichkeit zu gewährleisten, seine Nachrichten zu übertragen, wobei die Möglichkeit der Hinzufügung und des Entfernens von Knotenpunkten ohne Konflikt besteht. Ein Knotenpunkt wird mittels eines Schalters als aktiver Monitor zur Steuerung der Übertragung aller Knotenpunkte am Netzwerk ausgewählt.
  • In einer Ausführungsform der Erfindung bezeichnet der aktive Monitor einen der Knotenpunkte als passiven Monitor, um die Steuerung der Übertragung am Netzwerk für den Fall zu übernehmen, daß Netzwerkübertragungen für ein ausgewähltes Zeitintervall aufhören. Alle anderen Knotenpunkte sind Nichtmonitore, die keine Kontrolle über die Übertragung auf dem Netzwerk haben. An dem Zeitpunkt, an dem die Knotenpunkte am Netzwerk eingeschaltet werden, bestimmt derjenige Knotenpunkt, der durch den Schalter als aktiver Monitor (SAM) ausgewählt ist, welche der n möglichen Knotenpunkte am Netzwerk vorhanden sind, und er weist einem Nicht-Monitor die Rolle des passiven Monitors zu. Der aktive Monitor bestimmt die anwesenden Knoten dadurch, daß er ein Abfragekommando aussendet, das zu einem bestimmten Knoten und dann der Reihe nach zu allen Knoten adressiert ist. Dieses Kommando befiehlt diesem Knoten, seine Datennachricht zu allen anderen Knoten am Netzwerk auszusenden. Dieser Kommandorahmen ist sehr kurz, da keine Datenwörter enthalten sind. Alle Knoten, die im Netzwerk aktiv sind, empfangen dieses Kommando und seine Antwort, falls vorhanden. Wenn der Knoten auf die Abfrage antwortet, fügt der aktive Monitor den Knoten in eine Liste aktiver Knoten ein, denen das Recht verliehen werden soll, auf der Basis gleicher Priorität zu übertragen. Alle anderen Knoten erzeugen eine Liste aktiver Knoten auf der Basis der Abfrage für die Verwendung als Anzeiger des Netzwerkstatus.
  • Sobald die Liste der aktiven Knoten erstellt ist, beginnt der aktive Monitor damit, als Zeitschlitzzuweisungen oder Zeitschlitzzuordnungen (TSAs) bekannte Befehle zu jedem in der Liste enthaltenen Knoten der Reihe nach auszusenden, die den Knoten anweisen, seine Daten zu senden. Der TSA-Kommandorahmen ist ebenfalls ein sehr kurzer Rahmen.
  • Der aktive Monitor sorgt als Teil seines normalen Betriebs für die Wartung des Netzwerks. Zusätzlich zur Gewährung von Zeitschlitzen für das Aussenden von Daten an jede in der aktiven Liste enthaltene Knotenadresse fragt der aktive Monitor auf zyklischer Basis jede Knotenadresse zum Zwecke der Hinzufügung und des Entfernens von Knoten ab. Wenn ein neuer Knoten zum Netzwerk hinzugefügt wird, fügt der aktive Monitor seine Adresse nach dem Abfragen der Adresse und dem Empfangen einer Antwort hinzu. Ein Knoten, der aus dem Netzwerk entfernt worden ist, wird von der aktiven Liste gestrichen, wenn er nicht auf eine Abfrage antwortet.
  • Der aktive Monitor wartet eine Liste aktiver Knoten sowie einen Zeiger zu der Knotenadresse, die die Abfrage empfangen soll. Die Liste der aktiven Knotenadressen und die Knotenadresse, auf die gezeigt wird, werden zur Bildung einer Liste derjenigen Knoten kombiniert, denen ein Zeitschlitz oder eine Abfrage gewährt werden soll. Der aktive Monitor gibt dann entweder einen Zeitschlitz oder eine Abfrage zu jeder Knotenadresse in der kombinierten Liste aus. Der aktive Monitor ändert den Zeiger dann auf die nächste Knotenadresse, und er modifiziert die Liste der aktiven Knotenadressen, wenn eine Änderung stattgefunden hat.
  • In einer weiteren Ausführungsform sind die Knoten mit einer Doppelmediumschnittstelle zum Schutz gegen den Ausfall eines Knotens oder Kabelunterbrechungen versehen. In dieser Ausführung ist kein Knoten als passiver Monitor zugeordnet. Dafür bestimmt der aktive Monitor, welche Einheiten an jedem Medium aktiv sind, und er benutzt das Medium mit der größten Anzahl aktiver Knoten als den aktiven Kanal. Der aktive Monitor sendet auf beiden Netzwerkmedien ein Abfragekommando aus. Wenn ein Knoten, dessen Adresse in der aktiven Liste enthalten ist, nicht auf eine TSA antwortet, befragt der aktive Monitor sofort den Knoten, um die aktive Liste zu korrigieren und die Medien umzuschalten, falls dies angebracht ist.
  • Kurze Beschreibung der Zeichnungen
  • Die obige Beschreibung sowie die Ziele, Merkmale und Vorteile der Erfindung werden durch Bezugnahme auf die nachfolgende genaue Beschreibung derzeit bevorzugter Ausführungsformen gemäß der Erfindung im Zusammenhang mit den begleitenden Zeichnungen besser verständlich, die folgendes zeigen:
  • Fig. 1 ein schematisches Diagramm eines Beispiels eines Steuersystems mit mehreren programmierbaren Steuereinheiten, die gemäß einer ersten Ausführungsform der Erfindung in Serie mit einem Einzelmedium-Kommunikationsbus über Kommunikationsmodule verbunden sind,
  • Fig. 2 ein schematisches Diagramm, ähnlich dem von Fig. 1, eines solchen Systems, in dem die programmierbaren Steuereinheiten gemäß einer zweiten Ausführungsform der Erfindung in Serie mit einem Doppelmedium-Kommunikationsbus über eine Kommunikations- Steuereinheit mit Doppelanschlüssen verbunden sind,
  • Fig. 3 ein schematisches Blockschaltbild eines Kommunikationsmoduls nach der Erfindung,
  • Fig. 4 ein Blockschaltbild einer Betriebssystem-Software, die bei dem Kommunikationsmodul verwendet wird,
  • Fig. 5 das Format eines Sende-Nachrichtenrahmens,
  • Fig. 6 das Format des Steuer-Adressen-Feldes des Nachrichtenrahmens,
  • Fig. 7 das Format des Nachrichtenfeldes des Nachrichtenformats,
  • Fig. 8 bis 10 verschiedene Abtasttypen der ersten Ausführungsform der Erfindung, wobei lediglich Kommandos und Adressen zum Zwecke der Erläuterung dargestellt sind,
  • Fig. 11 und 12 ähnliche Darstellungen wie in Fig. 8 bis 10 mit Abtasttypen für die zweite Ausführungsform der Erfindung,
  • Fig. 13a, 13b und 13c schematische Diagramme der Kommunikationshierarchie,
  • Fig. 14 bis 19 Wahrheitstabellen für den Betrieb des Kommunikationsmoduls,
  • Fig. 20 ein Zustandsdiagramm zur Lösung mehrfacher Monitore,
  • Fig. 21 ein Datenstrukturdiagramm für den Kommunikationsmodul
  • Fig. 22 ein Blockschaltbild des Leitungstreibers/empfängers für die Verwendung mit einem Kommunikations- Chip des Moduls gemäß Fig. 3,
  • Fig. 23 ein Blockschaltbild der Sonderfunktions-Schnittstellensteuereinheit SFIC, die im Kommunikationsmodul verwendet und in Fig. 3 gezeigt ist,
  • Fig. 24 ein Diagramm der Abtastzeiten für die erste Ausführungsform der Erfindung und
  • Fig. 25 ein Diagramm der Abtastzeiten für die zweite Ausführungsform der Erfindung.
  • Bezugnehmend auf die Zeichnungen ist in Fig. 1 ein industrielles Steuersystem gemäß der vorliegenden Erfindung in schematischer Form dargestellt; es enthält n Knoten oder Stationen, die seriell mit einem Kommunikationsbus 12 verbunden sind. Jede Station umfaßt ein Kommunikationsmodul CM&sub0;-CMn-1, das seinerseits mit einer programmierbaren Steuereinheit PC&sub0;-PCn-1 gekoppelt ist. Jede PC ist mit herkömmlichen Ein/ Ausgabe-Einheiten I/Oo-I/On-1 verbunden, um Daten bezüglich des Prozesses in die PC einzugeben, wobei die Daten von der PC zur Lieferung von Ausgangssignalen zum Steuern des Prozesses, wie sie durch das Programm vorgeschrieben werden, geliefert werden. In den bevorzugten Ausführungsformen gibt es zwei bis sechzehn Stationen, die von eins bis sechzehn Daten oder Eingangs/Ausgangs-Wörter über den Kommunikationsbus 12 miteinander austauschen können, der ein abgeschirmtes, verdrilltes Doppeladerkabel mit 124 Ohm und einer Länge bis zu zehntausend Fuß ist.
  • Mit der Erfindung können zwar verschiedene Steuereinheiten PC verwendet werden, doch eignen sie sich insbesondere für die Verwendung mit programmierbaren Steuereinheiten der Serie 500 einschließlich der Modelle 520 und 530, die von Texas Instruments Incorporated hergestellt und verkauft werden.
  • Der Kommunikationsmodul CM ist ein nichtprogrammierbarer Sonderfunktionsmodul mit einer Drei-Wort-Eingabe und einer Fünf-Wort-Ausgabe, der Hochgeschwindigkeits-Blockübertragungen durchführen kann. Ein Ausgangswort wird dazu benutzt, die Startadresse im PC-Speicher festzustellen, an der die Datentabelle aufgebaut werden soll. Drei Eingangswörter werden dazu benutzt, über den Modul- und Netzwerkstatus zu berichten. In jedem PC-Speicher am Netzwerk, der einen Kommunikationsmodul aufweist, sind 256 Wörter eines Variablen-Speichers (V-Speicher) zugewiesen. Diese Speicherplätze im V-Speicher bilden eine Datentabelle, auf die durch den CM zugegriffen wird. Ein dem Modul zugeführtes Offset-Wort wird als ein ganzzahliger 32-Bit-Wert interpretiert und dazu benutzt, auf das erste Wort der Datentabelle zuzugreifen.
  • Die Organisation der Datentabelle ist in der Tabelle 1 gezeigt. TABELLE 1 V-SPEICHER-ADRESSE V-SPEICHER-DATEIINHALT OFFSET STATION 1 - DATENWORT
  • Die Größe der Datentabelle, die im V-Speicher aufgebaut wird, hängt von der Wahl der Anzahl der Stationen im Netzwerk ab; wenn weniger als sechzehn Stationen benutzt werden, kann die Größe des beschriebenen Speichers reduziert werden.
  • Mit spezieller Bezugnahme auf Fig. 3 macht ein Kommunikationsmodul CM von einer Zentraleinheit CPU Gebrauch, bei der es sich in den bevorzugten Ausführungen um einen TMS 9995 handelt, der von Texas Instruments Incorporated hergestellt und verkauft wird. Die CPU wird durch eine Hardware-Rücksetzung initialisiert, die durch das Einschalten der Versorgungsenergie, die ansteigende Flanke eines frühen Stromausfalls oder eine Wachhund-Zeitablaufbedingung erzeugt wird. Die CPU erzeugt den Systemtakt aus einem 12 MHz-Quarz, der durch 4 geteilt wird, damit sich ein Systemtakt CLKOUT von 3 MHz ergibt. Die CPU unterstützt sechs Interrupts: das Rücksetzen, Interrupt 1, 2, 3, 4 und NMI. Interrupt 1 ist ein Kommunikations-Chip-Interrupt. Interrupt 2 ist ein MID-Interrupt, der zum Erfassen ungültiger Operationscodes benutzt wird. Interrupt 3 ist ein interner Zeitgeber-Interrupt mit einer Zeitperiode, die durch Softwaresteuerung festgelegt ist. Interrupt 4 ist ein Sonderfunktions-Schnittstellensteuer-Interrupt (SFIC-Interrupt) und NMI wird von dem Kommunikationsmodul nicht benutzt. Die Interrupts werden unten noch genauer erläutert, insbesondere mit Bezug auf Fig. 13. Die Kommunikationsmodule machen sowohl von einem Speicherdatenbus als auch von einem CRU-Bus für die CPU Gebrauch. Der Speicherdatenbus steht mit ROM 14, RAM 16, SFIC 18 und dem Kommunikations-Chip 20 in Verbindung. Der CRU-Bus steht mit zwei DIP-Schaltern, DIP SWT 0 und DIP SWT 1 zum Anzeige-LED-Register 11 und zu den Kommunikationskartenidentifizierleitungen in Verbindung.
  • Der Chip 20 ist ein serieller Kommunikations-Chip (SCC), der im Modul CM benutzt wird und der in der bevorzugten Ausführung ein Z8530A ist, der von Zilog Inc. hergestellt und verkauft wird. Dieser Chip unterstützt serielle Übertragungen über zwei unabhängige Kanäle, Anschluß A und Anschluß B, unter Verwendung von Bit- oder Byte-Protokollen mit Datenraten bis zu 1 MBaud. In der bevorzugten Ausführung beträgt die Datenrate 115,2 KBaud bei einem asynchronen Bit-Protokoll. Mit dem Chip 20 werden zur Takterzeugung ein externer Oszillator und ein Takt-Multiplexer benutzt. Der Chip 20 wird im adressierbaren Speicherraum der CPU abgebildet, und die zwei seriellen Anschlüsse A und B steuern die Kommunikationskarten direkt an.
  • SFIC 18 bildet die Hilfsstelle zwischen dem PC und dem Kommunikationsmodul. SFIC 18 enthält 5 Statusregister, die von der CPU programmiert werden und vom PC gelesen werden, sowie 16 Eingangs-Bytes und 16 Ausgangs-Bytes sowie 1024 Bytes eines RAM mit Doppelanschluß, der für die Sonderfunktionsübertragungen zwischen den Kommunikationsmodulen und dem PC benutzt wird. Eine genauere Beschreibung des SFIC 18 wird unten angegeben.
  • Ein Wachhund-Zeitgeber 22 benutzt einen Chip mit frei laufendem Oszillator und Teiler, der eine Zeitablaufperiode von etwa 367 ms hat. Zum Verhindern des Zeitablaufs des Zeitgebers muß die CPU den Zeitgeber einmal alle 300 ms oder öfter löschen.
  • Der Wachhund-Zeitgeber ist mit dem Rücksetzeingang RESET der CPU verbunden. Wenn der Zeitgeber ausgelöst wird und anzeigt, daß etwas nicht stimmt, wird der Modul zurückgesetzt. Die Einschalt-Diagnosevorgänge werden dann ausgeführt, und wenn die Fehlerbedingung nicht mehr existiert, wird der normale Betrieb des Moduls fortgesetzt.
  • Der DIP-Schalter 1 ist ein Schalter mit acht Positionen, der für Test-Betriebsarten benutzt wird, die hier nicht beschrieben werden. Der DIP-Schalter 0 ist ein Schalter mit zehn Positionen; er hat Schaltdefinitionen, die in der Tabelle 2 angegeben sind. SCHALTERPOSITIONEN
  • UA0-UA3: Schalter zum Auswählen der Netzwerkadresse des Moduls; UA0 ist das höchstwertige Bit.
  • W0-W3: Schalter zum Auswählen der Anzahl der durch den Modul zu übertragenden Wörter; die Auswahl von Null ermöglicht dem Modul, 16 Wörter zu übertragen; WO ist das höchstwertige Bit.
  • A: Dieser Schalter bestimmt den Modul als einen über einen Schalter zugewiesenen aktiven Monitor (SAM); in einem Netzwerk ist nur ein solcher Modul erlaubt; 1 wählt die SAM-Operation aus.
  • R: Dieser Schalter wählt den Betrieb mit oder ohne redundante Medien; 1 wählt den Betrieb mit redunanten Medien.
  • TABELLE 2
  • Die Position 10 bezieht sich auf den Betrieb des Systems entsprechend zwei Alternativausführungen der Erfindung. Eine Auswahl von 0 führt zum Betrieb gemäß der ersten Ausführung, während die Auswahl von 1 zum Betrieb gemäß einer (unten noch zu erläuternden) zweiten Ausführung führt.
  • Der Modul enthält auch ein LED-Register 11, das den Benutzer mit einer Anzeige seines Betriebs versorgt. Zusätzlich wird ein Tastknopfschalter 13 (Reset) dazu benutzt, die Rückstellung oder den Eigentest auf der Basis der Position eines Kippschalters 15 durchzuführen, der zwischen Lauf- und Testpositionen beweglich ist.
  • Die in Fig. 6 zu erkennende Betriebssystem-Software steuert die Initialisierung des Moduls, der Netzwerk-Schnittstelle, der PC-Schnittstelle und der Fehlerbehebung. Die Netzwerk- Schnittstellen-Software ist hauptsächlich interrupt-gesteuert, jedoch enthält sie auch Abschnitte, die von der Ausführungsschleife aufgerufen werden.
  • Vom Kommunikationsmodul ausgesendete Nachrichten sind so formatiert, wie in Fig. 5 dargestellt ist. Die Start- und End- Kennzeichen sind HDLC-Kennzeichen (HEX 7E). Das Steuer/Adreß- Feld enthält sowohl Steuer- als auch Stationsadresseninformationen, und es besteht aus einem Byte. Das Nachrichtenfeld besteht aus bis zu sechzehn Datenwörtern. CRC besteht aus zwei Daten-Bytes, die ein Verfahren zur Datenüberprüfung ermöglichen. Der Modul benutzt das CCITT-Polynom (International Consultative Committee on Telephone and Telegraph), das auf Eins-Werte für die CRC-Berechnung voreingestellt ist. Die Reihenfolge der Übertragung der Bytes innerhalb eines Rahmens geht vom niedrigstwertigen Bit (LSB) zum höchstwertigen Bit (MSB). Gemäß der hier vorgenommenen Benutzung ist das höchstwertige Bit das Bit im Byte mit der niedrigsten Nummer.
  • Das Format des Steuer/Adressen-Feldes ist in Fig. 6 dargestellt. C0-C3 und die HEX-Bezeichnung bilden einen Steuer- Code, wie er in der Tabelle 3 definiert ist. A0-A3 bilden ein Adressenfeld, das die Quelle der Datensendungen angibt oder die Station identifiziert, der ein Zeitschlitz zugewiesen worden ist. TABELLE 3 DEFINITION DER STEUERFELDER Datensendung durch Nicht-Monitorstation Eintragung nicht benutzter Code Datensendung durch passiven Monitor Nicht benutzter Code AM-Datensendung oder einem Nicht-Monitor zugewiesener Zeitschlitz AM-Abfrage mit Anweisung an einen Nicht-Monitor zum ASussenden aller Daten AM-Steuerungsübernahme zur Angabe des laufenden AM als PM AM-Abfrage zur Zuweisung einer Station in die Rolle des PM
  • Das Format des Nachrichtenfeldes ist in Fig. 7 dargestellt, bei-dem die Datenwörter 0 bis 15 die Daten definieren, die zu allen aktiven Einheiten am Netzwerk gesendet werden.
  • Die Kommunikationsmodule CM können in einer von drei verschiedenen Betriebsarten arbeiten, als aktiver Monitor (AM), als passiver Monitor (PM) und als Nicht-Monitor (NM).
  • Aktive Monitore sind dadurch gekennzeichnet, daß sie Netzwerkübertragungen überwachen und anderen Kommunikationsmodulen Zeit zum Senden zuweisen und auch ihre eigenen Daten senden. An einem Netzwerk gibt es im Normalbetrieb nur einen aktiven Monitor, und er wird mit Hilfe des Dipschalters DIP SWT 0 zugeordnet. Dies ist ein mittels eines Schalters ausgewählter AM oder SAM, und er nimmt nie irgendeine andere Betriebsart an.
  • Passive Monitore sind dadurch gekennzeichnet, daß sie das Netzwerk überwachen und aktiv werden, wenn der ursprüngliche aktive Monitor ausfällt. Dieser Zustand wird festgestellt, wenn für die Dauer eines Zeitintervalls, das als Bus-Totzeitintervall (Dead Bus Timeout-Wert) (DBT) bezeichnet wird, keine Übertragungen empfangen werden. Ein passiver Monitor wird zu einem Nicht-Monitor, wenn er einen anderen passiven Monitor am Netzwerk hört, wenn er den Befehl C empfängt oder wenn er zurückgesetzt wird. An einem normalen Netzwerk gibt es nur einen einzigen PM, der vom aktiven Monitor zugewiesen wird. Ein passiver Monitor, der zu einem aktiven Monitor (PAM) wird, kehrt in den Zustand als passiver Monitor zurück, wenn ihm dies von dem durch den Schalter ausgewählten aktiven Monitor befohlen wird. Der passive Monitor sendet seine Daten, wenn ihm dies vom aktiven Monitor befohlen wird.
  • Nicht-Monitore sind dadurch gekennzeichnet, daß sie ihre Daten nur dann senden, wenn ihnen dies von einem aktiven Monitor befohlen wird (wenn sie dafür freigegeben sind). Ein Nicht-Monitor wird zu einem passiven Monitor, wenn er von einem aktiven Monitor so zugewiesen wird, jedoch kann er nicht direkt zu einem aktiven Monitor werden.
  • Beim Einschalten der Versorgungsenergie durchläuft jeder Kommunikationsmodul einen Zyklus, bei dem alle seine eigenen Schalter gelesen werden. Sobald dies geschehen ist, wird der Modul nicht rekonfiguriert, bis das nächste Einschalten der Versorgungsenergie geschieht oder der Modul zurückgesetzt wird.
  • Beim Anlegen der Versorgungsenergie an die Knoten des Netzwerks beginnt der Modul, der als durch einen Schalter ausgewählter aktiver Monitor bestimmt worden ist, nach der Beendigung seiner Eigendiagnose damit, das Netzwerk zu überwachen, und er bestimmt die n möglichen Module, die im Netzwerk vorhanden sind, und er weist einem Nicht-Monitor die Rolle eines passiven Monitors zu. Der aktive Monitor bestimmt, welche Knoten vorhanden sind, indem er einen Abfragebefehl aussendet, der der Reihe nach an jeden Knoten adressiert wird. Dieser Befehl benutzt das in Fig. 5 dargestellte Format, und unter Verwendung eines HEX-Steuerfeldes aus A- oder E-Befehlen befiehlt er dem Knoten, seine Datennachrichten zu allen anderen Knoten am Netzwerk zu senden. Die Länge dieser Datennachrichten hängt von den Positionen 5-8 von DIP SW 0 ab, die für jeden Modul ausgewählt sind. Der Abfragebefehlsrahmen ist sehr kurz, da bei der Übertragung keine Datenwörter enthalten sind. Alle Knoten, die im Netzwerk aktiv sind, empfangen diesen Befehl ebenso wie die Antwort, wenn der adressierte Knoten aktiv ist. Wenn der Knoten auf die Abfrage antwortet, nimmt ihn der aktive Monitor in eine Liste der aktiven Knoten auf, denen das Recht zum Übertragen auf der Basis gleicher Priorität gewährt wird. Alle anderen Knoten erzeugen eine Liste aktiver Knoten auf der Basis der Abfrage für die Verwendung als Anzeiger des Netzwerkstatus.
  • Wenn die Liste der aktiven Knoten aufgebaut ist, beginnt der aktive Monitor damit, der Reihe nach zu jedem Knoten Befehle auszusenden, die die Knoten anweisen, ihre Daten auszusenden. Dieser Befehl wird als Zeitschlitzzuweisung oder -zuordnung (TSA) bezeichnet, und er hat das gleiche Format wie der Abfragebefehlsrahmen; er ist daher ein sehr kurzer Zeitrahmen. Der aktive Monitor sendet seine eigenen Daten der Reihe nach aus.
  • Der aktive Monitor besorgt die Wartung des Netzwerks als Teil seines normalen Betriebs. Zusätzlich dazu, daß er jeder in der aktiven Liste enthaltenen Knotenadresse Zeitschlitze zum Aussenden von Daten zuteilt, fragt der aktive Monitor jede Knotenadresse (einschließlich derjenigen, die nicht in der aktiven Liste stehen) für den Zweck des Hinzufügens und des Entfernens von Knoten ab. Wenn ein neuer Knoten zum Netzwerk hinzugefügt wird, fügt der aktive Monitor die Adresse des neuen Knotens nach dem Abfragen der Adresse und dem Empfangen der Antwort hinzu. Ein Knoten, der aus dem Netzwerk entfernt wird, wird aus der aktiven Liste gelöscht, wenn er nicht auf eine zu diesem Knoten adressierte Abfrage antwortet.
  • Der aktive Monitor sendet auf zyklischer Basis an jede der n möglichen Netzwerkadressen eine Abfrage. Der aktive Monitor wartet eine Liste aktiver Knoten sowie einen Hinweis auf die Knotenadresse, die eine Abfrage empfangen soll. Die Liste der aktiven Knotenadressen und die Knotenadresse, auf die hingewiesen wird, werden zur Bildung einer Liste der Knoten kombiniert, denen ein Zeitschlitz oder eine Abfrage gewährt werden soll. Der aktive Monitor ändert dann den Hinweiszeiger so, daß er auf die nächste abzufragende Knotenadresse zeigt, und er ändert die Liste der aktiven Knotenadressen, wenn eine Änderung stattgefunden hat.
  • Wenn der aktive Monitor entweder eine TSA oder eine Abfrage an die Knotenadresse des passiven Monitors aus sendet und der passive Monitor nicht antwortet, führt der aktive Monitor sofort eine Neuzuordnung der Rolle des passiven Monitors durch. Die Abfrage wird immer noch für die Bestimmung benutzt, ob der Knoten aus der aktiven Liste entfernt werden soll.
  • In den Fig. 8 bis 10 sind mehrere Abtastungen dargestellt, die den oben beschriebenen Vorgang veranschaulichen. Aus Gründen der Einfachheit sind nur Befehle und Adressen in HEX dargestellt.
  • Fig. 8 zeigt eine Startabtastung mit der SAM-Adresse 0 und weiterer am Netzwerk aktiver Einheiten von 3, 4 und 6 (siehe auch die Wahrheitstabelle für die Start-Überwachungsroutine von Fig. 14). Die oberste Zeile enthält die Befehls- und Adressenfelder, die vom aktiven Monitor ausgesendet werden, während die untere Zeile die Befehls- und Adressenfelder der antwortenden Einheiten enthält. In dieser Figur ist zu erkennen, daß der aktive Monitor zuerst seine eigenen Daten ausgesendet hat (Steuerzeichen 8) und dann versucht hat, unter Verwendung des Befehls E den Knoten 1 und 2 die Rolle des passiven Monitors zuzuweisen, bevor er sie erfolgreich dem Knoten drei zugewiesen hat, wobei der Knoten 3 mit dem Steuersignal 4 antwortet. Im Anschluß daran gibt der aktive Monitor den Befehl A ab (siehe auch Fig. 15 - Wahrheitstabelle der Abfragedurchführung), bei dem es sich um einen Abfragebefehl handelt, der zu jedem Nicht-Monitor geleitet wird, damit er seine Daten aussendet, und die Knoten 4 und 6 senden der Reihe nach unter Verwendung des Steuersignals 0 ihre Daten aus.
  • In Fig. 9 (siehe auch die Wahrheitstabelle für eine Abtastung eines einzigen Mediums in Fig. 16) sind drei Abtastvorgänge während eines Normalbetriebs dargestellt, wobei der aktive Monitor beim ersten Abtastvorgang seine zyklische Abfrage mit dem Knoten 5 beginnt und dann seine eigenen Daten aus sendet und Zeitschlitzzuweisungen (siehe auch Fig. 17 - Wahrheitstabelle für die Durchführung von TSA) an Nicht-Monitore (Befehl 8) sendet, wobei der passive Monitor unter Verwendung des Steuersignals 4 antwortet, während Nicht-Monitore 4 und 6 unter Verwendung des Steuersignals 0 antworten. Die nachfolgenden Abtastvorgänge sind gleich, mit Ausnahme der Adresse des Abfrageknotens, die zu den anderen Knoten weitergeschaltet wird, d. h. zu den Knoten 6 und 7.
  • Fig 10 (siehe auch die Wahrheitstabelle für die PM-Neuzuweisung von Fig. 18) zeigt eine Situation, in der der passive Monitor, der Knoten 3, nicht auf seine Zeitschlitzzuweisung antwortet. Wie beim ersten Abtastvorgang angegeben wurde, hat der aktive Monitor eine TSA (Steuersignal 8) zum Knoten 3 ausgesendet (siehe auch Fig. 17), und wenn er nicht innerhalb des Empfangszeitablaufintervalls antwortet, sendet der AM einen Befehl zum Knoten 3 für den Versuch, ihn als passiven Monitor (Befehl E) neu zuzuordnen für den Fall, daß seine Antwort aufgrund von Störungen verfehlt wurde; das Ausbleiben des Empfangs einer Antwort bewirkt die Aussendung des gleichen Befehls zum Knoten 4, der mit der Annahme seiner Rolle als neuer passiver Monitor antwortet und seine Daten aus sendet. Der nächste Abtastvorgang verläuft dann normal mit den Knoten 0, 4 und 6, die am Netzwerk aktiv sind.
  • In der Ausführungsform der Erfindung mit einem einzigen Medium ist eine Fehlertoleranz beim Schutz gegen Ausfälle an einem einzigen Knoten oder Kabelbrüchen vorgesehen, die normalerweise die Netzwerkbetriebsvorgänge anhalten würden. Der aktive Monitor weist jedem Knoten (beginnend mit seiner eigenen Knotenadresse zuzüglich einer unter einem zyklischen Durchlauf von n-1 bis 0) die Rolle eines passiven Monitors zu. Das Netzwerk kann somit für einen optimalen fehlertoleranten Schutz gegen Kabelbrüche ausgestattet werden. Wenn beispielsweise der mittels eines Schalters ausgewählte AM die Adresse 0 hat und am einen Ende des Netzwerks liegt, sollte der Knoten mit der Adresse 1 am anderen Ende des Netzwerks liegen. Falls der aktive Monitor ausfällt, würde der passive Monitor die Rolle des aktiven Monitors (PAM) übernehmen und einem weiteren Knoten die Rolle des passiven Monitors zuweisen. Diese Anordnung ist für einen einzelnen Kabelbruch optimal, da beide Teile des Netzwerks entweder einen AM oder einen PM enthalten und beide mit dem unabhängigen Betrieb fortfahren. Dies bedeutet, daß für den Fall eines Bruchs zwischen den zwei Enden der passive Monitor aufhört, die Netzwerkkommunikation zu hören und die Rolle des aktiven Monitors annimmt sowie einen neuen passiven Monitor zuweist, was auch der durch einen Schalter ausgewählte aktive Monitor an seinem Ende des Netzwerks tun wird, wenn sein früherer passiver Monitor nicht antwortet.
  • Sollte der Kabelfehler repariert werden, gibt es Kollisionen, da dann zwei Knoten als AM wirken. Diese Kollisionen führen zu verstümmelten Nachrichten, in denen die CRC-Prüfungen nicht zueinanderpassen. Das Netzwerkprotokoll führt dann dazu, daß sich jeder aktive Monitor nach drei aufeinanderfolgenden CRC- Fehlern selbst aus dem Netz entfernt und eine Knotenrückstellung durchführt. Da durch die Schalterauswahl nur ein Knoten als aktiver Monitor festgelegt ist, ist der einzige Knoten, der nach einer Rückstellung weiterhin als aktiver Monitor arbeitet, der durch den Schalter betätigte aktive Monitor. Der Netzwerkbetrieb geht dann in der normalen Weise weiter.
  • Kollisionen können auch auftreten, wenn der aktive Monitorknoten ausfällt und der passive Monitor die Funktion als aktiver Monitor übernimmt. Wenn der SAM repariert ist und wieder in Betrieb geht, würden Kollisionen auftreten, wenn der SAM sofort wieder die Steuerung des Netzwerks übernehmen würde. In diesem Fall legt das Netzwerkprotokoll fest, daß der SAM auf Netzwerkaktivitäten hört. Wenn keine Aktivität festgestellt wird, löst er Netzwerkübertragungen aus. Wenn eine solche Aktivität festgestellt wird, wartet der SAM darauf, daß der PAM eine Abfrage an die Adresse des SAM aussendet. Wenn dies geschieht, antwortet der SAM durch Aussenden eines Befehls C, der alle vorherigen Zuordnungen der Rolle des passiven Monitors löscht und demjenigen Knoten, der den Abfragebefehl ausgesendet hat, die Rolle des passiven Monitors zuweist. Netzwerkübertragungen gehen dann in der normalen Weise weiter.
  • Verschiedene Konflikte bezüglich der Rollen der Knoten werden gelöst, wie in Fig. 20 dargestellt ist. Wenn die Knoten zum erstenmal eingeschaltet werden, sind sie entweder Nicht- Monitore NM im Zustand V oder ein durch einen Schalter ausgewählter aktiver Monitor SAM im Zustand I. Im Normalbetrieb gibt es nur einen AM, und es finden keine Übertragungen statt, bis sie vom SAM ausgelöst werden. Somit tritt der Bus- Totzeitablauf ein, und der SAM geht in den Zustand II über, beginnt Übertragungen und weist einen passiven Monitor PM zu, was einen NM veranlaßt, vom Zustand V in den Zustand IV überzugehen. Wenn nichts schiefläuft, geschehen keine weiteren Zustandsübergänge.
  • Sollte an einem SAM keine Versorgungsenergie mehr anliegen, hören die Übertragungen für die Dauer des Bus-Totzeitintervalls auf, was den PM veranlaßt, in den Zustand II überzugehen und die Übertragung wiederaufzunehmen. Der PAM bewirkt die Zuweisung eines neuen PM wie zuvor, was einen Übergang vom Zustand V in den Zustand IV im zugewiesenen Knoten zur Folge hat. Das Netzwerk läuft dann normal, abzüglich eines Knotens. Wenn die Versorgungsenergie wieder an den SAM angelegt wird, befindet er sich im Zustand I, jedoch ist der Bus nicht tot, und es tritt kein Zeitablauf ein. Der SAM wartet, bis er eine Abfrage zu seiner eigenen Adresse empfängt, und er antwortet mit einem Befehl C. Dies veranlaßt im PAM einen Übergang vom Zustand II in den Zustand IV, während sich der SAM in den Zustand II begibt und mit Übertragungen beginnt. Der SAM bewirkt unmittelbar die Zuweisung eines neuen PM, und er löscht den anderen PM. Wenn ein PM einen Befehl an seine Adresse empfängt, antwortet er mit einem Befehl 4 und mit Daten. Der Befehl 4 veranlaßt stets in allen PMs einen Übergang vorn Zustand IV zum Zustand V, mit Ausnahme desjenigen PM, zu dem der Befehl gesendet wurde, wobei nur dieser Knoten als PM übrigbleibt. Das Netzwerk arbeitet dann wieder normal.
  • Sollte zwischen dem AM und dem PM ein Kabelbruch auftreten, ergeben sich zwei unabhängige Netzwerke, wie oben beschrieben wurde; wenn das Kabel wieder verbunden wird, gibt es zwei Knoten im Zustand II und möglicherweise zwei Knoten im Zustand IV. Die Knoten im Zustand II verursachen manchmal eine Kollision, hören manchmal Kollisionen von antwortenden Einheiten, hören sich manchmal gegenseitig und hören manchmal auch normale Transaktionen. Wenn irgendein Knoten drei aufeinanderfolgende CRC-Fehler empfängt, stellt er sich selbst zurück, und wenn dies geschieht, kehrt er in den Zustand V zurück, wenn es nicht der SAM ist, der in den Zustand I zurückgeht. Der SAM, jedoch nicht die PAMs, stellt sich ebenfalls zurück, wenn er alle Einheiten am Netzwerk abfragt, ohne eine gültige Antwort zu erhalten. Wie oben im Zusammenhang mit dem Ausfall der Versorgungsenergie angegeben wurde, gewinnt ein SAM die Steuerung wieder zurück, wenn er zurückgestellt wird. Wenn einer der AMs drei aufeinanderfolgende Kollisionen (CRC-Fehler) hört, wird er zurückgestellt. Wenn einer zurückgestellt wird, bleibt der andere in Kontrolle. Wenn beide zurückgestellt werden, übernimmt entweder der SAM die Kontrolle, wenn er wiederhergestellt wird, oder ein PM übernimmt die Kontrolle, während der SAM im Rückstellvorgang begriffen ist, und übergibt die Kontrolle, wenn der SAM wiederhergestellt ist, wie oben angegeben wurde. Wenn der SAM Antworten von dem anderen AM hört, sind es nicht die richtigen Antworten auf den Befehl, den der SAM ausgesendet hat, so daß sie ignoriert werden. Wenn alle Einheiten auf diese Weise abgefragt worden sind, wird der SAM zurückgestellt und übernimmt die Kontrolle. Wahrscheinlicher wird einer der AMs eine Abfrage oder eine TSA von dem anderen empfangen, bevor dies geschieht.
  • Wenn ein AM Befehle A, E, 8 oder C empfängt, kann er nicht der einzige AM am Netzwerk sein, so daß eine spezielle Aktion benötigt wird. Der Übernahmebefehl C verursacht immer einen Übergang vom Zustand II zum Zustand IV für PAMs, wie oben angegeben wurde. Abfragen und TSAs zu anderen Einheiten veranlassen ebenfalls eine Antwort von diesen Knoten, wenn sie sich im Betriebszustand befinden. Der empfangende AM würde auf diese Weise eine unverständliche Kollision verursachen, wenn er an diesem Zeitpunkt einen Befehl aussenden würde. Solche Empfänge würden einen Übergang in den Wartezustand I im empfangenden AM verursachen, damit Kollisionen vermieden werden-und die Wiederherstellung beschleunigt wird.
  • Da jeder Knoten eine eindeutige Adresse hat, besteht weniger die Gefahr einer Kollision, wenn ein AM eine weitere AM-Anforderung an die eigene Empfängeradresse empfängt, so daß die empfangende Einheit die Überwachungsfunktion bezüglich seiner Antwort an diesem Zeitpunkt löst.
  • Wenn im Wartezustand I ein SAM einen an sich gerichteten Befehl empfängt, antwortet er darauf mit dem Übernahmebefehl C und übernimmt wieder die Kontrolle. Wenn ein PAM eine PM- Zuweisung empfängt, den an sich selbst gerichteten Befehl E, wird er wieder ein PM (Zustand IV) und antwortet mit dem Befehl 4. Wenn er dagegen einen Befehl A empfängt, wird er wieder zu einem NM (Zustand V) und antwortet mit einem Befehl 0. Die zwei zuletzt genannten Übergänge belassen die Kontrolle beim derzeitigen AM.
  • Wenn ein SAM den Zustand II hat und einen A- oder E-Befehl empfängt, antwortet er mit der Aussendung des Befehls C (was als Übergang in den Zustand 111 dargestellt ist), und er übernimmt wieder die Kontrolle des Netzwerks. Der andere AM wird zum PM, wenn ein PAM vorliegt, oder er geht in den Wartezustand I über, wenn ein SAM vorliegt, damit die Kontrolle wieder später übernommen wird, wenn seine eigene Abfrage empfangen wird.
  • Der Empfang eines Befehls 8 durch einen AM könnte auch in der gleichen Weise wie Befehle A und E behandelt werden, falls es erwünscht ist, jedoch erwies es sich in den bevorzugten Ausführungen zweckmäßiger, einen Übergang in den Wartezustand I zu implementieren, wobei die Auflösung dem nächsten Mal überlassen wurde, wenn die wartende Einheit abgefragt wird.
  • Es sind viele Kombinationen von Übergängen möglich, was von der Anzahl der Knoten, dem Ort der Unterbrechung und der relativen Zeitsteuerung der Befehle an den unabhängigen Netzwerkabschnitten abhängt, jedoch gewährleisten die Rückstellbedingungen und der Wartezustand, daß alle Kombinationen schließlich zu einem aktiven Monitor gelöst werden, und da jede PM-Antwort alle anderen PMs eliminiert, ist auch die Auflösung zu einem PM gewährleistet.
  • Unter Bezugnahme auf Fig. 2 wird eine zweite Ausführung der Erfindung beschrieben. Die Kommunikationsmodule CM sind mit Doppelanschlüssen ausgestattet, und wenn die Position 10 des DIP-Schalters 0 als 1 ausgewählt ist, können die Module mit redundanten Medien betrieben werden. Der Anschluß A des Kommunikations-Chips 20 ist über einen lokalen Leitungsanschlußblock mit einem Medium des Kommunikationsbus 12' verbunden, und der Anschluß B des Chips 20 ist über einen ebensolchen Block mit dem anderen Medium der verdrillten Doppelleitung verbunden. Die mehreren CMs (CM&sub0;-CMn-1) sind wie in Fig. 1 seriell an jedes Medium des Bus angeschlossen. Die Arbeitsweise dieser Ausführungsform gleicht der der ersten Ausführungsform; die Beschreibung wird auf die Unterschiede zwischen den Ausführungsformen beschränkt.
  • In der Version mit redundanten Medien sind die Kommunikationsmodule entweder aktiv oder nicht aktiv, wobei kein Passivmonitorbetrieb vorhanden ist. Der aktive Monitor wird durch DIP SWT 0 (Position 9) ausgewählt, und es kann nur für ein gegebenes Netzwerk ein aktiver Monitor ausgewählt werden. In der Doppelmedienschnittstelle legt der aktive Monitor fest, welche Knoten an jedem Medium aktiv sind, und er benutzt das Medium mit der größten Anzahl aktiver Knoten als den Kanal, auf den Übertragungen gelenkt werden (oder Kanal A, wenn die Anzahl der Knoten an jedem Kanal gleich ist). Auf beiden Netzwerkmedien wird eine Abfrage ausgesendet. Sollte ein Knoten, dessen Adresse in der aktiven Liste enthalten ist, nicht auf eine TSA antworten, fragt der aktive Monitor sofort den Knoten über beide Medien ab. Wenn der Knoten immer noch nicht antwortet, fährt der aktive Monitor mit dem Zyklus fort, indem er zum primären Medium zurückkehrt. Wenn der Knoten auf dem sekundären Medium nicht antwortet, schließt der aktive Monitor, daß im primären Medium ein Fehler aufgetreten ist, und er schaltet auf das sekundäre Medium um. Somit erzeugt die Fehlertoleranz mittels der Doppelmedienschnittstelle einen Schutz gegen einen Kabelfehler sowie gegen einen Treiber-Empfänger-Ausfall an einem Knoten. Für den Fall eines solchen Ausfalls wird die Übertragung durch Umschalten auf das andere Medium aufrechterhalten. In jedem Knoten ist eine Liste aktiver Knoten für jedes Medium auf der Basis der Antwort auf die vorn aktiven Monitor ausgesendete Abfrage enthalten. Diese Liste kann dazu benutzt werden, bei der Fehlersuche im Netzwerk mitzuhelfen oder einen Fehlerzustand anzuzeigen, so daß eine geeignete Aktion zur Vermeidung eines Verlusts an Netzwerkübertragungen unternommen werden kann. Das Entfernen eines Knotens aus einem Doppelmediennetzwerk veranlaßt den aktiven Monitor nicht, den Betrieb auf das andere Medium umzuschalten, da der Ausgleich der Anzahl der aktiven Knoten durch Entfernen des Knotens von beiden Medienschnittstellen nicht betroffen wird.
  • In Fig. 11 (siehe auch die Wahrheitstabelle für die Doppelmedienabtastung in Fig. 19) sind zwei normale Abtastvorgänge für einen AM mit der Adresse 0 und drei weitere Einheiten am Netzwerk, mit 3, 4 und 6 dargestellt. Es ist zu erkennen, daß der Abfragebefehl A auf beiden Medien ausgesendet wird. In Fig. 12 antwortet der Knoten 4 nicht auf seine TSA auf dem Kanal A, so daß der Abfragebefehl auf dem Kanal A und dann auf dem Kanal B gesendet wird. Eine Antwort im Kanal B verursacht einen Medienwechsel auf den Kanal B für alle Knoten.
  • Die Interrupt-Struktur für die Netzwerkkommunikation wird nun unter Bezugnahme auf Fig. 13 beschrieben. Die System-Hardware ist so konfiguriert, daß der serielle Kommunikations-Chip 20 (SCC) einen Interrupt auf dem Niveau 1 erzeugt, wenn er ein Zeichen empfängt oder die Aussendung eines Zeichens beendet. Eine Empfangsunterbrechung, beispielsweise Fig. 13b, startet die nächste Aussendung, damit eine schnelle, zielgerichtete Übertragung erhalten wird. Somit sind alle Übertragungen interruptgesteuert. Dies ergibt in zwei Fällen ein Problem; wie soll das System gestartet werden und wie soll wieder zur Kommunikationssoftware zurückgekehrt werden, wenn ein erwarteter Empfang nicht eingetreten ist. Es ist auch erwünscht, zwischen Aussendungen gewisse Verzögerungen einzuführen, damit dem Betriebssystem ermöglicht wird, seine Arbeit der Datenübertragung zur Ablaufsteuereinheit zu tun. Der Hardware- Zeitgeber wird dazu benutzt, diese Verzögerung zeitlich so zu steuern, daß die Software während des Verzögerungszeitintervalls frei ist. Der Hardware-Zeitgeber (Fig. 13c) erzeugt einen Interrupt des Niveaus 3, wenn das programmierte Zeitintervall abläuft. Auch hier muß wieder ein Zugriff auf den Kommunikationscode des Niveaus 1 erfolgen.
  • Die Erfindung erreicht eine direkte Verzweigung zum Niveau 1 durch Erzeugung "falscher Interrupts". Der normale Interrupt in der CPU ändert automatisch die Interrupt-Maske auf das richtige Niveau und führt zu einem Aufruf nach dem Interrupt- Vektor. Jede Rückkehr nach einem Interrupt wird automatisch durchgeführt und stellt die Interrupt-Maske wieder auf den vorhergehenden Wert, der von der CPU-Hardware gesichert wurde. Beim falschen Interrupt wird die Interrupt-Maske durch die Software auf den richtigen Wert geändert, bevor und nachdem ein Aufruf der Routine auf dem anderen Interrupt-Niveau erfolgt ist. Dies erlaubt den Start des Codes des Niveaus 1 vom OS oder durch Zugriff auf die Zeitgeber-Interrupt-Serviceroutine (ISR).
  • Nach Fig. 13a initialisiert sich jeder Modul beim Einschalten selbst und beginnt mit der Kommunikation mit dem PC. Wenn das Bus-Totzeitintervall abläuft, maskiert der Modul, der dies prüft, alle Interrupts und ruft (falscher Interrupt) den Start-Überwacher nur in der AM-Einheit. Der Start-Überwacher (siehe Fig. 14) ruft den Abfrageausführungsmodul (Fig. 15), der den Hardware-Zeitgeber für die Durchführung einer Verzögerung einstellt und den Vektor speichert, zu dem er am Ende der Verzögerungszeit verzweigen soll. Die Abfrageausführung kehrt dann zum Zeitablauf-Überprüfer zurück, der die Interrupt-Maske wiederherstellt und zur Ausführung zurückkehrt. Der erste falsche Interrupt ist beendet.
  • Wenn die Verzögerungszeit abläuft, gibt ein normaler Interrupt auf dem Niveau 3 die Kontrolle an die Zeitsteuer-ISR ab. Diele Routine maskiert alle Interrupts und Aufrufe zu dem in der Abfragedurchführung gespeicherten Vektor. Die Abfragedurchführung sendet dann das erste Byte des Befehls zum SCC 20 und kehrt zur Zeitsteuer-ISR zurück, die die Interrupt- Maske auf den Wert des Niveaus 3 zurückführt und zum OS zurückkehrt. Der zweite falsche Interrupt ist beendet.
  • Wenn der SCC 20 das Byte aus seinem Eingangspuffer abgegeben hat, erzeugt er einen Interrupt auf dem Niveau 1. Die Sende- ISR lädt das nächste Byte und kehrt wieder zurück. Dies wird fortgesetzt, bis das letzte Byte gesendet ist. Die Sende-ISR initialisiert dann den SCC 20 auf Empfang, stellt den Zeitgeber auf die Durchführung eines Empfangszeitablaufs ein und kehrt dann zurück.
  • Wenn der Empfang nicht innerhalb der Zeitablaufperiode geschieht, erzeugt der Zeitgeber einen Interrupt des Niveaus 3, der einen falschen Interrupt für den Start-Überwacher mit einem Kennzeichen zur Folge hat (wobei die Adresse für diesen Zweig beim Aufruf der Abfragedurchführung gesichert wurde), das dem Überwacher mitteilt, daß diese Einheit nicht antwortete. Der Überwacher ruft dann die Abfragedurchführung auf, damit eine Abfrage zur nächsten Einheit gesendet wird. Wenn die Abfragedurchführung die Verzögerungszeit einrichtet und zurückkehrt, erfolgt die Rückkehr zur Zeitgeber-ISR, die die Interrupt-Maske korrigiert und zum OS zurückkehrt. Die nächste Abfrage nimmt die gleichen Wege wie die erste.
  • Wenn der Empfang innerhalb der Zeitablaufperiode erfolgt, erzeugt der SCC einen Interrupt des Niveaus 1, der zur Empfangs-ISR verzweigt. Diese Routine speichert das erste Datenbyte und setzt ein Kennzeichen, das der Zeitgeber-ISR einfach mitteilt, zum OS zurückzukehren, wenn die Zeitablaufperiode zu Ende geht. Die Empfangs-ISR kehrt dann zurück. Jedes empfangene Byte verursacht die Wiederholung dieses Prozesses, bis das Endkennzeichen das Ende der Nachricht anzeigt. Die Empfangs-ISR verzweigt dann zum AM-Empfangsprozessor, der die Daten speichert, wenn der CRC einwandfrei ist, und er kehrt zum Start-Überwacher mit gesetztem Antwortempfangskennzeichen zurück (zur selben Stelle, an der die Zeitgeber-ISR bei Zeitabläufen verzweigt). Wenn der CRC schlecht ist, wird das Antwortempfangskennzeichen gelöscht. Die Steuerung geht nicht zum OS zurück, bis die nächste Sendeverzögerungszeit programmiert ist und die Abfrageausführung zurückkehrt.
  • Sobald das Starten beendet ist, erfolgt ein Zugriff auf den Abtast-Überwacher in der gleichen Weise wie auf den Start- Überwacher, und es erfolgt ein Zugriff auf den TSA-Ausführungsmodul (Fig. 17) wie auf den Abfragedurchführungsmodul.
  • In NM/PM-Einheiten ist kein Starten erforderlich. Der erste empfangene AM-Befehl läuft über die Empfangs-ISR zum NM/PM- Datenprozessor, der bestimmt, ob er Daten speichern, antworten oder nichts tun soll. Wenn der Befehl eine Antwort erfordert, sendet der Datenprozessor das erste Byte und kehrt zurück, wobei er den Rest der Sende-ISR überläßt. Am Ende der Antwort wird der SCC 20 auf Empfang initialisiert. Der Zeitgeber wird von NM/PM-Einheiten nicht programmiert. Es sei bemerkt, daß PMs bei der Bus-Totzeitüberprüfung zu AMs werden, wenn der AM die Übertragung angehalten hat. Sonst gibt es keine falschen Interrupts in NM/PM-Einheiten.
  • Mehrere Puffer erlauben den asynchronen Betrieb der Netzwerkschnittstelle und der PC-Schnittstelle. Der Betrieb der Puffer für Daten, die vom Netzwerk zu einem PC und von einem PC zum Netzwerk geleitet werden, ist in Fig. 21 dargestellt. Datenrahmen vom Netzwerk werden in einem Empfangspuffer geladen, bis CRC und die Länge überprüft worden sind. Wenn die Daten von einem bestimmten Knoten, beispielsweise von N, als einwandfrei festgestellt worden sind, wird der Zeiger zu diesem Empfangspuffer gegen den Zeiger auf dem Puffer des Außenknotens N ausgetauscht. Das neue Datenkennzeichen wird dann für den neuen Knoten gesetzt, so daß dem Betriebssystem mitgeteilt wird, daß neue Daten zur Verfügung stehen. Wenn der CRC oder die Länge nicht einwandfrei sind, findet kein Pufferaustausch statt, die schlechten Daten werden nicht benutzt und für den nächsten empfangenen Datenrahmen wird der gleiche Puffer benutzt.
  • Wenn das Betriebssystem beginnt, das SFIC 18 für die erste PC-Übertragung aufzufüllen, prüft es zunächst das neue Datenkennzeichen für jeden Knoten. Wenn das Kennzeichen gesetzt ist, werden die Pufferzeiger zwischen dem Betriebssystem und der Empfangspufferroutine ausgetauscht, und das Kennzeichen wird gelöscht, wobei die aktuellsten Daten im SFIC-Chip 18 festgehalten werden.
  • Wenn Daten aus dem SFIC-RAM gelesen werden, schreibt das Betriebssystem die Daten in einen der zwei Sendepuffer. Das Betriebssystem überprüft dann, ob der Sender den Sendepuffer benutzt, und es wartet, bis die Puffer nicht besetzt sind. Das Betriebssystem tauscht dann den Senderoutinepuffer mit seinem eigenen aus, wobei der Routine beim nächsten Bedarf Zugriff auf die neuen Daten gegeben wird.
  • Bei dieser Struktur werden Pufferzeiger zwischen der Interrupt-Serviceroutine (ISR) und dem Betriebssystem ausgetauscht, und es werden keine Daten kopiert oder herumbewegt.
  • Fig. 22 zeigt ein Blockschaltbild der Schaltung der lokalen Leitungskarte. Zur seriellen Kommunikationssteuereinheit SCC-20 ges endete oder davon kommende Daten werden gepuffert und durch optisch gekoppelte Trenneinheiten OCI isoliert. Die von der Trenneinheit kommenden Sendedaten werden von einer Spannungsquellenansteuerung zu einer Stromquellenansteuerung durch Verwendung von Doppel-Tri-State-Differenz-Leitungstreibern umgesetzt, und sie durchlaufen eine Schutzschaltung (zur Behandlung von Spitzen, die sie zur Energieversorgungsquelle und nach Masse ableitet) zu den Übertragungsleitungen. Empfangsdaten werden um 6 dB durch ein hochohmiges Dämpfungsglied gedämpft, verstärkt und über ein weiteres optisches Trennglied zum SCC-20 übertragen. Jede örtliche Leitungskarte ist wegen der Möglichkeit, daß Rauschstörungen als Kennzeichen gelesen werden, vorgespannt. Dies bedeutet, daß in der Ausführung mit Doppelmedium eine Unterbrechung im Kabel einen Interrupt an dem Kanal hervorrufen könnte, der mit der Bruchstelle verbunden ist, auch wenn der Modul seine Übertragungen auf dem anderen Kanal durchführte. Die interne Vorspannung vermeidet dieses Problem.
  • Mit der Sendesteuerschaltung ist auch eine Jabberstop-Schaltung verbunden, die Fehler verhindert, die darauf zurückzuführen sind, daß die Steuerung der Leitungstreiber das Netzwerk nicht herunterfahren können. Wenn die Übertragung eines einzigen Rahmens eine ausgewählte Anzahl von Bits überschreitet, in der bevorzugten Ausführung 4096 Bits, setzt die Schaltung die Treiber außer Betrieb.
  • Die Ausgangssignale der Leitungstreiber sind mit den zwei Adern des abgeschirmten verdrillten Leitungspaares des Kommunikationsbus verbunden, die mit LLM+ und LLM- bezeichnet sind. Der Leitungstreiber speist Strom in die Ader LLM+ ein und nimmt Strom aus der Ader LLM- für einen Signalzustand auf, während für den anderen das Gegenteil gilt.
  • Eine eigene ungeregelte Spannungsquelle mit £m 5 V liefert die Versorgungsenergie für die Leitungstreiber und die Empfänger.
  • Fig. 18 zeigt ein Blockschaltbild der Sonderfunktions-Schnittstellensteuereinheit SFIC 18, bei der es sich in der bevorzugten Ausführung um eine digitale, integrierte NMOS-Schaltung handelt. Die SFIC enthält einen mit dem PC gekoppelten A-Anschluß-Steuerdecodierer 18-1 und einen mit dem Kommunikationsmodul CM gekoppelten B-Anschluß-Steuerdecodierer 18-2, eine Interrupt-Register- und -Löscheinheit 18-5 zur Erzeugung von Interrupts, Steuerregister 18-4, die dem B-Anschluß ermöglichen, die relevante Betriebsart zu erkennen, einen 1K·8 RAM 18-9, der Lese- und Schreibanforderungen zum und vom PC formuliert, normale Eingabe/Ausgabe- und Statusregister 18-6, acht 1-Wort-Register, die für beide Anschlüsse zugänglich sind, mit Eingangswörtern für den PC zur Meldung des Status und Ausgangswörtern zum Steuern einer variablen Speicherstartadresse, ein Befehls-Byte 18-7 zum Einstellen der relevanten Betriebsart (Schreiben oder Lesen) im RAM 18-9, einen B-Anschluß-Adressendecodierer 18-3 sowie eine RAM-Adressensteuereinheit 18-8. Die Steuereinheit liefert Zeitsteuer-, Decodier-, Speicher- und Steuerfunktionen für die Durchführung von Blockübertragungen zwischen den Kommunikationsmodulen und dem PC; sie hat die Form eines Dual-in-line-Gehäuses mit vierzig Anschlußstiften. Die Steuereinheit 18 ermöglicht dem CM, Daten aus einem PC der Serien 500 zu lesen und zu schreiben, wobei sie die Logik zur Verfügung stellt, mit deren Hilfe bis zu acht Datenblöcke aus jeweils 128 Bytes nacheinander zwischen dem internen 1K·8 RAM 18-9 und einem PC der Serie 500 übertragen werden können. Die Steuereinheit sorgt für die Adressensteuerung für den auf der Leiterplatte befindlichen RAM, während die Anfangsblockadresse von außerhalb der Steuereinheit her konfigurierbar ist. Die Steuereinheit 18 stellt ferner fünf 8-Bit-Statusregister zur Verfügung, um den Typ der Sonderfunktion zu identifizieren, in dem sie sich befindet, wobei diese von außerhalb der Steuereinheit her konfiguriert werden. Die Steuereinheit 18 sorgt für die Decodierlogik zum Interpretieren von Steuerbytes aus einem PC der Serien 500, und sie antwortet richtig auf nachfolgende Steuersignale und führt die angewiesenen Übertragungen aus. Die Steuereinheit 18 stellt auch eine Logik zum Erkennen von Interrupt-Bedingungen zur Verfügung, und sie gibt diese zu den SF-Steuergeräten, die CPU weiter. Zusätzlich sorgt die Steuereinheit für die Logik zur Ermöglichung einer konfigurierbaren normalen Eingabe/Ausgabe-Fähigkeit von bis zu acht Eingabe/Ausgabe-Punkten der Serien 500, entweder als Eingabe oder als Ausgabe in Wortform oder diskret.
  • Die Steuereinheit 18 stellt zwei getrennte Steuer-Schnittstellenanschlüsse A und B zur Verfügung, die zwei externen Geräten (der CPU und dem PC) ein unabhängiges Steuern des Lesens und Schreibens in interne Register und in den internen 1K·8 RAM 18-9 ermöglichen.
  • Der A-Anschluß bildet die Schnittstelle mit dem PC, und er besteht aus einem 8-Bit-Datenbus A:D0 bis A:D7 (A-Anschluß- Datenbus) mit bidirektionalen Datenleitungen, über die Datensteuer- oder Satusinformationen zu der oder von der Steuereinheit übertragen werden, aus einer 4-Bit-Kanaladresse A:CA0 bis A:CA3 in Form binärcodierter Leitungen, die den bestimmten Kanal angeben, auf den zugegriffen werden soll und der dazu benutzt wird, verschiedene Statusregister zu lesen und normale Wort-Eingabe/Ausgabe-Datenbytes und sechs Steuersignale zu lesen oder zu schreiben. Ein im niedrigen Zustand aktives Signal an A:CS* (A-Anschluß-Chip-Auswahl) veranlaßt die Steuereinheit, eine Datenübertragung über den A-Anschluß- Datenbus auszuführen. Ein Steuersignal zur Steuereinheit 18 an A:ST* (A-Anschluß-Datenstatus-Auswahl) zeigt an, ob die Information, die über den A-Anschluß-Datenbus übertragen werden soll, eine Daten- oder eine Statusinformation ist. Ein Steuersignal zur Steuereinheit 18 an A:WE* (A-Anschluß-Lese- Schreib-Auswahl) zeigt an, in welcher Richtung die Information am A-Anschluß-Datenbus übertragen werden soll. Ein Steuersignal an A:IOC* (A-Anschluß Eingabe/Ausgabe-Zyklus vollendet) zeigt an, daß ein normaler Eingabe/Ausgabe-Zyklus am A- Anschluß beendet ist. Ein Steuersignal an A:IOD (A-Anschluß- Eingabe/Ausgabe-Abschaltung) schaltet normale Ausgaben ab. Ein Ausgangssignal aus der Steuereinheit 18 an A:IOFAIL* informiert die A-Anschluß-Steuereinheit 18-2, daß sofort Dienste benötigt werden. Dies wird durch Lesen der Statusregisterinhalte zurückgestellt.
  • Der B-Anschluß liefert Signale, die zur steuernden CPU innerhalb des Kommunikationsmoduls CM übertragen werden, und sie umfassen B:D0-B:D7 (B-Anschluß-Datenbus), acht Datenleitungen, über die die Steuereinheit 18 Daten und Steuersignale schickt, B:AD0-B:AD6 (B-Anschluß-Adresse), sieben Adreßleitungen, die die Quelle oder die Bestimmung der Daten- und Steuerinformation am B-Anschluß identifizieren, sowie die folgenden Steuersignale. Ein Signal an B:CS* (B-Anschluß- Chipauswahl) gibt die Steuereinheit 18 frei, um die B-Anschluß-Steuersignale zu interpretieren. Ein Steuersignal an B:WE* geht mit B:CS* hin den niedrigen Zustand über, um in die Steuereinheit 18 zu schreiben. Die Hauptrückstellung für den Chip ist aktiv, wenn sowohl B:RD* und B:WE* im niedrigen Zustand gehalten werden. Ein Steuersignal an B:RD* (B-Anschluß- Lesefreigabe) geht mit B:SC* hin den niedrigen Zustand über, damit aus der Steuereinheit 18 gelesen wird. Die Hauptrückstellung für den Chip ist aktiv, wenn sowohl B:RD* und B:WE* im niedrigen Zustand gehalten sind. Ein fortgesetztes Taktsignal von 2,5 MHz bis 4 MHz wird an B:CLK (B-Anschluß-Takteingang) geliefert. Ein Ausgangssignal an B:INT* (B-Anschluß- Interrupt) informiert die B-Anschluß-Steuereinheit, daß Achtung benötigt wird. Die Ursache des Interrupt ist in einem lesbaren Interrupt-Register festgehalten.
  • Der B-Anschluß-Steuerdocierer 18-2 decodiert die sieben B-Anschluß-Adressenleitungen, wenn die B:CS*-Impulse niedrig sind, und er arbeitet auf der Basis des HEX-Adressencodes.
  • Ein A-Anschluß-Steuerdecodierer 18-1 benutzt die Bedingungen an den A-Anschluß-Leitungen A:WE* und A:ST*, um zu bestimmen, welche Aktion benötigt wird, wenn die A:CS*-Impulse niedrig sind, und er arbeitet auf der Basis dieser Steuerleitungen und der vorangehenden Ablaufaufzeichnung.
  • Die Steuereinheit 18 führt eine Datenblockübertragung zwischen RAM 18-9 und dem A-Anschluß sowie Datenübertragungen zwischen den normalen Eingabe/Ausgabe-Registern 18-6 und dem A-Anschluß durch. Die RAM-Adressensteuereinheit 18-8 treibt die Adressenleitungen des RAM 18-9 entsprechend der Einstellung der Steuerregister 18-4. Vom Register 18-5 wird eine Interrupt-Logik zur Verfügung gestellt, die durch Einstellen eines geeigneten Bits in dem Register zum B-Anschluß weitergegeben wird.
  • In den Fig. 24 und 25 sind Kurven gezeigt, die die Netzwerkleistung zeigen, die durch den Sendebus für unterschiedliche Anzahlen von Knoten und Anzahlen von Wörtern, die pro Knoten übertragen werden, erzielt wird. Fig. 24 zeigt die Leistung für die erste Ausführungsform und Fig. 25 für die zweite Ausführungsform. Diese Kurven geben die für Nachrichten-Zeitabläufe und Verzögerungen des aktiven Monitors zwischen der empfangenen Nachricht und den nächsten Zeitschlitzzuweisungen gewählten Werte wieder.
  • Angesichts der obigen Ausführungen ist zu erkennen, daß gemäß der Erfindung ein System und ein Verfahren geschaffen worden sind, mit deren Hilfe eine kleine Datenmenge zwischen PCs mit einer Geschwindigkeit übertragen werden kann, die sehr nahe bei der Abtastzeit der PCs liegt, wobei die Datenintegrität und eine hohe Zuverlässigkeit gewährleistet werden können, und die beträchtlich kostengünstiger als herkömmliche SCADA- Lösungen sind. Das bei der Erfindung angewendete Protokoll enthält sowohl die Initialisierung als auch die Wartung des Netzwerks in einer Weise, in der Konflikte zwischen Knoten bezüglich des Rechts zum Senden gelöst werden, während gewährleistet wird, daß jeder Knoten die Möglichkeit hat, seine Nachrichten zu senden, wobei die Hinzufügung und das Entfernen von Knoten ohne Konflikt ermöglicht wird.
  • Die Anwendung einer geschlossenen Systemstruktur, in der die Länge des Nachrichtenrahmens optimiert ist, wie bei einer Abfrage und bei TSA-Befehlen, die sehr kurz sind, da keine Datenwörter enthalten sind, gekoppelt mit der Tatsache, daß alle Nachrichten über das Netzwerk für den Empfang durch alle Knoten ausgesendet werden, resultiert in einer effizienten Anwendung der Bus-Bandbreite.
  • Die zwei Ausführungsformen ergeben eine Auswahl der Fehlertoleranz, die ausgewählt werden kann, um für einen bestimmten industriellen Prozeß und eine Fabrikumgebung, in der das Netzwerk angewendet wird, am besten geeignet zu sein.

Claims (23)

1. Steuersystem für verteilte Prozesse mit einem Kommunikationsbus (12), mehreren programmierbaren Prozeßsteuereinheiten (PC&sub0;, PC&sub1;, PCn-i), die jeweils über Kommunikationsmodulmittel (CM&sub0;, CM&sub1;, CMn-1) mit dem Bus gekoppelt sind, wobei die Kommunikationsmodulmittel die Übertragung eng gekoppelter Informationen unter den Steuereinheiten steuern, wobei jede programmierbare Prozeßsteuereinheit abhängig von Eingangssignalen (I/O&sub0;, I/On-1), die sich auf den Prozeß beziehen, Ausgangssignale zum Steuern ausgewählter Geräte erzeugen, die den Prozeß bewirken, wobei jedes Kommunikationsmodulmittel über den Bus Daten senden und empfangen kann und als aktiver Monitor arbeiten kann, der die ausschließliche Steuerung über die Datenübertragungsaktivität auf den Bus ausübt, wobei jedes Kommunikationsmodulmittel ferner als Nicht-Monitor arbeiten kann, wobei während des Betriebs an jedem Zeitpunkt immer nur ein aktiver Monitor vorhanden ist und im Betrieb die Nicht-Monitore nur dann senden, wenn sie durch den aktiven Monitor dazu freigegeben sind, dadurch gekennzeichnet, daß die Nicht-Monitore Daten zu allen anderen Kommunikationsmodulmitteln senden können, daß der aktive Monitor ausschließlich die Steuerung über die Sendeaktivität auf den Bus ausübt, indem er jedem der Kommunikationsmodulmittel Zeitschlitze zuteilt und jedes der anderen Kommunikationsmodulmittel freigibt, Daten während dieses Zeitschlitzes auf den Bus zu senden, und daß jedes Kommunikationsmodulmittel auch als passiver Monitor arbeiten kann, der zusätzlich zum Aussenden von Daten zu allen anderen Modulmitteln bei einer solchen Freigabe durch den aktiven Monitor auch die Sendeaktivität überwacht und nach einer ausgewählten Zeitdauer ohne Sendeaktivität zum aktiven Monitor wird, wobei das System Zeitsteuermittel enthält, die eine Anzeige des Ablaufs der ausgewählten Zeitdauer liefern, und Mittel enthält, die eines der Kommunikationsmodulmittel, das nicht der aktive Monitor ist, als passiven Monitor zuordnen.
2. System nach Anspruch 1, bei welchem der aktive Monitor vorherbestimmt ist.
3. System nach Anspruch 1, bei welchem jedes Kommunikationsmodulmittel als aktiver Monitor arbeiten kann und bei welchem die Anordnung Mittel enthält, um eines der Modulmittel als einen vom Benutzer gewählten aktiven Monitor auszuwählen.
4. System nach Anspruch 1, Anspruch 2 oder Anspruch 3, bei welchem die Steuereinheiten Speichermittel und Mittel zum selektiven Auswählen der Plazierung der eng gekoppelten Informationen in den Speichermitteln enthalten, so daß sie von und zu den Kommunikationsmodulmitteln zugänglich sind.
5. System nach einem der Ansprüche 1 bis 4 zum Auswählen aus eins bis sechzehn Wörtern, die die Kommunikationsmodulmittel senden können.
6. System nach einem der Ansprüche 1 bis 5 mit Kommunikationstreibermitteln zum Senden von Informationen in Form von Nachrichtenrahmen auf dem Kommunikationsbus und ferner mit Schaltungsmitteln zum Deaktivieren der Kommunikationstreibermittel für den Fall, daß der Nachrichtenrahmen eine gewählte Länge überschreitet.
7. System nach einem der Ansprüche 1 bis 6, bei welchem die Kommunikationsmodulmittel Wortbestätigungsmittel enthalten, die gegebene Informationen bestätigen können, die von einem Kommunikationsmodulmittel empfangen werden, ohne daß der Empfang dieser gegebenen Informationen bestätigt wird.
8. System nach einem der Ansprüche 1 bis 7, bei welchem jedes Kommunikationsmodulmittel Schaltermittel zum Auswählen einer anderen Anzahl von Datenwörtern für jedes Modulmittel zum Senden über das Netz während seines Zeitschlitzes enthält.
9. System nach Anspruch 8, bei welchem die Schaltermittel jede Anzahl von Datenwörtern von eins bis sechzehn auswählen können.
10. Verfahren zum Steuern von Netz-Buskommunikationen für eng gekoppelte Informationen unter verteilten programmierbaren Steuereinheiten (PC&sub0;, . . . PCn-1), die an einen Kommunikationsbus (12) angeschlossen sind, wobei jede Steuereinheit an einen Knotenpunkt über ein Kommunikationsmodulmittel (CM&sub0;, . . . CMn-1) mit dem Kommunikationsbus gekoppelt ist, das Daten über den Kommunikationsbus senden und empfangen kann, wobei das Kommunikationsmodulmittel als aktiver Monitor arbeiten kann, der das Netz abtastet und die ausschließliche Steuerung über die Sendetätigkeit auf dem Netz ausübt, und als Nicht- Monitor arbeiten kann, der bei Freigabe durch den aktiven Monitor Daten über den Bus sendet und empfängt, und bei welchem nur eines der Kommunikationsmodulmittel als aktiver Monitor zum Steuern der Übertragungen auf den Bus bestimmt wird, dadurch gekennzeichnet, daß die Nicht-Monitore Daten auf den Bus senden, wenn sie durch den aktiven Monitor freigegeben werden, wobei der aktive Monitor bei Aktivierung bei seinem ersten Netzabtastvorgang eine Abfrage an jedes an den Bus angeschlossene Kommunikationsmodulmittel sendet, um festzustellen, welche Kommunikationsmodulmittel eingeschaltet und aktiv am Bus sind, wobei die abgefragten Kommunikationsmodulmittel freigegeben werden und ihre Daten auf den Kommunikationsbus senden, wobei der aktive Monitor eine Liste der Kommunikationsmodulmittel erstellt, die auf die Abfrage als am Bus aktives Kommunikationsmodulmittel antworten, wobei der aktive Monitor während jedes normalen folgenden Abtastvorgangs einen Teil der Abtastung für jedes Kommunikationsmodulmittel, das in der Liste enthalten ist, als Zeitschlitz (TSA) zuweist und die TSA der Reihe nach zu jedem in der Liste enthaltenen Kommunikationsmodulmittel sendet, wobei das die TSA empfangende Kommunikationsmodulmittel freigegeben wird und seine Daten über den Kommunikationsbus zu jedem anderen Kommunikationsmodulmittel am Bus sendet.
11. Verfahren zum Steuern von Netz-Buskommunikationen für eng gekoppelte Informationen nach Anspruch 10, bei welchem n Kommunikationsmodulmittel mit dem Kommunikationsbus gekoppelt sind, und ferner mit dem Schritt des Sendens einer Abfrage an ein einziges, jedoch anderes Kommunikationsmodulmittel in jedem Netzabtastvorgang, so daß alle Kommunikationsmodulmittel, die an das Netz angeschlossen sind, einmal pro n Netzabtastvorgängen geprüft werden, damit die Liste der am Netz aktiven Kommunikationsmodulmittel kontinuierlich aktualisiert wird.
12. Verfahren zum Steuern von Netz-Buskommunikationen für eng gekoppelte Informationen nach Anspruch 10 oder 11, bei welchem die Kommunikationsmodulmittel auch als passiver Monitor arbeiten können, der zusätzlich zum Aussenden von Daten zu allen anderen Kommunikationsmodulmitteln am Netz im freigegebenen Zustand auch zu einem aktiven Monitor werden können, der die ausschließliche Überwachungssteuerung über die Sendeaktivität am Netz ausübt, ferner enthaltend den Schritt, den aktiven Monitor zu veranlassen, eines der übrigen mit dem Netz gekoppelten Kommunikationsmodulmittel als passiven Monitor zu bestimmen, wobei der passive Monitor das Netz kontinuierlich auf die Anwesenheit einer Sendeaktivität überwacht und wobei der passive Monitor jede Periode zeitlich steuert, in der keine Sendeaktivität vorliegt, und bei Auftreten der Abwesenheit einer solchen Sendeaktivität für eine ausgewählte Zeitdauer die ausschließliche Überwachungssteuerung über die Sendeaktivität des Netzes als aktiver Monitor übernimmt.
13. Verfahren zum Steuern von Netz-Buskommunikationen für eng gekoppelte Informationen nach Anspruch 12, bei welchem alle im Netz aktiven Kommunikationsmodulmittel eine Liste aller anderen im Netz aktiven Kommunikationsmodulmittel enthalten, und ferner enthaltend den Schritt, bei dem der passive Monitor, der die Steuerung der Sendeaktivität des Netzes übernommen hat, eines der übrigen im Netz aktiven Kommunikationsmodulmittel als passiven Monitor bestimmt.
14. Verfahren zum Steuern von Netz-Buskommunikationen für eng gekoppelte Informationen unter verteilten programmierbaren Steuereinheiten gemäß Anspruch 12 oder 13, enthaltend den Schritt, daß der bestimmte aktive Monitor beim Entfernen aus dem Netz und beim Reaktivieren am Netz am Senden gehindert wird, bis das erste von den zwei folgenden Ereignissen eintritt: erstens: es tritt eine ausgewählte Zeitperiode auf, in der keine Kommunikationen am Bus gesendet werden, und zweitens: der bestimmte aktive Monitor empfängt eine an ihn gerichtete Abfrage, wobei an diesem Zeitpunkt der bestimmte aktive Monitor die Überwachungssteuerung über das Netz wieder aufnimmt.
15. Verfahren zum Steuern von Netz-Buskommunikationen für eng gekoppelte Informationen unter verteilten programmierbaren Steuereinheiten nach Anspruch 12, 13 oder 14, ferner enthaltend den Schritt, daß der aktive Monitor die Rolle des passiven Monitors wieder einem anderen Modul zuordnet, falls der zuvor zugeordnete passive Monitor nicht auf seine TSA oder Abfrage antwortet.
16. Verfahren zum Steuern von Netz-Buskommunikationen für eng gekoppelte Informationen unter verteilten programmierbaren Steuereinheiten nach Anspruch 15, enthaltend den Schritt, daß das als passiver Monitor erneut zugeordnete Kommunikationsmodulmittel seine Zuordnung bestätigt und alle anderen passiven Monitorzuordnungen aufhebt, so daß nur ein Kommunikationsmodulmittel als passiver Monitor arbeitet.
17. Verfahren zum Steuern von Netz-Buskomminunikationen für eng gekoppelte Informationen unter verteilten programmierbaren Steuereinheiten nach einem der Ansprüche 12 bis 16, enthaltend den Schritt, daß beim Empfang von Daten durch einen aktiven Monitor von einem anderen aktiven Monitor der empfangende aktive Monitor am Senden gehindert wird, bis das erste der zwei folgenden Ereignisse eintritt: erstens: es tritt eine ausgewählte Zeitperiode ohne das Senden von Kommunikationen am Bus auf; und zweitens: der empfangende aktive Monitor empfängt eine an ihn adressierte Abfrage, wobei an diesem Zeitpunkt der empfangende aktive Monitor die Überwachungssteuerung über das Netz wieder aufnimmt, während der sendende aktive Monitor ein passiver Monitor wird.
18. Verfahren zum Steuern von Netz-Buskommunikationen für eng gekoppelte Informationen nach einem der Ansprüche 10 bis 17, bei welchem der Kommunikationsbus Doppelmedien enthält und jedes Kommunikationsmodulmittel zwei Anschlüsse aufweist, wobei einer des Paars jedes Kommunikationsmittels an das eine Medium und der andere des Paars jedes Kommunikationsmodulmittels an das andere Medium angeschlossen ist, wobei der Schritt des Aussendens einer Abfrage das Senden der Abfrage zu jedem Anschluß jedes Kommunikationsmodulmittels umfaßt, wobei das Nicht-Monitor-Kommunikationsmodulmittel für den Empfang von Informationen auf beiden Medien vorbereitet ist und das Nicht-Monitor-Kommunikationsmodulmittel, das abgefragt wird, durch die Abfrage für ein Antworten durch Aussenden seiner Daten über das gleiche Medium freigegeben wird, auf dem es die Abfrage empfangen hat, wobei der aktive Monitor die Anzahl der Antworten auf jedem Medium vergleicht und weitere Aussendungen von allen aktiven Kommunikationsmodulmitteln auf das Medium lenkt, an dem die größte Anzahl von Antworten empfangen wurde.
19. Verfahren zum Steuern von Netz-Buskommunikationen für eng gekoppelte Informationen unter verteilten programmierbaren Steuereinheiten nach einem der Ansprüche 10 bis 18, enthaltend den Schritt der Wiederzuordnung eines TSA zum nächsten Kommunikationsmodulmittel in der Liste, wenn ein Kommunikationsmodulmittel seine Daten nicht innerhalb einer gegebenen Zeitablaufperiode aussendet, so daß die wirksame Nutzung des Netzabtastvorgangs optimiert wird.
20. Verfahren zum Steuern von Netz-Buskommunikationen für eng gekoppelte Informationen unter verteilten programmierbaren Steuereinheiten nach einem der Ansprüche 10 bis 19, enthaltend den Schritt, daß jedes Kommunikationsmodulmittel von ihm empfangene Informationen bestätigt und jeden aktiven Monitor aus der Überwachungssteuerung des Netzes beim Auftreten einer aiisgewählten Anzahl aufeinanderfolgender Informationsbestätigungen aus dem Netz entfernt.
21. Verfahren zum Steuern von Netz-Buskommunikationen für eng gekoppelte Informationen unter verteilten programmierbaren Steuereinheiten nach einem der Ansprüche 10 bis 20, enthaltend den Schritt, daß jeder Knotenpunkt eine Liste aktiver Module am Netz erstellt und aufrechterhält.
22. Verfahren zum Steuern von Netz-Buskommunikationen für eng gekoppelte Informationen gemäß einem der Ansprüche 10 bis 20, bei welchem jedes Kommunikationsmodulmittel eine ausgewählte Anzahl von Datenwörtern während seiner Zeitschlitzzuordnung unabhängig von der Anzahl von Wörtern aussendet, die für andere Kommunikationsmodulmittel am Netz ausgewählt sind.
23. Verfahren zum Steuern von Netz-Buskommunikationen für eng gekoppelte Informationen gemäß einem der Ansprüche 10 bis 22, bei welchem die für jeden Abtastvorgang des Netzes vom aktiven Monitor benötigte Zeit von der Anzahl von Datenwörtern abhängt, die zum Aussenden durch jedes im Netz aktive Kommunikationsmodulmittel ausgewählt ist.
DE86302360T 1985-04-03 1986-03-27 System und Verfahren zur Busübertragungssteuerung für eng gekoppelte Nachrichten zwischen verteilten programmierbaren Steuergeräten. Expired - Fee Related DE3689052T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/719,174 US4680753A (en) 1985-04-03 1985-04-03 System and method for controlling network bus communications for input-output interlocking information among distributed programmable controllers

Publications (2)

Publication Number Publication Date
DE3689052D1 DE3689052D1 (de) 1993-10-28
DE3689052T2 true DE3689052T2 (de) 1994-01-13

Family

ID=24889046

Family Applications (1)

Application Number Title Priority Date Filing Date
DE86302360T Expired - Fee Related DE3689052T2 (de) 1985-04-03 1986-03-27 System und Verfahren zur Busübertragungssteuerung für eng gekoppelte Nachrichten zwischen verteilten programmierbaren Steuergeräten.

Country Status (4)

Country Link
US (1) US4680753A (de)
EP (1) EP0200365B1 (de)
JP (1) JPH0624371B2 (de)
DE (1) DE3689052T2 (de)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS582904A (ja) * 1981-06-27 1983-01-08 Omron Tateisi Electronics Co プログラマブル・ロジツク・コントロ−ラ
DE3424866C2 (de) * 1984-07-06 1986-04-30 Messerschmitt-Bölkow-Blohm GmbH, 8012 Ottobrunn Verfahren und Anordnung zur Übertragung von Daten, insbesondere in einem Flugzeug
DE3534216A1 (de) * 1985-09-25 1987-04-02 Bayerische Motoren Werke Ag Datenbussystem fuer fahrzeuge
US4747130A (en) * 1985-12-17 1988-05-24 American Telephone And Telegraph Company, At&T Bell Laboratories Resource allocation in distributed control systems
US5007013A (en) * 1986-04-01 1991-04-09 Westinghouse Electric Corp. Bidirectional communication and control network with programmable microcontroller interfacing digital ICS and controlled product
GB8612396D0 (en) * 1986-05-21 1986-06-25 Hewlett Packard Ltd Chain-configured interface bus system
JP2761872B2 (ja) * 1987-03-20 1998-06-04 株式会社日立製作所 多元情報交換方法及びそのための装置
US5241627A (en) * 1987-04-09 1993-08-31 Tandem Computers Incorporated Automatic processor module determination for multiprocessor systems for determining a value indicating the number of processors
DE3855615T2 (de) * 1987-04-09 1997-03-06 Tandem Computers Inc Automatische Bestimmung der Anzahl von Prozessormodulen für Multiprozessorsysteme
US4933846A (en) * 1987-04-24 1990-06-12 Network Systems Corporation Network communications adapter with dual interleaved memory banks servicing multiple processors
US4926375A (en) * 1987-05-05 1990-05-15 Ge Fanuc Automation North America, Inc. Multiple nodes broadcast communication method with receiver identification by bit position in transferred massage
US5038318A (en) * 1987-12-17 1991-08-06 Square D Company Device for communicating real time data between a programmable logic controller and a program operating in a central controller
JPH01237752A (ja) * 1988-03-17 1989-09-22 Nec Corp 情報ネットワークシステム
US4992926A (en) * 1988-04-11 1991-02-12 Square D Company Peer-to-peer register exchange controller for industrial programmable controllers
US4897777A (en) * 1988-04-11 1990-01-30 Square D Company Peer-to-peer register exchange controller for PLCS
FR2631763B1 (fr) * 1988-05-18 1990-08-10 Telemecanique Electrique Procede pour la transmission d'informations entre des entites aptes a emettre et/ou a recevoir des informations
US4882729A (en) * 1988-08-07 1989-11-21 Motorola, Inc. Paging controller having a multiplex bus arrangement
EP0378115B1 (de) * 1989-01-06 1998-09-30 Hitachi, Ltd. Neuronaler Rechner
US5093829A (en) * 1990-04-16 1992-03-03 Motorola, Inc. Communication system network
US5070499A (en) * 1990-04-16 1991-12-03 Motorola, Inc. Communication system interface module for use within a communication system network
US5272702A (en) * 1991-08-05 1993-12-21 Fisher Controls International, Inc. Integrity mapping in data communication system
IL99142A0 (en) * 1991-08-09 1992-07-15 Dov Greenspon Controller for coupling a computer to intelligent and dumb terminals
US5295137A (en) * 1992-02-12 1994-03-15 Sprint International Communications Corp. Connection establishment in a flat distributed packet switch architecture
CA2091093C (en) * 1992-03-06 1999-07-06 Peter C. Di Giulio Event driven communication network
US5452419A (en) * 1992-03-06 1995-09-19 Pitney Bowes Inc. Serial communication control system between nodes having predetermined intervals for synchronous communications and mediating asynchronous communications for unused time in the predetermined intervals
US5390351A (en) * 1992-03-06 1995-02-14 Pitney Bowes Inc. System for communicating with plural nodes in predetermined intervals depended on integers assigned and changed based upon configuration thereof
US5276859A (en) * 1992-03-09 1994-01-04 Cabletron Systems, Inc. Accelerated token ring network
US5398331A (en) * 1992-07-08 1995-03-14 International Business Machines Corporation Shared storage controller for dual copy shared data
JP2750315B2 (ja) * 1993-05-14 1998-05-13 インターナショナル・ビジネス・マシーンズ・コーポレイション 識別子の指定方法およびコンピュータ・システム
JPH06337838A (ja) * 1993-05-28 1994-12-06 Fujitsu Ltd ユニット実装/非実装検出方法
US5907690A (en) * 1993-06-03 1999-05-25 Lockheed Martin Corporation Modular interface devices for a distributed input/output system
US5365512A (en) * 1993-07-02 1994-11-15 Ericsson Ge Mobile Communications Inc. Multisite trunked RF communication system with reliable control messaging network
US5452201A (en) * 1993-08-24 1995-09-19 Allen-Bradley Company, Inc. Industrial controller with highly distributed processing
AU1974795A (en) * 1994-03-03 1995-09-18 Proxim, Inc. Frequency hopping medium access control protocol
US5568402A (en) * 1994-04-11 1996-10-22 Gse Process Solutions, Inc. Communication server for communicating with a remote device
US5603059A (en) * 1994-04-22 1997-02-11 Pitney Bowes Inc. Software architecture system having a virtual I/O channel including multi-layered communication interface in between virtual stations and physical modules
US6006017A (en) * 1995-05-02 1999-12-21 Motorola Inc. System for determining the frequency of repetitions of polling active stations relative to the polling of inactive stations
US6094600A (en) * 1996-02-06 2000-07-25 Fisher-Rosemount Systems, Inc. System and method for managing a transaction database of records of changes to field device configurations
US5761421A (en) * 1996-03-25 1998-06-02 Sun Microsystems, Inc. System and method for secure peer-to-peer communication between downloaded programs
US5828851A (en) 1996-04-12 1998-10-27 Fisher-Rosemount Systems, Inc. Process control system using standard protocol control of standard devices and nonstandard devices
FR2748333B1 (fr) * 1996-05-06 1998-11-27 Inside Technologies Procede pour selectionner un module electronique parmi une pluralite de modules presents dans le champ d'interrogation d'un terminal
CA2264663C (en) * 1996-08-29 2004-11-09 Bausch & Lomb Surgical, Inc. Dual loop frequency and power control
DE19643092C2 (de) * 1996-10-18 1998-07-30 Elan Schaltelemente Gmbh Feld-Datenbussystem
GB2318642A (en) * 1996-10-26 1998-04-29 Stephen Magee Self-adjustiing electrode for sensing galvanic skin resistance
FR2764759B1 (fr) * 1997-06-16 1999-09-03 Texas Instruments France Dispositif de controle de periodicite des messages transitant sur un reseau multiplexe de transmission d'une formation de type can
US6421570B1 (en) * 1997-08-22 2002-07-16 Honeywell Inc. Systems and methods for accessing data using a cyclic publish/subscribe scheme with report by exception
US6104875A (en) * 1997-12-18 2000-08-15 Honeywell Inc. Method for field programming an industrial process transmitter
DE19801137A1 (de) 1998-01-14 1999-07-22 Siemens Ag Fehlersichere Prozesseingabe und Prozessausgabe
US6370146B1 (en) * 1998-06-29 2002-04-09 Lucent Technologies Inc. Method and apparatus for non-disruptive addition of a new node to an inter-nodal network
US6490493B1 (en) 1999-01-21 2002-12-03 Rosemount Inc. Industrial process device management software
US6363496B1 (en) * 1999-01-29 2002-03-26 The United States Of America As Represented By The Secretary Of The Air Force Apparatus and method for reducing duration of timeout periods in fault-tolerant distributed computer systems
JP3275871B2 (ja) * 1999-02-24 2002-04-22 日本電気株式会社 プリンタシステム及びそれに用いるプリンタ
US6366826B1 (en) * 1999-02-26 2002-04-02 Voith Paper Automation, Inc. Publication distribution system
DE19927635B4 (de) * 1999-06-17 2009-10-15 Phoenix Contact Gmbh & Co. Kg Sicherheitsbezogenes Automatisierungsbussystem
US6618630B1 (en) 1999-07-08 2003-09-09 Fisher-Rosemount Systems, Inc. User interface that integrates a process control configuration system and a field device management system
US6140926A (en) * 1999-07-21 2000-10-31 Hewlett-Packard Company Redundant status indicators for fault tolerance
KR100644572B1 (ko) * 1999-10-02 2006-11-13 삼성전자주식회사 디렉토리 서버에서 단말기 동작 판단장치 및 방법
EP2327385B1 (de) 1999-12-29 2016-03-16 Hill-Rom Services, Inc. Patientenliege mit Gitter
EP1335537A1 (de) * 2002-02-01 2003-08-13 Thomson Licensing S.A. Verfahren zur Beurteilung von Funkverbindungen in einem Kommunikationsnetz
US8751616B2 (en) * 2004-06-08 2014-06-10 Siemens Industry, Inc. System for accessing and browsing a PLC provided within a network
US7961867B2 (en) * 2004-07-29 2011-06-14 Aspect Software, Inc. Peer to peer application processor
US20060142874A1 (en) * 2004-12-23 2006-06-29 Pettigrew David D Jr System for reducing electrical wiring in complex apparatus, such as vehicles and aircraft
US7580146B2 (en) * 2005-03-22 2009-08-25 Xerox Corporation Hierarchical architecture for a distributed and scalable network printing system
US20070136476A1 (en) * 2005-12-12 2007-06-14 Isaac Rubinstein Controlled peer-to-peer network
US20080307005A1 (en) * 2007-06-09 2008-12-11 Pettigrew Jr David D System for reducing electrical wiring in complex apparatus, such as vehicles and aircraft
US20090122795A1 (en) * 2007-11-14 2009-05-14 Nokia Corporation Method and apparatus for providing a shared message
EP2107721A1 (de) * 2008-03-31 2009-10-07 Sony Corporation Elektronische Vorrichtung und Verfahren zur Überwachung von Kommunikation in einem Netzwerk
KR101548959B1 (ko) * 2008-06-04 2015-09-01 삼성전자주식회사 패킷 통신 시스템에서 네트워크 주소 설정을 위한 장치 및방법
US8351465B2 (en) 2009-12-04 2013-01-08 Cable Television Laboratories, Inc. System and method of decoupling media access control (MAC) and physical (PHY) operating layers
WO2011080142A1 (en) 2009-12-21 2011-07-07 Thomson Licensing Method for generating an environment map
US9927788B2 (en) 2011-05-19 2018-03-27 Fisher-Rosemount Systems, Inc. Software lockout coordination between a process control system and an asset management system
CN102426445A (zh) * 2011-11-24 2012-04-25 中铁工程设计院有限公司 列检库双余度智能安全保障及联锁监控系统
CN109586978B (zh) * 2018-12-28 2022-03-18 浙江中控研究院有限公司 总线拓扑网络自组网方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5155603A (en) * 1974-11-11 1976-05-15 Hitachi Ltd Deeta haiueisochi
FR2294487A1 (fr) * 1974-12-13 1976-07-09 Dassault Avions Procede pour echanger des informations en langage binaire entre une multiplicite de dispositifs emetteurs et de dispositifs recepteurs et installation pour la mise en oeuvre de ce procede
JPS5215204A (en) * 1975-07-26 1977-02-04 Fuji Electric Co Ltd Informatioon transmission system
US4296464A (en) * 1977-03-03 1981-10-20 Honeywell Inc. Process control system with local microprocessor control means
FR2406916A1 (fr) * 1977-10-18 1979-05-18 Ibm France Systeme de transmission de donnees decentralise
CH632365A5 (de) * 1978-01-30 1982-09-30 Patelhold Patentverwertung Datenaustauschverfahren zwischen mehreren partnern.
JPS5810021B2 (ja) * 1978-05-24 1983-02-23 富士通株式会社 時分割多重ネツトワ−ク・システム
US4251865A (en) * 1978-12-08 1981-02-17 Motorola, Inc. Polling system for a duplex communications link
JPS5652949A (en) * 1979-10-05 1981-05-12 Hitachi Ltd Interruption control method
JPS56108103A (en) * 1980-01-31 1981-08-27 Toshiba Corp Data transmission system of digital control device
US4409656A (en) * 1980-03-13 1983-10-11 Her Majesty The Queen, In Right Of Canada As Represented By The Minister Of National Defense Serial data bus communication system
JPS5840947A (ja) * 1981-09-04 1983-03-10 Oki Electric Ind Co Ltd チャンネル多重化方式
JPS5843648A (ja) * 1981-09-09 1983-03-14 Toshiba Corp コミユニケ−シヨン方式
JPS5860346A (ja) * 1981-10-06 1983-04-09 Fujitsu Ltd 端末接続状況管理方式

Also Published As

Publication number Publication date
DE3689052D1 (de) 1993-10-28
US4680753A (en) 1987-07-14
JPH0624371B2 (ja) 1994-03-30
EP0200365B1 (de) 1993-09-22
EP0200365A2 (de) 1986-11-05
JPS61257039A (ja) 1986-11-14
EP0200365A3 (en) 1989-06-28

Similar Documents

Publication Publication Date Title
DE3689052T2 (de) System und Verfahren zur Busübertragungssteuerung für eng gekoppelte Nachrichten zwischen verteilten programmierbaren Steuergeräten.
DE69033050T2 (de) Verfahren zur Feststellung eines fehlerhaften Kabels und zur Umschaltung zu einem redundanten Kabel in einem universellen Netz
DE3486148T2 (de) Fehlertolerantes Übertragungssteuersystem.
DE3043894C2 (de)
DE3300261C2 (de)
DE3486199T3 (de) Werkführungssystem.
DE2922490C2 (de)
DE3486347T2 (de) Verbundrechnersystem.
DE69228904T2 (de) Verfahren zur Erfassung des Identifizierers eines Knotens in einem Ein-/Ausgabesystem
DE69123104T2 (de) Melden und Verifizieren von Zustandswechseln in einem Datenverarbeitungsein- / -ausgabesystem
DE4134207C1 (en) Loading double-computer standby system - preparing passive computer for loading and taking new software from data source for entering into memory of active computer
DE69021186T2 (de) "Master-Slave" industrielles Netzwerk mit Tokenübergabe.
DE2230830A1 (de) Datenverarbeitungsanlage
CH656275A5 (de) Verfahren und schaltungsanordnung zum uebertragen von datensignalen zwischen datensignalsendern und datensignalempfaengern.
DE19831720A1 (de) Verfahren zur Ermittlung einer einheitlichen globalen Sicht vom Systemzustand eines verteilten Rechnernetzwerks
EP0062141B1 (de) Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem
EP0185260B1 (de) Schnittstelle für direkten Nachrichtenaustausch
DE19983975B3 (de) Programmierbares Steuersystem und Rücksetz-Steuerverfahren für das programmierbare Steuersystem
DE60305560T2 (de) Eingebettetes System für die Überlastregelung von Rundfunkverkehr in einem Kommunikationsnetzwerk
EP0291789B1 (de) Schaltungsanordnung für zentralgesteuerte Zeitmultiplex-Fernmeldevermittlungsanlagen, insbesondere PCM-Fernsprechvermittlungsanlagen, mit an ein Koppelfeld angeschlossenen Anschlussgruppen
DE3780306T2 (de) Adapterbusschalter zur verbesserung der verfuegbarkeit einer steuereinheit.
EP0509114A1 (de) Verfahren zum Übertragen von Daten an mehrere Datenstationen
DE69025242T2 (de) Kommunikationseinrichtung zur Überwachung der übertragenen Datenmenge
EP1050814B1 (de) Fehlertolerantes System nach einem byzantinen Algorithmus
CH656276A5 (de) Verfahren und schaltungsanordnung zum uebertragen von datensignalen zwischen datenvermittlungseinrichtungen einer datenvermittlungsanlage.

Legal Events

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