-
Hintergrund der Erfindung
-
Diese Erfindung bezieht sich auf
eine programmierbare Steuerung, ihre CPU und Kommunikationseinheiten
sowie ein Verfahren zu ihrer Steuerung.
-
Programmierbare Steuerungen (SPSen) werden
als Steuervorrichtungen bei der Fabrikautomation (FA) benutzt. Solche
SPSen sind als geeignete Kombination aus einer Anzahl von Einheiten,
wie etwa einer Netzeinheit zur Lieferung elektrischer Spannung,
einer CPU-Einheit zur Steuerung der SPS insgesamt, einer Eingabeeinheit
zur Eingabe von Signalen aus Schaltern und Sensoren, die strategisch
für die
FA-Vorrichtungen angeordnet sind, einer Ausgabeeinheit zur Ausgabe
von Steuersignalen auf Stellglieder oder dergleichen, und einer
Kommunikationseinheit zum Anschluss an ein Kommunikationsnetzwerk,
aufgebaut.
-
Die Steuerung einer SPS durch ihre CPU-Einheit
beinhaltet das Empfangen von Signalen, die über die Eingabeeinheit in den
E/A-Speicher der CPU-Einheit eingegeben werden („IN-Auffrischung"), das Durchführen einer logischen Berechnung
gemäß einem
Anwenderprogramm, das vorab in einer Anwenderprogrammsprache, wie
etwa einer Leitersprache, registriert worden ist („Berechnung"), das Schreiben
der Ergebnisse solcher Berechnungen in den E/A-Speicher zur Übertragung
derselben auf die Ausgabeeinheit („OUT-Auffrischung") und das nachfolgende
Austauschen von Daten über
die Kommunikationseinheit mit den anderen SPSen auf dem gleichen
Kommunikationsnetzwerk oder über
Kommunikationsanschlüsse,
die an der CPU-Einheit vorgesehen sind, mit externen Vorrichtungen
(„periphere
Verarbeitung") in
einer zyklischen Betriebsart. Operationen der IN-Auffrischung und OUT-Auffrischung werden
manchmal zusammen ausgeführt.
-
Um die Sicherheit und Zuverlässigkeit
eines Systems zu verbessern, ist es bekannt, ein Netzwerksystem
in einem Doppelaufbau vorzusehen. Die japanische Patentveröffentlichung
2001-156818 beispielsweise beschreibt ein ringförmiges Übertragungssystem mit einem
Doppelschleifenaufbau aus optischen Kabeln. Mit einem solchen Doppelschleifenaufbau
können
Knoten, wie etwa mit einem solchen ringförmigen Übertragungsweg verbundene SPSen,
ihren wechselseitigen Verbindungszustand auch dann aufrechterhalten,
wenn ein Teil des Übertragungswegs
zufällig
unterbrochen ist, weshalb Kommunikationsunterbrechungen als Folge
eines solchen Bruchs verhindert werden können und die Zuverlässigkeit
des Netzwerks verbessert ist.
-
Jede SPS ist mit dem Netzwerk über ihre Kommunikationseinheit
(oder Netzwerkeinheit) verbunden und tauscht mit anderen SPSen oder
Knoten über
diese Kommunikationseinheit Daten aus. Unterbrechungen der Kommunikation
als Folge eines Bruchs im Transmissionsweg können also durch Verwendung
eines Netzwerksystems mit einem Doppelschleifenaufbau verhindert
werden, das Problem einer unterbrochenen Kommunikation bleibt aber, wenn
ein anomaler Zustand in der Kommunikationseinheit selbst auftritt,
weil die Knoten (wie etwa SPSen), die mit dem Netzwerk über eine
solche Kommunikationseinheit verbunden sind, nicht mehr in der Lage
sind, Daten auszutauschen.
-
Im Hinblick auf das Obige war es,
wenn ein SPS-System auch bei Vorhandensein eines Problems mit einer
Kommunikationseinheit des Steuerungssystems mit redundantem Doppelschleifenaufbau
weiter in der Lage sein musste, Kommunikationsprozesse fortzusetzen,
erforderlich, die Kommunikationseinheit durch Übertragen der gleichen Daten
zweimal mit dem Anwenderprogramm aufzudoppeln. Genauer erläutert, geschieht
dies durch Vorsehen der SPS mit zwei Kommunikationseinheiten mit verschiedenen
Knotennummern und verschiedenen Einheitennummern. Wenn solche zwei
Kommunikationseinheiten für
den Austausch von Daten mit einem anderen Knoten nach der sogenannten
Datenverknüpfungsmethode
verwendet werden, werden unterschiedliche Speicherbereiche (bezeichnet
als Datenverknüpfungsbereiche)
innerhalb der CPU-Einheit für
den Datenaustausch für
die beiden Kommunikationseinheiten verwendet. Aus diesem Grund muss die
CPU-Einheit Datenaustausche und andere Prozesse mit zwei Kommunikationseinheiten
ausführen. Anders
ausgedrückt,
muss das Anwenderprogramm für
die CPU-Einheit so erstellt werden, dass es einen ähnlichen
Vorgang zweimal, betreffend die beiden unterschiedlichen Speicherbereiche,
die den beiden Kommunikationseinheiten zugeordnet sind, zweimal ausführt, wenn
auf einen Datenverknüpfungsbereich zuzugreifen
ist. Dies bedeutet, dass der Berechnungsprozess für die Ausführung eines
solchen Anwenderprogramms stärker
belastet ist.
-
Ein ähnliches Problem tritt auf,
wenn ein Anwenderprogramm für
die Kommunikation mit anderen mit dem Netzwerk verbundenen Knoten
erzeugt wird. Wenn ein Anwenderprogramm durch Verwendung von Befehlen
(Kommunikationsbefehlen) für das
Senden und Empfangen von Nachrichten an bzw. von einem anderen Knoten
erzeugt wird, muss die Knotennummer und die Einheitennummer, die der
Adressatenkommunikationseinheit zugeordnet sind, als Operand des
Kommunikationsbefehls geschrieben werden. Das Anwenderprogramm muss also
so erstellt werden, dass jede Nachricht an zwei verschiedene Kommunikationseinheiten
durch Spezifizieren der Knotennummer und der Einheitennummer einer
jeden derselben gesendet wird.
-
Wenn jede Kommunikationseinheit so
an jedem Knoten auf dem Netzwerk aufgedoppelt wird, muss die Kommunikation
auch dann nicht unterbrochen werden, wenn in einem der Netzwerke
eine anomale Situation vorliegt, aber das Anwenderprogramm für die CPU-Einheit
muss zweimal für
jede Einheit ausgeführt
werden.
-
Zusammenfassung der Erfindung
-
Es ist daher eine Aufgabe dieser
Erfindung, eine programmierbare Steuerung mit CPU und Kommunikationseinheiten
sowie ein Verfahren zur Steuerung derselben zu schaffen, so dass
ein hochzuverlässiges
System mit aufgedoppelten Kommunikationseinheiten bei nicht erhöhter, sondern
ungefähr gleichbleibender
Belastung so, als würde
das System mit einer einzigen Kommunikationseinheit arbeiten, ausgebildet
werden kann, und dass Anwenderprogramme so einfach wie für eine einzelne
Kommunikationseinheit hergestellt werden können.
-
Eine die Erfindung verkörpernde
programmierbare Steuerung ist dadurch gekennzeichnet, dass sie nicht
nur zwei mit dem gleichen Netzwerk Kommunikationseinheiten und eine
CPU-Einheit aufweist, sondern auch, dass diese beiden Kommunikationseinheiten
beide durch die gleichen Einheitenidentifizierungsdaten identifiziert
werden und so arbeiten, dass eine von ihnen in einem aktiven Modus und
die andere in einer Wartebetriebsart ist. Jede dieser Kommunikationseinheiten
führt,
wenn sie sich im aktiven Modus befindet, einen Datenaustausch mit der
CPU-Einheit und
anderen mit dem Netzwerk verbundenen Knoten aus, und ist, wenn sie
sich in der Wartebetriebsart befindet, daran gehindert, einen Datenaustausch
mit den anderen mit dem Netzwerk verbundenen Knoten auszuführen. Wenn
die im aktiven Modus befindliche Kommunikationseinheit ausfällt und
abschaltet, wird die in der Wartebetriebsart befindliche in den
aktiven Modus geschaltet und führt den
Datenaustausch aus, und dieser Betriebsartenumschaltvorgang wird
ansprechend auf einen Befehl von der CPU-Einheit ausgeführt, wenngleich
die Einrichtung auch so getroffen sein kann, dass die Kommunikationseinheiten
miteinander kommunizieren und ihre Moden umschalten, indem sie die
andere Einheit über
das Auftreten eines Ausfalls informieren.
-
In Obigem sind die Einheitenidentifizierungsdaten
Adressendaten, wie etwa Knotennummern und Einheitennummern. Netzwerknummern
zur Identifizierung von Netzwerken, wo eine Anzahl von Netzwerken
vorhanden sind, können
auch in den Einheitenidentifizierungsdaten enthalten sein. Im Falle
einer Ethernet-Einheit
wird eine IP Adresse zusätzlich eingestellt.
Zusammenfassend gesagt, sind jedwede Daten ausreichend, wenn sie
Kommunikationseinheiten auf dem Netzwerk unterscheiden und spezifizieren
können.
-
Da die beiden Kommunikationseinheiten
einer programmierbaren Steuerung gemäß der Erfindung die gleichen
Einheitenidentifizierungsdaten (d. h., die gleichen Adressendaten,
wie etwa die Knotennummern und die Einheitennummern) haben, kann das
Anwenderprogramm für
den Austausch von Daten mit den anderen Knoten durch Datenverknüpfungsoperationen
so erstellt werden, als ob nur eine Kommunikationseinheit ohne Verdoppelung
vorhanden wäre.
Anders ausgedrückt,
brauchen bekannte Anwenderprogramme nicht modifiziert werden, wenn Kommunikationen
verdoppelt werden. Da ferner die beiden Kommunikationseinheiten
die gleichen Adressdaten haben, können Anwenderprogramme für das Senden
von Nachrichten an die programmierbare Steuerung von den anderen
Knoten so erzeugt werden, als ob nur eine Kommunikationseinheit,
die nicht verdoppelt ist, vorhanden wäre. Bekannte Anwenderprogramme
können
also ohne Modifikation verwendet werden.
-
Obwohl beide Kommunikationseinheiten
die gleichen Einheitenidentifizierungsdaten haben und somit beide
von den anderen Knoten gesendete Daten empfangen können, dient
lediglich die aktive von ihnen dazu, normale Vorgänge entsprechend
den empfangenen Daten auszuführen,
da jede weiß,
ob sie sich in der aktiven oder in der Wartebetriebsart befindet.
Selbst wenn die aktive Einheit ausfällt und abschaltet, kann die
andere Einheit aktiviert werden und direkt mit dem Datenaustausch
und der Durchführung
von Kommunikationen fortfahren, da die beiden Einheiten die gleichen
Einheitenidentifizierungsdaten haben.
-
In der vorgenannten aktiven Betriebsart
ist jede der Kommunikationseinheiten so eingerichtet, dass sie die
Datenaustausche mit der CPU-Einheit und den anderen Knoten durch
Datenverknüpfungsoperationen
in einer geeigneten Reihenfolge ausführen kann, wobei die CPU-Einheit
die Parameter speichert, die für
solche Datenverknüpfungsoperationen notwendig
sind. Es kann durch den Empfang solcher Parameter von der CPU-Einheit
sein, dass die Kommunikationseinheit in der Wartebetriebsart, wenn
sie in die aktive Betriebsart geschaltet wird, in die Lage versetzt
wird, die Datenverknüpfungsoperationen auszuführen.
-
In Obigem bedeutet „Datenverknüpfung" die Operation und
Funktion des konstanten Haltens von Daten (Verknüpfungsdaten) auf spezifizierten
Bereichen interner Speicher von Knoten (wie etwa einer SPS), die
Knoten auf einem Netzwerk gemeinsam sind, so dass kein anwendererstelltes
Kommunikationsprogramm zur Aufteilung der Daten zwischen den Knoten
benötigt
wird. Sobald neue Daten in den Ausgabebereich des eigenen Knoten
geschrieben werden, werden solche Daten automatisch in den Eingangsbereichen
der anderen Knoten wiedergegeben, so dass Daten von den Knoten auf
dem gleichen Netzwerk gemeinsam besessen werden können. Da Kommunikationen
zwischen den mit einem Netzwerk verbundenen Knoten über Kommunikationseinheiten ausgeführt werden,
werden Daten, die im Ausgabebereich einer CPU-Einheit für ihren
eigenen Knoten zur Ausführung
einer Datenverknüpfungsoperation gespeichert
sind, zunächst
in einen Speicher in der Kommunikationseinheit und dann auf die
anderen Knoten übertragen.
In gleicher Weise werden von den anderen Knoten übertragenen Daten zunächst in einem
Speicher innerhalb der Kommunikationseinheit gespeichert und dann
an den Eingabebereich der CPU-Einheit für die anderen Knoten übertragen. Der
Ausgabebereich für
ihren eigenen Knoten und der Eingabebereich für die anderen Knoten innerhalb der
CPU-Einheit zur Durchführung
von Datenverknüpfungsoperationen
werden gemeinsam als Datenverknüpfungsbereich
bezeichnet.
-
Da die für Datenverknüpfungsoperation
benötigten
Parameter in der CPU-Einheit gespeichert sind, kann die Kommunikationseinheit,
die neu aus ihrem Wartezustand aktiviert wird, diese Parameter von
der CPU-Einheit erhalten und die Datenverknüpfungsoperationen unter den
gleichen Bedingungen wie vor dem Schalten der Betriebsarten wieder
aufnehmen. Es besteht also keine Notwendigkeit, dass die Kommunikationseinheit
in der Wartebetriebsart solche Parameter erhält, oder Daten von der Kommunikationseinheit
in der aktiven Betriebsart zu übertragen,
weshalb die Arbeitsbelastung vermindert ist.
-
Es ist vorzuziehen, dass, wenn eine
Kommunikationseinheit aus der Wartebetriebsart in die aktive Betriebsart,
wie oben erläutert,
schaltet, keine Datenübertragung
dadurch auf die anderen Knoten während
des Datenaustauschs, der der ersten Datenverknüpfungsoperation nach dem Betriebsartenumschalten
entspricht, ausgeführt
wird. Dies deshalb, weil der Speicher gelöscht wird, wenn ein Rücksetzsignal
zum Zwecke des Betriebsartenwechsels ausgegeben wird, so dass inkorrekte
Daten unter Umständen übertragen
werden könnten,
wenn eine Datenübertragung
auf die anderen Knoten bewirkt wird, bevor Daten mit der CPU-Einheit
ausgetauscht werden. Dies ist jedoch nicht wesentlich, weil das System
so eingerichtet sein kann, dass ein Datenaustausch mit der CPU-Einheit
zuerst ausgeführt wird.
In einem solchen System kann die Datenübertragung auf die anderen Knoten
auch vom ersten Zeitpunkt an ausgeführt werden, ohne dass ein Fehler
bewirkt wird. Ferner kann das System so eingerichtet sein, dass
die Betriebsartenwechsel ohne Neustart bewirkt werden, und dass
der gleiche Datensatz für
die aktive Betriebsart auch in Wartebetriebsart im Speicher aufbewahrt
werden kann. Mit einem so eingerichteten System können Daten
auf die anderen Knoten ohne Bewirkung eines Fehlers selbst vom ersten
Zeitpunkt unmittelbar nach dem Betriebsartenwechsel an übertragen
werden.
-
Die Erfindung bezieht sich auch auf
eine CPU-Einheit einer programmierbaren Steuerung mit zwei mit dem
gleichen Netzwerk verbundenen Kommunikationseinheiten, die dadurch
gekennzeichnet ist, dass sie Mittel für den Austausch von Daten in
einer aktiven Betriebsart über
eine der Kommunikationseinheiten mit anderen, auch mit dem gleichen Netzwerk
verbundenen Knoten, aber nicht über
die anderen der Kommunikationseinheiten in einer Wartebetriebsart
aufweist. Sie hat auch die Funktion der Beurteilung des Vorliegens
eines anomalen Zustands der Kommunikationseinheiten und, wenn damit
die aktive Kommunikationseinheit als ausgefallen mit einem anomalen
Zustand beurteilt wird und die andere Kommunikationseinheit in der
Wartebetriebsart als normal arbeitend beurteilt wird, eines Neustarts
der aktiven Kommunikationseinheit, Neustarts der anderen Kommunikationseinheit
in der Wartebetriebsart und des nachfolgenden Hochfahrens der Warte-Kommunikationseinheit
in die aktive Betriebsart. In Obigem und nachstehend bedeutet der
Vorgang des „Neustarts" einer Kommunikationseinheit das
Senden eines Befehls an sie, ihre Hardware zurückzusetzen.
-
Nachdem die aktive Kommunikationseinheit so
neu gestartet worden ist, kann sie in die Wartebetriebsart mit einer
spezifizierten Zeit hochgefahren werden, so dass der verdoppelte
Aufbau, aufrechterhalten werden kann. Obwohl es kein stringen tes
Erfordernis hinsichtlich dieser Zeit nach dem Neustart gibt, ist
vorzuziehen, dass dieser Hochfahrvorgang bewirkt wird, nachdem die
Warte-Kommunikationseinheit wieder gestartet und dann hochgefahren
ist. Es ist zu beachten, dass solche Neustart- und Hochfahroperationen
ausgeführt
werden, wenn eine anomale Situation in einer Kommunikationseinheit
auftritt, die normal gearbeitet hat. Wenn diese anomale Situation
das Ergebnis eines Hardwareprobelms ist, kann die Einheit nicht
hochgefahren werden. In einer solchen Situation wird ein Neustartbefehl
gesendet, aber der Befehl, sie hochzufahren, braucht nicht nachfolgend
gesendet zu werden.
-
Die Erfindung bezieht sich ferner
auf ein Verfahren zur Steuerung einer programmierbaren Steuerung,
die sich aus zwei Kommunikationseinheiten, die mit dem gleichen
Netzwerk verbunden sind, und einer CPU-Einheit aufbaut. Das Verfahren
dieser Erfindung lässt
sich dadurch kennzeichnen, dass es die Schritte des Zuordnens gleicher
Einheitenidentifizierungsdaten zu beiden dieser beiden Kommunikationseinheiten,
des Bewirkens, dass eine dieser Kommunikationseinheiten in einer
aktiven Betriebsart Datenaustausche mit der CPU-Einheit und anderen Knoten,
die mit dem gleichen Netzwerk verbunden sind, ausführt, des
Verhinderns, dass die anderen der Kommunikationseinheiten in der
Wartebetriebsart Datenaustausche mit diesen anderen Knoten ausführen, und
des Schaltens der Warte-Kommunikationseinheit
in der aktiven Betriebsart, wenn die aktive Kommunikationseinheit
ausfällt,
und des Bewirkens, dass die aus der Wartebetriebsart aktivierte
Kommunikationseinheit diese Datenaustausche durchführt.
-
Kurze Beschreibung der
Zeichnungen
-
1 ist
ein Blockschaltbild eines Netzwerksystems, welches eine diese Erfindung
verkörpernde programmierbare
Steuerung enthält.
-
2 ist
ein Blockdiagramm eines Teils der Ausführungsform dieser Erfindung.
-
3 ist
ein Flussdiagramm der Operationen der CPU-Einheit.
-
4 ist
ein Flussdiagramm der Operationen einer jeden Einheit, wenn aktiver
und Wartezustand umgeschaltet werden.
-
5 ist
ein Blockdiagramm zur Wiedergabe der Operationen der Kommunikationseinheit
im aktiven Modus.
-
Ausführliche Beschreibung der Erfindung
-
Die Erfindung wird als nächstes anhand
eines Beispiels beschrieben. 1 zeigt
ein Beispiel eines Netzwerksystems, das unter Verwendung einer diese
Erfindung verkörpernden
programmierbaren Steuerung 10 zusätzlich zu programmierbaren
Steuerungen 20 bekannter Art aufgebaut ist, die mit einem
in Ringform angeordneten Übertragungsweg (Übertragungskreis) 30 verbunden
sind, wie dies beispielsweise in der vorgenannten japanischen Patentveröffentlichung
2001-156818 beschrieben ist. Dieses Beispiel soll jedoch die Erfindung
nicht einschränken.
Ein Netzwerk gemäß dieser
Erfindung kann ohne bekannte programmierbare Steuerungen (wie durch
Bezugszeichen 20 angegeben), sondern unter Verwendung einer
auf gedoppelten SPS 10 gemäß der Erfindung an jedem Knoten
ausgebildet sein.
-
Jede der bekannten SPSen 20 enthält eine Spannungsquelleneinheit
(POWER) 21 zur Lieferung von elektrischer Spannung an jede
ihrer Einheiten, eine CPU-Einheit 22 zur Ausführung eines
Anwenderprogramms und zur zyklischen Durchführung der E/A-Auffrisch- und/oder
Peripherieverarbeitung, eine mit dem Kommunikationskreis 30 verbundene
Kommunikationseinheit (COMM) 23 zur Durchführung von
Kommunikationen mit den anderen Knoten und eine E/A-Einheit 25 für den Anschluss
von Eingabe- und Ausgabegeräten.
Diese Einheiten sind über
ein Bussystem verbunden. Einheiten anderer Arten sind verfügbar, und
die Anzahl anzuschließender
Einheiten kann, wenn nötig,
erhöht
oder vermindert sein. Eine detaillierte Beschreibung der bekannten
SPS 20 ist, da sie wohlbekannt ist, weggelassen.
-
Die diese Erfindung verkörpernde
SPS 10 enthält
auch eine Anzahl von Einheiten und ihr Aufbau ist im Wesentlichen
der gleiche wie der der oben beschriebenen SPS 20. Zwei
Kommunikationseinheiten (die erste Kommunikationseinheit (COMM 1) 13 und
die zweite Kommunikationseinheit (COMM 2) 14)
für eine
Kommunikation mit den anderen Knoten sind mit dem gleichen Netzwerk
(dem Kommunikationskreis 30) verbunden und bilden ein aufgedoppeltes
Paar von Kommunikationseinheiten. Außerdem enthält die SPS 10 eine
Spannungsquelleneinheit 11 zur Lieferung von elektrischer
Spannung an jede der Einheiten, aus welchen die SPS 10 besteht,
eine CPU-Einheit 12 zur Ausführung eines Anwenderprogramms
und zyklischen Durchführung
der E/A-Auffrisch-
und/oder Peripherieverarbeitung sowie eine E/A-Einheit 15 für den Anschluss
von Eingabe- und Ausgabegeräten.
Diese Einheiten sind über
einen Systembus verbunden. Einheiten anderer Arten sind ebenfalls
verfügbar
und die Anzahl anzuschließender Einheiten
kann, wenn nötig,
erhöht
oder vermindert sein.
-
Die ersten und zweiten Kommunikationseinheiten 13 und 14 haben
identischen inneren Aufbau. Wenn das System in Tätigkeit ist, wird eine von
ihnen aktiv, während
die andere inaktiv bzw. in einem Wartezustand bleibt. Wenn gerade
die Datenverknüpfungsfunktion
läuft,
dient eine zum Austausch von Daten mit der CPU-Einheit und zur Durchführung von Datenaustauschen
mit anderen mit dem Netzwerk (dem Kommunikationskreis 30)
ver bundenen Knoten. Wenn ein anomaler Zustand bei der aktiven Kommunikationseinheit
auftritt, wird die andere, im Wartezustand befindliche Kommunikationseinheit ansprechend
auf einen Befehl von der CPU-Einheit aktiv und macht mit den im
Gange befindlichen Vorgängen
weiter.
-
Die beiden Kommunikationseinheiten 13 und 14 haben
die gleichen Adressdaten für
ihre Identifizierung, d. h., ihre Knotennummern (Knoten 1 im Beispiel
der 1) und ihre Einheitennummern
sind die gleichen. Diese Adressdaten können unter Verwendung eines
(nicht gezeigten) Adresseneinstellschalters, der ein bei den Kommunikationseinheiten
vorgesehener Drehschalter sein kann, eingestellt werden. Alternativ
kann ein Einstellwerkzeug bzw. Einstell-Tool 31 zur Speicherung
von Adressendaten in einem spezifizierten Speicherbereich der Kommunikationseinheit
verwendet werden.
-
Wenn eine der beiden Kommunikationseinheiten 13 und 14 aktiv
ist und Daten mit der CPU-Einheit austauscht, während sie ihre Datenverknüpfungsfunktion
ausführt,
erfolgt die Speicherzuordnung für
die Datenverknüpfungsoperation
auf der Grundlage dieser Einheitennummern. Da sowohl die erste als
auch die zweite Kommunikationseinheit 13 und 14 die
gleiche Einheitennummer haben, kann jedoch auf den gleichen Speicherbereich
für den
Datenaustausch zugegriffen werden, unabhängig davon, welche der beiden
Kommunikationseinheiten 13 und 14 gerade aktiv
ist, wobei die andere sich im Wartezustand befindet. Da die Knotennummern
und die Einheitennummern bei den beiden Kommunikationseinheiten 13 und 14 ebenfalls
die gleichen sind, kann die andere Kommunikationspartei (beispielsweise
bei einer Datenkommunikation mit einem anderen Knoten, der auch
mit dem gleichen Netzwerk verbunden ist) Nachrichten und Antworten
an die gleiche Adresse übertragen,
unabhängig
davon, ob eine andere der Kommunikationseinheiten 13 und 14 aktiv
geworden ist.
-
Es können also Anwenderprogramme
für den
Zugriff auf Datenverknüpfungsbereiche
erstellt werden, ohne dass zwischen den beiden Kommunikationseinheiten 13 und 14 unterschieden
wird. Anwenderprogramme, die von der CPU-Einheit eines anderen Knoten
zur Kommunikation mit Knoten 1 (wo die erste und zweite
Kommunikationseinheit 13 und 14 eingerichtet sind)
zu verwenden sind, brauchen lediglich eine Adresse (die gleiche
Knotennummer und die gleiche Einheitennummer, die sowohl für die erste als
auch für
die zweite Kommunikationseinheit an Knoten 1 eingestellt
sind) zu verwenden. Dies ist im Wesentlichen wie die Handhabung
einer bekannten SPS (wie der in 1 gezeigten
SPS 20), die mit nur einer Kommunikationseinheit versehen
ist. Anders ausgedrückt,
besteht keine Notwendigkeit, das gleiche Programm zweimal unter Änderung
nur der Adresse laufen zu lassen.
-
Da die beiden Kommunikationseinheiten 13 und 14 die
gleichen Knoten- und Einheitennummern haben, können über das Netzwerk an ihre gemeinsame
Adresse gesendete Daten von beiden empfangen werden, da aber jede
von ihnen weiß,
ob sie aktiv oder im Wartezustand ist, kann jede einen geeigneten
Vorgang gemäß dem Zustand,
in welchem sie aufgefunden wird, durchführen.
-
Als nächstes werden die inneren Aufbauten der
CPU-Einheit 12 und der ersten und zweiten Kommunikationseinheit 13 und 14 zusammen
mit ihren tatsächlichen
Operationen erläutert.
Wie in 2 gezeigt, ist
die CPU-Einheit 12 mit einer MPU 12a zur Durchführung der
EA-Auffrisch- und der Peripherieverarbeitung und einem EA-Speicher 12b zur
Speicherung von EA-Daten versehen. Die MPU 12a und der
E/A-Speicher 12b sind beide über eine Busschnittstelle 12c mit
einem Systembus 10a verbunden, so dass sie in der Lage
sind, Daten mit anderen Einheiten über den Systembus 10a auszutauschen. Die
CPU-Einheit 12 ist auch mit einem Parameterspeicher 12d zur
Speicherung einer Datenverknüpfungseinstellung,
die Parameter, wie Speicherzuordnungsdaten, die für die Datenverknüpfungsoperation erforderlich
sind, aufweist. Ein solcher Hardware-Aufbau ist ähnlich bekannten Strukturen,
weshalb keine detaillierte Darstellung gegeben wird.
-
Wie oben erläutert, sind die erste und zweite Kommunikationseinheit 13 und 14 identisch
strukturiert, wobei jede eine Kommunikaionsschnittstelle 13a bzw. 14a zur
Steuerung von Kommunikationen, eine MPU 13b bzw. 14b zur
Durchführung
verschiedener Prozesse sowie einen Speicher 13c bzw. 14c, verbunden
mit dem Systembus und versehen mit einer Schnittstelle ASIC 13d bzw. 14d für das Senden und
Empfangen von Daten, aufweist.
-
Die Speicher 13c und 14c sind
jeweils mit einem Empfangsnachricht-Speicherbereich (NACHRICHT IN)
zur Speicherung von Nachrichten, die über die Kommunikationsschnittstelle 13a bzw. 14a empfangen
wurden, einem Sendenachricht-Speicherbereich (NACHRICHT OUT) zur
Speicherung von gesendeten Nachrichten, die von der CPU-Einheit 12 über das
Bussystem 10a erhalten wurden, einem Datenverknüpfungs-Speicherbereich (DATENVERKNÜPFUNGSSPEICHER)
zur vorübergehenden
Speicherung von zu verknüpfenden
Daten sowie einem Bereich (I/F-STEUERDATEN) zur Speicherung von
Steuerdaten für
die Schnittstelle versehen. Die Schnittstellensteuerdatenbereiche
können beispielsweise
Zuordnungsdaten für
die Speicheradressen in dem EA-Speicher für Datenaustausche speichern.
Bereiche innerhalb des EA-Speichers, die Daten für sich selbst speichern, können anhand
der Schnittstellenspeicherdaten identifiziert werden.
-
Als Nächstes werden die Funktionen
der MPUs 13b und 14b erläutert. Wenn sie aktiv sind,
arbeiten sie als gewöhnliche
Kommunikationseinheit, greifen auf die Speicher 13c und 14c zu
und führen eine
Datenverknüpfungsverarbeitung
sowie einen Aus tausch von Nachrichten durch, während sie die Kommunikationsschnittstellen 13a und 14a steuern. Anders
ausgedrückt,
können
sie Daten mit dem Datenverknüpfungsbereich
des EA-Speichers 12b der CPU-Einheit 12 gemäß einer
Speicherbereichzuordnung, die vorab eingestellt worden ist, und
auch mit anderen Knoten unter Durchführung der Datenverknüpfungsverarbeitung
austauschen, und die CPU-Einheiten verschiedener Knoten können also Daten
gemeinsam besitzen. Die Nachrichtenaustauschvorgänge können mit der sogenannten Nachrichten-Dienstfunktion,
d. h. durch Ausführen
von Kommunikationsbefehlen (Befehlen zum Senden und Empfangen von
Nachrichten an und von verschiedenen Knoten), die in dem Anwenderprogramm für den Austausch
von Daten enthalten sind, mit einem spezifizierten Knoten zu einer
erforderlichen Zeit ausgeführt
werden. Wenn sie aktiv sind, dienen die erste und zweite Kommunikationseinheit 13 und 14 jeweils
zur Überprüfung des
Vorliegens eines Anomaliezustands in sich selbst und zur Mitteilung
an die CPU-Einheit 12, wenn ein anomaler Zustand festgestellt
wird. Wenn sie sich in dem Wartezustand befinden, führen sie
nicht die Datenverknüpfungsverarbeitung
oder den Austausch von Nachrichten, die von der aktiven MPU ausgeführt werden,
durch, sondern wiederholen Diagnosetests auf einen Fehler. Wenn durch
diesen Diagnosetest eine Anomalie festgestellt wird, wird die Feststellung
der CPU-Einheit 12 mitgeteilt.
-
Es gibt drei Arten von Anomaliezuständen, die
durch die Kommunikationseinheiten festgestellt werden können, nämlich Auftreten
einer Anomalie in einer Kommunikationseinheit im aktiven Zustand, Auftreten
einer Anomalie in einer Kommunikationseinheit im Wartezustand, und
wenn die Einheit entfernt wird, während sich die Spannungsquelle
im eingeschalteten Zustand befindet („Online-Austausch").
-
Zu anomalen Zuständen in einer aktiven Kommunikationseinheit
gehören
der „Watchdog-Zeitgeber
um (WDTUP)" der
Kommunikationseinheit, Anomalien im Übertragungsteil der Kommunikationseinheit
und Hardware-Anomalien der Kommunikationseinheit. Diese Anomalien
können
anhand der Busschnittstellen-Steuerdaten
festgestellt werden. Zu anomalen Zuständen in einer Kommunikationseinheit
im Wartezustand gehören
der „Watchdog-Zeitgeber
um (WDTUP)" der
Kommunikationseinheit und Hardware-Anomalien der Kommunikationseinheit.
Diese sind auch anhand der Busschnittstellen-Steuerdaten feststellbar.
Wenn eine Anomalie in der Kommunikationseinheit im Wartezustand
festgestellt wird, wird natürlich
das Umschalten zwischen der aktiven Kommunikationseinheit und der
Wartekommunikationseinheit nicht bewirkt. Da sich der verdoppelte
Zustand in einer solchen Situation nicht aufrechterhalten lässt, wird
stattdessen eine Anomalie beim Verdoppeln in einer solchen Situation
mitgeteilt. Dass ein Online-Austausch einer aktiven Kommunikationseinheit
vorkommt, ist wahrscheinlich, wenn die Kommunikationseinheit für eine Wartungsinspektion
oder einen periodischen Austausch ausgetauscht wird. Wenn ein Online-Austausch an einer aktiven
Kommunikationseinheit durchgeführt
wird, kann der Benutzer von einem Tool bzw. Hilfsmittel zur Mitteilung
an die CPU-Einheit 12, betreffend den Beginn der Online-Beseitigung
und -Anbringung, Gebrauch machen, so dass der CPU-Einheit 12 der
Zustand bewusst gemacht wird, unter welchem der verdoppelte Kommunikationszustand
nicht aufrechterhalten werden kann. Ansprechend darauf, aktiviert die
CPU-Einheit 12 die
Kommunikationseinheit, die sich im Wartezustand befunden hat. Ferner
arbeitet die CPU-Einheit so, dass die Bus-Anomalie, die normalerweise
auftreten würde,
wenn eine Einheit entfernt und angebracht wird, während die
Spannungs quelle im EIN-Zustand ist, sich nicht ergibt, wenn die Kommunikationseinheit
entfernt und angebracht wird.
-
Die Kommunikationen werden also nicht
unterbrochen, da die Warte-Kommunikationseinheit aktiviert wird,
wenn eine Anomalie in der aktiven Kommunikationseinheit auftritt,
und die SPS 10 kann ihre Kommunikationen sowie ihre Steuerungen
und Operationen fortsetzen. Das Auftreten eines solchen anomalen
Zustands kann über
das Netzwerk (den Kommunikationsweg 30) den anderen Knoten
und dem Tool mitgeteilt werden. Bekannte Technologien können im
Grundsatz für
die Funktion der Feststellung anomaler Zustände selbst verwendet werden.
-
Wie oben erläutert, dient die CPU-Einheit 12 zur Überwachung
des Auftretens eines anomalen Zustands in der ersten und zweiten
Kommunikationseinheit 13 und 14 und führt einen
Umschaltvorgang (zwischen aktivem und Wartezustand) durch, wenn ein
anomaler Zustand in der aktiven der Kommunikationseinheiten 13 und 14 festgestellt
wird. Diese Operationen der CPU-Einheit 12 werden
als nächstes
unter Bezug auf die Flussdiagramme der 3 und 4 erläutert. In
dieser Erläuterung
wird angenommen, dass die erste Kommunikationseinheit 13 anfänglich aktiv
und die zweite Kommunikationseinheit 14 im Wartezustand
ist.
-
Die CPU-Einheit 12 prüft auf einen
anomalen Zustand der aktiven ersten Kommunikationseinheit 13 (Schritt
ST1) und dann auf den der zweiten Kommunikationseinheit 14 im
Wartezustand (Schritt ST2). Wenn kein anomaler Zustand in den Kommunikationseinheiten 13 und 14 festgestellt
wird (NEIN in Schritt ST3), ist der Prüfvorgang zunächst abgeschlossen.
Wenn ein anomaler Zustand in der Kommunikationseinheit 13 oder 14 festgestellt
wird (JA in Schritt ST3), wird diese Anomalie (im Sinne eines Verfehlens
des Aufrechterhaltens der Kommunikationseinheiten in Verdopplung)
in einem Speicher registriert, auf den das Tool zugreifen kann (Schritt ST4).
Wenn der anomale Zustand nur in der aktiven ersten Kommunikationseinheit 13 vorliegt
(JA in Schritt ST5), wird ein Neustartvorgang, wie oben erläutert, auf
der ersten Kommunikationseinheit 13 ausgeführt (Schritt
ST6), um ihre Hardware rücksetzen
zu lassen, und ein weiterer Neustartvorgang wird auf der zweiten
Kommunikationseinheit 14 im Wartezustand durchgeführt (Schritt
ST7), um ihre Hardware rücksetzen
zu lassen.
-
Ansprechend auf diese Neustartvorgänge führen die
erste und zweite Kommunikationseinheit 13 und 14 ihre
eigenen Neustartoperationen (Schritte ST20 und ST30), wie in 4 gezeigt, aus, womit eine
Speicherlöschung
und andere Initialisierungsvorgänge
bewirkt werden. Danach wird die erste Kommunikationseinheit 13,
die aktiv gewesen ist, in die Wartebetriebsart hochgefahren (Schritt
ST8), und die zweite Kommunikationseinheit 14, die sich
im Wartezustand befunden hat, wird in die aktive Betriebsart hochgefahren
(Schritt ST9).
-
Wenn die erste Kommunikationseinheit 13 diesen
Neustartbefehl in der Wartebetriebsart empfängt (Schritt ST21), wird eine
Hardware-Prüfung (bzw.
Selbstdiagnose) ausgeführt
(Schritt ST22). Wenn sie als normal befunden wird, fährt sie
in der Wartebetriebsart hoch und setzt die Durchführung von
Operationen für
diese Betriebsart fort (Schritt ST23), d. h., sie setzt die Durchführung von
Selbstdiagnosevorgängen
fort, um das Vorliegen oder Fehlen eines anomalen Zustands zu bestimmen,
und berichtet das Ergebnis an die CPU-Einheit 12.
-
Wenn die zweite Kommunikationseinheit 14 den
Neustartbefehl in der aktiven Betriebsart erhält (Schritt ST31), führt auch
sie eine Hardware-Prüfung (Selbstdiagnose)
durch (Schritt ST32). Wenn sie als normal befunden wird, fährt sie
in der aktiven Betriebsart hoch und tauscht Anfangsdaten mit der CPU-Einheit 12 aus
(Schritt ST33) und liest notwendige Parameter (Datenverknüpfungseinstellung)
auf der Grundlage der empfangenen Anfangsdaten aus (Schritt ST34).
Danach setzt die zweite Kommunikationseinheit 14 Operationen
in der aktiven Bewegung fort und führt eine Datenverknüpfungsverarbeitung durch
wiederholtes Durchführen
eines Datenaustauschs mit der CPU-Einheit und den anderen Knoten (Schritt
ST35) und Nachrichtenaustauschvorgänge mit den anderen Knoten
(Schritt ST36) aus. Im Flussdiagramm der 4 ist dies zwar weggelassen, sie hat
aber auch die Funktionen der Fortsetzung der Prüfung des Vorliegens oder Nicht-Vorliegens
eines anomalen Zustands und der Mitteilung an die CPU-Einheit 12,
wenn ein anomaler Zustand festgestellt wird.
-
Nachdem aktiver und Wartezustand
der Kommunikationseinheiten 13 und 14 in den oben
erläuterten
Schritten ST6 – ST9
geschaltet sind, führt die
CPU-Einheit 12 die normale Verarbeitung, wie etwa das Analysieren
der von der aktiven Kommunikationseinheit empfangenen Nachrichten,
um darin spezifizierte Vorgänge
auszuführen,
und das Zurücksenden
von Antworten darauf aus (Schritt ST10). Sie führt auch Datenaustausche in
Verbindung mit der Ausführung
ihrer Datenverknüpfungsfunktion
mit der aktiven zweiten Kommunikationseinheit 14 aus (Schritt
ST11) und dient dazu, die Ergebnisse der Selbstdiagnose zu empfangen,
die von der ersten Kommunikationseinheit 13, die sich nun
im Wartezustand befindet, gesendet worden sind (Schritt ST12).
-
Die Datenverknüpfungsverarbeitung durch die
zweite Kommunikationseinheit 14, nachdem sie in die aktive
Betriebsart geschaltet worden ist, wird wie in 5 gezeigt ausgeführt. Als Erstes (1)
werden über
das Netzwerk (in dem Kommunikationsweg 30) laufende Daten über die
Kommunikationsschnittstelle 14a gewonnen und in einem spezifizierten
Abschnitt des Datenverknüpfungsspeicherbereichs
im Speicher 14c gespeichert. Als Nächstes (2) werden Übertragungsdaten,
die in einem anderen Bereich gespeichert worden sind, an einen spezifizierten Adressaten über den
Kommunikationsweg 30 übertragen.
-
Danach werden, während die CPU-Einheit 12 die
EA-Auffrischung
durchführt,
Daten zwischen der zweiten Kommunikationseinheit 14 und
der CPU-Einheit 12 in der Reihenfolge von (3) und (4), wie
in 5 gezeigt, ausgetauscht.
Die Folge (1), (2), (3) und (4) wird danach wiederholt ausgeführt.
-
Unmittelbar nachdem sie aus der Wartebetriebsart
in die aktive Betriebsart geschaltet worden ist, liest die zweite
Kommunikationseinheit 14 die in der CPU-Einheit 12 gespeicherte
Datenverknüpfungseinstellung
aus. Sie kann also die Datenverknüpfungsverarbeitung mit der
gleichen Einstellung wie die erste Kommunikationseinheit 13,
die bis dahin aktiv gewesen ist, beginnen. Da die Initialisierungsverarbeitung
zur Zeit des Neustarts einen Speicherlöschvorgang beinhaltet, können inkorrekte
Daten im Speicher 14c vorhanden sein, bevor die Datenverknüpfungsverarbeitung
begonnen wird. Wenn in diesem Zustand übertragen werden, kann dies
ein fehlerhaftes Arbeiten bewirken. Aus diesem Grund wird die oben
beschriebene Verarbeitung (2) unmittelbar nach dem Neustart
weggelassen.
-
Als Nächstes werden die Operationen
beim Systemhochfahren einer solchen SPS erläutert. Adressdaten (wie etwa
Knotennummern oder Einheitennummern), die für einzelne Einheiten auf dem gleichen
Netzwerk eingestellt sind, müssen üblicherweise
einmalig sein. Wenn Spannung eingeschaltet wird, während die
gleiche Einheitennummer oder Knotenadresse an verschiedenen Einheiten
eingestellt ist, wird ein „Doppelverwendungsfehler" erzeugt. Gemäß einer
Ausführungsform
dieser Erfindung wird also das Einstell-Tool 31 zur Speicherung der
Einheitennummern der duplizierten Kommunikationseinheit an einem
spezifizierten Speicherbereich innerhalb der CPU-Einheit 12 verwendet,
und nachdem die Einrichtung so getroffen ist, dass die CPU-Einheit 12 die
duplizierte Verwendung dieser Einheitennummer nicht prüft, wird
die Spannungsquelle der SPS ein- und ausgeschaltet. Eine weitere mögliche Methode,
den Doppelverwendungsfehler zu umgehen, besteht darin, durch eine
Operation des Einstell-Tools 31 den Doppelverwendungsfehler
zu löschen,
und die Spannungsquelle der SPS wird nicht aus- und eingeschaltet.
Auf diese Weise resultieren zwei Kommunikationseinheiten mit der
gleichen Knotennummer und der gleichen Einheitennummer.
-
Als Nächstes wird bestimmt, welche
der doppelten Kommunikationseinheiten in der aktiven Betriebsart
zu verwenden ist, und welche in der Wartebetriebsart zu verwenden
ist. Es kommt nicht darauf an, wie die Wahl getroffen wird, und
es gibt kein Problem, unabhängig
davon, wie die Wahl getroffen worden ist. Die Wahl kann gemäß ihrer
Anbringungspositionen getroffen werden. Beispielsweise kann die Kommunikationseinheit
mit der jüngeren
Gestellzahl oder Schlitzzahl als eine ausgewählt werden, die in der aktiven
Betriebsart zu betreiben ist. Es versteht sich, dass die umgekehrte
Wahl gleichermaßen
akzeptabel ist. Die Wahl kann durch einen Betriebsarteneinstellbefehl
von der CPU-Einheit 12 erfolgen.
-
Als Nächstes werden Kommunikationsparameter,
die für
die Durchführung
von Datenverknüpfungsfunktionen
(wie etwa eine Datenverknüpfungseinstellung)
erforderlich sind, eingestellt, aber die Methode der Einstellung
ist die gleiche wie im Falle der bekannten Kommunikationseinheiten.
-
Für
eine Erholung aus einem anomalen Verdoppelungszustand (in welchem
eine der Kommunikationseinheiten im aktiven und Wartezustand nicht normal
arbeitet) muss eine Online-Einheitenaustauschoperation für den Austausch
der fehlerhaften Kommunikationseinheit gegen eine normale Kommunikationseinheit
durchgeführt
werden. Wenn ein anomaler Zustand auf Seiten der aktiven Kommunikationseinheit
auftritt, wird die andere Kommunikationseinheit im Wartezustand
aktiviert und nimmt die im Gange befindlichen Kommunikationen wieder
auf, wie dies oben erläutert
wurde.
-
Für
eine Rückkehr
in den normalen verdoppelten Zustand in einer solchen Situation
wird ein Online-Austauschvorgang auf der Einheit im anomalen Zustand
ausgeführt.
Die ersetzende Einheit wird in der Wartebetriebsart hochgefahren.
Wenn ein anomaler Zustand auf Seiten der Kommunikationseinheit im
Wartezustand auftritt, werden der aktive und der Wartezustand nicht
geschaltet, und die aktive Kommunikationseinheit wird weiterhin
für Kommunikationen
benutzt. Auch in diesem Fall wird ein Online-Austausch auf der Einheit
im anomalen Zustand ausgeführt,
und die ersetzende Einheit wird in der Wartebetriebsart hochgefahren.
-
Die Mitteilung eines anomalen Zustands
von der Kommunikationseinheit an die CPU-Einheit kann durch Schreiben
des Einheitenanomaliedatenelements, das durch die Kommunikationseinheit
festgestellt worden ist, in einen gemeinsamen Speicher (wie etwa
Speicher 13c und 14c aus 2), der mit der CPU-Einheit geteilt wird, durchgeführt werden,
so dass sie durch die CPU-Einheit ausgelesen werden kann.
-
Wie oben erläutert, werden nicht nur zwei
gemäß der Erfindung
vorgesehene Kommunikationseinheiten, sondern auch Daten zu ihrer
Identifizierung als gleiche eingestellt, und nur eine von ihnen
in der aktiven Betriebsart darf normale Kommunikationen und Sendungen
und Empfänge
von Daten durchführen.
Die Belastung der CPU bleibt also ungefähr die gleiche, als ob nur
eine Kommunikationseinheit vorhanden wäre, und Anwenderprogramme können so
einfach sein, als ob nur eine Kommunikationseinheit vorhanden wäre, während die
Zuverlässigkeit des
Sy stems durch die Verwendung der duplizierten Kommunikationseinheiten
verbessert werden kann.