DE3043894C2 - - Google Patents
Info
- Publication number
- DE3043894C2 DE3043894C2 DE3043894A DE3043894A DE3043894C2 DE 3043894 C2 DE3043894 C2 DE 3043894C2 DE 3043894 A DE3043894 A DE 3043894A DE 3043894 A DE3043894 A DE 3043894A DE 3043894 C2 DE3043894 C2 DE 3043894C2
- Authority
- DE
- Germany
- Prior art keywords
- message
- data
- interface
- command
- call command
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
- G06F13/372—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a time-dependent priority, e.g. individually loaded time counters or time slot
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/052—Linking several PLC's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/22—Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
- G06F13/225—Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling with priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/11—Plc I-O input output
- G05B2219/1105—I-O
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/12—Plc mp multi processor system
- G05B2219/1201—Each plc can act as master, flying master
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/15—Plc structure of the system
- G05B2219/15018—Communication, serial data transmission, modem
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Communication Control (AREA)
- Programmable Controllers (AREA)
Description
Die Erfindung bezieht sich auf ein Verfahren zur Steuerung
der Nachrichtenübertragung in einem Kommunikationsnetzwerk mit
einer Vielzahl an ein Kabel angeschlossener Schnittstellen-
Module gemäß dem Oberbegriff des Patentanspruchs 1 und betrifft
ferner einen Schnittstellen-Modul für ein derart gesteuertes
Kommunikationsnetzwerk. Ein Verfahren sowie ein Schnittstellen-
Modul der oben angegebenen Art sind aus der DE-AS 26 31 052
bekannt. Bevor dieser Stand der Technik näher erläutert wird,
sei zum besseren Verständnis der Erfindung folgendes vorausgeschickt.
Für industrielle Steuerungen und Steuergeräte eingesetzte
Kommunikations- oder Informationsaustauschnetzwerke
haben sich im Laufe der Zeit so entwickelt, daß sie als
Stern-, Mehrfachabzweig- oder Ringanordung ausgebildet
sind. Bei der Sternanordnung bildet ein Steuergerät den
Mittelpunkt und arbeitet bezüglich des Netzwerks als Hauptsteuergerät.
Von diesem Hauptsteuergerät erstrecken sich
getrennte Leitungen zu allen anderen Steuergeräten, die
Nebensteuergeräte genannt werden. Die Vielfach- oder Mehrfachabzweiganordnung
enthält gemäß der US-PS 41 49 144
ebenfalls nur ein einziges Hauptsteuergerät, das mit einem
einzigen Datenweg verbunden ist. Die Nebensteuergeräte
sind über Leitungen an diesen Datenweg angeschlossen. Diese
Leitungen werden von dem Datenweg abgezweigt, und der Verkehr
zwischen dem Hauptsteuergerät und einem ausgewählten
Nebensteuergerät geschieht über einen "Aufruf"-Prozeß. Bei
einem derartigen Mehrfachabzweignetzwerk ist ein Informationsaustausch
oder Datenverkehr zwischen Nebensteuergeräten
nur über das Hauptsteuergerät möglich. Bei der Ringanordnung
ist jedes Steuergerät mit zwei anderen Steuergeräten
verbunden. Es liegt somit eine schleifenförmige
Anordnung vor. Die Nachrichten werden von einem Steuergerät
zum nächsten Steuergerät weitergeleitet. Ein Netzwerkhauptgerät
unterbindet die Weiterleitung von Nachrichten,
die bereits den vollen Kreis durchlaufen haben
und von keinem der Steuergeräte im Ring bestätigt worden
sind.
All diese bekannten Kommunikationsnetzwerke haben die
Unzulänglichkeit, daß das gesamte System ausfällt, wenn
das Hauptsteuergerät gestört ist. Bei der Sternanordnung
werden die Nebensteuergeräte voneinander getrennt, wenn
das Hauptsteuergerät nicht mehr arbeitet. Bei der Mehrfachabzweiganordnung
wird beim Ausfall des Hauptsteuergerätes
der gesamte Informations- und Nachrichtenaustausch unterbrochen,
da der Aufrufprozeß oder Aufrufvorgang nicht mehr
ausgeführt werden kann. Bei der Ringanordnung führt die
Störung irgendeines der Steuergeräte zur Unterbrechung
der Verbindung. Um diese Unzulänglichkeit zu überwinden,
hat man in der Praxis durch Anwendung redundanter Maßnahmen
versucht, den Ausfall des gesamten Netzwerks zu verhindern.
Diese Lösungsmöglichkeit ist jedoch äußerst kostspielig.
Eine andere Lösungsmöglichkeit besteht in der Anwendung
eines Wettbewerbschemas beim Mehrfachabzweignetzwerk.
Bei einem solchen System entfällt das Hauptsteuergerät,
und statt dessen streiten sich die Steuergeräte um den
Zugriff zur Datenverbindung. Wenn ein Steuergerät den Zugriff
erlangt hat, kann man zu jedem anderen Steuergerät
im Netzwerk eine Nachricht senden. Es sind zahlreiche derartige
Wettbewerbsverfahren bekannt geworden. Obgleich
sie die Abhängigkeit von einem Hauptsteuergerät zur Aufrechterhaltung
der Kommunikation beseitigen, ist kein einziges
der Wettbewerbsverfahren universell auf alle Datenverkehrsmuster
anwendbar. Darüber hinaus muß man spezielle
Hardware hinzufügen, um die Kollision von Nachrichten auf
dem Datenverbindungsweg zu vermeiden. Solche Maßnahmen
erhöhen die Kosten und führen zu komplexen Netzwerken.
Aus der bereits zitierten DE-AS 26 31 052 ist ein
Datenübertragungssystem mit mehreren Datenverarbeitungseinheiten
bekannt, die über je eine Übertragungssteuerung
parallel an eine Sammelleitung angeschlossen sind. Über
die Sammelleitung werden Daten und/oder Steuersignale
übertragen. Dieses bekannte Datenübertragungssystem ist
derart ausgebildet und ausgelegt, daß die Übertragungssteuerungen
nacheinander jeweils den Datenverkehr zwischen den
ihnen zugeordneten Datenverarbeitungseinheiten und beliebigen
anderen Datenverarbeitungseinheiten steuern und nach
Beendigung der Datenübertragungen je ein Kommandoübergabesignal
über die Sammelleitung an diejenige Übertragungssteuerung
senden, die als nächste die Datenübertragung
über die Sammelleitung steuern soll. Die von dem ausgesendeten
Kommandoübergabesignal adressierte Übertragungssteuerung
übernimmt das Kommando für die Datenübertragung auf
der Sammelleitung und quittiert die Kommandoübernahme durch
Abgabe eines Kommandoübergabesignals an die Sammelleitung.
Bei dem aus der DE-AS 26 31 052 bekannten Datenübertragungssystem
erfolgt die Kommandoübertragung auf die
jeweils nächste Übertragungssteuerung bzw. die Kommandoübernahme
durch die jeweils nächste Übertragungssteuerung
unabhängig davon, ob in der das Kommando übernehmenden
nächsten Übertragungssteuerung eine Anforderung für einen
Datenverkehr über die Sammelleitung vorliegt oder nicht.
Auf diese Weise kann wertvolle Übertragungszeit für den
Datenverkehr auf der Sammelleitung ungenutzt bleiben oder
verlorengehen. Da darüber hinaus das Kommando nur in einer
vorbestimmten Reihenfolge von Übertragungssteuerung zu
Übertragungssteuerung übergehen werden kann, besteht die
Gefahr eines Totalausfalls des Systems, wenn in einer
Übertragungssteuerung, auf die das Kommando übertragen
werden soll, ein Fehler auftritt. Um diesen Totalausfall
des Systems zu vermeiden, sind in den einzelnen Übertragungssteuerungen
besondere Überwachungsvorrichtungen vorgesehen.
Aus der GB-PS 11 68 476 ist ein Datenübertragungssystem
bekannt, das der bereits weiter oben geschilderten Ringanordnung
ähnlich ist und auch die dort genannten Nachteile
aufweist. Der Datenübertragungsring wird unter Beachtung
eines vorgegebenen Prioritätsschemas benutzt. Die Weitergabe
der Übertragungssteuerung auf dem Ring an eine nächste
prioritätshohe Einheit ist jedoch ein komplizierter und
langwieriger Prozeß.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren
der gattungsgemäßen Art derart weiterzubilden, daß die
Weitergabe der Kontrolle über das Kommunikationsnetzwerk
nicht an eine vorbestimmte Reihenfolge von Schnittstellen-
Modul zu Schnittstellen-Modul gebunden ist, sondern flexibler
gehandhabt wird.
Diese Aufgabe wird durch die kennzeichnenden Merkmale
des Patentanspruchs 1 in Verbindung mit den Merkmalen im
Oberbegriff gelöst. Die erfindungsgemäße Lösung stellt sicher,
daß die Kontrolle über das Kommunikationsnetzwerk nur an
einen solchen Schnittstellen-Modul vergeben wird, der auch
tatsächlich die Kontrolle über das Kommunikationsnetzwerk
wünscht, und zwar unter Beachtung einer Priorität unter den
sendewilligen Schnittstellen-Modulen. Das erfindungsgemäße
Verfahren ermöglicht auch ohne weiteres beim Ausfall eines
Schnittstellen-Moduls die Weitergabe der Kontrolle über das
Kommunikationsnetzwerk an den jeweiligen prioritätshöchsten
sendewilligen Schnittstellen-Modul.
Gegenstand der Erfindung ist auch ein Schnittstellen-
Modul für ein Kommunikationsnetzwerk, in dem die Nachrichtenübertragung
gemäß dem erfindungsgemäßen Verfahren gesteuert
wird.
Ein bevorzugtes Anwendungsgebiet der Erfindung sind
industrielle Steuerungssysteme, beispielsweise mit Prozeßsteuerungen
oder programmierbaren Steuergeräten. Die Erfindung
dient insbesondere dazu, derartige Steuerungen in
einem Netzwerk miteinander zu verbinden.
Ein bevorzugtes Ausführungsbeispiel der Erfindung soll
im folgenden an Hand von Zeichnungen erläutert werden.
Es zeigt
Fig. 1 ein Blockschaltbild eines nach der Erfindung
gesteuerten Kommunikationsnetzwerks,
Fig. 2 eine bildliche Darstellung eines programmierbaren
Steuergerätes, das an das Kommunikationsnetzwerk nach
der Fig. 1 angeschlossen ist,
Fig. 3 ein elektrisches Schaltbild eines Schnittstellen-
Moduls, der einen Teil des Kommunikationsnetzwerks
nach der Fig. 1 bildet,
Fig. 4 ein elektrisches Schaltbild einer Chip-
Auswahlschaltung, die einen Teil des Schnittstellen-Moduls
nach der Fig. 3 bildet,
Fig. 5 ein elektrisches Schaltbild einer Datenverbindungstreiber-
und Empfangsschaltung, die einen Teil
des Schnittstellen-Moduls nach der Fig. 3 bildet,
Fig. 6 ein Blockschaltbild des Software-Systems
des Schnittstellen-Moduls,
Fig. 7 eine Teildarstellung eines Direktzugriffsspeichers
des Schnittstellen-Moduls nach der Fig. 3,
Fig. 8 ein elektrisches Blockschaltbild eines
programmierbaren Steuergeräts, das mit dem Schnittstellen-
Modul nach der Fig. 3 verbunden ist,
Fig. 9 ein Sprossendiagramm der Kommunikationsbefehle,
die in dem programmierbaren Steuergerät nach der
Fig. 8 gespeichert sind,
Fig. 10 eine Darstellung eines Privilegien- und
Kommunikationssprossenindexabschnitts des Schnittstellen-
Modul-Speichers,
Fig. 11 ein Flußdiagramm der Steuergerätabtast-
und Nachrichtenausführungsroutine, die ein Teil des Systems
nach der Fig. 6 ist,
Fig. 12 ein Flußdiagramm der NETX-Routine, die
ein Teil des Systems nach der Fig. 6 ist,
Fig. 13A bis 13D Flußdiagramme der Protokolltreiberroutine,
die einen Teil des Systems nach der
Fig. 6 bildet, und
Fig. 14 ein Blockschaltbild des Nachrichtendatenflusses
im Schnittstellen-Modul nach der Fig. 3.
In der Fig. 1 ist ein nach der Erfindung ausgebildetes
Kommunkikations- oder Übertragungsnetzwerk dargestellt,
das eine Datenverbindung mit einem abgeschirmten Kabel 1
aus einem Paar verdrillter Leitungsdrähte 2 und 3 aufweist.
Das Kabel, bei dem es sich um ein Produkt der Firma
Belden Corporation mit der Nr. 9463 handeln kann, ist in
der Lage, mit einem Datenfluß bis zu 57,6 kBd und über
eine Entfernung bis zu 3000 m zu arbeiten. Das Kabel 1 ist
an seinen Enden mit je einem Widerstand 4 bzw. 5 abgeschlossen
und hat in seiner Längsrichtung mehrere voneinander
getrennte Zweigleitungen oder Abzweigungen 6. Ein
Steuergerät-Schnittstellen-Modul ist an jeden der Abzweige
angeschlossen, und auf diese Weise können bis zu 64 getrennte
Steuergeräte mit dem Kabel 1 verbunden werden.
Über die zugeordneten Steuergerät-Schnittstellen
können an das Kabel 1 verschiedene Arten von Steuergeräten
angeschlossen werden. Bei diesen Steuergeräten kann es sich
beispielsweise um eine Rechnersteuerung 7 mit Allzweckrechnern
handeln, die über eine Schnittstelle 8 für Rechnersteuergeräte
an das Kabel 1 angeschlossen sind, oder es
kann sich um programmierbare Steuergeräte 9 handeln, die
über eine Schnittstelle 10 für programmierbare Steuergeräte
mit dem Kabel 1 verbunden sind. Gleichermaßen können Prozeßsteuergeräte
11 über eine Schnittstelle 13 für Prozeßsteuergeräte
mit dem Kabel 1 verbunden sein, und es können numerische
Steuergeräte oder eine numerische Steuerung 12 über
eine Schnittstelle 14 für numerische Steuergeräte an das
Kabel 1 angeschlossen sein. Die verschiedenen Arten und
die Anzahlen der Steuergeräte hängen von der jeweiligen
besonderen Anlage ab. Die Erfindung soll in dieser Hinsicht
die erforderliche Flexibilität sicherstellen und die
notwendige Zuverlässigkeit gewährleisten.
Die Steuergerät-Schnittstellen 8, 10, 13 und 14 sind
als Module ausgebildet, und es handelt sich um Schaltungen,
die auf Mikroprozessoren beruhen und so programmiert sind,
daß sie die Schnittstelle zwischen dem Netzwerkkommunikationsprotokoll
und dem Protokoll des besonderen Steuergerätes
bereitstellen, mit dem sie verbunden sind. Die
Schaltungen der Steuergerät-Schnittstellen 8, 13 und 14
sind gleich, da die meisten Rechnersteuerungen 7, Prozeßsteuergeräte
11 und numerischen Steuerungen 12 serielle
Eingabe/Ausgabe-Kanäle haben, die dem Industriestandard
RS232C entsprechen.
Die Schnittstelle 10 für programmierbare Steuergeräte
unterscheidet sich von den übrigen Schnittstellen darin,
daß sie sich im Eingabe/Ausgabe-Gestell des programmierbaren
Steuergerätes befindet und dazu dient, ein Programmierpult
15 mit dem programmierbaren Steuergerät 9 zu verbinden.
In dieser Hinsicht ist die Schnittstelle 10 von einer spezielleren
Art.
Aus der Fig. 2 geht hervor, daß die Schnittstelle 10
an einem Gestell 16 angebracht ist, das einen Prozessor 17
und Eingabe/Ausgabe-Schnittstellenschaltungen 18 trägt,
die im programmierbaren Steuergerät 9 enthalten sind. Die
Steuergerät-Schnittstelle 10 ist so ausgebildet, daß sie
in einen der Schlitze paßt, die normalerweise von den
Module darstellenden Eingabe/Ausgabe-Schnittstellenschaltungen
18 eingenommen werden, und sie enthält drei Buchsen
19, 20 und 21, die den die Schnittstelle 10 darstellenden
Modul über Leitungen 6, 22 und 23 mit dem Kabel 1, dem
Programmierpult 15 und dem Prozessor 17 des programmierbaren
Steuergeräts verbinden. Die mechanische Konstruktion
ist im einzelnen in der US-PS 41 51 580 erläutert. Das
Programmierpult 15 ist in der US-PS 40 70 702 beschrieben.
Die Schnittstelle 10 für programmierbare Steuergeräte
ist im einzelnen in der Fig. 3 dargestellt. Sie enthält
einen 8-Bit-Mikroprozessor 25, der an einen 8-Bit-Datenbus
26 und einen 14-Bit-Adressenbus 27 angeschlossen ist.
Es wird ein von der Fa. Zilog, Inc. hergestellter Mikroprozessor
Modell Nr. Z-80A vewendet, und der Mikroprozessor
25 wird von einem 3,6864-MHz-Taktgeber 28 angesteuert.
Bezüglich des Aufbaus, der Arbeitsweise und des
Befehlssatzes dieses Mikroprozessors wird auf eine Druckschrift
"Z80-CPU Technical Manual" herausgegeben von
Zilog, Inc., 1976, verwiesen.
Der Mikroprozessor 25 enthält eine Reihe von Steueranschlüssen
IORQ, M1, RD, WR und MREQ, die entsprechend
zugeordnete und mit anderen Elementen der Schaltungsanordnung
verbundene Steuerleitungen ansteuern. Weiterhin sind
am Mikroprozessor 25 zwei Unterbrechungsanschlüsse NMI und
INT vorgesehen, die über zugehörige Steuerleitungen von
verschiedenen Schaltungselementen angesteuert werden.
Die Arbeitsweise des Mikroprozessors 25 und damit die
Arbeitsweise der gesamten Schnittstellenschaltungsanordnung
erfolgt unter der Steuerung von Programmen, die in
einem Nur-Lese- oder Festwertspeicher 29 gespeichert sind.
Der Festwertspeicher enthält zwei durch UV-Licht löschbare
4 k · 8-PROM-Schaltungen, von denen jede über Anschlüsse 30
und 31 durch eine Chip-Auswahlschaltung 32 getrennt freigegeben
werden kann. Ein 8-Bit-Byte an Daten wird aus
einer adressierten Zeile des Festwertspeichers 29 gelesen,
wenn von einem ODER-Glied 34 ein niedriger Signalpegel
an einen OE-Anschluß 33 gelegt wird. Die ausgelesenen Daten
erscheinen am Datenbus 26 und gelangen in den Mikroprozessor
25, der dann die angegebene Operation ausführt.
Daten einschließlich von Nachrichten, die vom Kabel 1
empfangen werden, und Nachrichten, die an das Kabel 1 abgegeben
werden, werden in einem Speicher mit wahlfreiem
Zugriff oder einem Direktzugriffsspeicher 35 gespeichert.
Der Direktzugriffsspeicher 35 enthält zwei statische
1k · 8-RAM-Schaltungen, von denen jede getrennt über Anschlüsse
36 und 37 durch die Chip-Auswahlschaltung 32
freigegeben werden kann. Ein 8-Bit-Byte an Daten wird in
den Direktzugriffsspeicher 35 eingeschrieben oder aus ihm
ausgelesen, wenn Steuersignale an einen OE-Anschluß 38
und einen WE-Anschluß 39 durch das ODER-Glied 34 bzw. ein
ODER-Glied 40 angelegt werden.
Über eine serielle Eingabe/Ausgabe-Schaltung 41, die
auch mit SIO bezeichnet wird, gelangt Information vom Datenbus
26 zu der Zweigleitung 6 und der Leitung 23 sowie von
diesen Leitungen zum Datenbus. Die eine serielle Eingabe/
Ausgabe darstellende Schaltung 41 ist ein handelsüblicher
peripherer Dualkanal-Mehrfunktionsbaustein, der an
8-Bit-Datenbytes eines Serien/Parallel- bzw. Parallel/Serien-
Umsetzung vornimmt. Der SIO 41 spricht auf Kommandodaten
am Datenbus 26 an, um an jedem seiner beiden Kanäle eine
Reihe von Funktionen auszuführen, wobei durch diese Kommandos,
die unter der Steuerung von im Festwertspeicher 29
gespeicherten Programm erzeugt werden, die Arbeitsweise
jedes seriellen Eingabe/Ausgabe-Kanals den verschiedenen
Übertragungs- oder Kommunikationsprotokollen an den Leitungen
6 und 23 angepaßt wird.
Der SIO 41 wird über die Mikroprozessor-Steuerleitungen
IORQ, M1 und RD sowie über die Systemtaktleitung angesteuert.
Eine Leitung A3 im Adressenbus 27 gibt den SIO 41
frei, und Leitungen A0 und A1 wählen Kanäle A oder B aus
und zeigen an, ob es sich bei der Information am Datenbus
26 um ein Kommando oder um Daten handelt. Ein Sende-
und Empfangsdatentaktanschluß für den Kanal B wird vom
Q-Ausgang eines D-Flipflop 43 angesteuert, das seinerseits
von einer Zählerzeitgeberschaltung 44 angesteuert wird,
die auch mit CTC bezeichnet ist. Der SIO 41 ist auch zur
Ansteuerung mit dem Mikroprozessor-Unterbrechungsanschlüssen
INT und NMI verbunden, und ist über eine Unterbrechungsfreigabeausgangsleitung
45 mit der Bezeichnung IEO
an einen Unterbrechungsfreigabeeingang IEI der Schaltung 44
angeschlossen. Die Anschlüsse des A-Kanals und des B-Kanals
des SIO 41 sind mit einer Datenverbindungs-Treiber/Empfänger-
Schaltung 46 bzw. einer Steuergerät-Treiber/Empfänger-
Schaltung 47 verbunden.
Die Arbeitsweise und der Aufbau des Bausteines SIO
bzw. der Schaltung 41 ist in einer Druckschrift "Z-80 SIO
Technical Manual", herausgegeben von Zilog, Inc., 1977,
beschrieben. Der SIO 41 wird hier benutzt, um über den
Kanal B eine Vollduplex-Asynchron-Serien-Verbindung mit
dem Prodzessor des programmierbaren Steuergeräts herzustellen
und um über den Kanal A eine Halbduplex-Synchron-Serien-
Verbindung mit anderen Schnittstellenmodulen des Netzwerks
herzustellen. Der Kanal B hat Datenflüsse von 9600 und
19 200 Bd, und der Kanal A hat einen Datenfluß von 57 600 Bd.
Die Auswahl der Baudraten, der Stationsadresse und
wahlfreier Maßnahmen oder Zusatzmaßnahmen erfolgt über
zwei Gruppen von Schaltern 48 und 49, die über einen Eingabemultiplexer
50 mit dem Datenbus 26 verbunden sind. Der
Eingabemultiplexer 50 enthält zwei 4-Bit-Multiplexerschaltungen,
deren Auswahlanschluß SEL gemeinhin mit der Leitung
AO des Adressenbusses 27 und deren Freigabeanschluß G
über eine Leitung 51 mit der Chip-Auswahlschaltung 32 verbunden
ist. Die Schalter 48 enthalten DIP-Schalter, die
eine 8-Bit-Sationsadresse an die A-Eingänge des Multiplexers
50 liefern. Diese Schalter 48 werden von Hand auf
eine Stationsadresse von 0 bis 254 eingestellt. Die Schalter
49 sind mit den B-Eingängen des Multiplexers 50 verbunden
und enthalten einen DIP-Schalter, der zur Auswahl
der Baudrate dient, sowie inpolige Ein- und Ausschalter,
die zur Auswahl von wahlweisen oder zusätzlichen Maßnahmen
dienen.
Die Kommunikation durch die Leitung 22 mit dem Programmierpult
15 erfolgt über einen Universal-Synchron/
Asynchron-Empfänger/Sender 55, der im folgenden mit USART
bezeichnet wird. Der USART 55 ist eine handelsübliche integrierte
Schaltung, die durch eine an die Chip-Auswahlschaltung
32 angeschlossene Leitung 56 freigegeben wird.
Der USART 55 wird über eine Leitung 57 getaktet, die an
den Systemtaktgeber 28 angeschlossen ist und auch zur
Zählerzeitgeberschaltung 44 führt, die einen mit CTC bezeichneten
Baustein darstellt. Die Auswahl von Kommandodaten
oder Eingabe/Ausgabe-Daten erfolgt durch die mit
einem C/D-Anschluß 58 verbundene Leitung A0 im Adressenbus
27, und der USART 55 wird über die Mikroprozessor-
Steuerleitungen WR und RD betrieben. Der USART 55 erhält
ein Baudraten-Taktsignal vom CTC 44 über ein Umkehr-
Glied 59, und der USART 55 erzeugt einen Unterbrechungsaufruf
für den Mikroprozessor 25 über eine RxRDY-Leitung 60,
ein ODER-Glied 61 und ein NAND-Glied 62, wenn Daten vom
Programmierpult 15 empfangen werden.
Der USART 55 stellt mit einer auswählbaren Baudrate
von 9600 oder 19 200 Bd eine Vollduplex-Asynchron-Serien-
Verbindung mit dem Programmierpult 15 her. Die Arbeitsweise
des USART 55 erfolgt unter der Steuerung von Programmen,
die im Festwertspeicher 29 gespeichert sind und
die auch den SIO 41 betreiben, um die Datenverbindung
zwischen dem Programmierpult 15 und dem Prozessor 17 des
im folgenden auch mit PC bezeichneten programmierbaren
Steuergeräts herzustellen.
Die Baudrate, mit der der SIO 41 und der USART 55
arbeiten, wird vom CTC 44 gesteuert. Der CTC 44 ist eine
handelsübliche integrierte Schaltung, die mit dem Datenbus
26 verbunden ist, um Kommandos zu empfangen, die die
Baudraten für die drei seriellen Eingabe/Ausgabe-Kanäle
erstellen. Der CTC 44 wird von den Adressenbusleitungen A0,
A1 und A5 freigegeben, die mit entsprechenden Anschlüssen
CS0, CS1 und CE verbunden sind. Der CTC 44 wird über die
Mikroprozessor-Steuerleitungen IORQ, RD und M1 betrieben.
Der CTC 44 erhält das 3,6864-MHz-Taktsignal vom Taktgeber
28 als auch 1,8432-MHz-Triggersignal über die Leitung 57.
Der CTC 44 kann ein Unterbrechungssignal für den Mikroprozessor-
Anschluß INT erzeugen, und er erzeugt drei Taktsignale,
nämlich ein Taktsignal für den USART 55 über das
Umkehr-Glied 59, ein zweites Taktsignal für das D-Flipflop
43 über eine Leitung 65 und ein drittes Taktsignal für die
Datenverbindungs-Treiber/Empfänger-Schaltung 46 über eine
Leitung 66. Eine vollständige Beschreibung des Aufbaus und
der Wirkungsweise des CTC 44 findet man in einer Druckschrift
"Z80-CTC Technical Manual", herausgegeben von der Firma
Zilog, Inc., 1977.
Aus den Fig. 2 und 3 geht hervor, daß fünf Indikatoren
oder Anzeigelampen 68 über einen Ausgabe-Kanal 69 mit dem
Adressenbus verbunden sind und oberhalb der Buchse 19 am
Rand des Moduls der Schnittstelle 10 montiert sind. Der
Ausgabekanal 69 stellt eine oktal-adressierbare Verriegelung
dar, bei der es sich um eine handelsübliche integrierte
Schaltung handelt. Diese Schaltung wird von der Chip-
Auswahlschaltung über eine Leitung 70 freigegeben. Ferner
weist sie vier Eingänge auf, die mit den Leitungen A0, A1,
A2 und A4 des Adressenbusses 27 verbunden sind. Fünf Ausgangsanschlüsse
des Ausgabekanals 69 sind mit den Anzeigelampen
68 verbunden. Ein weiterer Ausgang des Ausgabekanals
69 führt zu dem ODER-Glied 61. Ein siebter Ausgangsanschluß
ist über eine Trägererfassungsrücksetzleitung 71
mit der Datenverbindungs-Treiber/Empfänger-Schaltung 46
verbunden. Der 3-Bit-Code an den Adressenbusleitungen A0,
A1 und A2 wählt einen der acht Ausgangsanschlüsse aus, und
der Logikzustand der Adressenbusleitungen A4 wird durch
die Chip-Auswahlschaltung 32 in den Ausgabekanal 69 getaktet.
Auf diese Weise kann irgendeine der Anzeigelampen
68 ein- oder ausgeschaltet werden, und eine "Software-
Unterbrechung" kann über das ODER-Glied 61 erzeugt
werden.
Die Fig. 4 läßt erkennen, daß die Chip-Auswahlschaltung
32 in erster Linie zwei 2-Bit-auf-4-Bit-Decodierschaltungen
73 und 74 enthält. Die beiden Eingänge der Decodierschaltung
73 sind mit den Adressenbusleitungen A10 und A13
verbunden, wohingegeben die vier Ausgänge an die Festwertspeicher-
Chip-Auswahlanschlüsse 30 und 31 sowie an die
Direktzugriffsspeicher-Chip-Auswahlanschlüsse 36 und 37
angeschlossen sind. Die Eingänge an der zweiten Decodierschaltung
74 sind mit den Adressenbusleitungen A6 und A7
verbunden, und ihr Ausgabefreigabeanschluß OE wird über
Tore oder Verknüpfungsglieder 75 und 76 von Signalen an
den Steuerleitungen IORQ und M1 angesteuert. Drei Ausgänge
der zweiten Decodierschaltung 74 sind mit den Leitungen
51, 56 und 70 verbunden, über die in Abhängigkeit
vom Zustand der Adressenbusleitungen A6 und A7 der Eingabemultiplexer
50, der USART 55 und der Ausgabekanal 69 freigegeben
werden.
Im folgenden wird insbesondere auf die Fig. 3 und 5
Bezug genommen. Die Datenverbindungs-Treiber/Empfänger-
Schaltung 46 verbindet die Zweigleitung 6 mit dem Kanal A
des SIO 41. Der SIO 41 gibt Daten über eine Leitung 85 ab,
die mit einem Eingang eines exklusiven ODER-Glieds 86 verbunden
ist. Der andere Eingang des exklusiven ODER-Glieds
86 wird von einem Sendetaktsignal angesteuert, das von
einem 4-Bit-Binärzähler 87 erzeugt wird. Am Ausgang des
exklusiven ODER-Glieds 86 treten zweiphasig codierte
Daten nach dem "Manchester-Code" auf. Der Binärzähler 87
wird über die Leitung 66 angesteuert, die zum CTC 44 führt.
Auf diese Weise wird die Geschwindigkeit der Datenübertragung
von Programmbefehlen gesteuert, die während der
Systeminitialisierung ausgeführt werden.
Die zweiphasig codierten Ausgangsdaten werden von
einem zweiten exklusiven ODER-Glied 88 invertiert, und die
nicht invertierten Daten als auch die invertierten Daten
werden den Eingängen von UND-Gliedern 89 und 90
wird von einem freigebenden UND-Glied 91 angesteuert. Ein
Eingang und UND-Glieds 91 ist mit dem Sendeaufruf-Ausgangsanschluß
RTSA des SIO 41 verbunden. Die Ausgänge der UND-
Glieder 89 und 90 sind an die Primärwicklung eines Trenntransformators
92 angeschlossen. Der Transformator 92 hat
ein Windungsverhältnis von 1,2 bis 4,0, um eine Spannungsaufwärtstransformation
vorzusehen, bevor das zweiphasig
codierte Signal an das Kabel 1 gelegt wird. Sowohl die
Primärwicklung als auch die Sekundärwicklung des Transformators
weisen eine Mittenanzapfung auf. Wenn die UND-
Glieder 89 und 90 vom SIO 41 freigegeben sind, wird somit
ein 57,6-kHz-Trägersignal mit einer Differentialspannung
von etwa 6 V an das Kabel 1 gelegt. Wenn über die Leitung
85 Daten ausgegeben werden, wird dieses Trägersignal moduliert,
um an andere Stationen, die mit dem Kabel 1 verbunden
sind, zweiphasig codierte Nachrichten auszusenden.
Wie man ferner der Fig. 5 entnehmen kann, werden von
der Steuergerät-Schnittstelle 10 Nachrichten über das
Kabel 1 empfangen und an die Primärwicklung eines zweiten
Trenntransformators 93 gelegt. Der Transformator 93 hat
ein Windungsverhältnis von 6 : 15, und beide Wicklungen
weisen eine Mittenanzapfung auf. Die Sekundärwicklung des
Transformators 93 ist über Widerstände 94 und 95 an die
Eingänge eines Differential- oder Differenzenverstärkers 96
angeschlossen. Zwei Zenerdioden 97 und 98 dienen als Schutz
gegenüber einer übermäßig hohen Eingangsspannung, und der
Verstärker 96 arbeitet wie ein Leitungsempfänger, um das
empfangene Signal in TTL-Spannungspegel umzuformen
(TTL = Transistor-Transistor-Logik). Das Ausgangssignal
des Verstärkers 96 wird über eine Leitung 97 dem Datenempfangseingangsanschluß
RXDA des SIO 41 zugeführt und
darüber hinaus an ein Paar von exklusiven ODER-Gliedern
98 und 99 gelegt. Die exklusiven ODER-Glieder 98 und 99
arbeiten in Kombination mit einem Kondensator 100, um
immer dann einen positiven Spannungsimpuls zu erzeugen,
wenn das empfangene Datensignal seinen Logikzustand ändert.
Diese Spannungsimpulse werden über ein UND-Glied 102
und ein Umkehr-Glied 103 dem Verriegelungs- oder Einklinkeingang
eines 4-Bit-Binärzählers 104 zugeführt. Der Zähler
104 und die zugehörige Schaltung dienen zum Decodieren der
zweiphasig codierten Daten. Der Zähler 104 wird über die
Leitung 66 getaktet, die vom CTC 44 angesteuert wird. Der
Zähler 104 ist voreingestellt (auf einen Zählwert von 2)
und zählt vorwärts bis zu einem Zählwert von vier. Bei
diesem Zählwert erzeugt der Zähler an einer Leitung 105
einen Impuls, der zu einem Empfangstakteingangsanschluß
RXCA am SIO 41 gelangt. Nachdem ein Zählwert von acht erreicht
ist, nimmt der Q8-Ausgang des Zählers 104 einen
hohen Pegel an, und das UND-Glied 102 wird über eine Leitung
106 freigegeben, um den nächsten positiven Spannungsimpuls
zu empfangen. Nach Empfang dieses Spannungsimpulses
wird der Zähler 104 erneut auf den Zählwert von zwei eingestellt,
und der Zyklus wiederholt sich.
Weiterhin kann man den Fig. 3 und 5 entnehmen, daß
der Ausgang des als Leitungsempfänger arbeitenden Verstärkers
96 auch mit dem Eingang eines ersten monostabilen
Multivibrators 108 verbunden ist, dessen Q-Ausgang einen
zweiten monostabilen Multivibrator 109 und ein UND-Glied
110 ansteuert. Der -Ausgang des monostabilen Multivibrators
109 ist mit einem zweiten Eingang des UND-Glieds 110
verbunden, und die Rücksetzanschlüsse beider Multivibratoren
108 und 109 sind an die Trägererfassungsrücksetzleitung
71 angeschlossen, die vom Ausgabekanal 69 angesteuert
wird. Der Ausgang des UND-Glieds 110 ist mit dem
Datenträgererfassungsanschluß DCDA des SIO 41 über eine
Trägererfassungsleitung 111 verbunden.
Wie noch im einzelnen beschrieben wird, erzeugt der
SIO 41 eine Unterbrechung, und zwar sowohl beim Erscheinen
des Trägersignals am Kabel 1 als auch beim Verschwinden
des Trägersignals. Diese Ereignisse werden herangezogen,
um zu bewerkstelligen, daß andere Stationen mit dem Kabel 1
verbunden sind und aktiv sind. Durch Überprüfen des Zustands
der Leitung 111 zu einer geeigneten Zeit, kann das
System feststellen, ob eine andere Station auf ein Abfrage-
oder Aufruf-Kommando geantwortet hat.
Aus der obigen Erläuterung geht hervor, daß die PC-
Schnittstelle 10 (PC = programmierbares Steuergerät) eine
Anzahl von verschiedenen Aufgaben ausführen muß. Sie muß
vom Kabel 1 Nachrichten empfangen und an das programmierbare
Steuergerät 9 weiterleiten können. Sie muß vom programmierbaren
Steuergerät 9 Nachrichten empfangen und an
das Kabel 1 zu anderen Stationen weiterleiten können. Sie
muß Daten zwischen dem programmierbaren Steuergerät 9 und
seinem Programmladegerät oder Programmierpult 15 austauschen
können. All diese Aufgaben werden von dem Mikroprozessor 25
unter der Leitung von Befehlen ausgeführt, die in einer
Reihe von Programmen enthalten sind. Diese Programme sind
im Festwertspeicher 29 gespeichert, und sie werden vom
Mikroprozessor 25 in Sequenz ausgelesen und ausgeführt.
Im folgenden soll auch auf die Fig. 6 Bezug genommen
werden. Die Programme, die den Mikroprozessor 25 durch die
Aufgaben leiten und führen, die er ausführen muß, sind in
Modulen angeordnet. Jedes Programm enthält eine oder mehrere
Routinen oder Subroutinen. Es gibt zwei Arten von Routinen,
und zwar solche, die aufgrund von Ereignissen ausgeführt
werden, die Unterbrechungen erzeugen, und solche, die
aufgrund von Ereignissen ausgeführt werden, die als Ergebnis
der Ausführung von Programmen auftreten.
Die erste Art von Routinen wird mit Treiber bezeichnet,
und das System enthält das folgende: eine Datenverbindungstreiberroutine
115 und eine Protokolltreiberroutine
116, die aufgrund von Unterbrechungen ausgeführt werden,
die durch den Kanal A des SIO 41 erzeugt werden, eine
Steuergerättreiberroutine 117, die aufgrund einer Unterbrechung
ausgeführt wird, die durch den Kanal B des SIO 41
erzeugt wird, eine Programmierpulttreiberroutine 118, die
aufgrund einer Unterbrechung ausgeführt wird, die durch
den USART 55 erzeugt wird, und eine 25-ms-Takttreiberroutine
119, die aufgrund einer Unterbrechung ausgeführt
wird, die durch den CTC 44 erzeugt wird.
Die zweite Art von Routinen in dem System wird mit
"Task" bezeichnet. Dazu gehören eine Programmierpulthandhabungsroutine
120, eine Antwortroutine 121, eine
Netzwerkkommandoausführungsroutine 122, eine Steuergerätabtast-
und Nachrichteneinleitroutine 123 sowie eine Zeitgeberroutine
124. Diese Tasks werden beim Hoch- oder Anfahren
eingeleitet und haben kein Ende. Eine Task kann
sich selbst aufrechterhalten und auf das Auftreten eines
Ereignisses warten, bevor sie fortfährt, oder sie kann
unterbrochen werden, und nach Bedienung der Unterbrechung
kann man wieder in sie eintreten.
Da zur gleichen Zeit mehr als eine Unterbrechung auftreten
und mehr als eine Task im Zustand für die Ausführung
sein können, wird ein Hardware- und Software-Prioritätssystem
benutzt, um die Mikroprozessorausführungszeit optimal
zuzuteilen. Wie es aus der Fig. 3 hervorgeht, ist der
Anschluß INT am Mikroprozessor 25 mit dem CTC 44, dem
USART 55 und dem SIO 41 verbunden, und zwar derart, daß
der Kanal A des SIO, der Kanal B des SIO, der USART und
der CTC in der genannten Reihenfolge Priorität haben.
Fordern beispielsweise der CTC 44 und der Kanal B des SIO
eine Unterbrechung an, wird der Kanal B des SIO zuerst von
der Steuergerättreiberroutine 117 bedient, und anschließend
wird die Unterbrechungsanforderung durch den CTC 44 von der
Takttreiberroutine 119 bedient. Die Treiberroutinen 115
bis 119 werden somit von der Unterbrechungsschaltung
prioriätsmäßig verarbeitet.
Im folgenden wird wieder die Fig. 6 herangezogen. Wenn
keine Unterbrechungen bedient werden, kann eine Task ausgeführt
werden, und es ist die Aufgabe oder Funktion einer mit
Scheduler bezeichneten Routine 125, diejenige Task zu bestimmen,
die die höchste Priorität hat. In den Scheduler
125 wird eingetreten, nachdem eine Start- und Initialisierroutine
126 ausgeführt ist, und von diesem Zeitpunkt an
wird in den Scheduler aufgrund einer durch Software eingeleiteten
Unterbrechung eingetreten. Die Fig. 3 läßt erkennen,
daß diese Unterbrechung durch den Ausgabekanal 69
erzeugt wird und über das ODER-Glied 61 und das NAND-Glied
62 an den Anschluß INT des Mikroprozessors 25 gelegt wird.
Diese Unterbrechung hat die niedrigste Priorität. Anders
als die anderen Unterbrechungen, die von Ereignissen resultieren,
welche außerhalb der Steuergerät-Schnittstelle 10
auftreten, erscheint diese Software-Unterbrechung, wenn
vom Mikroprozessor ein "Unterbrechungsbefehl" ausgeführt
wird, um an der niedrigstwertigen Bitstelle des Ausgabekanals
69 eine "1" auszugeben. Es ist somit für irgendein
Programm im System möglich, den Scheduler 125 durch Ausführung
dieses Unterbrechungsbefehls zu rufen. Es sei allerdings
bemerkt, daß dies eine asynchrone durch Software eingeleitete
Unterbrechung ist, die zurückgestellt wird, bis
die anderen Unterbrechungsroutinen inaktiv sind.
Zum folgenden wird insbesondere auf die Fig. 6 und 7
verwiesen. Der Scheduler 125 bestimmt durch Bezugnahme auf
eine Tasksteuerblockprioritätstabelle 127, welche Task
die höchste Priorität hat. Die Tabelle 127 ist im Direktzugriffsspeicher
35 gespeichert und sie enthält für jede
der fünf Tasks 120 bis 124 in dem System ein 8-Bit-Flaggenwort,
eine 8-Bit-Maske und einen Stapelzeiger. Die Reihenfolge,
in der diese Daten in der Tabelle 127 angeordnet
sind, bestimmt die prioritätshöchste Task, und der Scheduler
125 ist wirksam, um jeden Taststeuerblock zu überprüfen,
und zwar zwecks Bestimmung der prioritätshöchsten
Task, die zum Durchlauf bereit ist. Die Bits 1 bis 7 des
Flaggenwortes in jedem Tasksteuerblock werden als Ereignisflaggen
benutzt, und das Bit 0 ist die Durchlaufflagge.
Der Scheduler 125 nimmt eine logische UND-Verknüpfung des
Flaggenwortes und der Maske vor, und wenn das Ergebnis
ungleich null ist, ist die Task zur Ausführung bereit.
Der Scheduler 125 leitet die Ausführung einer Task
durch Verwendung des Stapelzeigers ein, um den "Zusammenhang"
der Task in den Mikroprozessor 25 zurückzustellen.
Der Zusammenhang einer Task ist der Mikroprozessorzustand,
der durch die Inhalte der Mikroprozessorregister AF, BC,
DE, HL, IX, SP und PC dargestellt ist. Wenn eine Task
gesperrt oder unterbrochen wird, wird ihr Zusammenhang
dadurch aufbewahrt, daß der Inhalt dieser Register auf den
Stapelspeicher geschoben wird und daß der Stapelzeiger im
Tasksteuerblock gespeichert wird. Der Scheduler 125 startet
erneut die Task, indem ihr Zusammenhang vom Stapelspeicher
"gepufft" wird und der nächste Taskbefehl ausgeführt wird,
der vom Programmzähler angezeigt wird.
Wenn die Task bis zu ihrer Vervollständigung durchgelaufen
ist, d. h. typischerweise bis eine Eingabe/Ausgabe-
Operation eingeleitet wird, ruft die Task eine Subroutine
WAITFER, die das Durchlaufbit und die Maskenbits im Tasksteuerblock
modifiziert und durch Ausführung des "Unterbrechungsbefehls"
eine Software-Unterbrechung einleitet.
Der Zusammenhang der Task wird auf den Stapelspeicher
gestoßen, und in den Scheduler 125 wird wieder eingetreten.
Der Scheduler wird ausgeführt, um die nächste Task zu bestimmen,
die zu durchlaufen ist. Bevor sich eine Task in
dieser Weise selbst zur Ruhe begibt, erstellt die Daten
in einer Warteschlange oder in einem Puffer und setzt dann
eine Ereignisflagge in einer der anderen Tasks in dem System.
Wenn der Scheduler 125 sequentiell durch die Tasksteuerblockprioritätstabelle
127 läuft, entdeckt er die
Ereignisflagge, die von der zuvor ausgeführten Task gesetzt
worden ist, und aktiviert die neue Task, um die
Daten in der Warteschlange oder im Puffer zu bearbeiten.
Eine Auflistung der Schedulerroutine 125 befindet sich
im Anhang A.
Es wird wieder auf die Fig. 3 und 6 verwiesen. Ein
Beispiel für die Art und Weise, in der die Treiber und
Tasks in Kombination mit dem Scheduler arbeiten, ist durch
die Takttreiberroutine 119 und die Zeitgebertask 124 vorgesehen.
In die Takttreiberroutine 119 wird immer dann
eingetreten, wenn der 25-ms-Taktgeber im CTC 44 abgelaufen
ist. Dieses Ereignis erzeugt eine Hardware-Unterbrechung,
die das System auf die Takttreiberroutine 119 einweist.
Die Treiberroutine 119 setzt die Ereignisflagge in dem
Tasksteuerblock für die Zeitgeberroutine 124, um anzuzeigen,
daß ein 25-ms-Tick des Taktgebers aufgetreten
ist. Die Treiberroutine erzeugt dann eine Software-Unterbrechung,
indem sie den Unterbrechungsbefehl ausführt.
Als ein Ergebnis wird in den Scheduler 125 eingetreten,
und der Scheduler prüft die Tasksteuerblockprioritätstabelle
127, um festzustellen, ob irgendeine Task zum
Durchlauf bereits oder fertig ist. Die Ereignisflagge für
die Zeitgeberroutine 124 wird gesetzt, und unter der Annahme,
daß keine prioritätshöheren Tasks zum Durchlaufen
fertig sind, zweigt der Scheduler 125 zur Zeitgeberroutine
124 ab. Die Zeitgeberroutine 124 speichert Zählschritte,
die jeweils nach dem Auftreten eines 25-ms-Ticks um eins
dekrementiert werden. Ein beispielsweise auf zwei voreingestellter
Zähler ist nach dem Auftreten von zwei Ticks
oder 50 ms auf null dekrementiert. Wenn dies auftritt,
setzt die Zeitgeberroutine 124 die Ereignisflagge im
Tasksteuerblock für die Steuergerätabtast- und Nachrichteneinleitroutine
123. Nachdem all ihre Zähler dekrementiert
sind, erzeugt die Zeitgeberroutine die Software-
Unterbrechung, und es wird in den Scheduler 125 eingetreten.
Der Scheduler erfaßt, daß die Ereignisflagge für die
Routine 123 gesetzt worden ist, und auf dies Weise wird
die Routine 123 alle 50 ms ausgeführt, um irgendwelche
Nachrichten vom programmierbaren Steuergerät zu lesen,
die fertig sind, um zu einer anderen Station des Übertragungs-
oder Kommunikationsnetzwerks gesendet zu werden.
Um die Art und Weise zu verstehen, in der die Software-
Module arbeiten und zusammenwirken, um Nachrichten vom
Kabel 1 zu empfangen und an das Kabel 1 abzugeben, soll
zunächst das programmierbare Steuergerät 9 kurz erläutert
werden. Eine ausführliche Erläutertung dieses programmierbaren
Steuergeräts findet man in der US-PS 41 65 534.
Im folgenden wird insbesondere auf die Fig. 8 Bezug
genommen. Das programmierbare Steuergerät 9 enthält einen
Universal-Asynchron-Empfänger/Sender UAR/T 200, der über
ein Kabel 201 an den Kanal B des SIO der Steuergerät-
Schnittstelle 10 angeschlossen ist. Der UAR/T 200 steht
mit einem Steuergerät-Adressenbus 202 in Verbindung und
ist über UAR/T-Datentore oder -Gatter 204 an einen
8-Bit-Datenbus 203 angeschlossen. Der Adressenbus 202 und
der Datenbus 203 sind mit einem Steuergerätprozessor 205
verbunden, der den Datenfluß auf dem Datenbus 203 steuert,
indem er Adressen auf dem Adressenbus 202 erzeugt, die die
Quelle und den Bestimmungsort der Daten festlegen. Eine
Datenquelle oder ein Datenbestimmungsort in der UAR/T 200.
Wenn ein 8-Bit-Byte an Daten über den UAR/T 200 von der
Steuergerät-Schnittstelle 10 empfangen wird, unterbricht
der UAR/T 200 die Arbeitsweise des Prozessors 205, und
eine UAR/T-Serviceroutine wird ausgeführt, um das Datenbyte
durch den Datenbus 203 einzugeben. Andererseits kann
der Steuergerätprozessor 205 aufgrund eines Kommandos von
der Steuergerät-Schnittstelle 10 ein 8-Bit-Byte an Daten
in den UAR/T 200 schreiben und seine serielle Übertragung
durch das Kabel 201 zur Steuergerät-Schnittstelle 10 einleiten.
Der Steuergerät-Adressenbus 202 und der Steuergerät-
Datenbus 203 sind auch über Eingabe/Ausgabe-Adressentore
oder -Adressengatter 201 bzw. über Eingabe/Ausgabe-Datentore
oder -Datengatter 211 mit Eingabe/Ausgabe-Schnittstellenschaltungen
206 bis 209 verbunden. Die E/A-Schnittstellenschaltungen
206 bis 209 sind mit Fühlgeräten verbunden,
beispielsweise mit Schaltern, und sind mit Stellgeräten
verbunden, beispielsweise mit Motoren und Hubmagneten
angesteuerten Maschinen. Der Steuergerät-Prozessor
205 führt periodisch eine Eingabe/Ausgabe-Abtastroutine
aus, die Daten von den E/A-Schnittstellenschaltungen 206
bis 209 eingibt und Daten an die E/A-Schnittstellenschaltungen
206 bis 209 abgibt, um die Arbeitsweise der Maschinen
zu steuern. Dieser Vorgang tritt typischerweise
alle 20 ms oder in noch kürzeren Zeitabständen auf.
Der Steuergerät-Prozessor 205 ist eine programmierte
Maschine, und die Programme, die seine Arbeitsweise steuern,
einschließlich der UAR/T-Bedienungsroutine und der
E/A-Abtastroutine, sind in einem Festwertspeicher gespeichert,
der in den Zeichnungen nicht dargestellt ist. Andererseits
sind das Steuerprogramm, das bestimmt, wie die
gesteuerte Maschine betrieben werden soll, und andere
Daten, die zum Ausführen dieses Betriebs verwendet werden,
in einem Direktzugriffsspeicher 212 gespeichert, der sowohl
mit dem Adressenbus 202 als auch mit dem Datenbus 203 verbunden
ist. Der Steuergerät-Prozessor 205 arbeitet derart,
daß er die Steuerprogrammbefehle sequentiell aus dem Speicher
212 liest und die Funktionen ausführt, die durch einen
Operationscode in jedem Steuergerätbefehl angegeben sind.
Diese Befehle umfassen solche, die zum Prüfen des Zustands
eines ausgewählten Fühlgerätes dienen, das mit einer der
E/A-Schnittstellenschaltungen 206 bis 209 verbunden ist,
und solche, die zum Betätigen der Stellgeräte an den gesteuerten
Maschinen dienen. Zum Ausführen einer Vielzahl
von Steuerfunktionen sind zahlreiche verschiedene Operationscodes
verfügbar, und bezüglich einer detaillierten
Erläuterung eines Steuerbefehlssatzes wird auf die US-PS
41 65 534 verwiesen.
Ein Hauptziel der Erfindung besteht darin, daß programmierbare
Steuergerät 9 zu befähigen, Nachrichten mit
Kommandos oder Daten an andere Stationen im Kommunikations-
oder Übertragungsnetzwerk abzugeben. Ferner ist in Betracht
gezogen, daß andere Stationen an das programmierbare Steuergerät
9 Nachrichten aussenden können. Das programmierbare
Steuergerät 9 kann beispielsweise so programmiert sein, daß
es eine Nachricht an das Rechnersteuersystem oder die Rechnersteuerung
7 aussendet, um anzuzeigen, daß auf einer
Fertigungsstraße ein Bauteil gerade einen bestimmten Punkt
passiert hat. Diese Nachrichtung soll immer dann abgegeben
oder ausgesendet werden, wenn ein besonderer Grenzschalter
schließt, der mit den E/A-Schnittstellenschaltungen 206
bis 209 verbunden ist. Folglich ist in dem Steuerprogramm
ein Befehl enthalten, der festlegt, wenn dieses Ereignis
auftritt. Das Aussenden einer Nachricht durch das programmierbare
Steuergerät 9 erfolgt somit als Ergebnis der
Steuerprogrammausführung.
Umgekehrt können andere Steuergeräte im Kommunikations-
oder Übertragungsnetzwerk an das programmierbare
Steuergerät 9 Nachrichten aussenden, die ein besonderes
Stellgerät betreffen, das mit den E/A-Schnittstellenschaltungen
206 bis 209 verbunden ist und betätigt werden
soll. Solche Daten werden über den UAR/T 200 in den
Steuergerät-Prozessor 205 eingegeben und dann in einen
bezeichneten Platz des Direktzugriffsspeichers 212 geschrieben.
Im folgenden wird insbesondere auf die Fig. 8 und 9
Bezug genommen. Um Nachrichten für andere Stationen zu
erzeugen und um andere Stationen in die Lage zu versetzen,
Daten in den Direktzugriffsspeicher 212 des programmierbaren
Steuergeräts zu schreiben, enthält das Steuerprogramm eine
oder mehrere Übertragungs- oder Kommunikationssprossen 213.
Die Kommunikationssprossen 213 enthalten Steuergerätbefehle,
die von der Steuergerät-Schnittstelle 10 benutzt werden,
um zu bestimmen, wo auszusendende Nachrichtendaten im
Direktzugriffsspeicher 212 des Steuergerätes gespeichert
werden sollen und an welche Station die Nachrichtendaten
auszusenden sind. Diese Kommunikationssprossen 213 ermöglichen
es auch der Steuergerät-Schnittstelle 10 zu bestimmen,
ob andere Stationen Daten aus dem Direktzugriffsspeicher
212 lesen oder in diesen Speicher einschreiben
können, und wenn dies zutrifft, um welche Speicherplätze
es sich handelt. Im Anhang H ist das Format der Kommunikationssprossen
213 unter Verwendung von Befehlen nach Art
des programmierbaren Steuergeräts dargestellt. Die Fig. 9
zeigt für diejenigen, mit mit der Technik programmierbarer
Steuergeräte vertraut sind, die entsprechenden Sprossendiagramme.
Die Steuergerätbefehle, die zur Bildung der Kommunikationssprossen
213 verwendet werden, üben nicht ihre gewöhnlichen
Steuerfunktionen aus, sondern dienen vielmehr
als Codes, die die Schnittstelle 10 des programmierbaren Steuergeräts
identifizieren kann, wenn sie die Kommunikationssprossendaten
aus dem Steuergerät-Direktzugriffsspeicher
212 ausliest. Viele dieser Daten sind zur Verwendung durch
die Tasks 120 bis 124 im Steuergerät-Schnittstellen-Direktzugriffsspeicher
35 gespeichert. Obgleich bei dem erläuterten
bevorzugten Ausführungsbeispiel exisitierende Operationscodes
des programmierbaren Steuergeräts verwendet werden,
können auch neue Steuergerätbefehle definiert werden, die
nicht irgendeine Steuerfunktion ausüben, sondern die lediglich
dazu dienen, mit der Steuergerät-Schnittstelle 10 in
Verkehr zu treten. Es sei bemerkt, daß die Tabelle A und
die Fig. 9 lediglich ein Beispiel für das Format darstellen,
und daß bei einer besonderen Anlage viele andere
Privilegzweige und Kommandosprossen hinzugefügt werden
können.
Das programmierbare Steuergerät 9 leitet ein Kommando
dadurch ein, daß das Startbit für dieses Kommando auf eins
gesetzt wird. Die Startbits sind im Datentabellenabschnitt
des Speichers 212 des Steuergerätes gespeichert, und die
Steuergerät-Schnittstelle 10 arbeitet derart, um diese
Start-Geschehen-Wörter periodisch auszulesen und dahingehend
zu überprüfen, ob irgendwelche Kommandos auszuführen
sind. Es ist dem Anwender überlassen, sein Steuerprogramm
so zu schreiben, daß die Startbits zum richtigen Zeitpunkt
gesetzt werden, um die gewünschten Funktionen auszuführen.
Wenn die Steuergerät-Schnittstelle 10 feststellt, daß
ein Kommandosprossenstartbit gesetzt worden ist, liest sie
aus dem Kommunikationssprossenabschnitt 213 des Speichers
212 des Steuergeräts die Kommandodaten für die betreffende
Sprosse aus. Die Steuergerät-Schnittstelle 10 bildet
dann eine Nachricht und sendet sie an die Bestimmungsstation
aus, die in der aktiven Kommandosprosse angegeben ist. Nachdem
die Anwort empfangen worden ist, setzt sie das geeignete
"Getan"- oder "Geschehen"-Bit im Start-Geschehen-Wort. Das
Steuerprogramm im programmierbaren Steuergerät enthält
Befehle, die dieses Ereignis erfassen, und das Steuerprogramm
setzt das Startbit für die Kommandosprosse zurück.
Die Steuergerät-Schnittstelle setzt dann das
"Geschehen"-Bit zurück.
Für die folgende Erläuterung wird insbesondere die
Fig. 6 herangezogen. Die periodische Prüfung des Start-
Geschehen- oder Start-Getan-Wortes im Speicher 212 des
programmierbaren Steuergerätes wird von der Steuergerätabtast-
und Nachrichtenausführungstask 123 vorgenommen.
Diese Task 123 durchläuft alle 50 ms einmal ihren Zyklus,
und während jeder derartigen "Abtastung" überprüft sie ein
Start-Getan-Wort und initiiert die angegebenen Nachrichten.
Um diese Task beschleunigt auszuführen, sind beträchtliche
Mengen an Daten im Speicher 35 der Steuergerät-Schnittstelle
gespeichert, und zwar Daten, die den Platz und die Größe
der Kommunikationssprossen und der zugeordneten Start-
Getan-Wörter betreffen. Diese Daten werden von einer Sprossenprüfroutine
RUNGCK erzeugt, die sowohl während des Hochfahrens
der Versorgungsenergie der Steuergerät-Schnittstelle
10 als auch immer dann ausgeführt wird, wenn das
programmierbare Steuergerät in die Run- oder Durchlauf-
Betriebsweise geschaltet wird. Eine Auflistung der Sprossenprüfroutine
befindet sich im Anhang B.
Es wird jetzt auch die Fig. 10 zur Erläuterung herangezogen.
Die im Steuergerät-Schnittstellen-Speicher gespeicherten
Kommunikationssprossendaten werden im folgenden
auch mit Kommandoprossenindex bezeichnet. Für jedes
in der Steuergerätdatentabelle gespeicherte Start-Getan-
Wort speichert der Kommandosprossenindex seine 16-Bit-
Speicheradressen, wie es bei 220 in der Fig. 10 angegeben
ist. Bezüglich der Anzahl der zu versorgenden Start-Getan-
Wörter besteht keine Einschränkung, obgleich im allgemeinen
ein oder zwei Wörter ausreichend sind. Bis zu acht
Kommandosprossen kann man jedem Start-Getan-Wort zuordnen.
Für jede dieser Sprossen speichert ein Wort 222 die Anzahl
der Zeilen, die die Kommandosprossen im Speicher 212 des
Steuergeräts einnimmt, und ein Wort 223 speichert einen
3-Bit-Zeiger und bis zu fünf Statusbits. Die die Sprossengröße
betreffenden Wörter 222 werden von der Abtasttask
123 benutzt, um schnell in die im Speicher 212 des Steuergerätes
gespeicherten Kommandoprossen zu indizieren und
um auf diese Weise die benötigten Daten zu erhalten. Der
3-Bit-Zeiger zeigt dabei an, welches der acht Startbits
im Start-Getan-Wort dieser besonderen Kommandosprosse zugeordnet
ist. Die Statusbits in den Wörtern 223 enthalten
ein Bit, das der Abtasttask 123 anzeigt, daß die Kommandosprosse
die letzte ist, welche einem besonderen Start-
Getan-Wort zugeordnet ist, ein Bit, das anzeigt, daß die
Kommandosprosse in den Kommunikationssprossen 213 die
letzte ist, und ein Bit, das der Abtasttask 123 anzeigt,
daß das Startbit für die Kommandosprosse bereits zuvor
erkannt worden ist und gerade verarbeitet wird.
Die Sprossenprüfroutine extrahiert auch Daten aus
den Privilegzweigen der Kommunikationssprossen 213 und
speichert sie im Speicher 35 der Steuergerät-Schnittstelle.
Diese Daten enthalten eine Liste der Stationsnummern, die
das Privileg haben, in den Speicher 212 des Steuergerätes
zu schreiben, zusammen mit Daten, die die Speicheradresse
des jeder aufgelisteten Station zugeordneten Privilegzweiges
angeben.
Die Steuergerät-Abtast-und Nachrichteneinleittask
123 wird alle 50 ms ausgeführt, um zu bestimmen, ob das
programmierbare Steuergerät 9 eine Nachricht an eine
andere Station des Kommunikationsnetzwerks auszusenden
wünscht. Unter Bezugnahme auf die Fig. 6 und 11 wird erläutert,
daß die Task 123 immer dann, wenn sie einen
Zyklus durchläuft, einen Satz von Befehlen ausführt, die
in einem Prozeßblock 225 angegeben sind, um eines der
Start-Getan-Wörter aus dem Speicher 212 des programmierbaren
Steuergerätes zu lesen. Sie überprüft dann die acht
Startbits, um festzustellen, ob irgendwelche von ihnen
gesetzt sind. Falls keine gesetzt sind, wird entsprechend
der Darstellung in einem Entscheidungsblock 226 eine Subroutine
227 aufgerufen, um das System zum Scheduler 125
zurückkehren zu lassen, und zwar durch Erzeugen der durch
Software eingeleiteten Unterbrechung.
Ist andererseits ein Startbit gesetzt, soll eine
Nachricht ausgesendet werden, und der Kommandobefehl wird
aus dem Speicher 212 des Steuergerätes gelesen und überprüft,
um festzustellen, ob eine Lese-, Schreib- oder Bitsteuernachricht
ausgesendet werden soll. Wenn Daten aus
einer bezeichneten Station ausgelesen werden soll, wie
es durch einen Entscheidungsblock 228 bestimmt wird, wird
die Nachricht dadurch gebildet, daß die übrigen Daten in
der Kommandosprosse aus dem Speicher 212 des Steuergerätes
gelesen werden, daß ein Kopf oder Kopfteil gemäß dem
Kommunikationsnetzwerkprotokoll angebracht wird und daß
die Nachricht in einem Nachrichtenpufferabschnitt des
Speichers 35 der Schnittstelle gespeichert wird. Wenn bei
einem Entscheidungsblock 229 ein Schreibkommando festgestellt
wird oder wenn bei einem Entscheidungsblock 230 ein
Bitsteuerkommando festgestellt wird, erfolgt die Bildung
einer geeigneten Nachricht und ihre Speicherung im Nachrichtenpuffer.
Wie es in einem Prozeßblock 231 angedeutet
ist, wird dann eine Leitkurs-Subroutine ROUTE aufgerufen,
die ausgeführt wird, um die Nachricht zu einer Ausgabeschlange
im Speicher 35 zu transferieren. Eine Auflistung
der Abtast- und Nachrichteneinleittask 123 befindet sich
im Anhang C.
Die Funktion der Abtast- und Nachrichteneinleittask
123 besteht darin, Lese-, Schreib- und Bitsteuerkommandos
zu formen, die an andere Stationen des Übertragungs- oder
Kommunikationsnetzwerks auszusenden sind. Das Format des
Lesebefehls sieht wie folgt aus:
DEST SRCE CMD STS TRNS ADDRESS SIZE
wobei:
DEST | |
ist die Stationsnummer, an die die Nachricht auszusenden ist; | |
SRCE | ist die Stationsnummer, von der die Nachricht ausgesendet wird; |
CMD | ist ein 8-Bit-Byte, in dem Bit 7: 0 = Nachricht, 1 = Statusbit, Bit 6 : 0 = Kommando, 1 = Antwortbit, Bit 5: 0 = Normal, 1 = Priorität, Bit 0 bis 3: Kommandoart; |
STS | wird in einer Kommandonachricht nicht verwendet; |
TRANS | ist ein 8-Bit-Feld, das man auf irgendeinen Wert setzen kann und das von der Bestimmungsstation in ihrer Antwort zurückgegeben wird; |
ADDRESS | ist die 16-Bit-Adresse im Bestimmungsstationsspeicher des Blocks auszulesender Daten; |
SIZE | ist die Größe in Bytes des Blocks auszulesender Daten. |
Das Format des Schreibkommandos lautet wie folgt:
DEST SRCE CMD STS TRNS ADDRESS DATA
wobei:
DEST, SRCE, CMD und TRNS sind wie beim Lesekommando;
DEST, SRCE, CMD und TRNS sind wie beim Lesekommando;
ADDRESS | |
ist die 16-Bit-Adresse im Bestimmungsstationsspeicher, in den der Block von Daten einzuschreiben ist; | |
DATA | sind die einzuschreibenden Daten, die eine Länge von 1 bis 245 Bytes haben können. |
Das Format des Bitsteuerkommandos ist wie folgt:
DEST SRCE CMD STS TRNS 0 bis 50-Bit-Kommandos
wobei:
Jedes Bitkommando enthält eine 16- Bit-Adresse eines Wortes in dem Speicher des programmierbaren Steuergerätes, eine 16-Bit-Maske zu setzender Bits und eine 16-Bit-Maske zu löschender Bits.
Jedes Bitkommando enthält eine 16- Bit-Adresse eines Wortes in dem Speicher des programmierbaren Steuergerätes, eine 16-Bit-Maske zu setzender Bits und eine 16-Bit-Maske zu löschender Bits.
Der Fluß von Kommandonachrichten und anderen Daten
zwischen dem Kommunikationsnetzwerk, dem Programmierpult
und dem programmierbaren Steuergerät ist in der Fig. 14
schematisch dargestellt. Die verschiedenen Warteschlangen
und Puffer, die in dieser Figur gezeigt sind und auf die
in der folgenden Erläuterung Bezug genommen wird, sind
Teile des Direktzugriffsspeichers 35, die durch eine
Speichermanagementroutine zugewiesen werden. Die Speichermanagementroutine
ist in Wirklichkeit ein Salz von Routinen
innerhalb des Systemexekutiv- oder Systemausführungsprogramms,
das gerufen werden kann, um spezifische Speichermanagementfunktionen
auszuführen. Diese Routinen umfassen
eine Nimm-Routine GET, die einen Speicherplatzpuffer
oder eine Warteschlange beschafft und zuweist, eine Freigaberoutine
RELEASE, die einen zugewiesenen Speicherplatz
zur allgemeinen Verwendung freigibt, eine Koppel-Routine
LINK, die Nachrichtendaten zu einer Warteschlange oder zu
einem Puffer koppelt, und eine Entkoppel-Routine UNLINK,
die eine Nachricht von einer Warteschlange oder einem
Puffer entkoppelt.
Für die folgende Erläuterung werden insbesondere die
Fig. 3 und 14 herangezogen. Der Datenfluß zwischen dem
Programmierpult und dem programmierbaren Steuergerät geht
direkt vonstatten. Die Steuergerät-Treiber-Routine 117
betätigt den Kanal B des SIO 41, um Daten vom Speicher
des programmierbaren Steuergerätes zu empfangen und sie
zum Programmierpult-Handhaber 120 weiterzuleiten. Das
Programmierpult 15 enthält einen Mikroprozessor, der über
das Kabel 22 Daten anfordert. Der Programmierpult-Handhaber
120 empfängt diese Anforderungen, prüft sie und gibt
sie weiter an die PC-Warteschlange. Die Steuergerät-Treiber-
Routine 117 sendet die Anforderungen über das Kabel 23 an
das programmierbare Steuergerät. In manchen Fällen erwidert
das programmierbare Steuergerät mit Daten, die durch die
Steuergerät-Treiber- Routine 117 empfangen werden. Die
Routine 117 sendet die Daten an den Programmierpult-Handhaber
120, der sie wiederum über das Serien-Kabel 22 an
das Programmier-Pult aussendet.
Wie man der Fig. 14 entnehmen kann, empfängt die
Steuergerät-Treiber-Routine 117 von einer Reihe von Quellen
Daten, und zwar zum Laden in das programmierbare Steuergerät.
Zusätzlich zur Programmierpult-Handhabungsroutine
120 umfassen diese die Steuergerätabtast- und Nachrichtenausführungsroutine
123, die NETX-Routine 122 und die Antwort-
Routine 121. Daten von diesen Quellen werden in einem
PC-Warteschlangenabschnitt (PC = programmierbares Steuergerät)
des Speichers gespeichert, und die Steuergerät-
Treiber-Routine 117 liest aus dieser Warteschlange aus.
Die NETX-Routine 122 ist nicht nur eine Datenquelle
für die PC-Warteschlange, sondern sie empfängt auch Daten
von der Steuergerät-Treiber-Routine 117. Aus den Fig. 6,
12 und 14 kann man entnehmen, daß es die Funktion der NETX-
Task 122 ist, Kommandonachrichten auszuführen, wenn sie von
einer anderen Station empfangen werden, und Antwortnachrichten
zu der Ursprungsstation zurückzusenden. Wenn der
Scheduler 125 die NETX-Task 122 aktiviert, setzt er zunächst
die Ereignisflagge in seinem Taststeuerblock zurück
und stellt dann fest, ob eine Kommandonachricht im
Kommandowarteschlangenabschnitt des Speichers 35 auf ihn
wartet. Wenn keine Kommandoschicht wartet, wie es durch
einen Entscheidungsblock 233 festgestellt wird, springt
das System zurück zum Scheduler 125. Andernfalls wird die
Nachricht entkoppelt, wie es durch einen Prozeßblock 234
angedeutet ist, und es werden Prüfungen vorgenommen, um
festzustellen, ob die sendende Station das Privileg hat,
aus dem Speicher des programmierbaren Steuergerätes zu
lesen oder in diesen Speicher einzuschreiben. Falls dies
nicht zutrifft, wie es durch einen Privileg-Entscheidungsblock
angedeutet ist, wird eine Antwort erzeugt, die anzeigt,
daß die sendende Station nicht privilegiert ist.
Andernfalls werden Prüfungen am CMD-Feld der Nachricht
vorgenommen, um festzustellen, ob es sich um ein Lese-,
Schreib- oder Bitsteuerkommando handelt. Falls ein Lesekommando
vorliegt, wie es durch einen Entscheidungsblock
235 festgestellt wird, wird den Daten, die aus dem Speicher
212 des programmierbaren Steuergerätes zu lesen sind, ein
Speicherplatz (d. h. der Antwortpuffer) zugewiesen. Entsprechend
einem Prozeßblock 237 werden dann die Daten aus dem
durch das Lesekommando spezifizierten Steuergerätspeicherplatz
des Steuergerätspeichers 212 gelesen und zur Bildung
einer Antwortnachricht für die anfordernde Station verwendet.
Handelt es sich bei der Kommandonachricht um ein
Schreibkommando oder ein Bitsteuerkommando, was von einem
Entscheidungsblock 238 festgestellt wird, werden die Daten
in der Kommandonachricht in den spezifizierten Platz des
Steuergerätspeichers 212 geschrieben. Unbeschadet des Kommandos
wird entsprechend einem Prozeßblock 239 eine Antwortnachricht
gebildet und zwecks Rückübertragung zur Ursprungsstation
an die Ausgabewarteschlange freigegeben. Erfaßt der
Entscheidungsblock ein unerlaubtes Kommando, wird vor dem
Aussenden ein Fehlercode in die Antwortnachricht eingesetzt.
Das Format der Antwortnachrichten ist wie folgt, und eine
Auflistung der NETX-Task befindet sich im Anhang D.
Lesekommandoantwort:
DEST SRCE CMD STS TRANS DATA
wobei:
DEST | |
ist die Stationsnummer des Urhebers der Kommandonachricht; | |
SRCE | ist die Stationsnummer der Station, die die Antwort sendet; |
STS | ist ein 8-Bit-Statusbyte, bei dem: |
0 = Kommandoausführung bestätigt | |
1 = unerlaubter Befehl | |
2 = Aufforderung zur manuellen Bedienung | |
3 = reserviert | |
4 = Stationsspeicher voll | |
5 = Schreibschutzverletzung | |
6 = reserviert | |
7 = unzustellbare Nachricht | |
TRANS | ist ein 8-Bit-Feld, das mit dem in der Kommandonachricht identisch ist; |
DATA | sind 1 bis 253 Bytes aus dem Steuergerätspeicher gelesener Daten. |
Schreibkommandoantwort und Bitsteuerkommandoantwort:
DEST SRCE CMD STS TRANS
Dabei gilt für DEST, SRCE, STS und TRANS das gleiche wie
bei der oben erläuterten Lesekommandoantwort.
Wenn eine Antwortnachricht von der Station empfangen
wird, die die Kommandonachricht erzeugte, wird die Ereignisflagge
im Tasksteuerblock für die Antworttask 121 gesetzt,
und die Antwortnachricht wird in einer Antwortwarteschlange
gespeichert. Wenn die Antworttask 121 durch den Scheduler
125 aktiviert ist, entkoppelt sie die Antwortnachricht von
der Antwortwarteschlange und prüft das STS-Feld, um festzustellen,
ob die Kommandonachricht richtig empfangen
worden ist. Trifft dies zu, wird für die entsprechende
Kommandosprosse das Getan-Bit im Speicher 212 des programmierbaren
Steuergerätes gesetzt, und das System kehrt
zum Scheduler 125 zurück. Falls es sich um die Antwort
auf ein Lesekommando handelt, enthält jedoch die Antwort
die angeforderten Daten, und die Antworttask 121 ist tätig,
um sie in den bezeichneten Platz des Steuergerätspeichers
212 zu schreiben. Eine Auflistung der Antworttask befindet
sich im Anhang E.
Aus den Fig. 3 und 6 kann man erkennen, daß von der
Abtasttask 123 oder der NETX-Task 122 in die Ausgabewarteschlange
eingebrachte Nachrichten unter der Leitung des
Protokolltreibers 116 und des Datenverbindungstreibers 115
durch den Kanal A des SIO 41 zum Kabel 1 übertragen werden.
Gleichermaßen werden über das Kabel 1 vom SIO 41 empfangene
Nachrichten von den Treibern 115 und 116 verarbeitet und
entweder in der Kommandowarteschlange oder der Antwortwarteschlange
gespeichert. Aus der folgenden Erläuterung geht
hervor, daß der Datenverbindungstreiber 115 zu einem großen
Teil ein Satz von Subroutinen ist, die vom Protokolltreiber
116 aufgerufen werden, um spezifischen Funktionen auszuführen.
Die Subroutinen werden daher in Verbindung mit dem
Protokolltreiber 116 beschrieben.
Der Protokolltreiber 116 führt vier grundsätzliche
Funktionen aus. Als erstes gewinnt sie die Herrschaft über
das Kommunikationsnetzwerk, wenn sich eine Nachricht in der
Ausgabewarteschlange der Station befindet. Zweitens überträgt
sie die Nachricht zur anderen Station des Netzwerks
und akzeptiert eine Statusnachricht. Drittens ruft sie
andere Stationen des Kommunikations- oder Übertragungsnetzwerkes
auf, um einer von ihnen die Herrschaft zu übertragen,
wenn sich keine weiteren Nachrichten in der Warteschlange
befinden. Viertens empfängt der Protokolltreiber 116, wenn
die Station nicht die Herrschaft hat bzw. nicht Hauptstation
ist, Nachrichten von den anderen Stationen des Netzwerks
und bringt sie in die Kommandowarteschlange oder
Antwortwarteschlange und sendet Statusnachrichten an die
sendenden Stationen zurück. Eine Auflistung der Protokolltreiberroutine
116 befindet sich im Anhang F. Eine Auflistung
der zugeordneten Datenverbindungstreiberroutine
115 ist im Anhang G zusammengestellt.
Die Funktion des Aussendens von Nachrichten an das
Übertragungsnetzwerk für den Fall, daß die Station Hauptstation
ist, wird von einem mit "TESTQ" bezeichneten Teil
des Protokolltreibers wahrgenommen. Dieser Teil der Routine
116 ist als Flußdiagramm in der Fig. 13A dargestellt.
Es wird eine Schleife gebildet, in der die Ausgabeschlange
wiederholt überprüft wird, wie es durch einen Entscheidungsblock
250 angedeutet ist. Wenn keine weiteren Nachrichten
auszusenden sind, zweigt das System zum Aufrufteil der
Protokolltreiberroutine 116 ab. Andernfalls wird eine
Nachricht von der Ausgabewarteschlange entkoppelt, wie es
durch einen Prozeßblock 251 dargestellt ist. Ein "RETRY"-
Zähler (Wieder-Versuch-Zähler) wird dann auf fünf gesetzt,
wie es in einem Prozeßblock 252 zu sehen ist. Anschließend
wird eine Reihe von Subroutinen im Datenverbindungstreiber
115 aufgerufen, um die Nachricht zu senden und auf eine
Statusnachricht von der Bestimmungsstation zu warten. Diese
Reihe von Subroutinen ist in einem Prozeßblock 253 angegeben.
Wenn das Aufrufen der Subroutinen beendet ist, wird
zunächst gemäß einem Entscheidungsblock 254 überprüft, ob
die Statusnachricht rechtzeitig und akkurat empfangen worden
ist. Trifft dies zu, wird der Inhalt der Statusnachricht
entsprechend einem Entscheidungsblock 255 geprüft, um festzustellen,
ob die gerade ausgesandte Nachricht von der
Bestimmungsstation richtig empfangen worden ist. Trifft
dies zu, wird die gerade ausgesandte Nachricht gelöscht,
und das System tritt erneut in die Schleife ein, um zu
sehen, ob noch weitere Nachrichten ausgesendet werden
sollen.
Wenn während der Übertragung der Nachricht oder der
Antwort auf die Nachricht ein Übertragungsfehler auftritt,
wie es von Entscheidungsblöcken 254, 255 und 257 festgestellt
wird, durchläuft das System die Schleife nochmals,
um die Nachricht erneut auszusenden. Wenn nach sechs Übertragungsversuchen
immer noch Fehler auftreten, zweigt das
System zu einem Entscheidungsblock 258 ab und berichtet
der Task, die die Nachricht erzeugte, daß sie nicht zugestellt
werden kann. Falls die Nachricht deswegen nicht zugestellt
werden kann, weil die Bestimmungsstation keinen
hinreichenden Speicherraum zur Verfügung hat, um die Nachricht
zu empfangen, zweigt das System am Entscheidungsblock
257 ab, und die Nachricht wird in eine Warteschlange
zum erneuten Aussenden zu einem späteren Zeitpunkt gegeben.
Nachdem alle Nachrichten in der Ausgabeschlange der
Station ausgesendet worden sind, zweigt das System zu dem
mit "SOPOL" bezeichneten Aufrufteil des Protokolltreibers
116 ab. Zur weiteren Erläuterung wird auch die Fig. 13C
herangezogen. Der Zweck des Aufrufteils SOPOL besteht
darin, andere Stationen des Übertragungsnetzwerks aufzurufen,
um zugunsten von einer anderen dieser Stationen die
Herrschaft aufzugeben. Entsprechend einem Prozeßblock 260
ruft das System zunächst nach einer mit "POLLIN" bezeichneten
Subroutine, um eine Globalaufrufkommandonachricht
zu bilden. Diese Nachricht wird an alle Stationen des Netzwerks
adressiert und enthält Parameter, die definieren,
welche Stationen auf diesen Aufruf antworten können. Anfangs
sind diese Parameter so eingestellt, daß es jeder Station
möglich ist, auf den Aufruf zu antworten. Stationen, die
innerhalb dieser Parameter zu liegen kommen, werden als vom
Aufrufkommando "umfaßt" bezeichnet. Unter Bezugnahme auf
einen Prozeßblock 261 sei bemerkt, daß das Globalaufrufkommando
mit dem gleichen Satz von Verbindungstreibersubroutinen
wie eine Kommando- oder Antwortnachricht ausgesendet
wird. Wenn irgendeine an das Netzwerk angeschlossene
Station in ihrer Ausgabewarteschlange eine Nachricht
hat, wird diese Station (oder Stationen) antworten, indem
sie für eine kurze Zeitspanne ihren Senderträger einschaltet.
Falls, wie es von einem Entscheidungsblock 262 festgestellt
wird, keine Antwort erfolgt, wird die Ausgabeschlange
der aufrufenden Station erneut überprüft, um
nachzusehen, ob sie irgendwelche auszusendenden Nachrichten
hat. Trifft dies entsprechend der Feststellung eines
Entscheidungsblocks 263 nicht zu, wiederholt die Station
den beschriebenen Aufrufvorgang.
Wenn eine Antwort auf das Globalaufrufkommando empfangen
wird, arbeitet das System derart, daß es die Herrschaft
auf diejenige von den antwortenden Stationen überträgt,
die die höchste Priorität hat. Wie es durch einen Prozeßblock
264 angegeben ist, wird im Globalaufrufkommando ein
Prioritätsbit gesetzt, und dann erfolgt das Aussenden,
wie es in einem Prozeßblock 265 angegeben ist. Wenn eine
der Stationen, die auf das anfängliche Globalaufrufkommando
geantwortet haben, eine Prioritätsnachricht hat, antwortet
diese Station auf das Prioritätsglobalaufrufkommando. Wenn
keine Prioritätsnachrichten auf ihre Übertragung in einer
Warteschlange einer Station warten, was durch einen Entscheidungsblock
266 festgestellt wird, wird das Prioritätsbit
zurückgesetzt, bevor mit dem Aufrufen fortgefahren
wird. In jedem Falle wird dann in eine Schleife eingetreten,
die die Anzahl der durch das Aufrufkommando adressierten
Stationen fortschreitend reduziert, bis nur noch eine
einzige Station adressiert wird.
Zum Auffinden der auf das Aufrufkommando antwortenden
einzigen Station mit der höchsten Priorität wird ein
Binärsuchverfahren angewendet. Wie es in einem Prozeßblock
267 angegeben ist, wird die Anzahl der aufgerufenen Stationen
während jedes Durchlaufes durch die Schleife halbiert,
so daß nur die untere Hälfte der Stationen adressiert wird,
die nicht bei vorangegangenen Aufrufkommandos eliminiert
worden sind. Das "halbierte" Aufrufkommando wird entsprechend
der Darstellung in einem Prozeßblock 268 ausgesendet,
und, wenn eine Antwort auftritt, kehrt das System in der
Schleife zum Prozeßblock 267 zurück, wie es in einem Entscheidungsblock
269 angegeben ist, um die Anzahl der aufzurufenden
Stationen erneut zu halbieren.
Wird andererseits keine Antwort empfangen, muß sich
die Station, die die Herrschaft wünscht, in der anderen
Hälfte befinden, und das System zweigt über einen Prozeßblock
271 zurück, um das Aufrufkommando zu ändern und dabei
die andere Hälfte zu adressieren. Dieser Prozeß oder Vorgang
des Aufrufens und Verminderns der Anzahl der aufgerufenen
Stationen wird fortgeführt, bis gegebenenfalls, wie es
durch einen Entscheidungsblock 270 angedeutet ist, nur noch
eine einzige Station aufgerufen wird, die dann antwortet.
Die aufrufende Station zweigt jetzt ab und wartet auf empfangene
Nachrichten (WTRFM), und die einzige aufgerufene Station
übernimmt die Herrschaft über das Kommunikations- oder
Übertragungsnetzwerk, d. h. sie springt nach TESTQ. Es soll
bemerkt werden, daß, wenn die Übertragung der Herrschaft
zwischen zwei oder mehreren Stationen ausgetragen wird, das
hier verwendete Suchverfahren diejenige Station aussucht,
die die niedrigste Stationsnummer oberhalb der Nummer der
gegenwärtigen Hauptstation hat. In bezug auf die Stationsnummern
wird somit von einem Schema mit umlaufender Priorität
Gebrauch gemacht. Auf das Prioritätsaufrufkommando
kann natürlich jede Station antworten, die eine Prioritätsnachricht
hat, und sie kann die Herrschaft über alle Stationen
gewinnen, die keine Prioritätsnachrichten haben.
Das Format des Aufrufkommandos ist im Anhang H dargestellt.
Im folgenden wird insbesondere auf die Fig. 13B
Bezug genommen. Wenn die Schnittstelle 10 des programmierbaren
Steuergerätes nicht die Hauptschnittstelle des Kommunikationsnetzwerks
ist, wartet sie darauf, daß entweder
eine Nachricht oder ein Aufrufkommando an sie gerichtet
wird. Während dieses Zustands befindet sich die Protokolltreiberroutine
160 in einem Warteprozeß WTFRM, bei dem
ein Zeitgeber gesetzt wird und die Station auf eine an sie
gerichtete Nachricht wartet, wie es in einem Prozeßblock
275 angegeben ist. Wenn vor Ablauf des Zeitgebers keine
Nachrichten empfangen werden, was durch einen Entscheidungsblock
276 festgestellt wird, wird der Zeitgeber zurückgesetzt,
und die Station hält Ausschau nach irgendwelchen
Nachrichten im Netzwerk. Wenn keine Nachrichten empfangen
werden, was von einem Entscheidungsblock 277 festgestellt
wird, springt das System nach TESTQ und übernimmt die
Herrschaft über das Netzwerk. In den einzelnen Stationen
sind die Zeitgeber auf verschiedene Werte eingestellt, so
daß sie nicht zum selben Zeitpunkt den Versuch unternehmen,
das Netzwerk zu beherrschen. Vielmehr ist es so, daß diejenige
Station, deren Zeitgeber zuerst abläuft, die Herrschaft
übernimmt und eine Nachricht (entweder Daten oder
ein Aufrufkommando) aussendet, das die Zeitgeber in den
anderen Stationen zurückstellt.
Wenn eine Nachricht von der Station empfangen wird,
die durch den Entscheidungsblock 276 oder durch den Entscheidungsblock
277 bestimmt ist, wird ihr Bestimmungsadressenfeld
geprüft, um festzustellen, ob es sich um ein
Aufrufkommando handelt. Trifft dies zu (d. h. die Bestimmungsadresse
ist 255), was durch einen Entscheidungsblock
278 festgestellt wird, zweigt das System zu einer Routine
BNPOLD ab, die bestimmt, ob eine Antwort richtig ist. Wenn
die Nachricht kein Aufrufkommando ist, wird das Bestimmungsfeld
der Nachricht überprüft, um festzustellen, ob sie an
diese Stationsnummer gerichtet ist. Falls nicht, was ein
Entscheidungsblock 279 bestimmt, zweigt das System nach
WTRFM ab, um auf eine andere Nachricht zu warten.
Wenn eine Nachricht von dieser Station empfangen wird,
werden Überprüfungen vorgenommen, um festzustellen, ob
diese Nachricht ohne Übertragungsfehler empfangen worden
ist und ob Speicherraum verfügbar ist, um die Daten in der
Nachricht zu speichern. Wenn die Nachricht in geeigneter
Weise empfangen werden kann, was ein Entscheidungsblock
280 feststellt, wird die Nachricht zu der Kommandowarteschlange
oder der Antwortwarteschlange übermittelt, wie
es in einem Prozeßblock 281 angegeben ist. Außerdem wird
die geeignete Ereignisflagge im Prozeßsteuerblock gesetzt,
und die Software-Unterbrechung wird eingeleitet, so daß in
den Scheduler 125 eingetreten wird. Falls die Nachricht
nicht in geeigneter Weise empfangen worden ist, was der
Entscheidungsblock 280 feststellt, wird ein nicht null
Fehlercode erzeugt, und eine den Fehlercode enthaltende
Statusnachricht wird zurück zur verursachenden Station
geschickt. Nach dem Aussenden der Statusnachricht kehrt
das System in jedem Falle zurück, um auf eine andere Nachricht
zu warten.
Wenn ein Aufrufkommando von der Schnittstelle 10 des
programmierbaren Steuergeräts empfangen wird, erfolgt eine
Abzweigung zu einer mit BNPOLD bezeichneten Routine, wie
es bereits oben erwähnt ist. Das Flußdiagramm dieser Routine
ist in der Fig. 13D dargestellt. Ein Satz von Befehlen,
die in einem Entscheidungsblock 285 angegeben sind, wird
ausgeführt, um zu bestimmen, ob irgendwelche Prioritätsnachrichten
auf Aussendung durch die Station warten. Trifft
dies nicht zu, wird, wie es in einem Entscheidungsblock 286
angegeben ist, die Ausgabewarteschlange überprüft, um
festzustellen, ob irgendwelche Nachrichten auf Aussendung
oder Übertragung warten. Ist dies nicht der Fall, geht
das System in der Schleife nach WTFRM zurück, um auf den
Empfang der nächsten Nachricht im Netzwerk zu warten.
Befindet sich eine Nachricht in der Ausgabewarteschlange
der Station, wird durch einen Entscheidungsblock
287 das Aufrufkommando überprüft, um festzustellen,
ob es sich um einen Prioritätsaufruf handelt. Trifft dies
zu und befinden sich keine Nachrichten in der Prioritätsausgabewarteschlange
der Station, geht das System in der
Schleife zurück, um auf die nächste Nachricht zu warten.
Andernfalls wird entsprechend einem Entscheidungsblock 288
das Aufrufkommando überprüft, um zu bestimmen, ob diese
Station von der Aufrufkommandoadresse umfaßt ist. Trifft
dies zu, werden Subroutinen in der Datenverbindungstreiberroutine
115 gerufen, wie es in einem Prozeßblock 289 angegeben
ist, um positiv oder zwangsläufig auf das Aufrufkommando
zu antworten. Diese Antwort ist ein in geeigneter
Weise zeitgesteuerter Impuls oder Impulszug vom Sender der
Station. Schließlich wird das Aufrufkommando erneut überprüft,
um festzustellen, ob es nur eine einzige Stationsnummer
adressiert. Trifft dies zu, was von einem Entscheidungsblock
290 festgestellt wird, übernimmt das System die
Herrschaft über das Kommunikations- oder Übertragungsnetzwerk
und springt nach TESTQ. Andernfalls erfolgt eine
Rückkehr in der Schleife nach WTFRM, um es zu ermöglichen,
daß weitere Aufrufkommandos durch die Hauptstation ausgesendet
werden können.
Es ist augenscheinlich, daß es zu jedem beliebigen
Zeitpunkt eine einzige Hauptstation für das Kommunikations-
oder Übertragungsnetzwerk gibt. Allerdings wird die durch
die Hauptstation ausgeübte Herrschaft gemäß einem vorgewählten
Prioritätsschema zwischen den Stationen transferiert.
Jede Station des Übertragungsnetzwerks, die eine auszusendende
Nachricht hat, wird letztlich Hauptstation.
Sollte in einer Station ein Fehler auftreten, während diese
Station die Hauptstation des Übertragungsnetzwerks ist,
übernimmt eine andere Station die Funktion der Hauptstation
nach Ablauf einer vorgewählten Zeitspanne. Somit ist
das Netzwerk nicht von der Betriebsweise irgendeiner einzigen
Station abhängig. Die Herrschaft wird zu einer anderen
Station transferiert, nachdem durch die laufende oder
gegenwärtige Hauptstation ein ordnungsgemäßer Aufrufprozeß
ausgeführt worden ist. Es gibt daher keinen Streit um die
Herrschaft, der zu nicht voraussagbaren Bedingungen führen
könnte.
Es gibt nur einen sehr kleinen Unterschied zwischen
der Schnittstelle 10 des programmierbaren Steuergeräts
und den Schnittstellenschaltungen, die verwendet werden,
um andere Einrichtungen mit dem Übertragungsnetzwerk zu
verbinden. Aus den Fig. 1, 3 und 6 erkennt man, daß der
Unterschied zwischen den verschiedenen Schnittstellenschaltungen
8, 10, 13 und 14 in den Steuergerät- und
-empfängerschaltungen 47 sowie in der Steuergerät-Treiber-
Routine 117 liegt. Der vom USART 55 in der Schnittstelle
10 des programmierbaren Steuergeräts vorgesehene Serien-
Kanal wird von den anderen nicht benötigt. Folglich entfällt
diese Hardware und auch die zugeordnete Software. Fast
alle handelsübliche numerischen Steuerungssysteme, Prozeßsteuersysteme
und Rechnersteuerungssysteme machen von
einem Standard-Serien-Kanal RS 232 Gebrauch. Die übrigen
Steuergerät-Schnittstellenschaltungen 8, 13 und 14 sind
daher scheinbar identisch. Bezüglich ihrer Funktionsweise
im Übertragungsnetzwerk arbeiten die Steuergerät-Schnittstellen
8, 10, 13 und 14 in der oben erläuterten Weise.
Obgleich es sich bei dem hier erläuterten Schnittstellen-
Modul um einen körperlich getrennten Modul handelt,
könnte die Schnittstelle auch in das Gerät einbezogen
oder integriert sein, dem sie zugeordnet ist. Die Erfindung
könnte beispielsweise integraler Teil einer auf
Mikroprozessortechnik beruhenden industriellen Anschlußstation
sein.
Zusammenfassend enthält ein industrielles Kommunikationsnetzwerk
Mikroprozessoren enthaltende Schnittstellen-
Schaltungen, von denen jede ein Steuergerät, beispielsweise
ein programmierbares Steuergerät, mit einer Seriendatenverbindung
hoher Geschwindigkeit verbindet. Jede Schnittstellenschaltung
ist mit der Datenverbindung und mit dem
zugeordneten Steuergerät verbunden. Jede Schnittstellenschaltung
ist in der Lage, von der Datenverbindung Nachrichten
zu empfangen, die an das zugeordnete Steuergerät
gerichtet sind. Darüber hinaus kann jede Schnittstellenschaltung
die Herrschaft über das Kommunikationsnetzwerk
erlangen, wenn die die Herrschaft gerade ausführende
Schnittstellenschaltung ein Aufrufkommando erzeugt, das
anzeigt, daß sie zur Abgabe der Herrschaft bereit ist.
Dies hat zur Folge, daß das Kommunikationsnetzwerk auch
noch dann funktions- und arbeitsfähig ist, wenn ein oder
mehrere Steuergeräte oder eine oder mehrere den Steuergeräten
zugeordnete Schnittstellenschaltungen ausfallen
oder gestört sind.
Claims (7)
1. Verfahren zur Steuerung der Nachrichtenübertragung
in einem Kommunikationsnetzwerk mit einer Vielzahl an
ein Kabel angeschlossener Schnittstellen-Module, denen
jeweils ein elektrisches Gerät zugeordnet ist und von
denen jeder in der Lage ist, zur Steuerung der Übertragung
von das zugeordnete elektrische Gerät betreffenden
Datennachrichten über das Kabel die Kontrolle über das
Kommunikationsnetzwerk zu erlangen und nach der Beendigung
der Übertragung der Datennachrichten über das Kabel
die Kontrolle über das Kommunikationsnetzwerk an einen
anderen der Schnittstellen-Module abzugeben,
dadurch gekennzeichnet,
daß ein von der Vielzahl der Schnittstellen-Module (8, 10,
13, 14) die Kontrolle über das Kommunikationsnetzwerk
innehabender Schnittstellen-Modul zur Abgabe dieser
Kontrolle
- - in einem ersten Suchschritt eine an die Schnittstellen- Module gerichtete Aufrufkommandonachricht sendet, worauf sendewillige Schnittstellen-Module Antwortsignale auf das Kabel (1) legen, worauf
- - in einen zweiten Suchschritt an eine Hälfte der Schnittstellen-Module wiederum eine Aufrufkommandonachricht gesendet wird, worauf bei einem Antwortsignal an eine Hälfte aus dieser Hälfte als Suchschritt eine Aufrufkommandonachricht gesendet wird und weitere Schritte bei Antwortsignalen sich anschließen, bis ein sendewilliger, die Kontrolle übernehmender Schnittstellen-Modul gefunden ist, oder andernfalls beim Ausbleiben eines Antwortsignals die Suchschritte mit einer Hälfte der jeweiligen anderen Hälfte fortgesetzt werden, bei welchen Schritten die Hälften nach einer Priorität vorgewählt werden.
2. Verfahren nach Anspruch 1,
dadurch gekennzeichnet,
daß der die Aufrufkommandonachrichten aussendende Schnittstellen-
Modul im Anschluß an das Aussenden der an einen
einzigen sendewilligen Schnittstellen-Modul gerichteten
Aufrufkommandonachricht durch das von diesem sendewilligen
Schnittstellen-Modul abgegebene Antwortsignal unter Aufgabe
der Kontrolle über das Kommunikationsnetzwerk zum Empfangen
von Datennachrichten freigegeben wird.
3. Verfahren nach Anspruch 1 oder 2,
dadurch gekennzeichnet,
daß jeder Schnittstellen-Modul eine eindeutige Stationsnummer
hat und zum Erlangen der Kontrolle über das Kommunikationsnetzwerk
auf eine seine Stationsnummer umfassende Aufrufkommandonachricht
anspricht und daß die von dem abgabewilligen
Schnittstellen-Modul aufeinanderfolgend ausgesendeten Aufrufkommandonachrichten
zunehmend weniger Stationen umfassen und
die letzte Aufrufkommandonachricht nur noch eine einzige
Stationsnummer enthält.
4. Verfahren nach einem der vorstehenden Ansprüche,
dadurch gekennzeichnet,
daß ein sendewilliger Schnittstellen-Modul aufgrund der Erfassung
einer an ihn allein gerichteten Aufrufkommandonachricht
die Kontrolle über das Kommunikationsnetzwerk übernimmt.
5. Verfahren nach einem der vorstehenden Ansprüche,
dadurch gekennzeichnet,
daß die ausgesendete Aufrufkommandonachricht eine Prioritätsaufrufkommandonachricht
ist, auf die nur solche sendewilligen
Schnittstellen-Module antworten, die zum Aussenden einer Prioritätsdatennachricht
das Kommando über das Kommunikationsnetzwerk
erlangen wollen.
6. Schnittstellen-Modul für ein Kommunikationsnetzwerk, in
dem die Nachrichtenübertragung gemäß dem Verfahren nach
einem der Ansprüche 1 bis 5 gesteuert wird,
gekennzeichnet durch
eine Einrichtung (25, 29), die in Abhängigkeit vom Auftreten
oder Ausbleiben eines Antwortsignals aufgrund einer ausgesendeten
Aufrufkommandonachricht das Aussenden einer weiteren
Aufrufkommandonachricht veranlaßt, die an eine geringere
Anzahl von Schnittstellen-Modulen gerichtet ist.
7. Schnittstellen-Modul für ein Kommunikationsnetzwerk, in
dem die Nachrichtenübertragung gemäß dem Verfahren nach
einem der Ansprüche 1 bis 5 gesteuert wird,
gekennzeichnet durch
eine Einrichtung (25, 29), die in Abhängigkeit vom Auftreten
oder Ausbleiben eines Antwortsignals aufgrund einer ausgesendeten
Aufrufkommandonachricht das Aussenden einer weiteren
Aufrufkommandonachricht veranlaßt, die bezüglich eines die
Schnittstellen-Module kennzeichnenden Parameters modifiziert
ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/102,970 US4319338A (en) | 1979-12-12 | 1979-12-12 | Industrial communications network with mastership determined by need |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3043894A1 DE3043894A1 (de) | 1981-06-19 |
DE3043894C2 true DE3043894C2 (de) | 1989-12-28 |
Family
ID=22292681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19803043894 Granted DE3043894A1 (de) | 1979-12-12 | 1980-11-21 | Kommunikationsnetzwerk |
Country Status (4)
Country | Link |
---|---|
US (1) | US4319338A (de) |
CA (1) | CA1143028A (de) |
DE (1) | DE3043894A1 (de) |
GB (1) | GB2064920B (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19958825A1 (de) * | 1999-12-07 | 2001-06-13 | Zeiss Carl Jena Gmbh | Verfahren zur Kontrolle eines Steuerungssystems |
Families Citing this family (126)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE37496E1 (en) * | 1981-01-21 | 2002-01-01 | Hitachi, Ltd | Method of executing a job |
US4441162A (en) * | 1981-04-22 | 1984-04-03 | Pitney Bowes Inc. | Local network interface with control processor & DMA controller for coupling data processing stations to common serial communications medium |
JPS582904A (ja) * | 1981-06-27 | 1983-01-08 | Omron Tateisi Electronics Co | プログラマブル・ロジツク・コントロ−ラ |
DE3265361D1 (en) * | 1981-07-10 | 1985-09-19 | Siemens Ag Albis | Bus system |
JPS58501557A (ja) * | 1981-09-29 | 1983-09-16 | バロース コーポレーション | データ処理システムにおけるバスの駆動方法 |
EP0075625B1 (de) * | 1981-09-29 | 1986-12-10 | BURROUGHS CORPORATION (a Delaware corporation) | Konversationsbus für eine Datenverarbeitungsanlage |
DE3241161C2 (de) * | 1981-11-09 | 1994-11-17 | Canon Kk | Datenübertragungssystem |
US4608689A (en) * | 1981-12-04 | 1986-08-26 | Canon Kabushiki Kaisha | Data processing and transfer apparatus |
US4570215A (en) * | 1982-01-08 | 1986-02-11 | Omron Tateisi Electronics Co. | Input/output device for programmable controller |
US4514823A (en) * | 1982-01-15 | 1985-04-30 | International Business Machines Corporation | Apparatus and method for extending a parallel channel to a serial I/O device |
US4477882A (en) * | 1982-02-24 | 1984-10-16 | Allen-Bradley Company | Communications network for programmable controllers |
US4672543A (en) * | 1982-08-31 | 1987-06-09 | Sharp Kabushiki Kaisha | Data transmission control apparatus in local network systems |
CA1211543A (en) * | 1982-09-24 | 1986-09-16 | John J. Power | System for monitoring and control of electrical drive devices |
US4475191A (en) * | 1982-12-10 | 1984-10-02 | At&T Bell Laboratories | Distributed time division multiplexing bus |
US4527270A (en) * | 1983-05-04 | 1985-07-02 | Allen-Bradley Company | Communications network with stations that detect and automatically bypass faults |
EP0132069A3 (de) * | 1983-06-29 | 1987-11-11 | Westinghouse Electric Corporation | Verteiltes Prozesssteuersystem mit Mittel und Verfahren für automatisches Datenbank-Management von Rundfunkinformationen |
DE3485163D1 (de) * | 1983-06-29 | 1991-11-21 | Westinghouse Electric Corp | Verteiltes prozesssteuersystem mit mittel und verfahren fuer automatisches datenbank-management von rundfunkinformationen. |
US4594654A (en) * | 1983-11-04 | 1986-06-10 | Advanced Micro Devices, Inc. | Circuit for controlling external bipolar buffers from an MOS peripheral device |
EP0160167A1 (de) * | 1984-02-21 | 1985-11-06 | Didde Graphic Systems Corporation | Verfahren und Gerät zur verteilten elektronischen Steuerung einer Druckpresse |
US4870614A (en) * | 1984-08-02 | 1989-09-26 | Quatse Jesse T | Programmable controller ("PC") with co-processing architecture |
US4716541A (en) * | 1984-08-02 | 1987-12-29 | Quatse Jesse T | Boolean processor for a progammable controller |
US4897780A (en) * | 1984-10-09 | 1990-01-30 | Wang Laboratories, Inc. | Document manager system for allocating storage locations and generating corresponding control blocks for active documents in response to requests from active tasks |
DE3546662C3 (de) * | 1985-02-22 | 1997-04-03 | Bosch Gmbh Robert | Verfahren zum Betreiben einer Datenverarbeitungsanlage |
JPH0752876B2 (ja) * | 1985-07-20 | 1995-06-05 | ソニー株式会社 | 内部バス式デイジタル装置 |
US4910658A (en) * | 1985-09-04 | 1990-03-20 | Eaton Leonard Technologies, Inc. | Real time process controller with serial I/O bus |
GB2181026A (en) * | 1985-09-20 | 1987-04-08 | Burroughs Corp | Distributed electronic mailbox system |
US4918589A (en) * | 1985-10-31 | 1990-04-17 | Allen-Bradley Company, Inc. | Method and apparatus for linking processors in a hierarchical control system |
US4809217A (en) * | 1985-10-31 | 1989-02-28 | Allen-Bradley Company, Inc. | Remote I/O port for transfer of I/O data in a programmable controller |
US4882702A (en) * | 1986-03-31 | 1989-11-21 | Allen-Bradley Company, Inc. | Programmable controller with I/O expansion module located in one of I/O module positions for communication with outside I/O modules |
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 |
GB2192471A (en) * | 1986-07-10 | 1988-01-13 | Unilever Plc | Compiling control program |
US5113502A (en) * | 1986-11-20 | 1992-05-12 | Allen-Bradley Company, Inc. | Method and apparatus for saving and performing industrial control commands |
US4866664A (en) * | 1987-03-09 | 1989-09-12 | Unisys Corporation | Intercomputer communication control apparatus & method |
US4888726A (en) * | 1987-04-22 | 1989-12-19 | Allen-Bradley Company. Inc. | Distributed processing in a cluster of industrial controls linked by a communications network |
US4829297A (en) * | 1987-05-08 | 1989-05-09 | Allen-Bradley Company, Inc. | Communication network polling technique |
JPS63310004A (ja) * | 1987-06-12 | 1988-12-19 | Omron Tateisi Electronics Co | プログラマブル・コントロ−ラ |
US4897834A (en) * | 1987-08-18 | 1990-01-30 | Allen-Bradley Company, Inc. | Bit oriented communications network |
US4935894A (en) * | 1987-08-31 | 1990-06-19 | Motorola, Inc. | Multi-processor, multi-bus system with bus interface comprising FIFO register stocks for receiving and transmitting data and control information |
US4972367A (en) * | 1987-10-23 | 1990-11-20 | Allen-Bradley Company, Inc. | System for generating unsolicited messages on high-tier communication link in response to changed states at station-level computers |
US4855906A (en) * | 1987-10-23 | 1989-08-08 | Allen-Bradley Company, Inc. | System for handling unsolicited messages from lower-tier controllers |
US4949299A (en) * | 1987-12-04 | 1990-08-14 | Allen-Bradley Company, Inc. | Industrial control communication network and method |
US5140680A (en) * | 1988-04-13 | 1992-08-18 | Rockwell International Corporation | Method and apparatus for self-timed digital data transfer and bus arbitration |
JPH02143306A (ja) * | 1988-11-25 | 1990-06-01 | Mitsubishi Electric Corp | 数値制御装置 |
JPH02190937A (ja) * | 1989-01-19 | 1990-07-26 | Sanyo Electric Co Ltd | マイクロコンピュータの割り込み回路 |
JPH02202604A (ja) * | 1989-02-01 | 1990-08-10 | Fanuc Ltd | 外部拡張型プログラマブル・コントローラ |
US5039980A (en) * | 1990-01-26 | 1991-08-13 | Honeywell Inc. | Multi-nodal communication network with coordinated responsibility for global functions by the nodes |
US5077674A (en) * | 1990-02-26 | 1991-12-31 | Chrysler Corporation | Performance feedback system |
US5122948A (en) * | 1990-06-28 | 1992-06-16 | Allen-Bradley Company, Inc. | Remote terminal industrial control communication system |
US5287528A (en) * | 1990-07-03 | 1994-02-15 | National Instruments Corporation | IEEE 488 interface for message handling method |
AU1587592A (en) * | 1991-03-18 | 1992-10-21 | Echelon Corporation | Networked variables |
US6493739B1 (en) | 1993-08-24 | 2002-12-10 | Echelon Corporation | Task scheduling in an event driven environment |
EP1186970A1 (de) | 1991-03-18 | 2002-03-13 | Echelon Corporation | Programmiersprachen-Strukturen für den Gebrauch in Netzwerken zur Kommunikation, Abtastung und Steuerung von Informationen |
FR2674966B1 (fr) * | 1991-04-05 | 1994-10-07 | Ind Entreprise | Procede et dispositif de commande de machines. |
US5537549A (en) * | 1993-04-28 | 1996-07-16 | Allen-Bradley Company, Inc. | Communication network with time coordinated station activity by time slot and periodic interval number |
US5471461A (en) * | 1993-04-28 | 1995-11-28 | Allen-Bradley Company, Inc. | Digital communication network with a moderator station election process |
US5493571A (en) * | 1993-04-28 | 1996-02-20 | Allen-Bradley Company, Inc. | Apparatus and method for digital communications with improved delimiter detection |
US5491531A (en) * | 1993-04-28 | 1996-02-13 | Allen-Bradley Company, Inc. | Media access controller with a shared class message delivery capability |
US5553095A (en) * | 1993-04-28 | 1996-09-03 | Allen-Bradley Company, Inc. | Method and apparatus for exchanging different classes of data during different time intervals |
US5400331A (en) * | 1993-04-28 | 1995-03-21 | Allen-Bradley Company, Inc. | Communication network interface with screeners for incoming messages |
US5396197A (en) * | 1993-05-03 | 1995-03-07 | Allen-Bradley Company, Inc. | Network node trap |
US5500852A (en) * | 1994-08-31 | 1996-03-19 | Echelon Corporation | Method and apparatus for network variable aliasing |
KR970055857A (ko) * | 1995-12-30 | 1997-07-31 | 김광호 | 디지탈 셀룰라 시스템에서 기지국시스템의 로딩방법 |
US5971711A (en) * | 1996-05-21 | 1999-10-26 | Ebara Corporation | Vacuum pump control system |
US7146408B1 (en) | 1996-05-30 | 2006-12-05 | Schneider Automation Inc. | Method and system for monitoring a controller and displaying data from the controller in a format provided by the controller |
US5805442A (en) * | 1996-05-30 | 1998-09-08 | Control Technology Corporation | Distributed interface architecture for programmable industrial control systems |
US5973696A (en) * | 1996-08-08 | 1999-10-26 | Agranat Systems, Inc. | Embedded web server |
US6456308B1 (en) | 1996-08-08 | 2002-09-24 | Agranat Systems, Inc. | Embedded web server |
US7148786B2 (en) * | 1996-09-30 | 2006-12-12 | Terumo Cardiovascular Systems Corporation | Network communication and message protocol for a medical perfusion system |
TW360829B (en) * | 1997-02-10 | 1999-06-11 | Siemens Ag | Auditory active communication-subscriber, communication-method and communication system with auditory active communication-subscriber |
US6044413A (en) * | 1997-08-22 | 2000-03-28 | Hewlett-Packard Company | Method of concurrent bus operation for bus controlled devices operating in different contexts |
US6732191B1 (en) | 1997-09-10 | 2004-05-04 | Schneider Automation Inc. | Web interface to an input/output device |
US6282454B1 (en) | 1997-09-10 | 2001-08-28 | Schneider Automation Inc. | Web interface to a programmable controller |
US20020152289A1 (en) * | 1997-09-10 | 2002-10-17 | Schneider Automation Inc. | System and method for accessing devices in a factory automation network |
US7058693B1 (en) | 1997-09-10 | 2006-06-06 | Schneider Automation Inc. | System for programming a programmable logic controller using a web browser |
US6151625A (en) * | 1997-09-10 | 2000-11-21 | Schneider Automation Inc. | Internet web interface including programmable logic controller for controlling output devices based on status of input devices |
US20020091784A1 (en) * | 1997-09-10 | 2002-07-11 | Baker Richard A. | Web interface to a device and an electrical network control system |
US7035898B1 (en) | 1997-09-10 | 2006-04-25 | Schneider Automation Inc. | System for programming a factory automation device using a web browser |
US6587884B1 (en) | 1997-09-10 | 2003-07-01 | Schneider Automation, Inc. | Dual ethernet protocol stack for maximum speed access to a programmable logic controller (PLC) |
US7162510B2 (en) * | 1998-03-16 | 2007-01-09 | Schneider Automation Inc. | Communication system for a control system over Ethernet and IP networks |
RU2133490C1 (ru) * | 1998-09-21 | 1999-07-20 | Гинзбург Виталий Вениаминович | Структурированная система мониторинга и управления инженерным оборудованием объекта |
US6434157B1 (en) | 1998-10-06 | 2002-08-13 | Schneider Automation, Inc. | MODBUS plus ethernet bridge |
US6233626B1 (en) | 1998-10-06 | 2001-05-15 | Schneider Automation Inc. | System for a modular terminal input/output interface for communicating messaging application layer over encoded ethernet to transport layer |
US6853867B1 (en) | 1998-12-30 | 2005-02-08 | Schneider Automation Inc. | Interface to a programmable logic controller |
US6845401B1 (en) | 1998-12-30 | 2005-01-18 | Schneider Automation Inc. | Embedded file system for a programmable logic controller |
US6327511B1 (en) | 1998-12-30 | 2001-12-04 | Schneider Automation, Inc. | Input/output (I/O) scanner for a control system with peer determination |
US7181487B1 (en) | 2000-07-07 | 2007-02-20 | Schneider Automation Inc. | Method and system for transmitting and activating an application requesting human intervention in an automation network |
US7032029B1 (en) | 2000-07-07 | 2006-04-18 | Schneider Automation Inc. | Method and apparatus for an active standby control system on a network |
US7519737B2 (en) * | 2000-07-07 | 2009-04-14 | Schneider Automation Inc. | Input/output (I/O) scanner for a control system with peer determination |
US7028204B2 (en) * | 2000-09-06 | 2006-04-11 | Schneider Automation Inc. | Method and apparatus for ethernet prioritized device clock synchronization |
US20020167967A1 (en) * | 2000-09-06 | 2002-11-14 | Schneider Electric | Method for managing bandwidth on an ethernet network |
US7023795B1 (en) | 2000-11-07 | 2006-04-04 | Schneider Automation Inc. | Method and apparatus for an active standby control system on a network |
US20020124011A1 (en) * | 2001-03-01 | 2002-09-05 | Baxter Robert W. | Methods, systems, and computer program products for communicating with a controller using a database interface |
WO2002073503A2 (en) * | 2001-03-14 | 2002-09-19 | Baxter International Inc. | Internet based therapy management system |
EP1468356A2 (de) * | 2001-12-27 | 2004-10-20 | Siemens Aktiengesellschaft | Automatisiertes verfahren zum erzeugen von programmodulen zur steuerung von feldgeräten |
US10173008B2 (en) | 2002-01-29 | 2019-01-08 | Baxter International Inc. | System and method for communicating with a dialysis machine through a network |
US8775196B2 (en) * | 2002-01-29 | 2014-07-08 | Baxter International Inc. | System and method for notification and escalation of medical data |
US20030140928A1 (en) * | 2002-01-29 | 2003-07-31 | Tuan Bui | Medical treatment verification system and method |
US20030204419A1 (en) * | 2002-04-30 | 2003-10-30 | Wilkes Gordon J. | Automated messaging center system and method for use with a healthcare system |
US8234128B2 (en) | 2002-04-30 | 2012-07-31 | Baxter International, Inc. | System and method for verifying medical device operational parameters |
US20030222548A1 (en) * | 2002-05-31 | 2003-12-04 | Richardson William R. | Storage device for health care facility |
US20030201697A1 (en) * | 2002-04-30 | 2003-10-30 | Richardson William R. | Storage device for health care facility |
US20030225596A1 (en) * | 2002-05-31 | 2003-12-04 | Richardson Bill R. | Biometric security for access to a storage device for a healthcare facility |
US20040051650A1 (en) * | 2002-09-16 | 2004-03-18 | Bryan Gonsoulin | Two way data communication with a well logging tool using a TCP-IP system |
DE10303095A1 (de) * | 2003-01-27 | 2004-08-12 | Infineon Technologies Ag | Datenverarbeitungsvorrichtung |
US20040210664A1 (en) * | 2003-04-17 | 2004-10-21 | Schneider Automation Inc. | System and method for transmitting data |
JP2006338506A (ja) * | 2005-06-03 | 2006-12-14 | Fujifilm Holdings Corp | コネクタ |
JP2006338507A (ja) * | 2005-06-03 | 2006-12-14 | Fujifilm Holdings Corp | 処理装置及び処理方法 |
US7403874B2 (en) * | 2006-01-31 | 2008-07-22 | Verigy (Singapore) Pte. Ltd. | Method and system for prioritizing formatting actions of a number of data formatters |
US8364291B2 (en) * | 2007-11-13 | 2013-01-29 | Rockwell Automation Technologies, Inc. | Method and apparatus for providing redundancy in an industrial control system |
US8057679B2 (en) | 2008-07-09 | 2011-11-15 | Baxter International Inc. | Dialysis system having trending and alert generation |
US10089443B2 (en) | 2012-05-15 | 2018-10-02 | Baxter International Inc. | Home medical device systems and methods for therapy prescription and tracking, servicing and inventory |
US8554579B2 (en) | 2008-10-13 | 2013-10-08 | Fht, Inc. | Management, reporting and benchmarking of medication preparation |
FR2982961B1 (fr) * | 2011-11-22 | 2014-09-05 | Schneider Electric Usa Inc | Arbitrage de dispositif de commande prioritaire |
JP2014035564A (ja) * | 2012-08-07 | 2014-02-24 | Fanuc Ltd | マルチコアプロセッサを有する数値制御装置 |
US10552577B2 (en) | 2012-08-31 | 2020-02-04 | Baxter Corporation Englewood | Medication requisition fulfillment system and method |
NZ707430A (en) | 2012-10-26 | 2016-04-29 | Baxter Corp Englewood | Improved work station for medical dose preparation system |
EP3346444B1 (de) | 2012-10-26 | 2020-09-23 | Baxter Corporation Englewood | Verbesserte bilderfassung für system zur zubereitung einer medizinischen dosis |
EP3161778A4 (de) | 2014-06-30 | 2018-03-14 | Baxter Corporation Englewood | Verwalteter austausch medizinischer informationen |
US11575673B2 (en) | 2014-09-30 | 2023-02-07 | Baxter Corporation Englewood | Central user management in a distributed healthcare information management system |
US11107574B2 (en) | 2014-09-30 | 2021-08-31 | Baxter Corporation Englewood | Management of medication preparation with formulary management |
WO2016090091A1 (en) | 2014-12-05 | 2016-06-09 | Baxter Corporation Englewood | Dose preparation data analytics |
EP3800610A1 (de) | 2015-03-03 | 2021-04-07 | Baxter Corporation Englewood | Pharmaziearbeitsflussverwaltung mit integrierten alarmen |
CN107810536B (zh) | 2015-06-25 | 2023-01-24 | 甘布罗伦迪亚股份公司 | 具有分布式数据库的医疗装置系统和方法 |
KR102079499B1 (ko) * | 2015-10-20 | 2020-02-21 | 엘에스산전 주식회사 | Plc 위치 결정 시스템의 축별 제어주기 독립 할당 방법 |
WO2018114346A1 (en) | 2016-12-21 | 2018-06-28 | Gambro Lundia Ab | Medical device system including information technology infrastructure having secure cluster domain supporting external domain |
JP7190931B2 (ja) * | 2019-02-12 | 2022-12-16 | 三菱電機株式会社 | 通信システム |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1168476A (en) * | 1966-05-17 | 1969-10-29 | British Telecomm Res Ltd | Improvements in or relating to data transmission systems |
US3445822A (en) * | 1967-07-14 | 1969-05-20 | Ibm | Communication arrangement in data processing system |
US4016541A (en) * | 1972-10-10 | 1977-04-05 | Digital Equipment Corporation | Memory unit for connection to central processor unit and interconnecting bus |
US4170038A (en) * | 1974-11-05 | 1979-10-02 | Compagnie Honeywell Bull | Apparatus for selective control of information between close and remote stations |
US4001790A (en) * | 1975-06-30 | 1977-01-04 | Honeywell Information Systems, Inc. | Modularly addressable units coupled in a data processing system over a common bus |
JPS5215204A (en) * | 1975-07-26 | 1977-02-04 | Fuji Electric Co Ltd | Informatioon transmission system |
CA1086397A (en) * | 1976-09-14 | 1980-09-23 | Charles G. Diefenderfer | Polling an data communication system having a pulse position to binary address conversion circuit |
US4172280A (en) * | 1977-12-29 | 1979-10-23 | Honeywell Inc. | Digital output control circuit |
US4149241A (en) * | 1978-03-13 | 1979-04-10 | Rockwell International Corporation | Communications bus monitor |
-
1979
- 1979-12-12 US US06/102,970 patent/US4319338A/en not_active Expired - Lifetime
-
1980
- 1980-08-27 CA CA000359135A patent/CA1143028A/en not_active Expired
- 1980-10-22 GB GB8033981A patent/GB2064920B/en not_active Expired
- 1980-11-21 DE DE19803043894 patent/DE3043894A1/de active Granted
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19958825A1 (de) * | 1999-12-07 | 2001-06-13 | Zeiss Carl Jena Gmbh | Verfahren zur Kontrolle eines Steuerungssystems |
Also Published As
Publication number | Publication date |
---|---|
US4319338A (en) | 1982-03-09 |
DE3043894A1 (de) | 1981-06-19 |
GB2064920B (en) | 1984-08-08 |
CA1143028A (en) | 1983-03-15 |
GB2064920A (en) | 1981-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3043894C2 (de) | ||
DE2913288C2 (de) | Multiprozessoranlage mit einer Vielzahl von Prozessorbausteinen | |
DE3689635T2 (de) | Netzwerk mit Tokenübergabe für industrielle Zwecke. | |
DE69516634T2 (de) | Intelligente Wiederprogrammierung eines Flash-Speichers | |
DE2953444C2 (de) | Anordnung und Verfahren für ein digitales Datenübertragungsnetzwerk | |
DE69125475T2 (de) | Gerät für ein verteiltes steuersystem | |
DE3546683C3 (de) | Verfahren zum Betreiben einer Datenverarbeitungsanlage | |
DE3041600C2 (de) | Verfahren und Schaltungsanordnung zum Übertragen von Datensignalen zwischen an Datenvermittlungseinrichtungen einer Datenvermittlungsanlage angeschlossenen Datensignalsendern und Datensignalempfängern | |
DE69024111T2 (de) | Einrichtung und Verfahren zur Adresszuweisung an SCSI-unterstützte Peripheriegeräte | |
DE69433858T2 (de) | Methode und Vorrichtung zum Austausch unterschiedlicher Arten von Daten während verschiedener Zeitintervallen | |
DE69317481T2 (de) | Ein-/Ausgabesteuerungssystem und Verfahren | |
DE69021186T2 (de) | "Master-Slave" industrielles Netzwerk mit Tokenübergabe. | |
DE2607819C2 (de) | Nachrichtenübertragung in einem zeitmultiplexen Schleifensystem | |
CH615286A5 (de) | ||
DE4129205A1 (de) | Verfahren zum aufbau von botschaften fuer den datenaustausch und/oder fuer die synchronisation von prozessen in datenverarbeitungsanlagen | |
DE2241573A1 (de) | Digitales datenverarbeitungssystem | |
DE2944497A1 (de) | Datenverarbeitungsanlage mit mehreren geraeteeinheiten | |
DE3882192T2 (de) | Schnittstelleanordnung für die Verbindung zwischen einerseits getrennten Stationen und andererseits einem für den Nachrichtenverkehr zwischen diesen Stationen benutzten physikalischen Mittel. | |
EP0006164A1 (de) | Multiprozessorsystem mit gemeinsam benutzbaren Speichern | |
DE3687648T2 (de) | Signalisierungsschaltung fuer ein durchschaltevermitteltes netzwerk. | |
DE2943149A1 (de) | Schleifensammelschienen-prioritaetssteuerverfahren in einem schleifensammelschienen-netzwerksystem | |
EP0509114B1 (de) | Verfahren zum Übertragen von Daten an mehrere Datenstationen | |
DE68927157T2 (de) | Deblockierverfahren eines Multiprozessor-Multibus-Systems | |
DE3851089T2 (de) | Mehrfachanschluss/Mehrpunkt-Rechnerkommunikation. | |
EP0215276B1 (de) | Verfahren und Schaltungsanordnung zum Übertragen von Datensignalen an eine Gruppe von zu einem Ringleitungssystem gehörenden Steuereinrichtungen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Free format text: LIPPERT, H., DIPL.-ING., PAT.-ANW., 60322 FRANKFURT |