-
Die Erfindung bezieht sich auf eine Automatisierungsanlage, insbesondere als Kommunikationsnetzwerk, mit mindestens einem Serverrechner als Feldgerät und mindestens zwei Clientrechnern, zu denen jeweils eine exklusive Verbindung zwecks Parametrierung aufzubauen ist.
-
Aus der
US 6,339,793 ist ein File Sharing System bekannt, das sich mit der alternativen Nutzung eines Speichers durch mehrere Clients befasst. Diese alternative Nutzung sorgt dafür, dass immer einer der Clients auf einen Share des Speichersystems zugreifen kann, also schreiben und lesen darf. Es können aber auch die anderen parallelen Clients das Speichersystem mit dem Share benutzen, indes nur zum Lesen. Dieses System befasst sich nicht mit einer Parametrierung bei Feldgeräten und ist auch nicht so ausgebildet, dass das Speichersystem bestimmten Speicherzellen eine Bedeutung zumisst, beispielsweise im Sinne eines Parameters in einer Automatisierungsanlage, welcher ihr Verhalten ändert.
-
Aus der
DE 102 14 541 A1 ist ein Webserver mit integrierter Automatisierungsfunktionalität bekannt. Server, welche über das Internet mit Clients verbunden sind und diesen Informationen, üblicherweise Internetseiten, zur Verfügung stellen, werden Webserver genannt. Ein solcher Webserver ist eine Applikation, welche auf einem oder mehreren Rechnern verteilt abläuft. Auf dem Webserver werden Daten zentral gespeichert, welche unabhängig vom jeweiligen Standort eines Clients von vielen verschiedenen Clients verwendet werden können. Als ”Webserver” wird sowohl die auf einem Rechner ablaufende Softwareapplikation als auch der Rechner selbst bezeichnet.
-
In der modernen Automatisierungstechnik werden viele Parameter von Automatisierungskomponenten (AK) über Bussysteme zugänglich gemacht, vgl. L-Force Drives, 9400 Softwarehandbuch, Parametrierung & Konfiguration, Seiten 285, 288. Häufig werden über diese Parameter grundlegende Verhaltenseigenschaften der Automatisierungskomponenten verändert, so dass es wichtig ist, Veränderungen kontrolliert durchzuführen.
-
Früher wurde dies sehr häufig dadurch sichergestellt, dass Automatisierungskomponenten nur einen Parametrierzugang besaßen und immer nur ein einziger Anwender oder Bediener zur gleichen Zeit diese relevanten ”Parameter” verändern konnte.
-
Moderne Automatisierungskomponenten (AK) als Serverrechner verfügen häufig jeweils über eine Vielzahl von Kommunikations-Schnittstellen, die zum Teil noch multiclientfähig sind, vgl. L-Force Drives, 9400 Softwarehandbuch, a. a. O., Seite 26. Dies bedeutet, dass mehrere Bediener gleichzeitig unterschiedliche Aufträge an eine Automatisierungs-Komponente (als Serverrechner) absetzen können. Durch Netzwerke wie das Ethernet, das Verbindungen nach dem TCP/IP-Protokoll ermöglicht, können beliebig viele Bediener auf einen jeweiligen Serverrechner zugreifen. Werden nun schreibende Aufträge zur Parametrisierung unkoordiniert abgesetzt, so kann es zu zumindest unsicheren Betriebszuständen kommen.
-
Es ist eine Aufgabe der Erfindung, eine Automatisierungsanlage zu befähigen, solche gefährlichen Betriebszustände und die daraus resultierenden Konflikte zu vermeiden.
-
Anspruch 1 gemäß wird diese Aufgabe dadurch gelöst, dass Mittel zum Aufbau einer exklusiven Kommunikationsverbindung zwischen dem mindestens einen Serverrechner und einem der Clientrechner vorgesehen sind. Der Serverrechner (Server) ist ein Feldgerät, beispielsweise ein Sensor oder ein Aktor als Umrichter, und die zumindest zwei Clientrechner (kurz: Clients) sind für seine Parametrierung vorgesehen.
-
Die Vorteile der beanspruchten Automatisierungsanlage bestehen vor allem darin, dass zum Aufbau einer exklusiven Kommunikationsverbindung keine zusätzlichen Hardware- oder Software-Komponenten zur Überwachung des Zugriffs notwendig sind. Vielmehr findet automatisch ein Blocken des Schreibens von allen anderen Clientrechnern statt, solange mit dem einen Clientrechner die exklusive Kommunikationsverbindung besteht, nachdem sie vorher zugewiesen wurde.
-
Das entsprechende Arbeitsverfahren umschreibt Anspruch 7, auch als Lösung des zuvor genannten Problems.
-
Das Feldgerät (die Automatisierungskomponente – AK) als Anforderungsempfänger entscheidet über die Bewilligung der angeforderten exklusiven Verbindung. Dies bedeutet, das Feldgerät selber hat Mittel und erzeugt das Symbol, ein sogenanntes ”Handle”, welches einem der Clientrechner Exklusivität gewährt.
-
Dieses ”Handle” ist so ausgestaltet, dass es nur in dem für eine Zeitspanne exklusiven Clientrechner Verwendung finden kann, so dass diese Exklusivität nicht von anderen Clientrechnern während der Zeitspanne unterlaufen werden kann. Das ”Handle” wird nur an den einen Clientrechner versendet, der die Anfrage an den Serverrechner zu einem Zeitpunkt abgesandt hatte, zu dem keine anderweitige Exklusivität bestand.
-
Auf diese Weise ermöglicht das erfindungsgemäße Kommunikationssystem eine leichte Diagnose und Statusabfrage.
-
Lesende Parameterzugriffe sind von Clientrechnern auch möglich, die kein die Exklusivität verleihendes Handle besitzen. Parameterzugriffe zum Schreiben von Aufträgen, die ein die Exklusivität gewährleistendes Protokoll enthalten, sind nur an einer Komponente des Systems, nämlich an dem Serverrechner, erforderlich. Es ist daher kein zusätzlicher Aufwand durch den Einsatz von Schlüsseln erforderlich, wie dies bei einem Verschlüsselungssystem der Fall ist. Wegen des Wegfalls der Verschlüsselung entfällt auch die auf die Verschlüsselung entfallende Rechenzeit.
-
Das erfindungsgemäße Kommunikationsnetzwerk und das erfindungsgemäße Arbeitsverfahren lässt sich mit – der Automatisierungstechnik zugedachten – Kommunikationskanälen, z. B. CAN, Profibus, Interbus, Powerlink betreiben.
-
Es ist mit Vorteil vorgesehen, dass der Serverrechner eine Einrichtung zum Erzeugen und Versenden von einmaligen Nachrichten umfasst. Solche Nachrichten können in dem gesamten Kommunikationsnetzwerk eindeutig einem bestimmten Clientrechner zugeordnet werden (kein Broadcast und keine Nachrichten zum Netzwerkmanagement). Dies bedeutet, dass der Serverrechner beispielsweise ebenfalls eine besondere Schnittstelle mit dem gewünschten Clientrechner aufweisen kann.
-
Erfindungsgemäß ist die Anlage dadurch gekennzeichnet, dass ein Clientrechner an einen Serverrechner eine Anfrage zum Aufbau einer exklusiven Verbindung schickt, dass darauf der Serverrechner, wenn er eine derartige exklusive Verbindung aufbauen kann, eine Nachricht mit einem eindeutigen Handle, z. B. einem UUID (= Universally Unique Identifier) oder einer Seriennummer einer Automatisierungskomponente, an den Clientrechner sendet, in der er diesem die Bewilligung mitteilt. Das Handle ist somit eine notwendige Anforderung.
-
Es ist vorgesehen, dass der Serverrechner, nachdem er die exklusive Verbindung zu dem Clientrechner mit der Übergabe des Handles bewilligt hat, nur noch solche schreibenden Anforderungen (Parametrierungen) entgegennimmt, die als Kennung in ihrem Kommando oder Protokoll das Handle enthalten.
-
Nach dem Verbindungsabbau wird das Handle wieder freigegeben.
-
Vorteilhafte Weiterbildungen der Erfindungen nach Anspruch 1 und 7 ergeben sich aus den jeweiligen Unteransprüchen.
-
Der Clientrechner weist beispielsweise eine besondere Schnittstelle auf und erzeugt eine besondere Anfrage, die aufgrund der in ihr enthaltenen Bits oder eines Bitblocks oder eines spezifischen Protokolls zum Ausdruck bringt, dass der Clientrechner eine exklusive Verbindung zu dem Serverrechner wünscht.
-
In einer vorteilhaften Ausgestaltung ist vorgesehen: Wenn innerhalb eines Clients, der eine exklusive Verbindung angefordert und erhalten hat, ein Problem auftritt, eine Möglichkeit besteht, die Kommunikation mit der Automatisierungskomponente ohne Kenntnis des Handles für die Exklusivverbindung wieder aufzunehmen. Dazu wird beispielsweise ein Kommando auf Protokollebene eingeführt, das dem Anwender einer Clientanwendung nur über spezielle Sicherheitsabfragen zugänglich gemacht wird und das Auflösen einer bestehenden Exklusivverbindung zulässt. Diese Sicherheitsabfrage kann darin bestehen, dass der problembehaftete Clientrechner aufgefordert wird, sich mit einem Passwort zu identifizieren. Es kann aber auch ein spezieller Modus sein, in dem die Clientanwendung gestartet werden muss, um auch ohne exklusive Verbindung mit einem gesicherten Gerät kommunizieren zu können.
-
In Automatisierungsanlagen ist es üblich, dass neben Bediengeräten auch andere Automatisierungskomponenten als Clients an der Kommunikation teilnehmen. Diese Clients führen ihre Kommunikationsaufgaben selbständig durch, so dass ein Bediener im laufenden Anlagenbetrieb hierauf keinen Einfluss nehmen kann.
-
Weiterhin können solche Clients oft nur Standardtelegramme erzeugen, so dass es schwierig erscheint, mit solchen Clients über Telegramme für eine exklusive Verbindung zu kommunizieren. Würde nun eine exklusive Verbindung beispielsweise von einem Client angefordert und von dem Serverrechner bewilligt, hätte dies zur Folge, dass die parallel ablaufende automatische Kommunikation mit einer Steuerung nicht mehr aufrecht erhalten bliebe. Die Steuerung ist in diesem Fall beispielsweise eine speicherprogrammierbare Steuerung (SPS).
-
Um dies zu vermeiden, ist gemäß der Erfindung vorgesehen, dass neben den Telegrammen zur exklusiven Kommunikation Telegramme verwendet werden, die einen Zugriff auf die Automatisierungskomponente auch ohne Schlüssel zulassen. Dies bedeutet, dass diese Telegramme auch ohne das ”Handle”, beispielsweise den UUID (Universally Unique IDentifier), vom Serverrechner beantwortet werden, aber eine schreibende (parametrierende) Weise nicht zulassen.
-
Eine skalierbare Lösung kann darin bestehen, dass nur einzelne Sockets als gesicherte Verbindungen ausgeführt werden. Die Lösung kann aber auch darin bestehen, dass nur einzelne Bussysteme mit der exklusiven Verbindung arbeiten.
-
Ebenso ist es möglich, eine Skalierung darüber zu erzielen, dass Leseaufträge ohne exklusive Verbindung arbeiten. Hierbei können nämlich keine Parameteränderungen auftreten. Hingegen setzen Schreibaufträge eine exklusive Verbindung voraus (Anspruch 1).
-
Als Parameter – die ohne exklusive Verbindung geändert werden dürfen – kommen solche ”Parameter” in Betracht, die vom Anlagenbetreiber als unkritisch in Hinblick auf Wechselwirkungen eingestuft werden. Es kann daher durchaus möglich sein, dass der ”Parameter” Uhrzeit ohne exklusive Verbindung geändert (geschrieben) werden kann.
-
Eine weitere Möglichkeit der Skalierung besteht in der Beschränkung des Betriebs von Exklusivverbindungen auf bestimmte Kommunikationskanäle. Wenn ein CAN-Bus zum Einsatz kommt, könnte der Server die exklusive Verbindung beispielsweise nur auf einen SDO-Kanal beziehen. Andere SDO-Kanäle könnten dann von dieser exklusiven Verbindung unberührt bleiben.
-
So ist es denkbar, dass mehrere Clientrechner, die ebenfalls PCs sein können, mit dem Serverrechner kommunizieren und gegen ungewollte Mehrfach-Parametrierung geschützt werden. Die PCs selber und ihre Bediener werden über die Nutzung der exklusiven Verbindung davor geschützt, dass ungewollte Mehrfach-Parametrierungen (gleichzeitige unterschiedliche Aufträge) in der Automatisierungskomponente durchgeführt werden.
-
Ein parallel auf der Automatisierungskomponente vorhandener CAN-Kanal arbeitet hingegen ungeschützt und ist beispielsweise für Steuerungen immer offen. Unter Steuerungen werden hier SPS-Steuerungen verstanden, die in bestimmten Ausführungsformen auch automatisch kommunizieren und welche die exklusiven Verbindungen nicht nutzen können.
-
Das Verfahren kann als reine Softwarelösung in einer Automatisierungskomponente integriert werden. Eine weitere Möglichkeit der Realisierung besteht darin, dass das Verfahren in einer Zusatzbaugruppe zur Automatisierungskomponente integriert und somit nachgerüstet werden kann. Im Fall einer reinen Softwarelösung bildet der UUID eine eindeutige Seriennummer, welche beim Aufbau (und bei dem Erhalt) der exklusiven Kommunikation verwendet wird. Damit sind keine Hardwarekomponenten außer der Automatisierungskomponente selber erforderlich.
-
Eine Hardwarekomponente kann beispielsweise eine Anschaltbaugruppe sein, die die Vergabe des Handles und den Aufbau der exklusiven Kommunikation leistet. Die Telegramme zum Austausch der Parameter mit dem Serverrechner werden transparent von der Anschaltbaugruppe zur Automatisierungskomponente durchgereicht.
-
Die Automatisierungsanlage kann ein einziges oder mehrere Kommunikationsnetzwerke umfassen, die alle von demselben Server unterstützt werden. Im Sinne der Erfindung sind zwar der Server und ein Client die handelnden Komponenten im Rahmen einer Exklusivverbindung. Als Kommunikationsnetzwerk wird jedoch nur ein solches Netzwerk verstanden, das immer jeweils einen Server und eine Mehrzahl von Clients einschließt (zumindest zwei davon). Dies schließt selbstverständlich nicht aus, dass der Server und/oder einer der Clients gleichzeitig eine Funktion nicht nur in einem einzigen Kommunikationsnetzwerk erfüllen.
-
Nachstehend wird die Erfindung von Ausführungsbeispielen anhand der Figuren näher erläutert.
-
1 ist eine schematische Darstellung eines Kommunikationsnetzes mit einem Serverrechner 1, der auch als Automatisierungs-Komponente (Feldgerät) bezeichnet wird;
-
2 veranschaulicht den Ablauf einer Kommunikation zwischen dem Serverrechner und zwei Clientrechnern.
-
Ein Serverrechner 1 nach 1 ist über Datenleitungen 2 bis 4 mit verschiedenen untergeordneten Clientrechnern 5 bis 7 verbunden. Zwischen dem Serverrechner 1 und den Clientrechnern besteht eine eindeutige Beziehung, wie sie für die Automatisierungstechnik erforderlich ist.
-
Der Serverrechner 1 als Feldgerät kann ein Sensor oder ein Aktor als Umrichter sein. Das Feldgerät wird deshalb ”Automatisierungskomponente” genannt.
-
Es ist keine Überwachungskomponente erforderlich, die als Vermittlungsstelle fungiert. Hingegen ist es das Feldgerät 1 selbst, welches eine exklusive Verbindung genehmigt oder ablehnt und andere Verbindungen sperrt. Nach Bewilligung der exklusiven Verbindung erfolgt die schreibende Kommunikation über besondere Telegramme, denen ein Berechtigungsschlüssel mitgegeben ist. Dies ist die Protokollebene.
-
Somit läuft eine Kommunikation zwischen dem Feldgerät als Serverrechner 1 und zwei Clientrechnern 5 und 6 beispielsweise in der folgenden Weise ab:
Der Clientrechner 5 von 1 fordert nach 2 von dem Feldgerät 1 eine Exklusivverbindung (= ExVb) an.
Darauf übermittelt das Feldgerät 1 an den Clientrechner 5 ein Handle, welches beispielsweise eine UUID ist.
Darauf teilt der Clientrechner 5 dem Feldgerät 1 über die so aufgebaute Exklusivverbindung – einen oder mehrere zu schreibende – Parameter mit.
Darauf erzeugt und übermittelt das Feldgerät 1 ein Antworttelegramm an den Clientrechner 5 über die bestehende Exklusivverbindung.
-
Aufgrund der zwischen dem Feldgerät 1 und dem Clientrechner 5 bestehenden Exklusivverbindung kann eine weitere Verbindung zwischen dem Clientrechner 6 oder 7 und dem Feldgerät 1 nicht mehr aufgebaut werden. Dies führt dazu, dass auf eine Anforderung eines dieser Clientrechner 6 oder 7 mit dem Inhalt, ”Parameter schreiben ohne ExVb” (ExVb entspricht einer Exklusivverbindung) der ”Auftrag” (die Beantwortung der Anforderung) durch das Feldgerät 1 abgelehnt wird.
-
Wenn in einem späteren Schritt einer der Clientrechner 6 oder 7 gar eine Exklusivverbindung anfordert, wird auch diese Anforderung mit einem Telegramm des Feldgeräts 1 so abgelehnt, dass eine Exklusivverbindung ExVb bereits besteht.
-
In einer zu einem späteren Zeitpunkt erfolgenden Anforderung eines der Clientrechner auf Freigabe der Exklusivverbindung, erhält dieser von dem Feldgerät 1 ein Antworttelegramm, mit dem dann die Exklusivverbindung abgebaut wird. Damit steht das Feldgerät 1 wieder für eine exklusive Kommunikation mit einem der anderen Clientrechnern zur Verfügung.
-
Bei einer erneuten Anfrage beispielsweise des Clientrechners 6 an das Feldgerät 1 auf Aufbau einer exklusiven schreibenden Verbindung, übermittelt das Feldgerät ein neues Handle, beispielsweise eine andere UUID für die neue Exklusivverbindung an den Clientrechner 6. Diese ist im Netz auch eindeutig.
-
Darauf schreibt der Clientrechner 6 in Form einer Antwort auf diese Freigabe über die Exklusivverbindung zumindest einen Parameter an das Feldgerät 1, die/den dieser über ein Antworttelegramm beantwortet (sog. ”Parametrieren”).