-
Die Erfindung betrifft eine Produktionmaschine mit Steuerung.
-
Produktionsmaschinen finden z. B. Verwendung als
Kunststoffspritzgießmaschinen, Verpackungsmaschinen, Textilmaschinen,
Pressen, Werkzeugmaschinen und Ähnliches. Zur Steuerung von
Produktionsmaschinen werden üblicherweise
speicherprogrammierbare Steuerungen verwendet.
-
Die US 6 061 603 A beschreibt ein Steuerungssystem, welches
einem Anwender ermöglicht, eine speicherprogrammierbare
Steuerung über ein Kommunikationsnetz wie z. B. das Internet
mittels eines Webbrowsers zu erreichen. Das System enthält eine
Schnittstelle zwischen dem Netzwerk und der
speicherprogrammierbaren Steuerung. Dieses so genannte Webinterface bietet
Internetseiten von einer Ethernetschnittstelle der
speicherprogrammierbaren Steuerung an und enthält einen
HTTP-Protokoll-Interpreter und einen TCP/IP-Stack (TCP/IP =
Transmission Control Protocol/Internet Protocol). Das Webinterface
bietet einem entfernten Anwender somit über das Internet Zugriff
auf die speicherprogrammierbare Steuerung.
-
Der Erfindung liegt die Aufgabe zugrunde, eine
nichtproprietäre Lösungsmöglichkeit zur Realisierung einer
Steuerung einer Produktionsmaschine aufzuzeigen.
-
Diese Aufgabe wird mit einer Produktionsmaschine mit einer in
einem Webserver integrierten Steuerung gelöst, wobei der
Webserver Softwaremodule und mindestens ein erstes Softwaremodul
erste Mittel zur Realisierung der Steuerung aufweist.
-
Der Erfindung liegt die Erkenntnis zugrunde, dass die
klassische Automatisierungswelt heute wenige Berührungspunkte mit
dem Internet hat, da in der Automatisierungstechnik
überwiegend mit proprietären Protokollen gearbeitet wird. Die
Entwicklung der Webtechnologie schreitet jedoch voran, ohne dass
Fragestellungen der Automatisierungstechnik berücksichtigt
werden. Die bisherigen Ansätze, eigene
Webserverfunktionalität in die Automatisierungskomponenten zu integrieren,
basieren wiederum auf proprietären Lösungen der einzelnen
Komponenten. Zudem erwies sich die Leistungsfähigkeit derartiger
Lösungen als sehr beschränkt. Die erfindungsgemäße
Produktionsmaschine mit in einem Webserver integrierter Steuerung
verbindet auf überraschende Weise die Webtechnologie mit der
Automatisierungstechnik, indem ein direkt in den Webserver
integriertes Erweiterungsmodul, in der Regel ein
Softwaremodul, die geforderte Automatisierungs- bzw.
Steuerungsfunktionalität zur Verfügung stellt. Der Webserver ist leicht
skalierbar und somit zur Ansteuerung der Komponenten einer oder
mehrerer Produktionsmaschinen einsetzbar, wobei das erste
Softwaremodul dafür eine Verbindung zur Produktionsmaschine
aufweist. Ein solchermaßen in der Funktionalität erweiterter
Webserver kann komplexe Aufgaben der klassischen
Automatisierungstechnik bearbeiten. Durch die direkte Integration der
Automatisierungs- bzw. Steuerungsfunktionalität in den
Webserver lassen sich vorhandene Web-Implementierungen auch bei
der Bearbeitung der Automatisierungsaufgabe nutzen. So lassen
sich z. B. Funktionen der Produktionsmaschine wie Fernwartung,
Ferndiagnose, Softwareupdate, Produktionsplanung usw. mit
Hilfe von Webtechnologien durchführen. Die
Steuerungsfunktionalität der Produktionsmaschine wird in den Webserver
integriert um dessen Kommunikationsfunktionen nutzen zu können.
-
Durch die Verbindung des Webservers mit einem
Kommunikationsnetzwerk, insbesondere dem Internet, werden zum einen
Internet-Technologien der Automatisierungstechnik zugänglich und
zum anderen wird eine durchgängige Anbindung der
Automatisierungskomponenten an das Kommunikationsnetzwerk bzw. das
Internet erreicht.
-
Die Verwendung von Internet-Protokollen zur Kommunikation der
Softwaremodule untereinander und zur Kommunikation der
Softwaremodule mit Komponenten außerhalb des Webservers
ermöglicht die Vereinheitlichung der Komponenten des Webservers
hinsichtlich ihrer Kommunikationsschnittstellen. Die
Erweiterung des Webservers mit weiteren Modulen wird erleichtert, da
diese ohne aufwendige Anpassung an proprietäre Protokolle
verwendet werden können. Beispiele für übliche Internet-
Protokolle sind HTTP und FTP (File Transfer Protocol).
-
In einer vorteilhaften Ausgestaltung der Erfindung ist der
Webserver zur Konfiguration und Administration der
Softwaremodule vorgesehen.
-
Um verfügbare Internet-Sicherheitsmechanismen zu nutzen, wird
vorgeschlagen, dass der Webserver über einen Firewall eine
Verbindung mit dem Internet aufweist. Bei den bereits
üblichen in eine Automatisierungskomponente integrierten
Webservererweiterungen sind die im Internet geforderten
Sicherheitsmechanismen aufgrund der engen Freiräume in der Regel
nicht realisierbar.
-
Die Verbindung des Webservers mit einem
Kommunikationsnetzwerk, insbesondere dem Internet, kann vorteilhaft zur
Unterstützung der Automatisierungsfunktionalität genutzt werden,
wenn der Webserver über ein Kommunikationsnetzwerk mit einem
Webbrowser als Bedien- und Beobachtungssystem für das von dem
ersten Softwaremodul angesteuerte Automatisierungssystem
verbunden ist. Dieses Bedien- und Beobachtungssystem kann auch
zur Projektierung, zur Programmierung, zur Durchführung von
Software-Updates, also allgemein zur Datenkommunikation und
Datenrepräsentation genutzt werden.
-
Um die Nutzung von Webtechnologien auch für
Echtzeit-Anwendungen zu ermöglichen, wird vorgeschlagen, dass der Webserver
ein Echtzeit-Betriebssystem aufweist. Insbesondere beim
Einsatz in der Prozess- und Produktionsautomatisierung müssen
die verwendeten Automatisierungskomponenten echtzeitfähig
sein. Durch Kopplung des ersten Softwaremoduls mit dem
Echtzeit-Betriebssystem kann diese Anforderung erfüllt werden.
Das Echtzeit-Betriebssystem kann zusätzlich zu einem
nichtechtzeitfähigen Betriebssystem(teil) oder als alleiniges
Betriebssystem eingesetzt werden.
-
Nachfolgend wird die Erfindung anhand der in den Figuren
dargestellten Ausführungsbeispiele näher beschrieben und
erläutert.
-
Es zeigen:
-
Fig. 1 ein System mit über das Internet verbundenen
Webservern, welche unterschiedliche Aufgaben erfüllen,
-
Fig. 2 einen Webserver mit Automatisierungsfunktionalität
zur Steuerung einer Produktionsmaschine und
-
Fig. 3 eine schematische Ansicht des Aufbaus eines
Webservers mit Automatisierungsfunktionalität.
-
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 auf
mehreren Rechnern verteilt abläuft. Auf dem Webserver werden Daten
zentral gespeichert, welche von vielen verschiedenen Clients
verwendet werden können, unabhängig vom jeweiligen Standort
eines Clients. Als Webserver wird sowohl die auf einem
Rechner ablaufende Softwareapplikation als auch der Rechner
selbst bezeichnet. Webserver dienen heute als universeller
Informationslieferant im Internet, aber auch in lokalen
Netzen, die auf Internettechnologien aufsetzen. Hierbei wird oft
die Möglichkeit von Erweiterungsmodulen der Webserver
Gebrauch gemacht, z. B. um Zugriff auf Datenbanken, Formulare
etc. zu ermöglichen. Die Kommunikation zwischen Client und
Webserver läuft üblicherweise gemäß dem HTTP-Protokoll (HTTP
= Hyper Text Transfer Protocol) ab.
-
Fig. 1 zeigt verschiedene Webserver 3, 10, 15, 20, 24, welche
direkt oder indirekt über das Internet 1 miteinander
verbunden sind. Ein erster Webserver 3 kommuniziert direkt über
eine Verbindung 2 mit dem Internet 1. Der erste Webserver 3
enthält ein Erweiterungsmodul 4, welches über eine Verbindung
5 mit einem Eingabe-/Ausgabemodul 6 eines
Automatisierungssystems verbunden ist. Ein zweiter und ein dritter Webserver
10, 15 sind über Verbindungen 9, 14, einen Firewall 8 und
eine Verbindung 7 mit dem Internet 1 verbunden. Der zweite
Webserver 10 weist ein Erweiterungsmodul 11 auf, welches eine
Verbindung 12 zu einem Umrichter 13 aufweist. Der dritte
Webserver 15 enthält ein Erweiterungsmodul 16, welches über eine
Verbindung 17 einen Antrieb 18 ansteuert. Mit dem
Bezugszeichen 20 ist ein vierter Webserver, ein so genannter embedded
Webserver gekennzeichnet, welcher direkt über eine Verbindung
19 mit dem Internet 1 verbunden ist und ein Erweiterungsmodul
21 aufweist, welches ein Ventil 22 ansteuert. Der in Fig. 1
dargestellte fünfte Webserver 24 besitzt keinerlei
Automatisierungsfunktionalität und kommuniziert mit dem Internet über
eine Verbindung 23. Ein Webbrowser 26 ist über eine
Verbindung 25 an das Internet 1 angeschlossen.
-
Im Folgenden soll die der Erfindung zugrunde liegende Idee
anhand Fig. 1 erläutert werden. Ein Webserver ist ein Prozess
auf einem Rechner - oder auch verteilt über mehrere Rechner -
und versorgt üblicherweise sehr viele Clients (Webbrowser auf
verschiedenen Geräten) mit Informationen. Diese Informationen
können sich entweder statisch auf dem Webserver befinden oder
aber auch dynamisch von weiteren Dienstprogrammen erzeugt
werden. Übliche über das Internet 1 verbundene
Kommunikationspartner sind also Webserver in der Ausgestaltung des
fünften Webservers 24 und Webbrowser 26. Der fünfte Webserver 24
stellt Informationen, im Allgemeinen Internetseiten, auf
Anfrage eines Webbrowsers 26 über das Internet 1 zur Verfügung.
Die Idee der Erfindung liegt nun darin, einen solchen
standardmäßigen Webserver durch Erweiterung mittels
Softwaremodule so auszugestalten, dass er auch Automatisierungsaufgaben
lösen kann, insbesondere die Steuerung von
Produktionsmaschinen. Der erste Webserver 3 enthält ein Erweiterungsmodul 4,
welches die Aufgaben einer speicherprogrammierbaren Steuerung
(SPS) übernimmt. Das Erweiterungsmodul 4 als Teil des
Webservers 3 ist dazu mit einer Verbindung 5 mit einem Eingabe-
/Ausgabemodul eines Automatisierungssystems verbunden. Der
erste Webserver 3 dient somit nicht nur der
Informationsbereitstellung über die Verbindung 2 ins Internet 1, sondern
kann durch die Integration des Erweiterungsmoduls 4 komplexe
Steuerungsaufgaben ausführen, welche beim bisherigen Stand
der Technik nur durch eigenständige speicherprogrammierbare
Steuerungen ausführbar waren. Ein weiteres
Ausführungsbeispiel eines Webservers zeigt Fig. 1 im zweiten Webserver 10,
welcher ein Erweiterungsmodul 11 mit CNC-Funktionalität (CNC
= Computer Numerical Controlled) aufweist. Der zweite
Webserver 10 steuert über das Erweiterungsmodul 11 eine
Produktionsmaschine, z. B. eine computergesteuerte Werkzeugmaschine 13
(CNC-Werkzeugmaschine), welche zur schnellen und genauen
Herstellung von komplizierten Dreh- und Frästeilen dient.
Derartig komplizierte Steuerungen werden üblicherweise durch
eigens dafür spezifizierte Rechner ausgeführt. Als ähnlich
komplexe Steuerungsaufgabe erweist sich die Steuerung eines
Antriebs 18, welcher der dritte Webserver 15 im
Ausführungsbeispiel übernimmt. Dazu enthält er ein Erweiterungsmodul 16,
welches die anspruchsvollen Aufgaben der Steuerung bzw.
Regelung des Antriebs 18 übernimmt. Um die Vorteile der Nutzung
von Webtechnologien durch den zweiten und den dritten
Webserver 10, 15 nicht durch den Nachteil mangelnder Sicherheit zu
erkaufen, sind die Webserver 10, 15 über einen Firewall 8 mit
dem Internet 1 verknüpft. Der Firewall 8 verhindert effektiv
unzulässige Zugriffe über eine Kommunikationsverbindung 7 auf
einen der Webserver und damit auf den Antrieb 18 oder die
Werkzeugmaschine 13. Bei einem weiteren in Fig. 1
dargestellten Ausführungsbeispiel der Erfindung ist der Webserver mit
Automatisierungsfunktionalität ein so genannter embedded
Webserver 20, welcher als Erweiterungsmodul 21 z. B. einen
Temperaturregler zur Ansteuerung eines Ventils 22 enthält. Dieser
embedded Webserver 20 ist beispielsweise als Single-Chip-
Lösung innerhalb eines Personal Computers (PC) realisiert.
Jeder der beschriebenen Webserver 3, 10, 15 bzw. 20 bietet
neben der Automatisierungsfunktionalität der
Erweiterungsmodule auch sämtliche Funktionalitäten und damit sämtliche
Vorteile eines standardmäßigen Webservers 24. Der über das
Internet 1 angebundene Webbrowser 26 kann somit auch auf die
mit Automatisierungsfunktionalität erweiterten Webserver 3,
10, 15 und 20 mit Webtechnologien zugreifen und so z. B. als
Bedien- und Beobachtungssystem eingesetzt werden. Die in Fig.
1 dargestellten Ausführungsbeispiele zeigen deutlich die im
Gegensatz zu herkömmlichen Ansätzen bessere Skalierbarkeit
der hier vorgeschlagenen Lösung. Der Webserver kann als
Single Chip Webserver mit Hardware-Anbau (z. B. im Consumer-
Bereich) bis hin zum Hochleistungswebserver mit SoftPLC und
Office Software ausgeführt werden.
-
Fig. 2 zeigt ein Ausführungsbeispiel eines Webservers mit
Automatisierungsfunktionalität zur Steuerung einer
Produktionsmaschine in schematischer Ansicht. Ein Webserver 33 ist über
eine Verbindung 32 und einen TCP/IP-Stack 31 mit einer
TCP/IP-Verbindung 30 verbunden. Der Webserver 33 enthält ein
erstes Erweiterungsmodul 34, welches als Datenbankmodul
ausgeführt ist und mittels einer Verbindung 35 Zugriff auf einen
SQL7-Server 36 (SQL = Structured Query Language) hat. Ein
zweites Erweiterungsmodul 37 besitzt
Automatisierungsfunktionalität und kommuniziert über eine Verbindung 38 mit einer
Produktionsmaschine 39. Eine Produktionsmaschine 39 ist z. B.
eine Kunststoffspritzgießmaschine, eine Verpackungsmaschine,
eine Textilmaschine, eine Presse, eine Werkzeugmaschine und
Ähnliches. Das Erweiterungsmodul 37, ein Softwaremodul, wird
über eine hier nicht dargestellte Schnittstelle an die
Verbindung 38 und damit an die Hardware-Komponenten des
Automatisierungssystems zur Steuerung der Produktionsmaschine 39
angekoppelt. Der TCP/IP-Stack steuert als vorgeschaltete
Software die Zugriffe auf eine hier nicht dargestellte
Netzwerkkarte, welche Zugriff auf die TCP/IP-Verbindung 30 hat,
und stellt den zugreifenden Prozessen das TCP/IP-Protokoll
zur Verfügung.
-
Fig. 3 zeigt die schematische Ansicht des Aufbaus eines
weiteren Ausführungsbeispiels eines Webservers mit
Automatisierungsfunktionalität. Dargestellt sind Softwarekomponenten des
Webservers. Ein Betriebssystem 50 des Rechners auf dem der
Webserver läuft enthält ein Standard-Betriebssystem 51 sowie
ein Echtzeit-Betriebssystem 52. Ein Webserver-Kernel 54 ist
auf das unterlagerte Betriebssystem 50 mittels einer
Portierung 53 aufgesetzt. Der Webserver-Kernel 54 stellt
standardisierte Schnittstellen für die Ankopplung der
Softwarekomponenten zur Verfügung und ist die Basis für verschiedene
Software-Erweiterungsmodule. Ein erstes Erweiterungsmodul 55
dient der Bereitstellung von Webseiten, ein zweites
Erweiterungsmodul 56 dient als XML-Parser. Mit einem dritten
Erweiterungsmodul 57 wird ein Profibusanschluss 58 angebunden. Ein
viertes Erweiterungsmodul 59 bietet Java-Funktionalität, ein
fünftes Erweiterungsmodul 60 verarbeitet Signale einer
Webcam. Ein sechstes Erweiterungsmodul 64 dient der Verarbeitung
von XML-Daten. Ein siebtes Erweiterungsmodul 61 mit
Automatisierungsfunktionalität weist eine Verbindung 62 zu einem
Prozess und eine Verbindung 63 zu einem Interface 65 zum
Echtzeit-Betriebssystem 52 auf. Ein System gilt als
echtzeitfähig, wenn es innerhalb einer benenn- und garantierbaren Zeit
auf zufällige, externe Ereignisse reagieren kann. In
industriellen Automatisierungssystemen sind Reaktionszeiten im
Mikrosekundenbereich üblich und erforderlich.
Echtzeitprozesse können alle Dienste nutzen, die auch anderen Prozessen zur
Verfügung stehen.
-
Das Betriebssystem 50 hat direkten Zugriff auf die Ressourcen
des Rechners, wie z. B. Speicher und Rechenzeit. Wird ein
Kommando abgeschickt oder ein Programm aufgerufen, so wird der
benötigte Programmcode in einen Hauptspeicher geladen und als
Prozess gestartet. Prozesse haben keinen Zugriff auf die
Ressourcen, sie fordern diese jeweils vom Betriebssystem an.
-
Durch die direkte Integration der
Automatisierungsfunktionalität als siebtes Erweiterungsmodul 61 in den Webserver
werden die Leistung, die Dienste (z. B. Autotopologie, SSDP,
SNMP, E-Mail etc.) und die Offenheit des Internets der
Automatisierungswelt zugänglich gemacht und die weiteren, oben
beschriebenen Vorteile erreicht. Das siebte Erweiterungsmodul
61 realisiert einerseits die Automatisierungslösung und
tauscht andererseits Informationen über den Webserver aus und
wird durch diesen konfiguriert und administriert. Im
Gegensatz dazu ist bei einer so genannten SoftPLC (=
Softwaresimulation einer speicherprogrammierbaren Steuerung) die
Automatisierungsfunktion nicht in den Server integriert, sondern
parallel zu diesem installiert, eventuell über eine
Kommunikationsschnittstelle angebunden. Integration in den Server
bedeutet insbesondere, dass ein Erweiterungsmodul direkt
durch den Webserver geladen, konfiguriert, gestartet und
beendet wird. Ein solches Erweiterungsmodul wird häufig auch
als "Extension" bezeichnet. Der Webserver-Kernel 54 des
Webservers dient als gemeinsame Plattform für die
Erweiterungsmodule. Dies erleichtert insbesondere die Konfiguration der
Software-Erweiterungsmodule und deren Wiederverwendung in
anderen Applikationen. Die Anbindung der Erweiterungsmodule
erfolgt nicht mit proprietären oder ausprogrammierten
Schnittstellen, sondern mit standardisierten Schnittstellen,
beispielsweise API (Application Programming Interface) oder CGI
(Common Gateway Interface). API ist eine formal definierte
Schnittstelle, über die Anwendungsprogramme Systemdienste
(Netz, Betriebssystem etc.) oder Dienstleistungen anderer
Anwendungsprogramme verwenden können. CGI beschreibt eine
Standard-Schnittstelle zwischen einem Webserver und Programmen.
Das siebte Erweiterungsmodul 61 weist als Mittel zur
Realisierung einer Automatisierungsfunktionalität Regelungs-
und/oder Steuerungsmittel zur Regelung und/oder Steuerung von
Komponenten sowie Prozessen eines Automatisierungssystems
auf. Diese Regelungs- und Steuerungsmittel zur Ansteuerung
eines Automatisierungssystems sind üblicherweise als im
Erweiterungsmodul ablauffähige Softwareprozesse ausgebildet.
-
Der vorgeschlagene Webserver ist Teil eines in einer Client-
Server-Architektur aufgebauten Systems verteilter
Anwendungen. In einem solchen System ist es die Aufgabe eines Servers
als Anbieter eines Dienstes auf Anfragen eines Clients
Berechnungen oder andere interne Prozesse durchzuführen und
deren Ergebnisse als protokollkonforme Antworten zu formulieren
und an den anfragenden Client weiterzugeben. Als Client
bezeichnet man dabei ein Gerät oder einen Prozess, welcher den
Dienst eines oder mehrerer Server in Anspruch nimmt.
Üblicherweise stellt der Server also passiv einen Dienst zur
Verfügung und wartet darauf, dass ein Client bei ihm anfragt.
Der Client hingegen stellt keine Dienste zur Verfügung
sondern nimmt Dienste eines Servers in Anspruch. Ein Server als
Anbieter eines Dienstes kann sich dabei auf demselben Gerät
wie der Client oder auf einem anderen über ein Netzwerk (z. B.
das Internet) erreichbaren Gerät befinden. Die Client-Server-
Kommunikation gehorcht gewissen Regeln und formalen
Beschreibungen, den so genannten Protokollen. Es ist unabdingbare
Voraussetzung für eine erfolgreiche Kommunikation zwischen
Client und Server, dass beide Seiten dasselbe Protokoll
verwenden. Ein solches Protokoll spezifiziert üblicherweise die
Kommunikationskanäle und die Formate mit denen Anmeldung,
Informationsaustausch, Anfrage, Antwort und Abmeldung erfolgen.
Nicht alle diese Schritte müssen immer explizit angegeben
werden, wenn sie für den Anwendungszweck nicht von Belang
sind. Protokolle werden auf unterschiedlichsten
Abstraktionsebenen spezifiziert und bauen üblicherweise aufeinander auf.
Man spricht dann von einem Schichtenmodell (z. B. ISO/OSI-
Schichtmodell). Während die untersten Schichten die
Kommunikation von Hardware und Geräten regeln - es werden
elektrische Signale, Kabel oder Funkfrequenzen und deren
Eigenschaften spezifiziert, beschäftigen sich mittlere Schichten mit
dem Aufbau von Netzwerktopologien (Adressstrukturen und deren
Auflösung, Routing und Fehlerkorrektur). Man trennt hier oft
die Netzwerkschicht (z. B. IP = Internet Protocol) und die
Transportschicht (z. B. TCP = Transmission Control Protocol).
Die obersten Schichten bezeichnet man als Anwendungsschicht.
-
Hier wird spezifiziert, wie konkrete
Client-Server-Anwendungen miteinander kommunizieren. Beispiele für solche
Protokolle der Anwendungsschicht sind HTTP (Hyper Text Transfer
Protocol), FTP (File Transfer Protocol) und SMTP (Simple Mail
Transfer Protocol).
-
Zusammengefasst betrifft die Erfindung also eine
Produktionsmaschine 39 mit einer in einem Webserver 33 integrierten
Steuerung, wobei der Webserver 33 Softwaremodule 34, 37 und
mindestens ein erstes Softwaremodul 37 erste Mittel zur
Realisierung der Steuerung aufweist.