DE102008019040A1 - Verfahren und Steuergerät zur Steuerung eines Automatisierungssystems - Google Patents

Verfahren und Steuergerät zur Steuerung eines Automatisierungssystems Download PDF

Info

Publication number
DE102008019040A1
DE102008019040A1 DE102008019040A DE102008019040A DE102008019040A1 DE 102008019040 A1 DE102008019040 A1 DE 102008019040A1 DE 102008019040 A DE102008019040 A DE 102008019040A DE 102008019040 A DE102008019040 A DE 102008019040A DE 102008019040 A1 DE102008019040 A1 DE 102008019040A1
Authority
DE
Germany
Prior art keywords
control
interface module
control unit
module
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102008019040A
Other languages
English (en)
Other versions
DE102008019040B4 (de
Inventor
Frank Konieczny
Dietmar Krumsiek
Thorsten Behr
Anja Kruse
Ralf Aron
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Phoenix Contact GmbH and Co KG
Original Assignee
Phoenix Contact GmbH and Co KG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Phoenix Contact GmbH and Co KG filed Critical Phoenix Contact GmbH and Co KG
Priority to DE102008019040.3A priority Critical patent/DE102008019040B4/de
Publication of DE102008019040A1 publication Critical patent/DE102008019040A1/de
Application granted granted Critical
Publication of DE102008019040B4 publication Critical patent/DE102008019040B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/058Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31104Remote configuration of parameters of controlled devices
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32126Hyperlink, access to program modules and to hardware modules in www, web server, browser
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34444Web control system, with intelligent control components each with web server

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Um die Handhabung und Benutzung von Automatisierungssystemen, insbesondere von speicherprogrammierbaren Steuerungen (SPS), zu verbessern und zu vereinfachen, sieht die Erfindung ein Verfahren zum Zugreifen auf ein in einem Steuergerät (400) zur Steuerung eines Automatisierungssystems ausführbares Steuermodul (410) vor, wobei das Steuermodul (410) dazu ausgebildet ist, eine Funktion (600) auf dem Steuergerät (400) auszuführen, wobei das Verfahren vorsieht, dass in dem Steuergerät (400) das Steuermodul (410) sowie ein erstes (420) und ein zweites (310) Schnittstellenmodul bereitgestellt, das Steuergerät (400) mit einem Bediengerät (300) über ein Netzwerk (500) verbunden, das zweite Schnittstellenmodul (310) von dem Steuergerät (400) zu dem Bediengerät (300) übertragen, das zweite Schnittstellenmodul (310) durch das Bediengerät (300) ausgeführt und Daten zwischen dem ersten (420) und dem zweiten (310) Schnittstellenmodul übertragen werden. Ferner sieht die Erfindung ein zur Ausführung des Verfahrens ausgebildetes Steuergerät vor.

Description

  • Die Erfindung betrifft allgemein Automatisierungssysteme und insbesondere ein Verfahren und ein Steuergerät zur Steuerung eines Automatisierungssystems.
  • Das Prinzip der Speicherprogrammierbaren Steuerung (SPS) ist heute bereits ca. 30 Jahre alt und mit der zunehmenden Reife des Marktes haben sich Differenzierungen in Bezug auf Aufbau und Arbeitsweise angeglichen. Das grundsätzliche Arbeitsprinzip basiert darauf, die aktuellen Zustände der zu automatisierenden Anlage/Maschine zu erfassen und die entsprechenden physikalischen Prozesssignale durch entsprechende Sensoren in elektrische Signale umzuwandeln. Neben der Zentraleinheit mit Programmspeicher und Prozessor so wie den Ein-/Ausgabeeinheiten gehört zur Grundkonfiguration einer SPS heute auch ein entsprechendes PC-basiertes Programmiergerät bzw. Windows-basiertes Entwicklungswerkzeug zur Erstellung des Steuerungsprogrammes und der entsprechenden Inbetriebnahme im Zusammenspiel mit der realen Maschine und Anlage – dieses wird allgemein auch als Engineering bezeichnet.
  • Der Umgang mit der Steuerung wird für den Anwender maßgeblich durch das Programmiersystem bestimmt, mit dem der Benutzer eine Automatisierungslösung erstellt, in das Gerät einprägt und in Betrieb nimmt. Stand der Technik ist an dieser Stelle, dass zu der Steuerung eine entsprechende Programmiersoftware als Windows-Anwendung zur Verfügung gestellt wird, die hierzu auf einem entsprechend ausgestatteten Windows-PC installiert werden muss. Bei Steuerungen der untersten Leistungsklasse – so genannten Relais-Ersatzsteuerungen – sind seit einigen Jahren Varianten bekannt, die auch über ein direkt auf dem Gerät platziertes Display programmiert werden können (z. B. Moeller easy und Siemens LOGO!). Die hier verfügbaren Lösungen sind aber auf eine einfache Darstellung mit wenigen Zeilen begrenzt, was für die Erstellung und Wartung umfangreicherer Programme wenig komfortabel und zur Darstellung komplexerer Zusammenhänge nicht ausreichend ist.
  • Der Erfindung liegt die Aufgabe zugrunde, einen Weg aufzuzeigen, wie die Handhabung und Benutzung von Automatisierungssystemen, insbesondere von speicherprogrammierbaren Steuerungen (SPS) verbessert und vereinfacht werden kann
  • Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1, sowie ein Steuergerät nach Anspruch 16 gelöst. Vorteilhafte Ausführungsformen und Weiterbildungen sind in den jeweiligen Unteransprüchen beschrieben.
  • Dementsprechend dient ein erfindungsgemäßes Verfahren dem Zugreifen auf ein in einem Steuergerät zur Steuerung eines Automatisierungssystems ausführbares Steuermodul, wobei das Steuermodul dazu ausgebildet ist, eine Funktion auf dem Steuergerät auszuführen. Das Verfahren sieht vor, dass im Steuergerät das Steuermodul, sowie ein erstes und ein zweites Schnittstellenmodul bereitgestellt wird, das Steuergerät mit einem Bediengerät über ein Netzwerk verbunden wird, das zweite Schnittstellenmodul von dem Steuergerät zu dem Bediengerät übertragen wird, wobei das Bediengerät Ein- und Ausgabeeinrichtungen zur Bedienung durch einen Benutzer umfasst, das zweite Schnittstellenmodul durch das Bediengerät ausgeführt wird, und Daten zwischen dem ersten und zweiten Schnittstellenmodul übertragen werden.
  • Die Datenübertragung zwischen dem ersten und zweiten Schnittstellenmodul dient vorzugsweise dazu, eine auf dem Steuergerät durch das Steuermodul ausführbare Steuerfunktion zu erstellen, zu bearbeiten und/oder auszuführen, Parameter an das Steuergerät zu übergeben und/oder Prozessdaten aus dem Steuergerät auszulesen.
  • Das Steuergerät kann als jegliches Gerät ausgebildet sein, welches an der Steuerung eines Prozesses eines Automatisierungssystems beteiligt ist. Dementsprechend bezeichnet der Begriff Steuergerät beispielsweise einen Sensor, einen Aktor, ein Gerät zur Ein- oder Ausgabe von Prozess-, Parameter- oder Steuerdaten, oder ein Gerät zum Steuern, Überwachen, Protokollieren, Bedienen und/oder Beobachten eines Prozesses. Das Steuermodul, im Folgenden auch als Control Engine bezeichnet, ist vorzugsweise als Softwaremodul zur Steuerung von Funktionen des Steuergerätes ausgebildet, wobei diese Funktionen typischerweise als Softwareapplikationen ausgebildet sind, welche im Steuermodul integriert oder in einem separaten Speicher des Steuergerätes abgelegt sind. Die Funktionen können vorteilhaft sicherheitsgerichtete Automatisierungsfunktionen oder auch eine Kombination aus sicherheitsgerichteten und nicht sicherheitsgerichteten Automatisierungsfunktionen umfassen.
  • Besonders vorteilhaft umfasst das Steuergerät eine speicherprogrammierbare Steuerung (SPS), wobei die durch das Softwaremodul gesteuerte Funktion als Steuerprogramm zur Prozesssteuerung des Automatisierungssystems ausgebildet ist.
  • Durch das Verfahren wird auf besonders vorteilhafte Weise das Ausführen von Engineering-Aufgaben ermöglicht, wobei eine typische Gliederung von Engineering-Werkzeugen zur Erstellung eines Automatisierungssystems als Werkzeuge die Steuerungskonfiguration, Programmeditoren, einen HMI-Designer, und einen Daten-Monitor umfasst. Die Steuerungskonfiguration umfasst beispielsweise die I/O-Konfiguration, die Konfiguration der Kommunikationsnetzwerke, sowie die Geräteparametrierung. Als Programmeditoren können sowohl textuelle als auch grafische Editoren eingesetzt werden. Ein HMI-Designer dient typischerweise dem Erstellen grafischer Objekte und in einem Webbrowser anzeigbare Seiten zum Bedienen & Beobachten. Ein Daten-Monitor dient beispielsweise dem Beobachten und Aufzeichnen steuerungsinterner und/oder steuerungsexterner binärer oder analoger Signale.
  • Die entsprechende Engineering-Anwendung wird vorzugsweise auf dem Bediengerät ausgeführt, wobei dieses zu diesem Zweck vorteilhaft einen Web-Browser umfasst. Über das erste und zweite Schnittstellenmodul tauscht die jeweilige Engineering-Anwendung Daten mit dem Steuermodul auf dem Steuergerät aus. Das Übertragen von Daten zwischen dem ersten und dem zweiten Schnittstellenmodul erfolgt in einer vorteilhaften Ausführungsform des Verfahrens in Antwort auf Benutzereingaben am Bediengerät.
  • Das Übertragen von Daten zwischen dem ersten und dem zweiten Schnittstellenmodul kann jedoch je nach Einsatzzweck, beispielsweise abhängig von der jeweils ausgeführten Engineering-Anwendung, sowohl vom Bediengerät als auch vom Steuergerät initiiert werden.
  • In einer besonders vorteilhaften Ausführungsform des Verfahrens umfasst das erste Schnittstellenmodul eine HTTP-Server-Anwendung und das zweite Schnittstellenmodul eine zur Kommunikation mit der HTTP-Server-Anwendung ausgebildete Client-Anwendung. Dementsprechend ist das Netzwerk vorzugsweise als IP-basiertes Netzwerk ausgebildet.
  • Vorzugsweise umfasst das zweite Schnittstellenmodul eine web-basierte Anwendung, die zur Ausführung in einem Web-Browser ausgebildet ist. Eine besonders vorteilhafte Ausführungsform sieht vor, dass die Kommunikation zwischen erstem und zweitem Schnittstellenmodul mittels AJAX-Technologie (Asynchronous JavaScript and XML) unter Verwendung von JSON (JavaScript Object Notation) erfolgt.
  • Auf diese Weise kann beispielsweise die Programmierung einer Steuerung auf einfache Weise direkt über einen Standard-Browser ohne spezifische Erweiterungen durchgeführt werden, wobei alle für den Produkteinsatz der Steuerung notwendigen Informationen aus der Steuerung selber kommen und über eine vorhandene, bekannte Standard-Umgebung zur Verfügung gestellt werden. Hierdurch ergeben sich im Vergleich zu einer traditionellen Konfiguration mit einem eigenständigen Software-Tool deutliche Vorteile.
  • Aufgrund der speziellen Anforderungen im Bereich der industriellen Steuerung umfassen das Steuermodul und/oder das erste Schnittstellenmodul vorzugsweise einen Zwischencode, insbesondere einen Zwischencode entsprechend dem CIL-Standard (Common Intermediate Language), wie er besipielsweise durch die .NET-Sprachfamilie bereitgestellt wird.
  • Ferner umfasst das Steuergerät vorteilhaft ein Modul zur Bereitstellung einer Ablaufumgebung, das dazu ausgebildet ist, das Steuermodul und das erste Schnittstellenmodul parallel auszuführen. In einer besonders bevorzugten Ausführungsform des Verfahrens erfolgt das Übertragen von Daten von dem ersten zu dem zweiten Schnittstellenmodul und das Abarbeiten von mittels des ersten Schnittstellenmoduls empfangener Daten durch das Steuergerät zu vorgegebenen Zeiten, wobei die Zeiten an die vom Prozess an die Ausführung des Steuermoduls gestellten Echtzeitanforderungen zur Laufzeit dynamisch angepasst werden, wobei ferner vorteilhaft das Steuermodul mit einer höheren Priorität ausgeführt wird als das erste Schnittstellenmodul. Auf diese Weise können durch den jeweiligen Automatisierungsprozess gestellte Echtzeitanforderungen in besonders vorteilhafter Weise eingehalten werden.
  • Das Steuergerät ist typischerweise mit Prozesskomponenten verbunden, durch welche Änderungen im Prozessablauf bewirkt werden. Zur Offline-Bearbeitung einer Steuerfunktion liegt es ferner im Rahmen der Erfindung, dass das Bediengerät und das Steuermodul in einem gemeinsamen Rechnersystem angeordnet sind und der durch das Steuermodul gesteuerte Prozess durch ein Simulationsmodul simuliert wird.
  • Ein erfindungsgemäßes Steuergerät eines Steuerungssystems zur Steuerung eines Automatisierungssystems, insbesondere ausgebildet zum Ausführen des oben beschriebenen Verfahrens, umfasst einen Speicher mit einem darin gespeicherten Steuermodul zur Prozesssteuerung des Automatisierungssystems und jeweils einem darin gespeicherten ersten und zweiten Schnittstellenmodul, wobei das Steuermodul dazu ausgebildet ist, eine Funktion auf dem Steuergerät auszuführen, eine Prozessor-Einheit zur Ausführung des Steuermoduls und des ersten Schnittstellenmoduls, und eine Netzwerk-Schnittstelle zum Verbinden des Steuergerätes mit einem Netzwerk, wobei das Steuergerät dazu ausgebildet ist, über das Netzwerk das zweite Schnittstellenmodul zu einem Bediengerät zu übertragen und das erste Schnittstellenmodul dazu ausgebildet ist, über das Netzwerk mit dem in dem Bediengerät angeordneten zweiten Schnittstellenmodul zu kommunizieren.
  • Die Erfindung sieht ferner vorteilhafte Ausführungsformen eines Steuergerätes vor, die Mittel umfassen, welche dazu geeignet sind, die oben beschriebenen vorteilhaften Ausgestaltungen des erfindungsgemäßen Verfahrens auszuführen.
  • Dementsprechend ist das zweite Schnittstellenmodul vorzugsweise dazu ausgebildet, eine Datenübertragung zum ersten Schnittstellenmodul zu initiieren. Ferner ist das Steuergerät vorteilhaft dazu ausgebildet, in Abhängigkeit von über das erste Schnittstellenmodul empfangenen Daten das Erstellen, Bearbeiten, Ausführen und/oder Parametrieren einer auf dem Steuergerät durch das Steuermodul ausführbaren Steuerfunktion zu bewirken. Besonders vorteilhaft umfasst das Steuergerät eine speicherprogrammierbare Steuerung (SPS) zur Prozesssteuerung.
  • Wie bereits oben beschrieben umfasst das erste Schnittstellenmodul vorzugsweise eine HTTP-Server-Anwendung, welche zur Kommunikation mit einer entfernten, im zweiten Schnittstellenmodul angeordneten Client-Anwendung ausgebildet ist, wobei das Netzwerk zu diesem Zweck vorzugsweise als IP-basiertes Netzwerk ausgebildet ist. Die Client-Anwendung umfasst vorzugsweise eine webbasierte Anwendung, die zur Ausführung in einem Web-Browser ausgebildet ist.
  • Wie bereits oben beschrieben, kann das Steuergerät jedes Gerät sein, welches an der Steuerung eines Prozesses eines Automatisierungssystems beteiligt ist. In einer bevorzugten Ausführungsform ist das Steuergerät zur Steuerung eines Echtzeitprozesses ausgebildet. Zu diesem Zweck umfasst das Steuermodul und/oder das erste Schnittstellenmodul vorzugsweise einen Zwischencode, insbesondere entsprechend dem CIL-Standard (Common Intermediate Language).
  • Analog zu den oben beschriebenen vorteilhaften Ausgestaltungen des Verfahrens umfasst das Steuergerät vorteilhaft ein Modul zur Bereitstellung einer Ablaufumgebung, das dazu ausgebildet ist, das Steuermodul und das erste Schnittstellenmodul parallel auszuführen.
  • Ferner ist das Steuergerät vorteilhaft dazu ausgebildet, das Übertragen von Daten von dem ersten zu dem zweiten Schnittstellenmodul und das Abarbeiten von mittels des ersten Schnittstellenmoduls empfangener Daten zu vorgegebenen Zeiten auszuführen, wobei die Zeiten an die vom Prozess an die Ausführung des Steuermoduls gestellten Echtzeitanforderungen zur Laufzeit dynamisch anpassbar sind. Besonders vorteilhaft ist das Steuergerät dazu ausgebildet, verschiedene Softwaremodule mit unterschiedlicher Priorität auszuführen, wobei insbesondere das Steuermodul mit einer höheren Priorität ausgeführt wird als das erste Schnittstellenmodul, um durch den Prozess vorgegebene Echtzeitanforderungen einzuhalten. Zur Prozesssteuerung ist das Steuergerät vorzugsweise mit Prozesskomponenten verbindbar, die zum Bewirken von Änderungen im Prozessablauf ausgebildet sind.
  • Die Erfindung sieht vorteilhaft vor, Steuerungsgerät und Steuerungsprogrammierung physisch zu integrieren, wobei mittels bekannter Web 2.0-Technologien, insbesondere unter dem Namen Ajax bekannte Technologien, ermöglicht wird, dieses auf Standard-Geräte zu übertragen. Dieses ist im typischen Anwendungsfall heute ein Notebook mit Windows-Betriebssystem, kann aber beispielsweise auch ein Linux- oder Mac OS-Rechner sein, als auch neue Geräteklassen wie Ultra Mobile PCs (UMPC), PDAs, Webpads und moderne Handy-Generationen umfassen.
  • Durch die inzwischen enorme Verbreitung des Internet ist der Umgang mit einem Browser für viele Menschen weltweit heute tägliche Praxis. Die Erfindung ermöglicht dementsprechend mit besonderem Vorteil, die Programmierung einer Steuerung direkt über einen Standard-Browser ohne spezifische Erweiterungen durchführen. zu können. Alle für den Produkteinsatz der Steuerung notwendigen Informationen kommen aus der Steuerung selber und werden über eine vorhandene, bekannte Standard-Umgebung zur Verfügung gestellt. Hierdurch ergeben sich im Vergleich zu einer traditionellen Konfiguration mit einem eigenständigen Software-Tool folgende grundsätzliche Vorteile:
    • – es ist keine spezifische Software und deren Installation notwendig,
    • – es sind keine Inkonsistenzen oder Versionskonflikte zwischen dem Gerät und dem separaten Software-Tool möglich,
    • – es ist keine separate Projektverwaltung mit den damit verbundenen Inkonsistenzen notwendig,
    • – das aktuelle Projekt ist immer das, dass gerade die Applikation steuert,
    • – ein Plattform-unabhängiges Engineering wird ermöglicht, wobei z. B. embedded Geräte (Web-Pad), MAC OS (Apple), Linux und Windows (PCs) unterstützt werden, da Voraussetzung nur noch die Verfügbarkeit eines entsprechenden Webbrowsers ist.
  • Die Erfindung wird nachfolgend anhand bevorzugter Ausführungsformen und unter Bezugnahme auf die beigefügten Zeichnungen näher beschrieben. Dabei bezeichnen gleiche Bezugszeichen in den Zeichnungen gleiche oder ähnliche Teile.
  • Es zeigen:
  • 1 schematisch ein Informationssystem nach dem Stand der Technik,
  • 2 schematisch den Aufbau einer klassischen serverseitigen Webanwendung,
  • 3 schematisch die grundsätzliche Struktur einer Ajax-basierten Webanwendung,
  • 4 eine schematische Darstellung der grundsätzlichen Komponenten eines Steuerungssystems zur Steuerung eines Automatisierungssystems gemäß einer ersten bevorzugten Ausführungsform der vorliegenden Erfindung, ausgebildet zur Ausführung eines erfindungsgemäßen Verfahrens, und
  • 5 schematisch HTTP-basierte Kommunikationsmechanismen des in 4 dargestellten webbasierten Steuerungssystems.
  • Es ist bekannt, das Word Wide Web (WWW) als Infrastruktur zur weltweiten Verteilung von Informationen zu benutzen. Ein solches Informationssystem ist in 1 gezeigt. Hierbei bilden über (Hyper-)Links 20 verbundene Hypermedia-Dokumente 10 ein Netzwerk von Informationen, der Webbrowser 100 ist das Terminal zu diesem Netzwerk. Die Anforderung einer Webseite 40 erfolgt durch die Eingabe einer URL in die Adresszeile des Webbrowsers 100. Der hierüber adressierte Webserver sendet das angeforderte HTML-Dokument 10 an den Browser 100, der dieses entsprechend zur Anzeige bringt. Soll der dargestellte Inhalt der Seite verändert werden, so muss dies über eine Neuanforderung beim Webserver und einer erneuten Übertragung der kompletten Seite zum Browser 100 erfolgen – der Benutzer sieht eine Abfolge statischer Seiten 40.
  • Mit dem Internetboom ab Mitte der 90er Jahre des letzten Jahrhunderts wurde das WWW auf weitere Anwendungsbereiche ausgeweitet, insbesondere auf die im Rahmen von E-Business und elektronischem Handel entstandenen virtuellen Marktplätze und Webshops. Besonders bekannte Formen von E-Commerce-Anwendungen sind Buch- und Musikversand und Internetauktionen. Schnell wurde dabei von einem Onlineshop mehr erwartet, als durch statische HTML-Seiten möglich ist, was zur Entwicklung dynamischer serverseitiger Webanwendungen geführt hat.
  • Bei Webanwendungen mit serverseitig dynamischen Seiten wird eine Webseite 41, 42 bzw. 43 erst aufgrund der Anfrage des Browsers beim Server generiert. 2 zeigt den Aufbau einer klassischen serverseitigen Webanwendung, bei der die Interaktionen zwischen Benutzer und Anwendung über den Webserver 200 abgewickelt werden. Bei jeder Interaktion im Browser 100 wird eine Anfrage 50 an den Server 200 erzeugt, der ein neues Dokument 42 generiert und zum Browser 100 sendet 60, in dem Standarddarstellungen und benutzerspezifische Daten in einem Stream aus HTML-Markup vermischt sind – der Browser 100 verwirft das bisherige Dokument 41 und zeigt das neue Dokument 42 an.
  • Das wesentliche Grundprinzip von Ajax ist demgegenüber, dieses klassische seitenbasierte Anwendungsmodell, in dem der Browser nur als passives Terminal genutzt wird, aufzugeben und einen Teil der Anwendungslogik vom Server in den Browser zu verlagern.
  • Ajax (Asynchrones JavaScript And XML) wurde als Begriff Anfang 2005 von Jesse James Garrett von Adaptive Path in seinem Essay "Ajax: A New Approach to Web Applications" geprägt und beschreibt ein Konzept, wie mit bereits bestehenden Technologien – im Kern JavaScript und das XMLHttpRequest-Object – das herkömmliche Request/Response-Modell der klassischen Webanwendung durch Teilung in eine Front-End-Anwendung – die in den Browser verlagert wird – und eine Backend-Anwendung auf dem Server, die über eine asynchrone Kommunikation miteinander verbunden sind, ersetzt werden kann. Die von Jesse James Garrett beschriebene Motivation für Ajax ist es, das Verhalten von Webanwendungen an das einer reinen Desktopanwendung anzunähern. Eine Ajax-Webanwendung ist entsprechend dieser Definition eine Anwendung, die ausschließlich in einem Webbrowser als Ablaufumgebung arbeitet, sich aber gleichzeitig in Richtung seiner Interaktionen mit dem Benutzer wie eine Desktopanwendung darstellt.
  • Beispiele hierfür sind z. B. die webbasierten Textverarbeitungsprogramme
    • – ajaxWrite (http://us.ajax13.com/en/ajaxwrite/) oder
    • – Writely (http://docs.google.com/)
    die sich mit ihrer Anwendungsoberfläche (User-Interface) an Microsoft WORD orientieren.
  • AJAX wird beispielsweise in dem auf der Webseite "http://www.heise.de/ix/artikel/2005/11/056/" hinterlegten Artikel beschrieben, wobei der Inhalt dieser Webseite zum Anmeldezeitpunkt hiermit durch Referenz inkorporiert wird.
  • Im Idealfall würde sich eine Ajax-Webanwendung aus der Sicht des Benutzers nicht von einer Desktopanwendung unterscheiden. Um dieses zu erreichen, wird bei einer Ajax-Webanwendung die Anwendungsoberfläche 70 in den Webbrowser 100 verlagert und über eine sogenannte Ajax-Engine 80 von der Kommunikation mit dem Webserver 200 entkoppelt, wie in 3 dargestellt, welche die grundsätzliche Struktur einer Ajax-basierten Webanwendung zeigt. Diesem Konzept folgend lassen sich Anwendungsoberflächen aufbauen die sich gegenüber dem Benutzer wie eine Desktopanwendung verhalten, da sie unabhängig von der Latenzzeit der Http-Kommunikation arbeiten kann.
  • Ajax ist ein Konzept, das beschreibt, wie verschiedene bekannte Web-Technologien eingesetzt und miteinander kombiniert werden, um interaktive, Desktop-ähnliche Webanwendungen zu realisieren. Es beschreibt den Einsatz und Nutzung der Technologien, nicht aber die Struktur der Webanwendung selber.
  • Die Erfindung ermöglicht besonders vorteilhaft eine Web- bzw. Browser-basierte Engineering-Anwendung, insbesondere unter Verwendung von Ajax, für eine Speicherprogrammierbare Steuerung (SPS), deren grundsätzlichen Komponenten in 4 dargestellt sind.
  • Die in 4 dargestellten Komponenten umfassen ein als Engineering-Rechner 300 ausgebildetes Bediengerät und ein als speicherprogrammierbare Steuerung (SPS) 400 ausgebildetes Steuergerät, welche zum Ausführen eines erfindungsgemäßen Verfahrens ausgebildet sind.
  • Engineering-Rechner 300 und Steuerung 400 sind über eine Kommunikationsverbindung 500 über ein physikalisches Kabel, oder eine drahtlose Verbindung miteinander verbunden, die in der Lage ist, dass Hypertext Transfer Protocol (HTTP) zu übertragen, z. B. Ethernet TCP/IP. Kern der Steuerung 400 ist eine Control Engine 410, die die Steuerungsapplikation 600 ausführt, indem sie den über die Peripherieebene 700 angeschlossenen Prozess entsprechend dieser Applikation 600 steuert. Erstellt, in Betrieb genommen und gewartet wird diese Applikation 600 über die Engineering-Anwendung 310, die auf Basis der Web-Technologien HTML bzw. XHTML, CSS und JavaScript erstellt ist und vollständig in einem Webbrowser 110 als Standard-Ablaufumgebung ausgeführt wird – alternativ ist das Engineering der Applikation auch über eine autarke Windows-Anwendung möglich.
  • Alle Komponenten der Engineering-Anwendung 310 sind in einem Dateisystem auf der Steuerung 400 hinterlegt. Durch Eintragen der URL der Steuerung 400 in der Adresszeile des Browsers 110 wird die HTML-Startseite aus dem Dateisystem geladen. Diese HTML-Seite beinhaltet die Software-Komponenten der Engineering-Anwendung 310 in Form von JavaScript-Code. Der Browser 110 führt diesen Code aus und stellt dem Anwender hierdurch die Engineering-Anwendung 310 zur Verfügung. Nach dem Aufstarten der Engineering-Anwendung 310 wird die aktuelle Steuerungsapplikation 600 aus der Control-Engine 410 geladen und der momentane Zustand der Steuerung dem Anwender dargestellt. Die Steuerungsapplikation 600 kann nun in der Engineering-Anwendung 310 vom Benutzer bearbeitet werden – hierzu werden, entsprechend den ausgewählten Bearbeitungsschritten weitere Komponenten (Tools) aus der Werkzeugablage 450 auf der Steuerung 400 nachgeladen. Ist die Steuerungsapplikation 600 modular aufgebaut, so werden auch von dieser nur die Teile in die Engineering-Anwendung 310 geladen, die der Benutzer entsprechend selektiert hat und beobachten oder bearbeiten möchte. Dieses modulare Laden beschränkt die zu übertragenden Komponenten und Daten auf die notwendigen Anteile und reduziert hierdurch den Ressourcenbedarf für die Kommunikation und die Wartezeiten für den Anwender.
  • Auf der Seite der Anwendung wird bei diesem Konzept besonders vorteilhaft nur beim Start ein einziges Mal eine HTML-Seite geladen. Diese Grundanwendung (Home-Page) beinhaltet die Anwendungsoberfläche (User-Interface) und die Infrastruktur-Komponenten der Engineering-Anwendung 310 direkt oder über Referenzen auf separate Dateien. Spezielle Werkzeuge können auch erst geladen werden, wenn diese vom Anwender zur Bearbeitung der entsprechenden Daten der Applikation benötigt werden – dieses Nachladen erfolgt vorzugsweise im Hintergrund und wird von der Grundanwendung gesteuert.
  • JavaScript Infrastruktur-Komponenten umfassen beispielhaft Bedienelemente oder Komponenten zur Kommunikation. Engineering Tools bzw. Werkzeuge für spezielle Aufgaben umfassen beispielhaft Werkzeuge zur Steuerungskonfiguration, Programmeditoren, einen HMI-Designer oder einen Daten-Monitor.
  • Die Daten der Steuerungsapplikation 600 werden zu ihrer Bearbeitung von der Engineering-Anwendung 310 in den Browser 110 geladen und über diese Tools dem Benutzer präsentiert und bearbeitbar gemacht. Es werden dabei immer nur die Teile der Steuerungsapplikation 600 aus der Control Engine 410 in die Engineering-Anwendung 310 übertragen, die im momentanen Anwendungsszenario benötigt werden. Erst nachdem ein Bearbeitungsschritt abgeschlossen ist, werden die bearbeiteten Teile der Steuerungsapplikation aus der Engineering-Anwendung 310 in die aktuelle Steuerungsapplikation 600 der Control Engine 410 zurück übertragen. Die Bearbeitung der Daten erfolgt ausschließlich in der Engineering-Anwendung 310 im Browser 110, so dass die Ressourcen der Steuerung 400 hiervon freigehalten sind.
  • Die Kommunikation zwischen der Control Engine 410 der Steuerung 400 und der Engineering-Anwendung 310 im Browser 110 erfolgt ausschließlich über den HTTP-Server 420, der ebenfalls auf der Steuerung 400 arbeitet.
  • 5 zeigt die HTTP-basierten Kommunikationsmechanismen des beschriebenen Web-basierten Steuerungssystems. Entsprechend der Initiierung des Informationsaustausches wird unterschieden in Kommandos, die von der Engineering-Anwendung 310 ausgelöst werden und Meldungen, die durch Ereignisse in der Control Engine 410 ausgelöst werden.
  • Beispiele für Kommandos sind:
    • – Start/Stop der zyklischen Bearbeitung der Steuerungsapplikation
    • – Reset, Grundzustand der Control Engine
    • – Upload/Download, Laden bzw. Zurückschreiben der Steuerungsapplikation oder Teilen hiervon
    • – Abfragen des aktuellen Zustandes der Control Engine
    • – Abfrage des aktuellen Bearbeitungszustandes der Steuerungsapplikation
    • – Abfrage des aktuellen Zustandes der angeschlossenen Peripherie (Eingänge/Ausgänge)
    • – Einrichten einer Liste einzelner zu beobachtender Zustände bzw. Zustandsobjekte der Steuerungsapplikation und der angeschlossenen Peripherie (Eingänge/Ausgänge)
  • Beispiele für Meldungen sind:
    • – Status- und Fehlermeldungen der Control-Engine
    • – Status- und Fehlermeldungen der Steuerungsapplikation
    • – Statusänderung zur Beobachtung angemeldeter Zustände bzw. Zustandsobjekte der Steuerungsapplikation und der angeschlossenen Peripherie (Eingänge/Ausgänge).
    • – Benachrichtigung über Änderungen der Steuerungsapplikation
  • Grundsätzlich erfolgt die Kommunikation zwischen einem Webbrowser und einem Webserver über das transaktionsorientierte Hypertext Transfer Protokoll (HTTP). Entsprechend der Client/Server-Architektur des WorldWideWeb wird eine Transaktion immer vom Client (Browser) gestartet, indem dieser eine Anfrage (Request) erzeugt und an einen Server gesendet. Der Server schließt die Transaktion ab, indem er eine Antwort (Response) generiert und zurück an den Client sendet. Moderne Browser bieten über einen als XMLHttpRequest bezeichneten Mechanismus die Möglichkeit, direkt aus einer im Browser ablaufenden JavaScript-Anwendung HTTP-Anfragen (HTTP-Requests) zu senden und HTTP-Anworten (HTTP-Responses) entgegen zu nehmen.
  • Ein Kommando ist das Auslösen einer Aktion in der Control Engine 410 durch einen Bearbeitungsschritt der Engineering-Anwendung 310. Da Engineering-Anwendung 310 und Control Engine 410 in verschiedenen Prozessen und typisch auch auf separaten Rechnern mit verschiedenen Laufzeitumgebungen arbeiten, wird ein Transportmechanismus zur Übertragung des Kommandos benötigt. Das Prinzip eines solchen Aufrufes einer "fernen" Aktion (Prozedur) über ein Kommunikationsprotokoll ist bekannt und wird als "Remote Procedure Call" bezeichnet. In Verbindung mit dem Ajax-Konzept geschieht dies normalerweise über den Aufruf eines SOAP-Web-Services oder eines vergleichbaren XML-basierten Web-Service-Dialektes. Hauptnachteile bei der Verwendung von XML sind das wenig kompakte Format bei der Übertragung und die umständliche Art des Zugriffs auf die Informationen. Mit JSON (JavaScript Object Notation) steht ein kompaktes Format zur Verfügung, das direkt in JavaScript ausgewertet werden kann – mit JSON bzw. JSON-RPC übertragene Objekte stehen unmittelbar als JavaScript-Objekte zur Verfügung. Vorzugsweise wird daher JSON-RPC zur Übertragung der Kommandos 710 zwischen der Engineering-Anwendung 310 im Browser 110 und der Control Engine 410 auf der Steuerung 400 verwendet. Die Transformation des mit JSON-RPC übertragenen Kommandos 710 in den Aufruf einer entsprechenden Aktion der Control Engine 410 ist im HTTP-Server 420 der Steuerung 400 realisiert.
  • JSON und JSON-RPC wird beispielsweise in dem auf der Webseite "http://www.heise.de/ix/artikel/2006/01/070/" hinterlegten Artikel beschrieben, wobei der Inhalt dieser Webseite zum Anmeldezeitpunkt hiermit durch Referenz inkorporiert wird.
  • Eine Meldung 720 ist eine Benachrichtigung von der Control Engine 410 an die Engineering-Anwendung 310. Eine Problematik liegt an dieser Stelle darin, dass die zugrunde liegende HTTP-Kommunikation grundsätzlich nur von der Seite des Clients, das heißt im Browser initiiert werden kann.
  • Eine im Browser ablaufende Anwendung müsste daher, um Meldungen vom Server empfangen zu können, laufend entsprechende Anfragen an den Server senden (Polling). Dieses Verfahren führt zu unnötiger Kommunikation, die wiederum insbesondere die begrenzten Ressourcen des HTTP-Servers 420 und damit der Steuerung 400 belasten würde. Unter dem Namen Comet ist ein Mechanismus bekannt, der eine vom Server initiierte Übertragung von Daten ermöglicht. Für die Nutzung von Comet ist eine entsprechende Erweiterung des HTTP-Servers 420 vorgesehen, auf Seite des Browsers 110 sind keine Erweiterungen oder Plug-Ins notwendig, so dass weiterhin ein Standard-Browser ausreichend ist.
  • Comet wird beispielsweise in dem auf der Webseite "http://www.entwickler.com/zonen/portale/psecom,id,101,online,1151,.html" hinterlegten Artikel beschrieben, wobei der Inhalt dieser Webseite zum Anmeldezeitpunkt hiermit durch Referenz inkorporiert wird.
  • Industrielle Steuerungen sind auf Grund der speziellen Anforderungen der verschiedenen Einsatzbereiche überwiegend proprietäre Lösungen. Sie unterscheiden sich sowohl im Bereich der verwendeten Hardware, die insbesondere durch die eingesetzte Micro-Controller Plattform bestimmt wird als auch beim verwendeten Betriebssystem. Im Vergleich zum Windows-PC, der eine sehr stabile Plattform zur Verfügung stellt, bedeutet dies einen erheblichen Aufwand bei der Portierung von Software für die jeweils spezifischen Geräte. Die Erfindung sieht daher vorzugsweise vor, sowohl die Control-Engine 410 als auch den HTTP-Server 420 mit den Mitteln der Microsoft .Net-Sprachfamilie zu implementieren, die in eine standardisierte Zwischensprache (CIL – Common Intermediate Language) übersetzt und in einer entsprechenden Ablaufumgebung ausgeführt werden. Diese Ablaufumgebung wird als CLR – Common Language Runtime bezeichnet und ist unter dem Namen Embedded CLR auch für verschiedene Micro-Controller Plattformen verfügbar. Diese Ausführungsform ermöglicht eine einfache Portierung des Web-Engineerings auf verschiedene embedded Geräte, da sowohl die Control-Engine 410 als auch der HTTP-Server 420 gegen eine Standard-Umgebung implementiert sind.
  • In typischen Internet-Szenarien sind die Rechner, auf denen Web-Server ablaufen, entsprechend leistungsfähige Maschinen, häufig sogar eine Gruppe vernetzter Rechner – so genannte Serverfarmen, die es erlauben, für die verschiedenen Prozesse immer ausreichend Performance vorhalten zu können. Eine Speicherprogrammierbare Steuerung hat primär die Aufgabe, einen über ihr Peripheriesystem angeschlossenen Prozess zu steuern. Insbesondere bei Steuergeräten, welche als Kompakt- und Kleinsteuerungen ausgebildet sind, steht hierüber hinaus kaum freie Rechenleistung für weitere Aufgaben zur Verfügung. Die erfindungsgemäße Konzeption eines Web-basierten Steuerungssystems berücksichtigt dieses zum einen durch die oben beschriebene Verlagerung der Engineering-Anwendung 310 in den Browser 110. Weitere Rechenleistung der Steuerung 400 benötigen nun noch der HTTP-Server 420 und dessen Kommunikation zur Engineering-Anwendung 310. Für eine einwandfreie Funktion der Control-Engine 410 muss diese vorzugsweise ausreichend Ressourcen zur Bearbeitung der Steuerungsapplikation 600 bekommen und darf nicht durch z. B. die HTTP-Kommunikation zur Engineering-Anwendung 310 beeinträchtigt werden. Wie bei industriellen Steuerungen üblich, werden von der Control Engine 410 typischerweise am Anfang eines jeden dieser Zyklen die Eingangssignale der angeschlossenen Peripherie 700 eingelesen, dann die Automatisierungsfunktionen entsprechend der aktuellen Steuerungsapplikation 600 ausgeführt und am Ende des Zyklus die Ausgangssignale über die angeschlossene Peripherie 700 ausgegeben. Der HTTP-Server 420 wird aktiviert, wenn eine HTTP-Anfrage eintrifft oder die Control Engine 410 eine entsprechende Meldung 720 absetzt. Besonders vorteilhaft werden die Prozesse zur Ausführung der Control Engine 410 und des HTTP-Servers 420 über Threads und eine dynamische Prioritätssteuerung verwaltet. Die dynamische Prioritätssteuerung stellt sicher, dass die Control Engine 410 ausreichend Rechenzeit zugeteilt bekommt, um die Steuerungsapplikation 600 abarbeiten zu können.
  • Klassische Engineering-Werkzeuge für Speicherprogrammierbare Steuerungen kennen zwei grundsätzliche Zustände, die normalerweise mit Online und Offline bezeichnet werden. Dabei bedeutet Offline, dass das Engineering-Werkzeug nicht mit der Steuerung verbunden ist und die Steuerungsapplikation nur editiert werden kann. Zur Übertragung der Steuerungsapplikation wird eine Kommunikationsverbindung zwischen Engineering-Rechner und Steuerung hergestellt, über die dann das Engineering-Werkzeug die entsprechenden Daten zur Steuerung überspielt. Demgegenüber ist ein auf Basis von Web-Technologien erstelltes Engineering-Werkzeug typischerweise immer Online, da eine Browser-basierte Anwendung prinzipbedingt nur in Kooperation mit dem Server arbeiten kann. Bei einem Engineering-Werkzeug in Form einer autarken Desktop-Anwendung werden Applikationen aber durchaus häufig Offline, das heißt unabhängig vom Automatisierungsgerät erstellt. Um diesen Anwendungsfall abzudecken, werden HTTP-Server 420 und Control Engine 410 vorteilhaft auf dem selben Rechner installiert, auf dem auch der Browser 110 mit der Engineering-Anwendung 310 ablaufen. Dieser Installationsvorgang kann von einem Datenträger, wie zum Beispiel einer CD oder DVD, über das Internet, beispielsweise über die Homepage eines Geräteherstellers, oder auch direkt aus der Steuerung 400 erfolgen. Zusätzlich kann die nun physikalisch nicht mehr verfügbare Prozess-Peripherie 700 durch eine Simulationskomponente ersetzt werden. Hierdurch ist es möglich, die Steuerungsapplikation 600 auch Offline auszuführen.
  • Der Anwendungsbereich der Erfindung, insbesondere eines erfindungsgemäßen Verfahrens und/oder eines erfindungsgemäßen Steuergerätes, und somit der beschriebenen Mechanismen eines Web-basierten Steuerungssystems sind insbesondere industrielle Speicherprogrammierbare Steuerungen (SPS/PLC), aber auch sicherheitsgerichtete Systeme und insbesondere auch Kombinationen aus sicherheitsgerichteten und nicht sicherheitsgerichteten Automatisierungsfunktionen. Außerdem kann der beschriebene Mechanismus vorteilhaft als Basis für Web-basierte Bedien&Beobachten-Funktionen und deren Anzeigesysteme genutzt werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • - Anfang 2005 von Jesse James Garrett von Adaptive Path in seinem Essay "Ajax: A New Approach to Web Applications" [0039]
    • - http://us.ajax13.com/en/ajaxwrite/ [0040]
    • - http://docs.google.com/ [0040]
    • - http://www.heise.de/ix/artikel/2005/11/056/ [0041]
    • - http://www.heise.de/ix/artikel/2006/01/070/ [0057]
    • - http://www.entwickler.com/zonen/portale/psecom,id,101,online,1151,.html [0060]

Claims (26)

  1. Verfahren zum Zugreifen auf ein in einem Steuergerät (400) zur Steuerung eines Automatisierungssystems ausführbares Steuermodul (410), wobei das Steuermodul (410) dazu ausgebildet ist, eine Funktion (600) auf dem Steuergerät (400) auszuführen, umfassend die Schritte – Bereitstellen des Steuermoduls (410) in dem Steuergerät (400), – Bereitstellen eines ersten Schnittstellenmoduls (420) in dem Steuergerät (400), – Bereitstellen eines zweiten Schnittstellenmoduls (310) in dem Steuergerät (400), – Verbinden des Steuergerätes (400) mit einem Bediengerät (300) über ein Netzwerk (500), – Übertragen des zweiten Schnittstellenmoduls (310) von dem Steuergerät (400) zu dem Bediengerät (300), wobei das Bediengerät (300) Ein- und Ausgabeeinrichtungen zur Bedienung durch einen Benutzer umfasst, – Ausführen des zweiten Schnittstellenmoduls (310) durch das Bediengerät (300), und – Übertragen von Daten zwischen dem ersten (420) und dem zweiten (310) Schnittstellenmodul.
  2. Verfahren nach Anspruch 1, wobei das Übertragen von Daten zwischen dem ersten (420) und dem zweiten (310) Schnittstellenmodul in Antwort auf Benutzereingaben am Bediengerät (300) erfolgt.
  3. Verfahren nach Anspruch 1 oder 2, wobei das Übertragen von Daten zwischen dem ersten (420) und dem zweiten (310) Schnittstellenmodul vom Bediengerät (300) initiiert wird.
  4. Verfahren nach Anspruch 1, wobei das Übertragen von Daten zwischen dem ersten (420) und dem zweiten (310) Schnittstellenmodul vom Steuergerät (400) initiiert wird.
  5. Verfahren nach einem der vorstehenden Ansprüche, wobei das Übertragen von Daten zwischen dem ersten (420) und dem zweiten (310) Schnittstellenmodul dazu dient, eine auf dem Steuergerät (400) ausführbare Steuerfunktion (600) zu erstellen, zu bearbeiten und/oder auszuführen, Parameter an das Steuergerät (400) zu übergeben und/oder Prozessdaten aus dem Steuergerät (400) auszulesen.
  6. Verfahren nach einem der vorstehenden Ansprüche, wobei das Netzwerk (500) ein IP-basiertes Netzwerk ist.
  7. Verfahren nach einem der vorstehenden Ansprüche, wobei das erste Schnittstellenmodul (420) eine HTTP-Server-Anwendung umfasst und das zweite Schnittstellenmodul (310) eine zur Kommunikation mit der HTTP-Server-Anwendung ausgebildete Client-Anwendung umfasst.
  8. Verfahren nach einem der vorstehenden Ansprüche, wobei das zweite Schnittstellenmodul (310) eine web-basierte Anwendung umfasst, die zur Ausführung in einem Web-Browser (110) ausgebildet ist.
  9. Verfahren nach einem der vorstehenden Ansprüche, wobei die Kommunikation zwischen erstem (420) und zweitem (310) Schnittstellenmodul mittels AJAX-Technologie (Asynchronous JavaScript and XML) unter Verwendung von JSON (JavaScript Object Notation) erfolgt.
  10. Verfahren nach einem der vorstehenden Ansprüche, wobei das Steuermodul (410) und/oder das erste Schnittstellenmodul (420) einen Zwischencode umfasst, insbesondere entsprechend dem CIL-Standard (Common Intermediate Language).
  11. Verfahren nach einem der vorstehenden Ansprüche, wobei das Steuergerät (400) ein Modul zur Bereitstellung einer Ablaufumgebung umfasst, das dazu ausgebildet ist, das Steuermodul (410) und das erste Schnittstellenmodul (420) parallel auszuführen..
  12. Verfahren nach einem der vorstehenden Ansprüche, wobei das Übertragen von Daten von dem ersten (420) zu dem zweiten (310) Schnittstellenmodul und das Abarbeiten von mittels des ersten Schnittstellenmoduls (420) empfangener Daten durch das Steuergerät (400) zu vorgegebenen Zeiten erfolgt, wobei die Zeiten an die vom Prozess an die Ausführung des Steuermoduls (410) gestellten Echtzeitanforderungen zur Laufzeit dynamisch angepasst werden.
  13. Verfahren nach Anspruch 12, wobei das Steuermodul (410) mit einer höheren Priorität ausgeführt wird als das erste Schnittstellenmodul (420).
  14. Verfahren nach einem der Ansprüche 1 bis 13, wobei das Steuergerät (400) mit Prozesskomponenten (700) verbunden ist, durch welche Änderungen im Prozessablauf bewirkt werden.
  15. Verfahren nach einem der Ansprüche 1 bis 13, wobei zur Offline-Bearbeitung einer Steuerfunktion (600) das Bediengerät (300) und das Steuermodul (410) in einem gemeinsamen Rechnersystem angeordnet sind und der durch das Steuermodul (410) gesteuerte Prozess durch ein Simulationsmodul simuliert wird.
  16. Steuergerät (400) eines Steuerungssystems zur Steuerung eines Automatisierungssystems, umfassend – einen Speicher mit einem darin gespeicherten Steuermodul (410) zur Prozesssteuerung des Automatisierungssystems und jeweils einem darin gespeicherten ersten (420) und zweiten (310) Schnittstellenmodul, wobei das Steuermodul (410) dazu ausgebildet ist, eine Funktion (600) auf dem Steuergerät (400) auszuführen, – eine Prozessor-Einheit zur Ausführung des Steuermoduls (410) und des ersten Schnittstellenmoduls (420), und – eine Netzwerk-Schnittstelle zum Verbinden des Steuergerätes (400) mit einem Netzwerk (500), wobei das Steuergerät (400) dazu ausgebildet ist, – über das Netzwerk (500) das zweite Schnittstellenmodul (310) zu einem Bediengerät (300) zu übertragen und – das erste Schnittstellenmodul (420) dazu ausgebildet ist, über das Netzwerk (500) mit dem in dem Bediengerät (300) angeordneten zweiten Schnittstellenmodul (310) zu kommunizieren.
  17. Steuergerät nach Anspruch 16, wobei das zweite Schnittstellenmodul (310) dazu ausgebildet ist, eine Datenübertragung zum ersten Schnittstellenmodul (420) zu initiieren.
  18. Steuergerät nach Anspruch 16 oder 17, wobei das Steuergerät (400) dazu ausgebildet ist, in Abhängigkeit von über das erste Schnittstellenmodul (420) empfangenen Daten das Erstellen, Bearbeiten, Ausführen und/oder Parametrieren einer auf dem Steuergerät (400) durch das Steuermodul (420) ausführbaren Steuerfunktion (600) zu bewirken.
  19. Steuergerät nach einem der vorstehenden Ansprüche, wobei das Netzwerk (500) ein IP-basiertes Netzwerk ist.
  20. Steuergerät nach einem der vorstehenden Ansprüche, wobei das erste Schnittstellenmodul (420) eine HTTP-Server-Anwendung umfasst, welche zur Kommunikation mit einer entfernten, im zweiten Schnittstellenmodul (310) angeordneten Client-Anwendung ausgebildet ist.
  21. Steuergerät nach Anspruch 20, wobei die Client-Anwendung eine web-basierte Anwendung umfasst, die zur Ausführung in einem Web-Browser (110) ausgebildet ist.
  22. Steuergerät nach einem der vorstehenden Ansprüche, wobei das Steuermodul (410) und/oder das erste Schnittstellenmodul (420) einen Zwischencode umfasst, insbesondere entsprechend dem CIL-Standard (Common Intermediate Language).
  23. Steuergerät nach einem der vorstehenden Ansprüche, umfassend ein Modul zur Bereitstellung einer Ablaufumgebung, das dazu ausgebildet ist, das Steuermodul (410) und das erste Schnittstellenmodul (420) parallel auszuführen.
  24. Steuergerät nach einem der vorstehenden Ansprüche, dazu ausgebildet, das Übertragen von Daten von dem ersten (420) zu dem zweiten (310) Schnittstellenmodul und das Abarbeiten von mittels des ersten Schnittstellenmoduls (420) empfangener Daten zu vorgegebenen Zeiten auszuführen, wobei die Zeiten an die vom Prozess an die Ausführung des Steuermoduls (410) gestellten Echtzeitanforderungen zur Laufzeit dynamisch anpassbar sind.
  25. Steuergerät nach Anspruch 24, dazu ausgebildet, das Steuermodul (410) mit einer höheren Priorität auszuführen als das erste Schnittstellenmodul (420).
  26. Steuergerät nach einem der vorstehenden Ansprüche, verbindbar mit Prozesskomponenten (700), die zum Bewirken von Änderungen im Prozessablauf ausgebildet sind.
DE102008019040.3A 2007-04-15 2008-04-15 Verfahren und Steuergerät zur Steuerung eines Automatisierungssystems Active DE102008019040B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102008019040.3A DE102008019040B4 (de) 2007-04-15 2008-04-15 Verfahren und Steuergerät zur Steuerung eines Automatisierungssystems

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102007017945 2007-04-15
DE102007017945.8 2007-04-15
DE102008019040.3A DE102008019040B4 (de) 2007-04-15 2008-04-15 Verfahren und Steuergerät zur Steuerung eines Automatisierungssystems

Publications (2)

Publication Number Publication Date
DE102008019040A1 true DE102008019040A1 (de) 2008-10-16
DE102008019040B4 DE102008019040B4 (de) 2019-06-27

Family

ID=39731598

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102008019040.3A Active DE102008019040B4 (de) 2007-04-15 2008-04-15 Verfahren und Steuergerät zur Steuerung eines Automatisierungssystems

Country Status (4)

Country Link
US (1) US8190274B2 (de)
EP (1) EP2140317A2 (de)
DE (1) DE102008019040B4 (de)
WO (1) WO2008125336A2 (de)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2182418A2 (de) * 2008-11-03 2010-05-05 Phoenix Contact GmbH & Co. KG Verfahren und Vorrichtung zum Zugreifen auf ein Funktionsmodul eines Automatiersierungssystems
DE102009011552A1 (de) 2009-03-06 2010-09-16 Phoenix Contact Gmbh & Co. Kg Vorrichtung und Verfahren zum Bereitstellen eines Datenlese- und -schreibzugriffs auf ein Gerät
DE102010032798A1 (de) * 2010-07-30 2012-02-02 Siemens Aktiengesellschaft Verfahren zur Einrichtung einer speicherprogrammierbaren Steuerung
WO2014001370A3 (de) * 2012-06-26 2014-02-27 Inter Control Hermann Köhler Elektrik GmbH & Co. KG Vorrichtung und verfahren für eine sicherheitskritische anwendung
CN104808606A (zh) * 2014-01-29 2015-07-29 西门子公司 在工业自动化系统之内提供功能的方法和工业自动化系统
DE102015004578A1 (de) * 2015-04-14 2016-10-20 Dräger Safety AG & Co. KGaA Verfahren zur Datenübertragung zwischen Messeinrichtungen und einer Datenverarbeitungseinrichtung in einem Messdatenerfassungssystem
US10078314B2 (en) 2014-01-29 2018-09-18 Siemens Aktiengesellschaft Method for providing functions within an industrial automation system, and industrial automation system
EP3528064A1 (de) 2018-02-15 2019-08-21 Siemens Aktiengesellschaft Steuerungssystem und zugehöriges verfahren zur inbetriebnahme, steuerung und überwachung für stromversorgungskomponenten
DE102018104171A1 (de) * 2018-02-23 2019-08-29 Weidmüller Interface GmbH & Co. KG Verfahren zum Übertragen von Konfigurationsdaten gemäß dem IO-Link Protokoll von einer Automatisierungssteuerung an mindestens ein IO-Link Gerät

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8166469B2 (en) * 2007-08-20 2012-04-24 Red Hat, Inc. Method and an apparatus to conduct software release
CN103140846B (zh) * 2011-04-01 2016-10-19 西门子公司 用于可编程逻辑控制器上的文件系统的方法及装置
DE102011107646A1 (de) * 2011-07-12 2013-01-17 Phoenix Contact Gmbh & Co. Kg Verfahren und System zur dynamischen Verteilung von Programmfunktionen in verteilten Steuerungssystemen
US9628438B2 (en) 2012-04-06 2017-04-18 Exablox Consistent ring namespaces facilitating data storage and organization in network infrastructures
ITBO20120705A1 (it) * 2012-12-21 2014-06-22 I M A Ind Macchine Automatic He S P A Sistema e metodo di controllo di una macchina automatica
DE102013002915A1 (de) * 2013-02-21 2014-08-21 GM Global Technology Operations LLC (n. d. Gesetzen des Staates Delaware) Anordnung eines Sitzsteuermoduls für einen Kraftfahrzeugsitz und eines Kabelsatzes für Komponenten des Sitzes
US9552382B2 (en) 2013-04-23 2017-01-24 Exablox Corporation Reference counter integrity checking
US10003629B2 (en) * 2013-05-13 2018-06-19 Arista Networks, Inc. Method and system for using JSON with a CLI for managing network devices
JP2016526717A (ja) 2013-06-12 2016-09-05 エグザブロックス・コーポレーション ハイブリッドガベージコレクション
EP3011428A4 (de) 2013-06-19 2017-02-22 Exablox Corporation Datenbereinigung in clusterbasierten speichersystemen
US9934242B2 (en) 2013-07-10 2018-04-03 Exablox Corporation Replication of data between mirrored data sites
US10248556B2 (en) 2013-10-16 2019-04-02 Exablox Corporation Forward-only paged data storage management where virtual cursor moves in only one direction from header of a session to data field of the session
US9985829B2 (en) 2013-12-12 2018-05-29 Exablox Corporation Management and provisioning of cloud connected devices
US9774582B2 (en) * 2014-02-03 2017-09-26 Exablox Corporation Private cloud connected device cluster architecture
US9830324B2 (en) 2014-02-04 2017-11-28 Exablox Corporation Content based organization of file systems
US10070657B1 (en) 2015-07-14 2018-09-11 Hall Fabrication, Inc. Method and system for controlling a loin puller meat processing machine
US20170060924A1 (en) 2015-08-26 2017-03-02 Exablox Corporation B-Tree Based Data Model for File Systems
US9846553B2 (en) 2016-05-04 2017-12-19 Exablox Corporation Organization and management of key-value stores
US10574724B2 (en) * 2017-01-06 2020-02-25 Western Digital Technologies, Inc. Automatic discovery of management nodes and generation of CLI using HA module
US10214933B2 (en) 2017-05-11 2019-02-26 Hayward Industries, Inc. Pool cleaner power supply
AU2019330732A1 (en) * 2018-08-28 2021-04-29 Peng Choo Improved control and development web platform
DE102021133223A1 (de) 2021-12-15 2023-06-15 Dürr Systems Ag System und verfahren zur konfigurierbaren visualisierung einer technischen anlage

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993025412A1 (en) * 1992-06-10 1993-12-23 Ford Motor Company Limited A communication system for motor vehicles
US5799067A (en) * 1992-06-29 1998-08-25 Elonex I.P. Holdings Ltd. Smart phone integration with computer systems
US5909368A (en) * 1996-04-12 1999-06-01 Fisher-Rosemount Systems, Inc. Process control system using a process control strategy distributed among multiple control elements
US5805442A (en) * 1996-05-30 1998-09-08 Control Technology Corporation Distributed interface architecture for programmable industrial control systems
FR2750518B1 (fr) * 1996-07-01 1998-07-31 Bull Sa Lanceur d'applications securise a interface graphique
KR100204064B1 (ko) * 1996-11-29 1999-06-15 이계철 대용량 통신처리시스템의 가입자 망 정합 장치에서의 데이터 트래픽 처리 방법
EP0917034B1 (de) 1997-11-14 2002-03-06 Engel Maschinenbau Gesellschaft Mbh Verfahren zur Fernüberwachung und/oder Fernwartung einer Spritzgiessmaschine
US6084689A (en) * 1998-03-11 2000-07-04 Colorbus, Inc. Method and apparatus for saturation compensation in total ink limited output
US6201996B1 (en) * 1998-05-29 2001-03-13 Control Technology Corporationa Object-oriented programmable industrial controller with distributed interface architecture
US6901453B1 (en) * 2000-02-16 2005-05-31 Microsoft Corporation Modularization of broadcast receiver driver components
US6640140B1 (en) 2000-10-10 2003-10-28 Schneider Automation Inc. PLC executive with integrated web server
US7050627B2 (en) * 2001-06-29 2006-05-23 Xerox Corporation Black component generation
DE10214539A1 (de) 2002-04-02 2003-10-23 Siemens Ag Produktionsmaschine mit einer in einem Webserver integrierten Steuerung
US7259893B2 (en) * 2002-12-19 2007-08-21 Electronics For Imaging, Inc. Methods and apparatus for gray component replacement blending
US7411696B2 (en) * 2003-01-15 2008-08-12 Xerox Corporation Smooth gray component replacement strategy that utilizes the full device gamut
DE10304646A1 (de) 2003-02-05 2004-08-26 Siemens Ag Web-basierte Darstellung von Automatisierungsprozessen
US7010396B2 (en) * 2003-04-04 2006-03-07 David Brent Ware Irrigation controller with embedded web server
US7269297B2 (en) * 2003-11-25 2007-09-11 Xerox Corporation Illuminant-neutral gray component replacement in systems for spectral multiplexing of source images to provide a composite image, for rendering the composite image, and for spectral demultiplexing of the composite image
DE10355160B4 (de) 2003-11-26 2008-04-03 Schott Ag Beschichtete Glaskeramikplatte, Verfahren zu ihrer Herstellung und Kochfeld mit einer solchen Glaskeramikplatte
KR100496120B1 (ko) * 2003-12-02 2005-06-17 (주)모임스톤 인스턴트 메신저 기능을 갖는 인터넷 프로토콜 사설교환기 및 인터넷 단말기
DE102005018246A1 (de) 2005-04-19 2006-10-26 Schott Ag Glas- oder Glaskeramik-Artikel mit dekorativer Beschichtung
US7233830B1 (en) * 2005-05-31 2007-06-19 Rockwell Automation Technologies, Inc. Application and service management for industrial control devices
US7882209B1 (en) * 2005-09-30 2011-02-01 At&T Intellectual Property Ii, L.P. Tiered and modular approach to operational support systems
WO2007054941A2 (en) * 2005-11-14 2007-05-18 Reuven Zemach Apparatus and method for reducing ink/toner consumption of color printers
JP4626598B2 (ja) * 2006-09-28 2011-02-09 ブラザー工業株式会社 画像読取装置、複写装置及び画像読取方法
US20100030346A1 (en) * 2007-02-02 2010-02-04 Mitsuhiro Watanabe Control system and control method for controlling controllable device such as peripheral device, and computer program for control

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
Anfang 2005 von Jesse James Garrett von Adaptive Path in seinem Essay "Ajax: A New Approach to Web Applications"
http://docs.google.com/
http://us.ajax13.com/en/ajaxwrite/
http://www.entwickler.com/zonen/portale/psecom,id,101,online,1151,.html
http://www.heise.de/ix/artikel/2005/11/056/
http://www.heise.de/ix/artikel/2006/01/070/

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2182418A2 (de) * 2008-11-03 2010-05-05 Phoenix Contact GmbH & Co. KG Verfahren und Vorrichtung zum Zugreifen auf ein Funktionsmodul eines Automatiersierungssystems
DE102008055660A1 (de) 2008-11-03 2010-05-06 Phoenix Contact Gmbh & Co. Kg Verfahren und Vorrichtung zum Zugreifen auf ein Funktionsmodul eines Automatisierungssystems
EP2182418A3 (de) * 2008-11-03 2010-12-08 Phoenix Contact GmbH & Co. KG Verfahren und Vorrichtung zum Zugreifen auf ein Funktionsmodul eines Automatiersierungssystems
US8249726B2 (en) 2008-11-03 2012-08-21 Phoenix Contact Gmbh & Co. Kg Method and device for accessing a functional module of automation system
DE102008055660B4 (de) * 2008-11-03 2014-01-09 Phoenix Contact Gmbh & Co. Kg Verfahren und Vorrichtung zum Zugreifen auf ein Funktionsmodul eines Automatisierungssystems
DE102009011552A1 (de) 2009-03-06 2010-09-16 Phoenix Contact Gmbh & Co. Kg Vorrichtung und Verfahren zum Bereitstellen eines Datenlese- und -schreibzugriffs auf ein Gerät
DE102010032798A1 (de) * 2010-07-30 2012-02-02 Siemens Aktiengesellschaft Verfahren zur Einrichtung einer speicherprogrammierbaren Steuerung
CN104508578A (zh) * 2012-06-26 2015-04-08 盈德克勒电控有限公司 用于安全关键的应用的设备和方法
WO2014001370A3 (de) * 2012-06-26 2014-02-27 Inter Control Hermann Köhler Elektrik GmbH & Co. KG Vorrichtung und verfahren für eine sicherheitskritische anwendung
CN104508578B (zh) * 2012-06-26 2018-05-22 盈德克勒电控有限公司 用于安全关键的应用的设备和方法
US10394212B2 (en) 2012-06-26 2019-08-27 Inter Control Hermann Kohler Elektrik Gmbh & Co. Kg Apparatus and method for a security-critical application
CN104808606A (zh) * 2014-01-29 2015-07-29 西门子公司 在工业自动化系统之内提供功能的方法和工业自动化系统
EP2902857A1 (de) * 2014-01-29 2015-08-05 Siemens Aktiengesellschaft Verfahren zur Bereitstellung von Funktionen innerhalb eines industriellen Automatisierungssystems und industrielles Automatisierungsystem
CN104808606B (zh) * 2014-01-29 2017-12-22 西门子公司 在工业自动化系统之内提供功能的方法和工业自动化系统
US10078314B2 (en) 2014-01-29 2018-09-18 Siemens Aktiengesellschaft Method for providing functions within an industrial automation system, and industrial automation system
DE102015004578A1 (de) * 2015-04-14 2016-10-20 Dräger Safety AG & Co. KGaA Verfahren zur Datenübertragung zwischen Messeinrichtungen und einer Datenverarbeitungseinrichtung in einem Messdatenerfassungssystem
US9693121B2 (en) 2015-04-14 2017-06-27 Dräger Safety AG & Co. KGaA Method for data transmission between measuring apparatuses and a data processing device in a measured data recording system
EP3528064A1 (de) 2018-02-15 2019-08-21 Siemens Aktiengesellschaft Steuerungssystem und zugehöriges verfahren zur inbetriebnahme, steuerung und überwachung für stromversorgungskomponenten
DE102018104171A1 (de) * 2018-02-23 2019-08-29 Weidmüller Interface GmbH & Co. KG Verfahren zum Übertragen von Konfigurationsdaten gemäß dem IO-Link Protokoll von einer Automatisierungssteuerung an mindestens ein IO-Link Gerät

Also Published As

Publication number Publication date
EP2140317A2 (de) 2010-01-06
DE102008019040B4 (de) 2019-06-27
WO2008125336A2 (de) 2008-10-23
WO2008125336A3 (de) 2009-01-15
US20100114336A1 (en) 2010-05-06
US8190274B2 (en) 2012-05-29

Similar Documents

Publication Publication Date Title
DE102008019040B4 (de) Verfahren und Steuergerät zur Steuerung eines Automatisierungssystems
DE60207155T2 (de) Objektorientiertes Internetschnittstellensystem für eine industrielle Steuereinrichtung
EP2182418B1 (de) Verfahren und Vorrichtung zum Zugreifen auf ein Funktionsmodul eines Automatiersierungssystems
DE102008014153B4 (de) Verfahren, Steuergerät und Steuerungssystem zur Steuerung eines Automatisierungssystems
EP2979144B1 (de) Feldgerät, kommunikations-chip und verfahren zum webzugriff auf ein feldgerät
EP1416400B1 (de) System und Verfahren zur Bereitstellung von Daten und Diensten für Geräte über öffentliche Netze, sowie Gerät, welches die bereitgestellten Daten und Dienste verwendet
EP2201454A1 (de) Automatisierungsgerät mit steuerprogramm sowie verfahren zu dessen programmierung
DE102011077319B4 (de) Simulationssystem, Verfahren zur Durchführung einer Simulation, Leitsystem und Computerprogrammprodukt
EP3217236B1 (de) Verfahren und system zur generierung eines bedienprogramms in form einer auf einem mobilen gerät lauffähigen mobilen applikation
WO2018197197A1 (de) Verfahren zum betreiben eines feldgeräts
EP2902857B1 (de) Verfahren zur Bereitstellung von Funktionen innerhalb eines industriellen Automatisierungssystems und industrielles Automatisierungsystem
DE102011077318B4 (de) Simulationssystem, Verfahren zur Durchführung einer Simulation, Leitsystem und Computerprogrammprodukt
EP3451202A1 (de) Verfahren zum erzeugen eines auf einem testgerät ausführbaren modells eines technischen systems und testgerät
DE102018128502A1 (de) Verfahren und Vorrichtung zur Bedienung und Steuerung einer maschinentechnischen Anlage mit Hilfe einer grafischen Entwicklungsoberfläche und Erzeugung einer Feldbus-Konfiguration
EP3200034A1 (de) Verfahren und vorrichtung zum zugriff auf daten oder funktionen einer speicherprogrammierbaren steuerung mittels eines webdientes
EP1442340A1 (de) Bereitstellung von informationen in einem automatisierungssystem
DE102006033863A1 (de) Verschaltungsschnittstelle für flexibles Online/Offline-Deployment einer n-schichtigen Softwareapplikation
EP3575898B1 (de) Speicherprogrammierbare steuerung und betriebsverfahren für virtuelle speicherprogrammierbare steuerung und computerprogrammprodukt
EP2456124A1 (de) Geberschnittstellenengineering
EP2620868A1 (de) Arbeitsfluss-Management-System für Computernetze
EP4091050B1 (de) Verfahren und anordnung zum verwalten von automatisierungs-programmen für industrielle automatisierungsplattformen
DE10316288C5 (de) Vorrichtung und Verfahren zur Datenübertragung
DE10229878A1 (de) Automatisierungsgerät mit Schnittstelle zum nachrichten- und portbasierten Zugriff auf eine Applikation
DE10316289B4 (de) Verfahren und Vorrichtung zur Datenübertragung
EP3165975B1 (de) Verfahren und anordnung zur fernbedienung von feldgeräten zumindest einer automatisierungsanlage

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R130 Divisional application to

Ref document number: 102008064931

Country of ref document: DE

R020 Patent grant now final
R084 Declaration of willingness to licence