-
Die vorliegende Erfindung betrifft ein Verfahren zur redundanten Kommunikation zwischen einem Nutzer-Terminal und einem Leitsystem-Server für ein Automatisierungssystem, wobei das Automatisierungssystem eine Steuereinrichtung zur automatischen Steuerung einer Anlage oder eines Gerätes umfasst, und der Leitsystem-Server zur Projektierung, zum Engineering, zum Bedienen und/oder zum Überwachen der Steuereinrichtung eingerichtet und ausgebildet ist.
-
Derartige Verfahren sind aus dem Stand der Technik bekannt. So offenbart beispielsweise die US-Veröffentlichung
US 2005/0119863 A1 ein Automatisierungssystem zur Steuerung einer Produktionsanlage, wobei das Automatisierungssystem eine speicherprogrammierbare Steuerung (SPS) (auch „PLC” (Programmable Logic Controller)genannt) und ein übergeordnetes Serversystem umfasst, wobei über ein Computer-Terminal ein Zugriff auf das Serversystem besteht und auf diese Weise beispielsweise Daten, die vom Serversystem aus der Steuerung gesammelt wurden, dargestellt werden.
-
Aus
EP 0 854 610 A2 ist ein Verfahren entsprechend dem Oberbegriff gemäß Patentanspruch 1 bekannt, bei dem zwei redundant miteinander verbundene Netzknoten derselben Funktionsebene eines Datenverarbeitungssystems zugeordnet sind, nämlich der Steuerungsebene. Eine Funktionsebenen mit unterschiedlichen unterlagerten Kommunikationsprotokollen übergreifende ausfallgesicherte Kommunikation mit einem einheitlichen Redundanzmechanismus ist dort jedoch nicht offenbart.
-
Ausgehend vom Stand der Technik ist es eine Aufgabe der vorliegenden Erfindung, eine Kommunikation zwischen einem Nutzer-Terminal und einem Leitsystem-Server in einem Automatisierungssystem ausfallsicherer zu gestalten und eine zuverlässigere Überwachung zu ermöglichen.
-
Die Aufgabe wird gelöst von einem Verfahren mit den Merkmalen des Patentanspruchs 1.
-
Ein derartiges Verfahren ist zur redundanten Kommunikation zwischen einem Nutzer-Terminal und einem Leitsystem-Server für ein Automatisierungssystem ausgebildet und eingerichtet. Dabei umfasst das Automatisierungssystem eine Steuereinrichtung zur automatischen Steuerung einer Anlage oder eines Gerätes, wobei der Leitsystem-Server zur Projektierung, zum Engineering, zum Bedienen und/oder zum Überwachen der Steuereinrichtung eingerichtet und ausgebildet ist. Die Steuereinrichtung ist einer Steuerungs-Ebene des Automatisierungssystems zugehörig. Des weiteren ist die Anlage oder das Gerät Feld-Ebene des Automatisierungssystems zugehörig. Das Nutzer-Terminal umfasst eine erste und eine zweite Terminal-Schnittstelle zur Kommunikation mit dem Leitsystem-Server über mindestens ein Kommunikations-Netz. Der Leitsystem-Server umfasst ebenfalls eine erste und eine zweite Server-Schnittstelle zur Kommunikation mit dem Nutzer-Terminal über das mindestens eine Kommunikations-Netz. Dabei ist das genannte Verfahren derart ausgebildet, dass eine erste Terminal-Nachricht mit Terminal-Nutzdaten zum Projektieren, zum Engineering, zum Bedienen und/oder zum Überwachen der Steuereinrichtung über die erste Terminal-Schnittstelle an den Leitsystem-Server gesendet wird und eine zweite Terminal-Nachricht mit denselben Terminal-Nutzdaten wie bei der ersten Terminal-Nachricht über die zweite Terminal-Schnittstelle an den Leitsystem-Server gesendet wird. Nach dem Empfang einer neuen Terminal-Nachricht prüft der Leitsystem-Server, ob er bereits eine Terminal-Nachricht mit denselben Nutzdaten wie in der neu empfangenen Terminal-Nachricht empfangen hat. Wenn er bereits eine Terminal-Nachricht mit denselben Nutzdaten empfangen hat, verwirft der Leitsystem-Server die neue Terminal-Nachricht. Wenn er noch keine Terminal-Nachricht mit denselben Nutzdaten empfangen hat, speichert der Leitsystem-Server die neu empfangene Terminal-Nachricht und verarbeitet sie nachfolgend weiter.
-
Dadurch, dass das Benutzer-Terminal zweimal eine Nachricht mit denselben Nutzdaten über verschiedene seiner Schnittstellen und im allgemeinen dann auch verschiedene Kommunikationspfade an den Leitsystem-Server schickt, erhält dieser die notwendigen Nutzdaten-Informationen, auch wenn eine der Nachrichten verloren geht, beispielsweise durch eine defekte Leitung, ein defektes Gerät oder Ähnliches. Dadurch, das der Leitsystem-Server bei jeder eingegangenen Nachricht prüft, ob er dieselben Nutzdaten schon empfangen hat, wird dann vermieden, dass entsprechende Nachrichten zweimal verarbeitet werden und so ungewollte Reaktionen im Leitsystem-Server hervorgerufen werden könnten.
-
Daher erhöht das genannte Verfahren die Ausfallsicherheit in einem Automatisierungssystem insbesondere gegenüber Ausfällen im Bereich der Kommunikation zwischen einem Terminal und einem entsprechenden Leitsystem. Dabei kann die Kommunikation zwischen dem Nutzerterminal und dem Leitsystem-Server beispielsweise über ein TCT/IP-Protokoll, ein Ethernet-Protokoll, ein industrielles Ethernet-Protokoll oder auch ein Internetprotokoll erfolgen.
-
Das Nutzer-Terminal kann beispielsweise als ein PC, ein spezielles Bedienterminal, eine Bedienstation, eine Beobachten-Station oder auch eine Bedienen-und-Beobachten-Station ausgebildet sein oder auch als eine ähnliche Station oder ein ähnliches Terminal zur Darstellung und Eingabe von Informationen für und von einem Benutzer.
-
Der Leitsystem-Server kann z. B. als Server oder Computersystem mit einem darauf installierten oder vorgesehenen Prozessleitsystem ausgebildet sein, beispielsweise als ein Prozessleitsystem für eine automatische Anlagen- oder Geräte-Steuerung. Der Leitsystem-Server kann auch als Server eines Bedienen- und Beobachten-Systems ausgebildet sein oder einen solchen umfassen. Dabei kann ein solches Bedienen- und Beobachten-System zur Überwachung und Steuerung beispielsweise einer über ein entsprechendes automatisches Steuerungssystem gesteuerten Anlage oder Gerätes ausgebildet und eingerichtet sein. Weiterhin kann der Leitsystem-Server auch als ein Server eines Projektierungssystems zur Projektierung einer automatischen Anlagen- oder Geräte-Steuerung ausgebildet und eingerichtet sein bzw. einen solchen umfassen.
-
Im Rahmen eines Automatisierungs-Gesamtsystems kann ein Leitsystem-Server insbesondere der so genannten Betriebs- und/oder Verfahrensebene des Automatisierungs-Gesamtsystems zugehörig oder zugeordnet sein.
-
Ein Automatisierungssystem kann beispielsweise eine oder mehrere Steuerungseinheiten, beispielsweise so genannten speicherprogrammierbare Steuerungen (so genannten „SPS” oder „PLC”) oder auch modulare speicherprogrammierbare Steuerungen umfassen. Solche Steuerungseinheiten können beispielsweise zur Steuerung einer oder mehrerer Anlagen oder Geräte ausgebildet und eingerichtet sein. Auch die gesteuerten Anlagen oder Geräte können dabei dem Automatisierungssystem zugerechnet werden. Außerdem können der Leitsystem-Server und/oder das Nutzer-Terminal dem Automatisierungssystem, insbesondere wenn dieses als Gesamtsystem ausgelegt ist, zugeordnet werden. Diese können aber auch als unabhängig vom Automatisierungssystem betrachtet werden.
-
Der Leitsystem-Server und/oder die Steuereinrichtung können weiterhin derart ausgebildet und eingerichtet sein, dass mittels des Leitsystem-Servers über die Steuereinrichtung auch ein Bedienen und/oder Überwachen des bzw. einer durch die Steuereinrichtung gesteuerten Anlage und/oder Geräts möglich ist bzw. durchgeführt wird.
-
Das mindestens eine Kommunikations-Netz zur Kommunikation zwischen Nutzer-Terminal und Leitsystem-Server kann beispielsweise ein, zwei oder auch mehr Kommunikations-Netze umfassen. Dabei kann jedes dieser Kommunikationsnetze beispielsweise als so genanntes LAN, WLAN, als Internet, als Ethernet, als industrielles Ethernet oder ein vergleichbares Netz ausgebildet und eingerichtet sein bzw. ein derartiges Netz umfassen.
-
Insbesondere kann das mindestens eine Kommunikations-Netz genau zwei vergleichbar, gleich oder gleichartig ausgebildete bzw. redundante Kommunikations-Netze aufweisen. Dabei erfolgt die Kommunikation zwischen der ersten Terminal-Schnittstelle und der ersten Serverschnittstelle über ein erstes der zwei Kommunikations-Netze, während die Kommunikation zwischen der zweiten Terminal-Schnittstelle und der zweiten Server-Schnittstelle über das andere der Kommunikations-Netze erfolgt.
-
Weiterhin kann das mindestens eine Kommunikationsnetz auch als Ringnetz ausgebildet sein, wobei jeweils die ersten und zweiten Schnittstellen des Nutzer-Terminals und des Leitsystem-Servers als so genannte Ring-Ports zur Integration des Nutzer-Terminals bzw. des Leitsystem-Servers in das Ringnetz ausgebildet sind und/oder auch so verschaltet sind.
-
Insbesondere kann das mindestens eine Kommunikationsnetz aus genau einem derartigen Kommunikations-Ringnetz bestehen.
-
Das Erzeugen der Terminal-Nachrichten kann beispielsweise derart erfolgen, dass nach Bereitstellung der zu übermittelnden Nutzdaten bezüglich eines Projektierens, eines Engineerings, eines Bedienens und/oder eines Überwachens der Steuereinrichtung bzw. einer daran angeschlossenen Anlage oder eines Geräts, die erste Terminal-Nachricht mit diesen Nutzdaten und die zweite Terminal-Nachricht mit denselben Nutzdaten erstellt wird.
-
Dabei können die beiden Terminal-Nachrichten weiterhin eine Kennung aufweisen, anhand derer ein Empfänger beim Empfang einer dieser Nachrichten erkennen kann, dass dazu noch eine Duplikat-Nachricht mit gleichen Nutzdaten versendet wurde. Eine solche Kennung kann beispielsweise einen unmittelbaren Hinweis auf die parallel versendete Nachricht geben, indem beispielsweise eine eindeutige Kennung dieser parallelen Nachricht umfasst. Weiterhin kann eine solche Kennung auch nur allgemein signalisieren, dass zu dieser Nachricht eine Parallele mit denselben Nutzdaten an denselben Empfänger versendet wurde.
-
Weiterhin kann beispielsweise die zweite Terminal-Nachricht durch Duplizierung, Kopieren oder Verdoppeln der ersten Terminal-Nachricht erzeugt werden, so dass erste und zweite Terminal-Nachrichten identisch sind. Auch in diesem Fall können die Terminal-Nachrichten jeweils eine Kennung aufweisen, die einem Empfänger der Nachricht allgemein signalisiert, dass zu dieser Nachricht ein Duplikat versendet wurde. Weiterhin können erste und zweite Terminal-Nachricht auch bis auf eine Bezugskennung auf die jeweils andere Nachricht und/oder eine eindeutige Nachichten-Identifikations-Kennung identisch sein.
-
Der Leitsystem-Server kann beispielsweise derart ausgebildet und eingerichtet sein, dass er bei jeder zugehenden Nachricht prüft, ob er bereits eine weitere Terminal-Nachricht mit denselben Nutzdaten empfangen hat. Weiterhin kann der Leitsystem-Server auch derart ausgebildet und eingerichtet sein, dass er bei einer neu empfangenen Terminal-Nachricht beispielsweise anhand einer Kennung innerhalb der Nachricht prüft, ob dazu ein überhaupt Duplikat versendet wurde, und nur dann die Prüfung vornimmt, ob bereits eine Terminal-Nachricht mit denselben Nutzdaten empfangen wurde inklusive des weiteren oben genannten Vorgehens, wenn eine solche Kennung vorliegt.
-
Die Prüfung, ob bereits eine Terminal-Nachricht mit denselben Nutzdaten empfangen wurde, kann der Leitsystem-Server beispielsweise dadurch durchführen, indem er die Nutzdaten einer neu empfangenen Terminal-Nachricht mit den Nutzdaten bereits empfangener, gespeicherter Nachrichten vergleicht. Weiterhin kann die Prüfung auch beispielsweise anhand bestimmter Nutzdaten oder einer bestimmten Terminal-Nachricht zugeordneten Kennung erfolgen, die insbesondere eine eindeutige Kennung für bestimmte Nutzdaten oder auch eine bestimmte Terminal-Nachricht sein kann. Eine solche Kennung oder Signatur kann beispielsweise als eine Art Zähler, der z. B. innerhalb des Senders geführt sein kann, oder auch eine aus den Nutzdaten oder der gesamten Terminal-Nachricht gewonnene Signatur sein. Beispielsweise können die erste und zweite Terminal-Nachricht dieselbe Kennung aufweisen, so dass der Leitsystem-Server relativ einfach durch Vergleich einer neu erhaltenen Kennung mit gespeicherten Kennungen erkennen kann, ob er schon eine Nachricht mit denselben Nutzdaten erhalten hat.
-
Stellt der Leitsystem-Server fest, dass er zu einer neu empfangenen Terminal-Nachricht das vom Nutzer-Terminal versendete Duplikat bereits erhalten hat, so verwirft er die neu empfangene Nachricht.
-
Ergibt die Prüfung im Leitsystem-Server, dass noch keine Terminal-Nachricht mit denselben Nutzdaten empfangen wurde, so wird die neu empfangene Terminal-Nachricht gespeichert und innerhalb des Leitsystem-Servers weiter verarbeitet bzw. zur Weiterverarbeitung durch den Leitsystem-Server an eine andere Einheit weiter vermittelt.
-
Dabei kann die Speicherung zumindest unter Anderem innerhalb einer speziell für die vorstehend erläuterte Duplikateprüfung eingerichteten Datenbank erfolgen. In diese Datenbank können beispielsweise zu jeder zugegangenen Terminal-Nachricht, für welche noch kein Duplikat registriert wurde, und für welche eine Duplikateprüfung vorgenommenen werden soll oder muss, die zur Duplikateprüfung notwendigen Informationen hinterlegt werden. Dies können insbesondere eine Kennung für den Sender, den Empfänger, eine Nachrichten-Kennung, insbesondere eine eindeutige Nachrichten-Kennung und/oder die Nutzdaten der Nachricht umfassen. Insbesondere können in einer solchen Datenbank höchstens eine Kennung für den Empfänger, eine Kennung für den Sender, sowie eine eindeutige Kennung für die übermittelte Terminal-Nachricht bzw. eine eindeutige Kennung für das zusammengehörige Nachrichten-Paar selbst gespeichert sein.
-
In einer vorteilhaften Ausgestaltung kann vorgesehen sein, dass der Leitsystem-Server nach dem Empfang der neuen Terminal-Nachricht an der ersten Server-Schnittstelle prüft, ob er bereits eine Terminal-Nachricht mit denselben Nutzdaten an der zweiten Server-Schnittstelle empfangen hat und andersherum. Die neu empfangene Terminal-Nachricht wird dann verworfen, wenn er bereits eine Terminal-Nachricht mit denselben Nutzdaten an der jeweils anderen Server-Schnittstelle empfangen hat. Die neu empfangene Terminal-Nachricht wird gespeichert und durch den Leitsystem-Server weiterverarbeitet, wenn der Leitsystem-Server noch keine Terminal-Nachricht mit denselben Nutzdaten an der anderen der Server-Schnittstellen empfangen hat.
-
Dabei kann die Speicherung der neuen Terminal-Nachricht beispielsweise ein Speichern in einer speziellen Datenbank umfassen, welche für die beschriebene Duplikate-Prüfung der Terminal-Nachrichten verwendet wird. Dabei kann insbesondere zu den in der vorliegenden Beschreibung bereits genannten Daten auch eine Kennung für die Server-Schnittstelle gespeichert werden, an welcher die jeweilige Terminal-Nachricht empfangen wurde.
-
Insbesondere kann beispielsweise mindestens eine Kommunikationsnetz derart ausgebildet und eingerichtet sein, dass eine beispielsweise über die erste Terminal-Schnittstelle versendete Nachricht so weiter geleitet wird, dass sie an der ersten Server-Schnittstelle empfangen werden kann, nicht aber an der zweiten Server-Schnittstelle, oder auch umgekehrt. Auf diese Weise kann beispielsweise eine erhöhte Ausfallsicherheit erreicht werden, indem bei Störungen in einem der genannten Kommunikationspfade der andere Kommunikationspfad weiterhin funktionsfähig sein kann und so die entsprechenden Nutzdaten sicherer den gewünschten Empfänger erreichen.
-
Weiterhin kann vorgesehen sein, dass die erste und zweite Terminal-Nachricht jeweils eine Redundanzkennung umfassen, wobei der Leitsystem-Server derart ausgebildet und eingerichtet ist, dass er das in der vorliegenden Beschreibung genannte Verfahren bezüglich der Prüfung, des Verwerfens beziehungsweise der Speicherung und Ausführung einer empfangenen Terminal-Nachricht nur dann ausführt, wenn die empfangene Terminal-Nachricht die Redundanz-Kennung umfasst.
-
Eine solche Redundanz-Kennung kann beispielsweise eine allgemeine Kennung dafür sein, dass zu einer empfangenen Terminal-Nachricht ein Duplikat mit gleichen Nutzdaten versendet wurde. Die Redundanz-Kennung kann auch eine Kennung umfassen, welche einen direkten Hinweis auf die parallel versendete Terminal-Nachricht mit den gleichen Nutzdaten beinhaltet, beispielsweise einen Bezug auf eine eindeutige Nachrichtenkennung oder Nachrichten-Identifikationsnummer der parallel versendeten Terminal-Nachricht.
-
Nach dem Empfang einer neuen Terminal-Nachricht kann der Leitsystem-Server zuerst prüfen, ob die empfangene neue Terminal-Nachricht eine Redundanz-Kennung aufweist. Wenn dies nicht der Fall ist, wird die neu empfangene Terminal-Nachricht unmittelbar der weiteren Verarbeitung im Leitsystem-Server zugeführt, wobei sie gegebenenfalls auch gespeichert werden kann. Weist die empfangene Terminal-Nachricht eine Redundanz-Kennung auf, so prüft der Leitsystem-Server beispielsweise gemäß der vorliegenden Beschreibung, ob bereits ein entsprechendes Duplikat der Terminal-Nachricht vorhanden ist und unternimmt dann beispielsweise die in der vorliegenden Beschreibung aufgeführten weiteren Schritte.
-
Auf diese Weise kann eine weitere Erhöhung der Ausfallsicherheit und Flexibilität eines entsprechenden Kommunikationsverfahrens erreicht werden, da auch dann Störungen vermieden oder reduziert werden können, wenn nicht alle in einem Kommunikationsnetz vorhandenen Kommunikationsteilnehmer ein Nachrichten-Verdopplungs-Kommunikationsverfahren gemäß der vorliegenden Beschreibung verwenden oder verwenden können.
-
Das beschriebene Verfahren kann weiterhin derart ausgebildet sein, dass die erste und zweite Terminal-Nachricht inhaltlich identisch sind. So kann beispielsweise die zweite Terminal-Nachricht durch Kopieren der ersten Terminal-Nachricht erzeugt werden. Weiterhin kann beispielsweise nach einer solchen Kopie der jeweiligen Nachricht noch eine Bezugs-Kennung auf die jeweils andere Nachricht hinzugefügt werden. Die Erzeugung der ersten und zweiten Terminal-Nachricht kann beispielsweise auch gemäß oder auch in Anlehnung an den so genannte HSR- und/oder PRP-Standard, z. B. gemäß IEC 62439-3, erfolgen bzw. ausgebildet sein. Weiterhin kann auch die in der vorliegenden Beschreibung erläuterte Duplikate-Prüfung und weitere Verarbeitung von derart doppelt versendeten Terminal-Nachrichten gemäß dem genannten HSR- und/oder PRP-Standard, z. B. gemäß IEC 62439-3 beziehungsweise in Anlehnung daran, ausgebildet und eingerichtet sein.
-
Weiterhin kann das vorliegend dargestellte Verfahren derart ausgebildet sein, dass der Leitsystem-Server im Rahmen der Verarbeitung einer empfangenen und gespeicherten ersten oder zweiten Terminal-Nachricht eine Nachricht zur Datenanforderung, zum Projektieren, zum Engineering, zum Bedienen und/oder zum Überwachen oder Beobachten der Steuereinrichtung an die Steuereinrichtung sendet.
-
Auf diese Weise kann über das Nutzer-Terminal vermittels des Leitsystem-Servers eine Überwachung oder ein Management einer Steuereinrichtung beziehungsweise einer an die Steuereinrichtung angeschlossenen Anlage beziehungsweise eines an die Steuereinrichtung angeschlossenen Geräts erfolgen. Da häufig Nutzer-Terminals relativ weit von einer entsprechenden Steuereinrichtung und/oder zu steuernden Anlage entfernt sein können, ist bei einer derartigen Kommunikation regelmäßig die Verbindung zwischen Nutzer-Terminal und Leitsystem-Server ein Schwachpunkt, da hierbei auch öfter größere Strecken überwunden werden müssen und unter Umständen auch auf Kommunikationsnetze zurückgegriffen werden muss (z. B. ein öffentliches Netz, LAN oder WAN oder Internet), auf welches im Rahmen der Erstellung eines entsprechenden Automatisierungssystems beziehungsweise eines automatisierten Gesamtsystems wenig oder keine Einwirkungsmöglichkeit besteht. Dabei ist der Leitsystem-Server häufig auch eher im Umfeld der Anlage beziehungsweise Steuereinrichtung angesiedelt, als im Bereich eines Nutzer-Terminals.
-
Durch ein Verfahren gemäß der vorliegenden Beschreibung kann insbesondere die genannte Schwachstelle in der Kommunikation zwischen Nutzer-Terminal und Leitsystem-Server ausfallsicherer gemacht werden, so dass eine zuverlässigere Überwachung und ein zuverlässigeres Management einer entsprechenden Automatisierungsanlage, einer Steuereinrichtung oder Anlage, beziehungsweise eines Gerät, erreicht werden kann.
-
Weiterhin löst auch ein Verfahren die vorstehend genannte Aufgabe, bei welchen die Rollen des Nutzer-Terminals und des Leitsystem-Servers im Kommunikationsverfahren gemäß der vorstehenden Beschreibung vertauscht sind. Das heißt, bei einem solchen Verfahren würde der Leitsystem-Server in die Rolle des Nutzer-Terminals als Nachrichtensender gemäß der vorstehenden Beschreibung eintreten, wobei statt Terminal-Nachrichten Server-Nachrichten gesendet werden. Das Nutzer-Terminal tritt dann in die Rolle des Leitsystem-Servers als Empfänger gemäß der voranstehenden Beschreibung ein.
-
Dabei können sowohl der Leitsystem-Server als Sender, das Nutzer-Terminal als Empfänger sowie die Server-Nachrichten anstatt der Terminal-Nachricht entsprechend in Anlehnung an die vorstehende Beschreibung ausgebildet und eingerichtet sein.
-
Insbesondere vorteilhaft ist ein Verfahren, bei welchem sowohl die Kommunikation vom Nutzer-Terminal zum Leitsystem-Server über erste und zweite Terminal-Nachrichten gemäß der vorliegenden Beschreibung erfolgt, als auch die Kommunikation vom Leitsystem-Server zum Nutzer-Terminal über erste und zweite Server-Nachrichten gemäß der vorliegenden Beschreibung durchgeführt wird. Auf diese Weise kann die gesamte Kommunikation zwischen Nutzer-Terminal und Leitsystem-Server in beiden Richtungen ausfallsicherer gemacht werden.
-
Weiterhin kann die Kommunikation zwischen Nutzer-Terminal und Leitsystem-Server sowohl in die eine als auch die andere Richtung über ein Internet-Protokoll erfolgen, insbesondere über ein Web- und/oder http-Protokoll erfolgen oder Web- und/oder http-Protokoll-Nachricht umfassen. Dabei können beispielsweise derartige http-Protokoll-Nachrichten oder Web-Nachrichten oder auch Internet-Nachrichten innerhalb eines Datenpaketes beispielsweise als Nutzdaten übertragen werden oder die Nutzdaten eines solchen Datenpaketes können entsprechende Web- und/oder http-Protokoll- oder auch Internet-Nachrichten umfassen. Auf diese Weise kann auch eine Übertragung zwischen Nutzer-Terminal und Leitsystem-Server mit herkömmlichen und viel verwendeten Übertragungsprotokollen und Methoden, beispielsweise inklusive der Benutzung von Web-Servern, ausfallsicherer gemacht werden.
-
Die vorstehend genannte Aufgabe wird weiterhin gelöst durch ein Kommunikationssystem mit einem Nutzer-Terminal und einem Leitsystem-Server zur redundanten Kommunikation zwischen dem Nutzer-Terminal und dem Leitsystem-Server, wobei das Nutzer-Terminal und/oder der Leitsystem-Server zur Durchführung eines Verfahrens gemäß der vorliegenden Beschreibung ausgebildet und eingerichtet sind.
-
Dabei können das Nutzer-Terminal und/oder der Leitsystem-Server weiterhin gemäß der vorliegenden Beschreibung ausgebildet und eingerichtet sein.
-
Dadurch, dass Nutzer-Terminal und/oder Leitsystem-Server und/oder das mindestens eine Kommunikationssystem gemäß der vorstehenden Beschreibung ausgebildet und eingerichtet sein können, ermöglicht ein solches Kommunikations-System eine ausfallsichere Kommunikation zwischen dem Nutzer-Terminal und dem Leitsystem-Server.
-
Das mindestens eine Kommunikationsnetz zur Kommunikation zwischen Nutzer-Terminal und Leitsystem-Server kann weiterhin beispielsweise ein erstes und ein zweites Kommunikations-Netz umfassen, wobei das erste Kommunikations-Netz zur Kommunikation zwischen der ersten Terminal-Schnittstelle und der ersten Server-Schnittstelle und das zweite Kommunikations-Netz zur Kommunikation zwischen der zweiten Terminal-Schnittstelle und der zweiten Server-Schnittstelle ausgebildet und eingerichtet ist. Dabei kann weiterhin vorgesehen sein, dass das erste und zweite Kommunikations-Netz keine unmittelbare Verbindung haben. Es können beispielsweise aber weitere Geräte sowohl eine Schnittstelle mit dem ersten als auch eine mit dem zweiten Kommunikations-Netz aufweisen. Weiterhin kann das mindestens eine Kommunikations-Netz noch weitere Kommunikations-Netze umfassen. Das mindestens eine Kommunikations-Netz kann auch genau nur aus dem ersten und zweiten Kommunikations-Netz bestehen.
-
Auf diese Weise kann die Ausfallsicherheit zwischen dem Benutzer-Terminal und dem Leitsystem-Server weiter erhöht werden, da auf diese Weise getrennte Kommunikationspfade entstehen und bei Störungen in einem der Kommunikationspfade eine funktionierende Kommunikation zumindest über den zweiten der Kommunikationspfade weiterhin möglich ist bzw. sein kann.
-
Weiterhin kann das mindestens eine Kommunikations-Netz zur Kommunikation zwischen Leitsystem-Server und Nutzer-Terminal als ein Ringnetz ausgebildet sein, oder ein Ringnetz umfassen, wobei der Leitsystem-Server und das Nutzer-Terminal jeweils über ihre ersten und zweiten Schnittstellen in dem Ringnetz integriert sind. Auch bei der Verwendung eines solchen Ringnetzes entstehen zwei unabhängige Kommunikationspfade zwischen der ersten Server-Schnittstelle und der ersten Terminal-Schnittstelle sowie der zweiten Server-Schnittstelle und der zweiten Terminal-Schnittstelle, so dass die vorstehend genannten Vorteile bezüglich der Ausfallsicherheit auch bei der hier beschriebenen Ausgestaltungsmöglichkeit des mindestens einen Kommunikationsnetzes als Ring-Netz vorliegen.
-
Die vorliegende Aufgabe wird auch gelöst von einem Leitsystem-Server für ein Kommunikations-Netz gemäß der vorliegenden Beschreibung zur Kommunikation mit einem Nutzer-Terminal, wobei der Leitsystem-Server zur Durchführung eines Verfahrens zum Empfangen, Prüfen, Speichern und/oder Verarbeiten von Terminal-Nachrichten gemäß der vorliegenden Beschreibung ausgebildet sein kann. Weiterhin kann der Leitsystem-Server auch zum Versenden der ersten und zweiten Server-Nachrichten gemäß der vorliegenden Beschreibung ausgebildet und eingerichtet sein. In einer weiteren vorteilhaften Ausgestaltung kann der Leitsystem-Server sowohl zum Empfangen und Bearbeiten von Terminal-Nachrichten gemäß der vorliegenden Beschreibung als auch zum Versenden der ersten und zweiten Server-Nachrichten gemäß der vorliegenden Beschreibung ausgebildet sein.
-
Insbesondere kann der Leitsystem-Server zur Kommunikation mit dem Nutzer-Terminal gemäß einem HSR- und/oder PRP-Standard, insbesondere gemäß IEC 62439-3 ausgebildet und eingerichtet sein. Das Versenden der ersten und zweiten Server-Nachrichten kann beispielsweise auch über ein Internet-Protokoll erfolgen oder entsprechende Internet-Nachrichten bzw. http-Nachrichten oder Web-Nachrichten umfassen.
-
Weiterhin kann der Leitsystem-Server modular aufgebaut sein und ein Server-Grundgerät sowie ein Server-Kommunikationsmodul umfassen. Dabei kann das Empfangen, Prüfen und/oder Speichern der Terminal-Nachrichten und/oder das Versenden der ersten und zweiten Server-Nachrichten gemäß der vorliegenden Beschreibung durch das Server-Kommunikationsmodul erfolgen. Die Verarbeitung der Terminal-Nachrichten kann dann dabei z. B. im Server-Grundgerät erfolgt.
-
Server-Grundgerät und das Server-Kommunikationsmodul können dabei als zwei baulich getrennte Geräte ausgebildet sein, welche beispielsweise über eine Kabelverbindung oder Drahtlos-Kommunikationsverbindung verbunden sind. Insbesondere kann das Server-Kommunikationsmodul zur Kommunikation gemäß dem HSR- und/oder PRP-Standard, insbesondere gemäß IEC 62439-3 oder Ähnlichem ausgebildet und eingerichtet sein.
-
Durch einen derart modularen Leitsystem-Server können beispielsweise auch ältere Geräte relativ einfach zur Kommunikation gemäß dem vorliegenden Verfahren aufgerüstet werden. Dabei kann das Server-Kommunikationsmoduls beispielsweise die Duplikatprüfung bei empfangenen Terminal-Nachrichten und deren korrekte Weiterleitung an das Servergrundgerät vornehmen und/oder aus vom Server-Grundgerät kommenden Nachrichten oder Datenpaketen entsprechende erste und zweite Server-Nachrichten erzeugt und versenden. So lässt sich ein solches älteres Gerät als Server-Grundgerät durch Hinzufügen eines Server-Kommunikationsmoduls auch in eine ausfallsichere Kommunikation gemäß der vorliegenden Beschreibung integrieren.
-
Die vorliegende Aufgabe wird auch gelöst durch ein Nutzer-Terminal für ein Kommunikations-Netz gemäß der vorliegenden Beschreibung zur Kommunikation mit einem Leitsystem-Server gemäß der vorliegenden Beschreibung, wobei das Nutzer-Terminal zur Durchführung eines Verfahrens zum Empfangen, Prüfen, Speichern und/oder Verarbeiten von Server-Nachrichten gemäß der vorliegenden Beschreibung und/oder zum Versenden der ersten und zweiten Terminal-Nachrichten gemäß der vorliegenden Beschreibung ausgebildet und eingerichtet ist.
-
Dabei kann das Nutzer-Terminal beispielsweise zur Kommunikation gemäß dem HSR- und/oder PRP-Standard, insbesondere gemäß IEC 62439-3 oder Ähnlichem ausgebildet und eingerichtet sein. Das Versenden der ersten und zweiten Terminal-Nachrichten kann beispielsweise über ein Internet-Protokoll erfolgen oder entsprechende Internet-, http- oder Web-Nachrichten umfassen.
-
Auch das Nutzer-Terminal kann modular aufgebaut sein und ein Terminal-Grundgerät sowie ein Terminal-Kommunikationsmodul umfassen. Dabei kann beispielsweise das Empfangen, Prüfen und/oder Speichern der Server-Nachrichten und/oder das Versenden der ersten und zweiten Terminal-Nachrichten durch das Server-Kommunikationsmodul erfolgen. Eine Darstellung von Informationen bezüglich der Server-Nachrichten, beispielsweise basierend auf damit übertragenen Nutzdaten, kann durch das Terminal-Grundgerät erfolgen. Weiterhin kann auch die Eingabe von Informationen zur Erstellung von durch Terminal-Nachrichten zu übertragenden Nutzdaten im Terminal-Grundgerät erfolgen.
-
Auf diese Weise können auch ältere Benutzer-Terminals an dem ausfallsicheren Kommunikationsverfahren gemäß der vorliegenden Beschreibung teilnehmen. So erfolgt beispielsweise die Duplikateprüfung beim Empfang von Nachrichten samt entsprechender Datenhaltung im Terminal-Kommunikationsmodul, wobei dieses dann nur die bereits „vereinzelten” Nachrichten an das Terminal-Grundgerät weiter gibt. Das Versenden von Informationen kann beispielsweise derart erfolgen, dass das Terminal-Grundgerät beispielsweise Nutzdaten an das Terminal-Kommunikationsmodul versendet oder auch eine Terminal-Nachricht. Das Erzeugen der ersten und zweiten Terminal-Nachrichten sowie das entsprechende Versenden dieser Nachrichten können dann über das Terminal-Kommunikationsmodul erfolgen.
-
Weitere vorteilhafte Ausgestaltungen ergeben sich aus den Unteransprüchen.
-
Im Folgenden wird die vorliegende Erfindung mit Bezug auf die beiliegenden Figuren näher erläutert.
-
Es zeigen:
-
1: ein beispielhaftes Automatisierungssystem mit redundanter Kommunikation;
-
2: das beispielhafte Automatisierungssystem aus 1 mit einer weiteren Ausgestaltungsmöglichkeit des redundanten Kommunikationssystems.
-
1 zeigt ein Automatisierungssystem 100 mit einer Speicher-programmierbaren Steuerung (SPS) 400 zur Steuerung eines Feldgeräts 500. Dabei erfolgt die Kommunikation zwischen der SPS 400 und dem Feldgerät 500 über ein erstes Feldbusnetz 450, welches eine erste Feldbusschnittstelle 422 der SPS 400 mit einer ersten Feldgeräteschnittstelle 512 des Feldgeräts 500 verbindet. Um die Kommunikation zwischen SPS 400 und Feldgerät 500 z. B. sicherer und/oder ausfallsicherer zu machen, besteht eine zweite Kommunikationsverbindung über ein zweites Feldbusnetz 452 zwischen einer zweiten Feldbusschnittelle 424 der SPS 400 zu einer zweiten Feldgeräteschnittstelle 514 des Feldgeräts.
-
Das Automatisierungssystem umfasst weiterhin einen Leitsystem-Server 300 zur Projektierung sowie dem Bedienen-und-Beobachten der SPS 400 mit dem Feldgerät 500 über Bediener-Terminals 210, 220. Auch die Kommunikation zwischen dem Leitsystem-Server 300 und der SPS 400 ist redundant ausgelegt. Sie erfolgt zum Einen über ein erstes Steuerungsnetz 350, zur Übertragung von Informationen zwischen einem ersten Steuerungsnetz-Port 322 des Leitsystem-Servers 300 und einer ersten Steuerungsnetz-Schnittstelle 412 der SPS 400. Die Kommunikation zwischen Leitsystem-Server 300 und SPS 400 kann parallel auch über ein zweites Steuerungsnetz 452 zur Übermittlung von Daten zwischen einem zweiten Steuerungsnetz-Port 324 des Leitsystem-Servers 300 und einer zweiten Steuerungsnetz-Schnittstelle 414 der SPS 400 erfolgen.
-
Zum Bedienen, Einrichten, Überwachen, Auswerten oder ähnlichen Tätigkeiten des Leitsystem-Servers, bzw. des Projektierungs- sowie dem Bedienen-und-Beobachten-Systems darauf, weist das Automatisierungssystem 100 die zwei Bedienterminals 210, 220 auf, welche als PCs 210, 220 ausgebildet sind. Auf den Bedienterminals können Informationen zur Projektierung, zum Management oder zum Bedienen-und-Beobachten der SPS 400 mit dem Feldgerät 500 durch den Leitsystem-Server 300 eingesehen, geändert oder gesetzt werden. Die Bedienerterminals 210, 220 können beispielsweise auch an vom restlichen Automatisierungssystem 100 räumlich erheblich getrennten Orten befindlich sein, und eine Fernbedienung oder Fern-Überwachung des restlichen Automatisierungssystems 100 ermöglichen.
-
Die Kommunikation zwischen dem Leitsystem-Server 300 und den Terminals 210, 220 ist wiederum redundant ausgelegt. So erfolgt ein erster Kommunikationspfad über ein erstes Terminalnetz 250 zwischen einer ersten Terminalnetz-Schnittstelle 312 des Leitsystem-Servers 300 und jeweils ersten Terminal-Schnittstellen 212, 222 der Bedienerterminals 210, 220. Ein zweiter paralleler Kommunikationspfad zwischen dem Leitsystem-Server 300 und den Bedienerterminals 210, 220 erfolgt über ein zweites Terminalnetz 252 zwischen einer zweiten Terminalnetz-Schnittstelle 314 des Leitsystem-Servers 300 und jeweils zweiten Terminal-Schnittstellen 214, 224 der Benutzerterminals 210, 220.
-
Dabei kann sowohl das erste Terminalnetz 250 als auch das zweite Terminalnetz 252 öffentliche Kommunikationsnetze beziehungsweise Internet-Teile umfassen, um auch eine relativ große räumlichen Distanz von Nutzerterminals 210, 220 und Leitsystem-Server 300 überbrücken zu können.
-
Zur Übermittlung von Informationen vom Leitsystem-Server 300 zu den Bedienerterminals 210, 220, erstellt der Leitsystem-Server eine entsprechende Server-Nachricht, versieht diese mit beispielsweise der Adresse des links in 1 dargestellten Bedienerterminals 210 sowie einer Kennung, dass ein Duplikate-Übertragungs-Verfahren verwendet wird. Weiterhin fügt der Terminal-Server 300 der Nachricht eine eindeutige Kennung zu, welche sie zumindest im normalen Tagesablauf von weiteren Nachrichten des Leitsystem-Servers unterscheidet. Zum Einen versendet der Leitsystem-Server 300 dann diese Nachricht über seine erste Terminalnetz-Schnittstelle 312 in das erste Terminalnetz 250. Weiterhin dupliziert der Leitsystem-Server 300 diese Nachricht und versendet dieses Duplikat über seine zweite Terminalnetz-Schnittstelle 314 in das zweite Terminalnetz 252.
-
Beispielsweise auf Grund unterschiedlicher Laufzeiten der Nachricht im ersten 250 und zweiten Terminalnetz 252, erreicht zuerst die erste Server-Nachricht die Terminalschnittstelle 212 des linken Benutzerterminals 210. Anhand der in der Nachricht enthaltenen Duplikat-Verfahrens-Kennung erkennt das Benutzerterminal 210, dass bei der Übertragung dieser Nachricht ein Duplikate-Verfahren verwendet wurde. Daraufhin führt das Benutzerterminal 210 eine Duplikate-Prüfung durch, indem es überprüft, ob es in einer im Benutzerterminal 210 eingerichteten Duplikate-Datenbank eine Nachricht mit derselben eindeutigen Identifikations-Nummer vorfindet.
-
Da auf Grund der genannten unterschiedlichen Laufzeiten die duplizierte Nachricht noch nicht beim linken Bedienerterminal 210 eingetroffen ist, wird in der Duplikate-Prüfungs-Datenbank des linken Terminals 210 noch kein derartiger Datensatz vorliegen. Daher wird nun ein neuer, für die erste eingetroffene Server-Nachricht charakteristischer Datensatz in der Duplikate-Prüfungs-Datenbank angelegt, der zumindest die eindeutige Kennung der empfangenen Server-Nachricht umfasst. Daraufhin wird die Nachricht innerhalb des linken Terminals 210 weiter verarbeitet und beispielsweise die Nutzdaten ausgewertet, um z. B. entsprechende Daten aus dem Leitsystem-Server 300 bezüglich der gesteuerten Anlage auf einem Bildschirm des Terminals 210 anzeigen.
-
Einige Zeit später wird die duplizierte Server-Nachricht über das zweite Terminal-Netz 252 an der zweiten Terminal-Schnittstelle 214 des linken Terminals 210 eintreffen. Anhand der Duplikate-Prüfungs-Kennung innerhalb der duplizierten Server-Nachricht erkennt das Terminal 210, dass die empfangene Nachricht ein Teil einer duplizierten Nachrichten-Versendung ist. Daraufhin prüft es in seiner Duplikate-Prüfungs-Datenbank, ob dort bereits ein Datensatz mit der eindeutigen Nachrichten-Identifikations-Kennung der empfangenen zweiten Server-Nachricht vorliegt. Im vorliegend beschriebenen Beispiel ist dies der Fall, da die parallele Server-Nachricht ja, wie beschrieben, bereits im Terminal 210 eingetroffen und erfasst ist. Daraufhin verwirft das linke Terminal 210 die zweite, duplizierte Server-Nachricht und führt mit dieser keine weiteren Aktionen aus. Gegebenenfalls kann der diesem Nachrichtenpaar zugeordnete Datensatz in der Duplikate-Prüfungs-Datenbank des linken Terminals 210 dann auch gelöscht werden.
-
Weiterhin ist auch der Rückkanal, das heißt die Übertragung von Informationen vom linken Terminal 210 zum Leitsystem-Server 300 entsprechend ausgebildet, so dass das Bedienerterminal 210 eine zu versendende Nachricht entsprechend dupliziert, über die zwei Terminal-Schnittstellen 212, 214, versendet und die entsprechende Duplikateprüfung wie vorstehend beschrieben, nach Empfang der Nachrichten über die Terminal-Netz-Schnittstellen 312, 314 des Leitsystem-Servers 300 im Leitsystem-Server 300 entsprechend durchgeführt werden.
-
Beim Ausfall eines der Terminalnetze 250, 252 beziehungsweise bei Störungen in einem der Terminalnetz 250, 252, kann die Kommunikation weiterhin über das noch funktionierende Terminalnetz 250, 252, erfolgen. Dabei ergibt dann in solchen Störungs-Fällen die Duplikateprüfung regelmäßig, dass noch keine Duplikate vorliegen, da ja die Kommunikation über das jeweils andere Kommunikationsnetz nicht ordnungsgemäß funktioniert.
-
Vorteilhaft an diesem Verfahren ist insbesondere, dass zusätzlich zur Erhöhung der Ausfallsicherheit des Kommunikationsnetzes, kein Überwechseln oder Umschalten auf ungestörte, alternative oder sichere Kommunikationspfade notwendig ist, wie dieses bei anderen Redundanz-Kommunikations-Verfahren (z. B. beim sogenannten MRP-Verfahren) erforderlich ist. Bei einem spontanen Ausfall eines Kommunikationsnetzes beziehungsweise einer spontanen Störung in einem Kommunikationsnetz kann beim hier beschriebenen Verfahren eine Kommunikation ohne Zeitverzug aufrecht erhalten werden kann.
-
Die redundante Kommunikation in den Steuerungsnetzen 350, 352 zwischen Leitsystem-Server 300 und SPS 400 kann mit einem der gängigen und bekannten Redundanzverfahren oder auch einem Verfahren gemäß der vorliegenden Beschreibung durchgeführt werden. Dies gilt auch für die redundante Kommunikation über die Feldbusnetze 450, 452 zwischen der SPS 400 und dem Feldgerät 500.
-
2 zeigt eine weitere Ausgestaltung der redundanten Kommunikationsnetze im Automatisierungssystem 100. Dabei wird statt der zwei redundanten Terminalnetze 250, 252 ein Ring-Terminalnetz 260 verwendet, welche die Benutzerterminals 210, 220 und den Leitsystem-Server 300 in einem Kommunikationsring verbindet. Weiterhin sind die Steuerungsnetze 350, 352 in 2 durch ein Ringsteuerungsnetz 360 ersetzt. Auch die redundanten Feldbusnetze 450, 452 in 1 sind in 2 durch ein Feldbus-Ring-Netz 460 ersetzt. Die Kommunikation zwischen den Terminals 210, 220 und dem Leitsystem-Server 300 sowie auch zwischen Leitsystem-Server 300 und SPS 400 sowie SPS 400 und Feldgeräte 500, erfolgt weiterhin wie in Bezug auf 1 ausgeführt.