Beschreibung
Verfahren zum Konfigurieren einer Automatisierungskomponente eines Automatisierungssystems und entsprechendes Automatisie- rungssystem
Die vorliegende Erfindung betrifft ein Verfahren zum automatischen Konfigurieren einer Automatisierungskomponente. Dar¬ über hinaus betrifft die vorliegende Erfindung ein entspre- chendes Automatisierungssystem mit einem Client und einem
Server, der mit dem Client über Kommunikationsmittel verbun¬ den ist. Unter dem Begriff "Client" versteht man im vorliegenden Dokument einen Konfigurationsclient, der von einem Konfigurationsserver eine Konfiguration erhält. Des Weiteren ist unter dem Begriff "Server" der genannte Konfigurationsserver zu verstehen, der entsprechende Konfigurationen bereitstellt .
Die Steuerung komplexer Fertigungsgeräte erfolgt typischer- weise mit Hilfe von Automatisierungsgeräten. Die Fertigungsgeräte sind vielfach modular aufgebaut und jedem Modul ist ein Automatisierungsgerät zugeordnet. Die Automatisierungsgeräte sind mit Hilfe eines Kommunikationsnetzwerkes zu einem Automatisierungssystem zusammengeschaltet. Innerhalb des Kom- munikationsnetzwerkes dient ein Automatisierungsgerät als Server und die übrigen gängigerweise jeweils als Client in Bezug auf die Konfiguration.
Es kann notwendig sein, eine Maschine bzw. ein Fertigungsge- rät neu aufzubauen, für einen anderen Einsatz umzurüsten oder einen Defekt an dem Fertigungsgerät zu beheben. In jedem Fall ist hierzu üblicherweise ein Austausch eines der Module oder ein Hinzufügen eines neuen Moduls zu dem Fertigungsgerät notwendig. Beim Anschalten des neuen Moduls ist sein zugehöriges Automatisierungsgerät entsprechend der Funktionalität des Moduls zu konfigurieren.
Bekanntermaßen erfolgt das Konfigurieren durch direkten Eingriff des Bedieners in das System. Dabei lädt dieser eine passende Konfiguration von einem Engineering-System auf das neu hinzuzufügende Modul. Diese Konfiguration wird dann übli- cherweise auf eine gegebenenfalls steckbare Speicherkarte gespeichert. Alternativ kann das Konfigurieren durch Einstecken einer Speicherkarte, auf der eine spezifische Konfiguration bereits abgespeichert ist, in den jeweiligen Client erfolgen.
Diese Art der Konfiguration ist zum einen verhältnismäßig aufwändig und zum anderen fehlerbehaftet .
Die Aufgabe der vorliegenden Erfindung besteht somit darin, ein Verfahren bereitzustellen, mit dem ein Automatisierungs- System bzw. dessen Komponenten einfacherer und sicherer konfiguriert werden können. Darüber hinaus soll ein entsprechendes Automatisierungssystem zur Verfügung gestellt werden.
Erfindungsgemäß wird diese Aufgabe gelöst mit Hilfe eines Verfahrens zum automatischen Konfigurieren einer Automatisierungskomponente eines Automatisierungssystems durch Bereit¬ stellen eines Servers, der mit dem Client über Kommunikationsmittel verbunden ist und auf dem mehrere Konfigurationsdatensätze abgespeichert sind, wobei der Client und der Server jeweils Automatisierungskomponenten darstellen, Anfordern eines der mehreren Konfigurationsdatensätze durch den Client, Übermitteln des angeforderten Konfigurationsdatensatzes durch den Server und Speichern des übermittelten Konfigurationsdatensatzes in dem Client.
Darüber hinaus wird erfindungsgemäß bereitgestellt ein Automatisierungssystem, das mehrere Automatisierungskomponenten umfasst, mit einem Client und einem Server, der mit dem Client über Kommunikationsmittel verbunden ist, wobei Client und Server jeweils Automatisierungskomponenten darstellen, auf dem Server mehrere Konfigurationsdatensätze speicherbar sind, durch den Client einer der mehreren Konfigurationsda-
tensätze anforderbar ist, durch den Server ein angeforderter Konfigurationsdatensatz an den Client übermittelbar ist und in dem Client ein übermittelter Konfigurationsdatensatz speicherbar ist.
In vorteilhafter Weise ist es damit möglich, dass ein Automatisierungsgerät ohne geladene Konfiguration bei der Anschal- tung eine Maschine automatisch mit einer Konfiguration entsprechend seiner spezifischen Funktion innerhalb der Maschine vorsorgt wird.
Gegebenenfalls umfasst das Anfordern des Konfigurationsdatensatzes durch den Client ein Auswählen aus den mehreren Konfigurationsdatensätzen in Abhängigkeit der Funktionalität des Client. Dies bedeutet, dass auf dem Server mehrere Konfigurationsdatensätze zur Verfügung stehen und der Client einen passenden Konfigurationsdatensatz entsprechend seiner Funktionalität aktiv auswählt.
Optional können für einen Typ von Client mehrere, seiner
Funktionalität entsprechende Konfigurationsdatensätze in dem Server zur Auswahl gespeichert sein. Auf diese Weise können mehrere Versionen eines Konfigurationsdatensatzes, die beispielsweise aufgrund von Weiterentwicklungen entstanden sind, genutzt werden.
Vor dem Anfordern eines Konfigurationsdatensatzes kann es erforderlich sein, dass sich der Client innerhalb eines definierten Maschinenkontexts selbstständig identifiziert. Damit ist es nicht mehr notwendig, dass der Bediener die Identifikation des anzuschaltenden Client vornimmt, womit eine Fehlerquelle beseitigt und der Konfigurationsvorgang beschleunigt wird.
Günstigerweise können in dem Client mindestens zwei der mehreren Konfigurationsdatensätze lokal gespeichert werden. So ist es beispielsweise beim Umstecken des Client an einen an-
deren Steckplatz in dem Kommunikationsnetzwerk nicht notwendig, dass der Client erneut einen Konfigurationsdatensatz ü- ber das Kommunikationsnetzwerk anfordert und somit das Netzwerk belastet. Der Client sollte dann so ausgelegt sein, dass er automatisch den passenden der mindestens zwei Konfigurationsdatensätze für seinen Betrieb aktiviert. Dadurch wird die Inbetriebnahme eines neuen Client innerhalb des Automatisierungssystems weiter vereinfacht und automatisiert.
Neben den Konfigurationsdatensätzen können auf dem Server auch Firmwaredatensätze abrufbar abgelegt sein. Der Client kann dann bei Bedarf einen der Firmwaredatensätze anfordern und den angeforderten Firmwaredatensatz auf einem internen Speichermedium ablegen und aktivieren. Dabei können die Firm- waredatensätze für verschiedene Clients unterschiedlich sein und gleichzeitig auch in verschiedenen Versionen vorliegen. Dieses Einspielen von Firmware auf den Client soll hier im weitesten Sinne auch als zusätzliche Art des Konfigurierens des Clients betrachtet werden. Durch das automatische Ein- spielen der richtigen Firmware kann somit auch eine komplexe Konfiguration automatisch durchgeführt werden.
Vorzugsweise ist bzw. wird der Client hinsichtlich der Kommunikation an das Automatisierungssystem angepasst, so dass die Inbetriebnahme des Client bei fortlaufendem Betrieb des Automatisierungssystems möglich ist. Hierzu wird der Client beispielsweise so ausgestaltet, dass er durchzuführende Prozessschritte innerhalb der von dem Kommunikationssystem vorgegebenen Zykluszeit abarbeitet, so dass er die laufende Kommuni- kation in dem Automatisierungssystem nicht stört.
Der Client und der zentrale Server laufen optional auf einem einzigen Automatisierungsgerät. Damit kann in bestimmten Fällen die Topologie des Automatisierungssystems vereinfacht werden.
Günstigerweise werden die Konfigurationsdatensätze für unterschiedliche Maschinenausbaugrade einer Maschine von einem Engineering-System in den Server geladen werden. Die weitere Verteilung der Konfigurationsdatensätze erfolgt dann automa- tisch durch die entsprechenden Anforderungen der Clients. Alternativ können die Konfigurationsdatensätze für die unterschiedlichen Maschinenausbaugrade bereits vorab in den Server bzw. zentrale Maschinenkomponente geladen werden. Als weitere Alternative ist es möglich, dass Maschinen mit mehreren Ma- schinenkonfigurationen vorgefertigt werden, wobei der Anwender über entsprechende Hilfsmittel, z.B. einer HMI (Mensch- Maschine-Schnittstelle) , eine gewünschte Maschinenkonfiguration auswählen und aktivieren kann. Durch letztere Variante ist eine halbautomatische Konfiguration des Automatisierungs- Systems ausführbar.
Es kann ferner vorteilhaft sein, wenn ein in dem Client vorhandener Konfigurationsdatensatz automatisch in den Server geladen wird. Dies ist dann der Fall, wenn in dem Client ein aktuellerer Konfigurationsdatensatz gespeichert ist als im Server. Dieses Laden in den Server ist insbesondere hilfreich, wenn ein Client mehrmals an einem bestimmten Steckplatz eingesetzt werden soll, der von dem abweicht, der dem im Server gespeicherten Konfigurationsdatensatzes entspricht.
Besonders bevorzugt lässt sich das erfindungsgemäße Verfahren zum automatischen Konfigurieren eines Client zu dessen Inbetriebnahme in einem Automatisierungssystem verwenden. Dabei fordert der Client zur Inbetriebnahme eine Kommunikationsad- resse, z.B. eine IP-Adresse, an und aktiviert diese Adresse. Hiernach ist der Client zur Kommunikation in dem Kommunikationsnetzwerk in der Lage. Anschließend kann das eigentliche Konfigurieren des Client nach dem oben dargestellten Prinzipien erfolgen. Hierzu ist es zunächst - wie bereits angedeu- tet - notwendig, dass der Client einen ersten Konfigurationsdatensatz anfordert, mit dem die Identifizierung der eigenen Funktionalität durchführbar ist. Dieser Konfigurationsdaten-
satz zur Identifizierung wird anschließend automatisch aktiviert. Nach der eigenen Identifizierung kann der Client nun mit einem zweiten Konfigurationsdatensatz entsprechend seiner identifizierten Funktionalität konfiguriert werden. Schließ- lieh wird dieser zweite Konfigurationsdatensatz aktiviert und der Client kann am Anbauort der Maschine einen Prozess gemäß seiner Funktionalität übernehmen. Auf diese Weise kann eine Inbetriebnahme in mehreren Stufen automatisch erfolgen.
Auch für die Inbetriebnahme eines Automatisierungsgeräts kann es vorteilhaft sein, wenn die Konfigurationsdatensätze für unterschiedliche Maschinenausbaugrade einer Maschine von einem Engineering-System vorab auf ein Speichermedium bzw. den Server aufgelegt werden. Damit können nämlich zu einem späte- ren Inbetriebnahmezeitpunkt der Maschine die Konfigurations¬ datensätze durch Bedienereingabe an der Maschine angefordert und aktiviert werden, so dass zum Inbetriebnahmezeitpunkt kein Engineering-System erforderlich ist.
Die vorliegende Erfindung wird nun anhand der beigefügten
Zeichnung näher erläutert, die ein Ablaufdiagramm eines erfindungsgemäßen Verfahrens zeigt.
Das nachfolgend näher geschilderte Ausführungsbeispiel stellt eine bevorzugte Ausführungsform der vorliegenden Erfindung dar.
Ein Client wird an ein bestehendes Automatisierungssystem erstmalig angekoppelt. Hierzu werden die im Zusammenhang mit der beigefügten Figur dargestellten Verfahrensschritte automatisch ausgeführt. Der Client prüft zunächst, ob er über eine Konfiguration verfügt, die eine Identifizierung seiner Funktionalität ermöglicht. Diese Funktionalität beinhaltet den Ort bzw. Steckplatz des Client an der Maschine, den Typ des Automatisierungsgeräts, die spezielle Funktionalität des Automatisierungsgeräts etc. Wenn der Client nicht über eine Konfiguration bzw. einen Konfigurationsdatensatz zur Identi-
fizierung der Funktionalität verfügt, fordert er das Laden einer derartigen Initial-Konfiguration gemäß Schritt Sl in der Figur per Systemdienst vom zentralen Server an. Die Initial-Konfiguration ist durch den Anwender selbst definierbar.
In einem Schritt S2 sendet der Server die Initial-Konfiguration bzw. den ersten Konfigurationsdatensatz zur Identifizierung an den anfragenden Client. Sobald der Client diesen ersten Konfigurationsdatensatz erhalten hat, wird er ihn ent- sprechend Schritt S3 aktivieren. Damit kann eine Identifikation der Funktionalität im Anwenderprogramm des Client stattfinden (vergleich Schritt S4) . Der Bediener bzw. Nutzer kann hier seine eigenen Verfahren zur Identifikation der Funktionalität realisieren.
Nach der Identifizierung der eigenen Funktionalität fordert der Client entsprechend dieser Identifikation die dazu gehörige Konfiguration, d.h. einen zweiten Konfigurationsdatensatz, beim Server gemäß Schritt S5 an. Daraufhin lädt der Server in Schritt S6 den vom Client angeforderten zweiten Konfigurationsdatensatz in ein entsprechend vorgesehenes Speichermedium des Client. Dabei können auch passende Firmware-Versionen, ein erforderliches technologisches Paket, ein passendes Projekt (Terminologie der Automatisierungstechnik) vom Server in den Client geladen werden.
Der Client ist hierbei immer der aktive Teil. Er ist diejenige Komponente, die die benötigte Konfiguration beim Server anfordert. Auch die Intelligenz zur Auswahl der Konfiguration liegt beim Client. Der Server stellt lediglich einen Datei- Server für unterschiedliche Konfigurationen dar. Dies bedeutet, dass der Client letztlich die in ihm abgespeicherten Konfigurationen bzw. Konfigurationsdatensätze selbst auswählt .
In dem Client kann bereits ein weiterer Konfigurationsdatensatz (in der Figur nicht dargestellt) lokal vorhanden sein.
Dem Client liegen damit der zweite und der weitere Konfigurationsdatensatz zur Auswahl bereit. In diesem Fall entscheidet der Client, welcher der beiden Datensätze der aktuellere ist. Im vorliegenden Beispiel ist der zweite Konfigurationsdaten- satz aktueller, weswegen der Client diesen Datensatz in Schritt S7 aktiviert. Der Client führt dann entsprechend Schritt S8 seinen Prozess gemäß dem zweiten Konfigurationsdatensatz aus.
Identifiziert der Client jedoch lokal einen oder mehrere aktuellere Konfigurationsdatensätze als den im Server hinterlegten Konfigurationsdatensatz, übermittelt er diese (n) gegebenenfalls an den Server (in der Figur nicht dargestellt) . Der Server übernimmt den oder die aktuelleren Konfigurations- datensätze in seiner Datenhaltung und kann diese dann bei erneuten Anforderungen an den entsprechenden Client liefern. Die Intelligenz im Server beschränkt sich in diesem Zusammenhang jedoch darauf, neue Konfigurationen inklusive der Identifikation im Filesystem zu halten. Als Beispiel dafür, dass eine aktuellere Konfiguration in dem Client vorliegt, sei hier angeführt, dass mit einem Engineering-System eine Konfiguration unmittelbar in den Client geladen wurde.
Der Server und der Client können sich in einem Gerät befin- den. Dies bedeutet, dass ein Client auch gleichzeitig als
Server eingesetzt werden kann, wenn er über ein entsprechendes Speichermedium verfügt, in dem mehrere Konfigurationsdatensätze abgelegt werden können.
Mittels eines DHCP/Nameserver kann das Laden eines Konfigurationsdatensatzes in eine "neutrale Komponente", die noch nicht über eine Kommunikationsadresse verfügt, in mehreren Stufen geladen werden. Dabei geht der Client in folgenden Schritten vor: - Anfordern einer IP (Internet Protokoll) -Adresse bei einem DHCP/Nameserver (dynamic host configuration protocol) ; da¬ bei wird dem Client eine dynamische IP-Adresse für die Ak-
tionen bis zum Aktivieren der IP-Adresse des der Funktionalität entsprechenden Konfiguration zugewiesen;
- Anfordern der Konfiguration bzw. des Konfigurationsdatensatzes zur Identifizierung seiner eigenen Funktionalität; - Anfordern der spezifischen Konfiguration entsprechend der Funktionalität des Client und
- Starten der spezifischen Konfiguration für eine Automatisierungsaufgabe .
Mit den vorstehend genannten Schritten ist ein automatisches Konfigurieren eines "neutralen Automatisierungsgeräts" in der Maschine ohne Engineering-System oder Bedienereingabe möglich. Mit anderen Worten, die zugeschaltete Komponente (Maschinenmodul) ermittelt mit einem geladenen Identifikations- programm ohne manuelle Bedienhandlungen ihre eigene Identifikation (z. B. Steckplatz-Codierung, Kommunikationsadresse, MAC-Adressen der Nachbarn bei IRTE (industrial real time ethernet) , eigene Anwenderverfahren etc.). Beim zugeordneten Konfigurationsserver fordert sie als aktiver Part die zur ei- genen Identifikation passende Konfiguration an. Schließlich aktiviert die zugeschaltete Komponente die geladene Konfiguration ohne Bediener-Handlung am HMI bzw. am Engineering- System automatisch.
Zusammenfassend lassen sich für den Anwender folgende Vorteile ermitteln:
- Ein Server lässt sich durch Einstecken einer Speicherkarte mit allen erforderlichen Konfigurationsdatensätzen versehen. Ein zuzuschaltender Client wird dann automatisch mit dem seiner Funktionalität entsprechenden Konfiguration versorgt .
- Alle Konfigurationen einer Maschine werden vom Engineering- System nur in den Server der Maschine geladen und anschließend werden die Konfigurationen automatisch den anfordern- den Clients zur Verfügung gestellt.
- Das Laden von Konfigurationen in den Client erfolgt durch diesen gesteuert in einem mehrstufigen Verfahren automatisch.
- Bei Ersatzgeräten findet die Inbetriebnahme an der Maschine statt; d. h. es ist kein manueller Eingriff durch das Bedienpersonal notwendig und für die Inbetriebnahme der Maschine ist kein Engineering-System erforderlich.