-
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.
-
Aus
DE 198 14 096 A1 ist
es bekannt, programmierbare Steuerungen (Automatisierungssystem)
mit CPUs und redundanten Kommunikationseinheiten, die mit dem gleichen
Netzwerk verbunden sind, zu versehen und diese so zu betreiben,
dass eine davon aktiv ist und die andere im Wartezustand (passiv)
ist und keinen Datenaustausch ausführt. Bei Ausfall der aktiven
Einheit findet eine Betriebsartumschaltung statt.
-
Zusammenfassung der Erfindung
-
Es
ist daher eine Aufgabe der Erfindung, eine programmierbare Steuerung
mit CPU und Kommunikationseinheiten sowie ein Verfahren zur Steuerung
derselben zu schaffen, so dass ein hochzuverlässiges System mit auf gedoppelten
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.
-
Diese
Aufgabe wird erfindungsgemäß durch eine
programmierbare Steuerung gemäß Anspruch
1 gelöst.
-
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.
-
Nach
einer Ausgestaltung der erfindungsgemäßen programmierbaren Steuerung
gemäß Anspruch
6 weist die CPU-Einheit 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
auf. 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
Aufgabe der Erfindung wird ferner durch ein Verfahren zur Steuerung
einer programmierbaren Steuerung gemäß Anspruch 8 gelöst.
-
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.