-
Die Erfindung betrifft einen Webserver mit in den Webserver
integrierten Softwaremodulen sowie ein Automatisierungssystem
bzw. ein Computerprogrammprodukt mit einem solchen Webserver.
-
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.
-
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 nicht-
proprietäre Lösungsmöglichkeit zur Realisierung einer
Automatisierungsfunktionalität aufzuzeigen.
-
Diese Aufgabe wird mit einem Webserver mit Softwaremodulen
gelöst, bei welchem mindestens ein erstes Softwaremodul erste
Mittel zur Realisierung einer Automatisierungsfunktionalität
und zweite Mittel zum Zugriff auf ein Echtzeit-Betriebssystem
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. Der erfindungsgemäße Webserver
verbindet auf überraschende Weise die Webtechnologie mit der
Automatisierungstechnik, indem ein direkt in den Webserver
integriertes Erweiterungsmodul, in der Regel ein
Softwaremodul, die geforderte Automatisierungsfunktionalität zur
Verfügung stellt. Ein solchermaßen in der Funktionalität
erweiterter Webserver kann sowohl komplexe Aufgaben der klassischen
Automatisierungstechnik als auch kleinere Aufgabenstellungen
z. B. im Consumer-Bereich bearbeiten. Durch die direkte
Integration der Automatisierungsfunktionalität in den Webserver
lassen sich vorhandene Web-Implementierungen auch bei der
Bearbeitung der Automatisierungsaufgabe nutzen. Um die Nutzung
von Webtechnologien auch für Echtzeit-Anwendungen zu
ermöglichen, weist der Webserver ein Echtzeit-Betriebssystem auf.
-
Insbesondere beim Einsatz in der Prozessautomatisierung (z. B.
Antriebsregelung in der Papierherstellung) müssen die
verwendeten Automatisierungskomponenten echtzeitfähig sein. Durch
Kopplung des ersten Softwaremoduls mit dem
Echtzeit-Betriebssystem wird diese Anforderung erfüllt. Das
Echtzeit-Betriebssystem kann zusätzlich zu einem nicht-echtzeitfähigen
Betriebssystem(teil) oder als alleiniges Betriebssystem
eingesetzt werden.
-
Durch die Verbindung des erfindungsgemäßen 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.
-
Der erfindungsgemäße Webserver ist leicht skalierbar und
somit gemäß einer weiteren vorteilhaften Ausgestaltung zur
Ansteuerung der Komponenten eines industriellen
Automatisierungssystems einsetzbar, wenn das erste Softwaremodul eine
Verbindung zum industriellen Automatisierungssystem aufweist.
-
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.
-
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
und
-
Fig. 3 eine schematische Ansicht des Aufbaus eines
Webservers mit Automatisierungsfunktionalität.
-
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. 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 des erfindungsgemäßen 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 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 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 1angebundene 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 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 einem Industrieprozess 39. 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 des Industrieprozess 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 kann auch im
Echtzeit-Betriebssystem 52 laufen. 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
erfindungsgemäßen 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 einen Webserver
mit in den Webserver integrierten Softwaremodulen, bei
welchem mindestens ein erstes Softwaremodul 37 erste Mittel zur
nicht-proprietären Realisierung einer
Automatisierungsfunktionalität und zweite Mittel 63, 65 zum Zugriff auf ein
Echtzeit-Betriebssystem 52 aufweist.