DE10209640A1 - Verfahren zur Generierung eines Automatisierungsprogramms - Google Patents

Verfahren zur Generierung eines Automatisierungsprogramms

Info

Publication number
DE10209640A1
DE10209640A1 DE10209640A DE10209640A DE10209640A1 DE 10209640 A1 DE10209640 A1 DE 10209640A1 DE 10209640 A DE10209640 A DE 10209640A DE 10209640 A DE10209640 A DE 10209640A DE 10209640 A1 DE10209640 A1 DE 10209640A1
Authority
DE
Germany
Prior art keywords
program
representation
generator
hmi
automation
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.)
Withdrawn
Application number
DE10209640A
Other languages
English (en)
Inventor
Werner Hoefler
Michael Tiegelkamp
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE10209640A priority Critical patent/DE10209640A1/de
Priority to CN03809279.4A priority patent/CN1701302A/zh
Priority to EP03717132A priority patent/EP1506474A2/de
Priority to PCT/DE2003/000720 priority patent/WO2003075156A2/de
Priority to JP2003573545A priority patent/JP2005527887A/ja
Publication of DE10209640A1 publication Critical patent/DE10209640A1/de
Priority to US10/933,515 priority patent/US20050166190A1/en
Withdrawn legal-status Critical Current

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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • 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/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23012Derive sequence program from design, cad data of machine CADCS

Abstract

Es wird ein Verfahren zur Generierung eines Automatisierungsprogramms (1) aus einem HMI-Programm (3) mittels eines Generators (2) angegeben, wobei der Generator (2) Strukturen (5) des HMI-Programms (3) erkennt und in Strukturen (6) des Automatisierungsprogramms (1) umsetzt.

Description

  • Die Erfindung betrifft ein Verfahren zur Generierung eines Automatisierungsprogramms aus einem HMI-Programm mittels eines Generators. Das Automatisierungsprogramm ist z. B. ein Programm, das von einer speicherprogrammierbaren Steuerung ausgeführt wird. Das HMI-Programm (HMI = "human machine interface") ist ein Programm zur insbesondere graphischen Benutzerführung.
  • Ansätze eines Verfahrens zur automatischen Generierung von Softwareprogrammen sind mit den so genannten CASE-Werkzeugen (CASE = "computer aided software engineering") bekannt geworden (vgl. z. B. Schneider, Werner: Taschenbuch der Informatik, Fachbuchverlag Leipzig, 4. Auflage, Seite 352).
  • Die Erfindung besteht darin, ein Verfahren anzugeben, mit dem ein Automatisierungsprogramm zur Steuerung und/oder Überwachung eines technischen Prozesses oder zumindest Strukturen desselben aus einem beim selben technischen Prozess verwendeten HMI-Programm generierbar ist.
  • Diese Aufgabe wird erfindungsgemäß mit den Merkmalen des Anspruchs 1 gelöst. Dazu ist ein Verfahren zur Generierung eines Automatisierungsprogramms zur Steuerung und/oder Überwachung eines technischen Prozesses aus einem beim selben technischen Prozess verwendeten HMI-Programm mittels eines Generators vorgesehen, wobei der Generator Strukturen des UNI-Programms erkennt und in Strukturen des Automatisierungsprogramms umsetzt.
  • Die Erfindung geht dabei von der Erkenntnis aus, dass grundlegende Planungsdaten für die Beschreibung eines Automatisierungsvorhabens eine Entsprechung eher in einer Bedienerführung mittels eines HMI-Programms als in einer Struktur oder Algorithmen eines Automatisierungsprogramms finden. Somit ist der Schritt von einer Planungssicht zu einer mit dem HMI-Programm realisierten HMI-Sicht kleiner als der Schritt von der Planungssicht zum Automatisierungsprogramm. Wird zuerst ein HMI-Programm fertig gestellt, kann daraus ein Automatisierungsprogramm erzeugt werden. Dadurch kann der Gesamtaufwand zur Realisierung von Automatisierungslösungen deutlich reduziert werden.
  • Für eine Automatisierungslösung wird zumindest ein Automatisierungsprogramm benötigt. Ein solches Programm wertet Sensordaten des automatisierten technischen Prozesses aus, führt Berechnungen durch und steuert im Prozess angeordnete Aktoren an. Ein Bediener kann den Prozess über ein HMI- Programm bedienen und beobachten.
  • Aus einer Planungsbeschreibung (meist mit graphischem Anteil) wird bisher eine Struktur des Automatisierungsprogramms abgeleitet und geeignete Steuerungsalgorithmen eingefügt. Nach Fertigstellung des Automatisierungsprogramms wird aus dessen Struktur eine Bedienungsstruktur mit entsprechenden Bedien- und Beobachtungselementen abgeleitet. Aus einer graphischen Sicht (Planung) wird damit bisher zunächst eine Algorithmensicht (Automatisierungsprogramm) abgeleitet. Aus der Algorithmensicht wird dann wiederum eine graphische Sicht (HMI- Programm) abgeleitet. Dabei können Informationen aus der Planungssicht verloren gehen.
  • Dieses Vorgehen ist "historisch bedingt. In den Anfangszeiten der Automatisierungstechnik bestand eine Automatisierungslösung nahezu vollständig aus Steuerungslogik. Bedien- und Beobachtungskomponenten ergänzen eine Automatisierungslösung zunehmend seit dem Aufkommen leistungsfähiger Graphikhardware. Entsprechend wurden ergänzende Bedien- und Beobachtungskomponenten zumeist nach der Erstellung des Automatisierungsprogramms programmiert.
  • Der Vorteil der Erfindung besteht darin, dass die Entwicklungszeit bis zur Erstellung eines ablauffähigen Automatisierungsprogramms verkürzt wird, indem der Generator zumindest grundlegende Strukturen des Automatisierungsprogramms automatisch erzeugt, in die der Programmierer - ggf. anhand von automatisch eingefügten Kommentarzeilen - geeignete Steuerungsalgorithmen einfügt. Dies spart nicht nur kostenintensive Entwicklungszeit, sondern macht die Automatisierungsprogramme einerseits weniger anfällig für systematische Fehler, weil der Programmierer keine Funktionen "vergessen" kann, und andererseits leichter wartbar, weil alle automatisch generierten Automatisierungsprogramme sich durch ähnliche Strukturen auszeichnen.
  • Die abhängigen Ansprüche sind auf bevorzugte Ausführungsformen der vorliegenden Erfindung gerichtet.
  • Bei einem HMI-Programm, das auf einem Planungsprogramm basiert, berücksichtigt der Generator vorteilhaft auch Planungsdaten des Planungsprogramms. Damit kann die aus dem HMI-Programm gewonnene Struktur des Automatisierungsprogramms um Planungsdaten ergänzt werden, indem z. B. bei einer Überprüfung eines Grenzwertes die Struktur für eine Berücksichtigung eines überschrittenen sowie eines nicht überschrittenen Grenzwertes anhand des HMI-Programms generiert wird und der Grenzwert selbst aus den Planungsdaten übernommen wird.
  • Ein HMI-Programm umfasst üblicherweise eine Navigationskomponente mit einer zentralen Darstellung und mindestens einer nachgeordneten Darstellung, wobei der Generator vorteilhaft anhand der zentralen Darstellung ein Hauptprogramm und anhand der oder jeder nachgeordneten Darstellung jeweils ein Unterprogramm des Automatisierungsprogramms erzeugt.
  • Die zentrale Darstellung umfasst üblicherweise eine Gesamtansicht oder ein Übersichtsbild des zu automatisierenden Prozesses. Ausgehend von dieser Gesamtansicht sind im HMI- Programm sämtliche bedienbaren Einrichtungen des Prozesses und dessen Komponenten in einer baumartigen Struktur zugänglich. Jede Darstellung, die ausgehend von der zentralen Darstellung abgerufen werden kann, wird als nachgeordnete Darstellung bezeichnet. Jede nachgeordnete Darstellung kann selbst wieder eigene nachgeordnete Darstellungen enthalten. Mit der Umsetzung durch den Generator wird diese im HMI- Programm enthaltene Struktur in Form eines mit der zentralen Darstellung korrespondierenden Hauptprogramms und jeweils eines mit der oder jeder nachgeordneten Darstellung korrespondierenden Unterprogramms abgebildet.
  • Wenn jede Darstellung - gleich ob zentral oder nachgeordnet - eine Anzahl von Bildkomponenten umfasst und einzelne Bildkomponenten mit einer dieser Darstellung nachgeordneten Darstellung assoziiert sind, erzeugt der Generator vorteilhaft für jede in einer Darstellung enthaltene, mit einer nachgeordneten Darstellung assoziierte Komponente einen Aufruf des mit der nachgeordneten Darstellung korrespondierenden Unterprogramms. Damit wird die im HMI-Programm enthaltene Abhängigkeit der jeweiligen Strukturen untereinander in das Automatisierungsprogramm übertragen.
  • Wenn einzelne Bildkomponenten als Ein- oder Ausgabekomponenten zur Ein- oder Ausgabe von Daten des zu automatisierenden oder automatisierten Prozesses vorgesehen sind, erzeugt der Generator vorteilhaft anhand sämtlicher in einer Darstellung enthaltener Ein- oder Ausgabekomponenten eine Parameterliste für den Aufruf des mit der jeweiligen Darstellung korrespondierenden Unterprogramms.
  • Weiter vorteilhaft erweitert der Generator die jeweilige Parameterliste in Bezug auf in nachgeordneten Darstellungen enthaltene Ein- oder Ausgabekomponenten.
  • In einer Darstellung ein- oder ausgebbare Prozessdaten werden im mit der jeweiligen Darstellung korrespondierenden Unterprogramm des Automatisierungsprogramms verarbeitet. Um die Möglichkeiten und Vorteile einer lokalen Gültigkeit von Variablen zur Abbildung von Prozessdaten zu nutzen, werden diese ausgehend vom Hauptprogramm dem jeweils aufgerufenen Unterprogramm als Parameter übergeben. Zur Gewährleistung der Konsistenz der jeweils übergebenen Parameter, insbesondere der Typkonsistenz, ist bei gebräuchlichen Programmiersprachen eine dem jeweiligen Unterprogramm zugeordnete Parameterliste vorgesehen, die der Generator automatisch anhand der in einer Darstellung vorkommenden Ein- oder Ausgabekomponenten erzeugt. Ein- oder Ausgabeparameter, die in einer nachgeordneten Darstellung verwendet werden, werden bereits in der Parameterliste des Unterprogramms berücksichtigt, das den Aufruf des mit der nachgeordneten Darstellung korrespondierenden Unterprogramms enthält.
  • Vorteilhaft konvertiert der Generator eine mindestens eine Bedingung oder mindestens eine Alternative berücksichtigende Prozessdatenanzeige des HMI-Programms in eine Programmsequenz des Automatisierungsprogramms zur Überprüfung der Bedingung.
  • Weiter vorteilhaft generiert der Generator die Programmsequenz zur Überprüfung der Bedingung als Bestandteil desjenigen Unterprogramms, das mit der die Prozessdatenanzeige enthaltenden Darstellung korrespondiert.
  • Um das Ausprogrammieren der Programmsequenz zu erleichtern, ist vorgesehen, dass durch den Generator Meldungstexte des HMI-Programms als Kommentarzeilen in die jeweilige Programmsequenz zur Überprüfung einer Bedingung übernommen werden. Anhand der Kommentarzeilen kann der Programmierer, der sich bei der Fertigstellung des Automatisierungsprogramms an den automatisch generierten Strukturen orientiert, ersehen, welche Maßnahmen z. B. im Falle einer erfüllten Bedingung vorzusehen sind, und die entsprechenden Anweisungen in das Automatisierungsprogramm aufnehmen.
  • Vorteilhaft legt der Generator eine Reihenfolge von Aufrufen von Unterprogrammen im Automatisierungsprogramm anhand benutzereditierbarer Regeln fest.
  • Dies berücksichtigt, dass die Struktur eines HMI-Programms nicht unmittelbar als Struktur eines Automatisierungsprogramms verwendbar ist. Das HMI-Programm enthält zwar alle Elemente, die für das Automatisierungsprogramm gebraucht werden, ist aber nach anderen Gesichtspunkten verknüpft. Speziell die Hierarchie von Darstellungen zur Fehleranalyse und Ursachenbeseitigung gleicht eher einem Netzwerk als einer leichter übertragbareren Baumstruktur, denn ein Bediener muss sich im HMI-Programm auf einfache Weise durch die ganze Anlage/Maschine, den Prozess, bewegen können, um den Fehler einkreisen zu können.
  • Die Strukturierung eines Automatisierungsprogrammes ist dagegen eher am Produktionsablauf orientiert. Deshalb können die Grundmechanismen zur Abbildung von Strukturen des HMI- Programms in korrespondierende Strukturen des Automatisierungsprogrammes noch anhand vorgegebener oder vorgebbarer, insbesondere benutzereditierbarer Regeln sortiert und strukturiert werden.
  • Nachfolgend werden Beispiele für derartige Regeln angegeben:
    • 1. Verknüpfe alle Aufrufe von Darstellungen (sowohl von Tasten als auch von Feldern und Aktionen).
    • 2. Entferne Schleifen und Rekursionen.
    • 3. Ermittle wiederkehrende Sequenzen zur Erweiterung der Aufrufstrukturen.
    • 4. Verknüpfe alle Meldungen, Aktionen, etc., die Variablen aus einer bestimmten Darstellung benutzen.
    • 5. Lege eine Zuordnung und eine Reihenfolge fest aus den Aufrufen einer Darstellung und den Abhängigkeiten der Eingabefelder, Variablen, Meldungen, etc.
    • 6. . . .
  • Das Regelwerk ist dynamisch erweiterbar und damit an die Gegebenheiten auch unterschiedlichster Anwendungsfälle anpassbar. Der Mechanismus ermittelt eine Vorzugslösung, die vom Benutzer angepasst werden kann.
  • Die nachfolgende Übersicht umfasst Strukturen des HMI-Programms und die daraus automatisch generierbaren Strukturen oder Sequenzen des Automatisierungsprogramms:
    • a) Aus einer Bildnavigation, der Verknüpfung einer zentralen Darstellung mit nachgeordneten Darstellungen, im HMI- Programm wird eine Grobstruktur des Automatisierungsprogramms mit einem mit der zentralen Darstellung korrespondierenden Hauptprogramm und jeweils einem mit der oder jeder nachgeordneten Darstellung korrespondierenden Unterprogramm generiert. Je nach Programmiersprache, die der Generator erzeugt, wird eine Darstellung z. B. in ein Programm oder Unterprogramm, in ein Modul, einen Plan, einen Baustein oder ähnliches konvertiert.
    • b) Aus der Bild-Navigation und damit implizit vorgegebenen Bediensequenzen wird der Ablauf des Automatisierungsprogramms, die Interaktion der einzelnen Programmelemente, wie z. B. der Aufruf eines bestimmten Unterprogramms an einer bestimmten Stelle, abgeleitet.
    • c) Aus einer Meldung oder einem Auslöser für eine Meldung des HMI-Programms wird z. B. eine Grenzwertüberwachung insbesondere anhand einer Meldeprojektierung generiert.
    • d) Aus Grenzwerten für Anzeigekomponenten, z. B. mit Farbumschlag reagierende Anzeigekomponenten, im HMI-Programm wird eine Grenzwertüberwachung im Automatisierungsprogramm abgeleitet.
    • e) Aus Diagnosebildern des HMI-Programms wird eine Diagnoseüberwachung im Automatisierungsprogramm generiert. Das oder jedes Diagnosebild des HMI-Programms umfasst eine Anzahl von Prozessdaten, die zu Diagnose- oder Überwachungszwecken einem Benutzer präsentiert werden. Diese Daten sind auch im Automatisierungsprogramm zur Diagnoseüberwachung zusammenfassbar.
    • f) Aus Variablen des HMI-Programms werden entsprechende Variablen des Automatisierungsprogramms generiert. Dies fördert die Konsistenz von HMI-Programm und Automatisierungsprogramm und ermöglicht untereinander einen direkten Datenaustausch, ohne dass z. B. Konvertierungen erforderlich oder Konvertierungsfehler zu befürchten sind.
    • g) Aus Grenzwerten und Eingabebereichen des HMI-Programms werden Simulationswerte für das Automatisierungsprogramm generiert. Simulationswerte werden verwendet, um ein Automatisierungsprogramm unabhängig vom zu steuernden oder zu überwachenden Prozess zu testen, so dass bei der Inbetriebnahme ein zumindest lauffähiges Automatisierungsprogramm vorliegt, so dass sich die Inbetriebnahme idealerweise auf Feinjustierungen beschränkt.
  • Nachfolgend wird ein Ausführungsbeispiel der Erfindung anhand der Zeichnung näher erläutert. Einander entsprechende Gegenstände oder Elemente sind in allen Figuren mit den gleichen Bezugszeichen versehen.
  • Darin zeigen:
  • Fig. 1 einen Ablauf der automatischen Generierung eines Automatisierungsprogramms,
  • Fig. 2 Details der automatischen Generierung des Automatisierungsprogramms,
  • Fig. 3 ein Blockschaltbild eines Generators zur automatischen Generierung des Automatisierungsprogramms und
  • Fig. 4 eine zentrale und eine nachgeordnete Darstellung eines HMI-Programms.
  • Fig. 1 zeigt schematisch einen Ablauf der automatischen Generierung eines Automatisierungsprogramms 1. Das Automatisierungsprogramm 1 ist z. B. ein Programm, das von einer nicht dargestellten speicherprogrammierbaren Steuerung (SPS; engl. PLC) ausgeführt wird. Das Automatisierungsprogramm 1 ist dann ein SPS-Programm 1 (engl. PLC-program). Die Bezeichnungen Automatisierungsprogramm 1 und SPS-Programm werden daher im Folgenden synonym verwendet.
  • Zur Generierung des Automatisierungsprogramms 1 ist ein Generator 2 vorgesehen. Der Generator erzeugt das Automatisierungsprogramm 1 oder Strukturen desselben aus einem Programm zur Benutzerführung. Ein Programm zur insbesondere graphischen Benutzerführung wird heute in Abkürzung der englischen Bezeichnung "human machine interface" als HMI-Programm 3 bezeichnet. Entsprechend werden im Folgenden auch die Bezeichnungen Programm zur Benutzerführung und HMI-Programm 3 synonym verwendet. Das HMI-Programm 3 seinerseits basiert auf einem Planungsprogramm 4 mit Planungsdaten, wie z. B. Schwell- oder Grenzwerten.
  • Fig. 2 zeigt Details der automatischen Generierung des Automatisierungsprogramms 1. Danach werden Strukturen und Charakteristika des HMI-Programms 3, wie Navigation, Bediensequenzen, Grenzwerte, Meldungen, Diagnose, Variablen, Eingabebereiche, etc., im Folgenden zusammenfassend als Strukturen 5 oder Strukturelemente 5 bezeichnet, durch den Generator 2 in entsprechende Strukturen und Charakteristika des Automatisierungsprogramms 1, wie Programmstruktur, Ablaufprogramm, Grenzwertüberwachung, Diagnose, Variablen, Simulation, etc., im Folgenden zusammenfassend gleichfalls als Strukturen 6 oder Strukturelemente 6 bezeichnet, umgesetzt. Zur Unterscheidung werden Strukturen 5 oder Strukturelemente 5 des HMI-Programms 3 als HMI-Strukturen 5 oder HMI-Strukturelemente 5 und Strukturen 6 oder Strukturelemente 6 des Automatisierungsprogramms 1 als PLC-Strukturen 6 oder PLC-Strukturelemente 6 bezeichnet.
  • Fig. 3 zeigt ein Blockschaltbild des Generators 2. Danach umfasst der Generator 2 eine Eingangsschnittstelle 7, einen Auswerter 8, einen Umsetzer 9 und eine Ausgangsschnittstelle 10.
  • Die Auswertung und Umsetzung des HMI-Programms 3 erfolgt mit Hilfe eines auf Auswerter 8 und Umsetzer 9 verteilten intelligenten Algorithmus, dessen Kern aus einem Mechanismus besteht, der systematisch aus einer HMI-Struktur 5 oder einem HMI-Strukturelement 5 eine PLC-Struktur 6 oder ein PLC-Strukturelement 6 erzeugt.
  • Die Eingangsschnittstelle 7 dient zum Import des HMI-Programms 3 oder dessen Strukturen 5. Dieses oder diese werden durch den Auswerter 8 analysiert. Dabei erfolgt ggf. eine Verknüpfung der gewonnenen Daten nach in einer nicht dargestellten Datenbasis hinterlegten vorgegebenen oder vorgebbaren, insbesondere benutzereditierbaren Regeln. Am Ausgang des Auswerters 8 verknüpft der Umsetzer 9 dessen Ergebnisse und generiert PLC-Strukturen 6 oder PLC-Strukturelemente 6. Diese werden mittels der Ausgangsschnittstelle 10 in das Automatisierungsprogramm 1 übernommen.
  • Fig. 4 zeigt eine zentrale Darstellung 11 und eine nachgeordnete Darstellung 12 eines HMI-Programms 3 (Fig. 1), wie sie einem Benutzer des HMI-Programms 3 auf einem nicht dargestellten Anzeigegerät wie einem Bildschirm präsentiert werden. Sowohl die zentrale wie auch die nachgeordnete Darstellung 11, 12 umfassen jeweils eine Anzahl von Bildkomponenten.
  • Im Falle der zentralen Darstellung 11 handelt es sich um eine erste und zweite Bildkomponente 13, 14, die jeweils einen ersten und einen zweiten in einem automatisierten oder zu automatisierenden Prozess zu be- oder verarbeitenden Rohstoff symbolisieren. Weiter handelt es sich um eine dritte Bildkomponente 15, die eine Verarbeitungseinheit im automatisierten oder zu automatisierenden Prozess symbolisiert. Ferner handelt es sich um eine vierte und fünfte Bildkomponente 16, 17, die jeweils eine erste und zweite Sortiereinrichtung des Prozesses symbolisiert. Schließlich handelt es sich um eine sechste Bildkomponente 18, die eine Diagnose- und Auswerteeinheit im Prozess, und eine siebente Bildkomponente 19, die eine Verpackungseinheit im Prozess symbolisiert. Die Pfeile geben eine Materialflussrichtung im Prozess an.
  • Einzelne Bildkomponenten sind mit einer nachgeordneten Darstellung assoziiert. Bei der Darstellung in Fig. 4 ist die erste Bildkomponente 13 zur Symbolisierung des ersten Rohstoffs mit der nachgeordneten Darstellung 12 assoziiert. Bei Aktivierung, z. B. mit einem Zeigegerät wie einer Maus, einer mit einer nachgeordneten Darstellung assoziierten Bildkomponente wird die nachgeordnete Darstellung 12 angezeigt.
  • Die nachgeordnete Darstellung 12 umfasst als Bildkomponenten 20 Ein-/Ausgabefelder, mit denen ein Wert einer Variablen des HMI-Programms 3 angezeigt oder entsprechend einer Benutzereingabe verändert werden kann. Im Einzelnen handelt es sich beim in Fig. 4 dargestellten Beispiel um eine Bildkomponente 20 zur Ein- oder Ausgabe einer Rohstoffart, um eine Bildkomponente 20 zur Ein- oder Ausgabe einer Stückzahl, um eine Bildkomponente 20 zur Ein- oder Ausgabe einer Geschwindigkeit, um eine Bildkomponente 20 zur Ein- oder Ausgabe einer Farbe, um eine Bildkomponente 20 zur Ein- oder Ausgabe eines Durchmessers und um eine Bildkomponente 20 zur Ein- oder Ausgabe einer Länge.
  • Aus den damit in der zentralen wie in der nachgeordneten Darstellung 11, 12 enthaltenen Daten erzeugt der Generator 2 eine Struktur für das Automatisierungsprogramm 1 z. B. in der nachfolgend in einem Pseudo-Code dargestellten Form, wobei aus der zentralen Darstellung 11 Strukturen für ein Hauptprogramm (Program Prozess) und darin enthaltene Aufrufe von mit nachgeordneten Darstellungen assoziierten Unterprogrammen und aus der nachgeordneten Darstellung 12 ein Unterprogramm (Procedure Rohstoff1) mit einer auf in dieser enthaltenen Bildelementen abgestellten Variablendeklaration gebildet werden.

  • Anhand einer Vorgabe des Planungsprogramms 4 (Fig. 1) wie z. B. "Wenn die Temperatur bei der Verarbeitung über 120 Grad steigt, muss das Ventil für die Kühlflüssigkeit geöffnet werden. Der Anlagenfahrer muss informiert werden. Zu Prüf- und Dokumentationszwecken muss dies archiviert werden." sowie einem Abschnitt des HMI-Programms 3 (Fig. 1) wie z. B.
    Logische Gruppe Bit 3 bis Bit 5
    Datenwort 5 Bit 3: "Achtung, Temperatur zu hoch: %Var Temperatur%"
    Datenwort 5 Bit 4: "Ventil Kühlflüssigkeit offen"
    Datenwort 5 Bit 5: "Ventil Kühlflüssigkeit geschlossen"
    kann der Generator 2 die Strukturen des Automatisierungsprogramms 1 um Programmsequenzen, wie z. B. nachfolgend in einem Pseudo-Code gezeigt, ergänzen:


  • Die Information "Logische Gruppe Bit 3 bis Bit 5" oder ähnliches muss im HMI-Programm 3 enthalten sein, damit für den Generator 2 die Struktur des HMI-Programms 3 erkennbar ist. Die damit kenntlich gemachte Struktur bildet den Rahmen für die zu generierende Programmsequenz, wobei im HMI-Programm 3 hinterlegte Meldetexte wie "Ventil Kühlflüssigkeit offen" als Kommentare in die Programmsequenz übernommen werden. Diese Kommentare liefern dem mit der Fertigstellung des Automatisierungsprogramms 1 betrauten Programmierer Hinweise auf die jeweils zu verwendenden Programmanweisungen.
  • Damit lässt sich die Erfindung kurz wie folgt darstellen:
    Es wird ein Verfahren zur Generierung eines Automatisierungsprogramms 1 aus einem HMI-Programm 3 mittels eines Generators 2 angegeben, wobei der Generator 2 Strukturen des HMI-Programms 3 erkennt und in Strukturen des Automatisierungsprogramms 1 umsetzt. Dies berücksichtigt die Erkenntnis, dass die Erzeugung eines Automatisierungsprogramms (SPS-, PLC-Programm) ausgehend von HMI- und ggf. Planungsdaten effizienter ist, als wie bisher zunächst das Automatisierungsprogramm und danach das HMI-Programm zu erstellen. Zudem enthalten heutige HMI-Programme bereits einen Großteil der Daten und deren Abhängigkeiten untereinander, die für ein Automatisierungsprogramm notwendig sind. Somit ist eine "Umkehr" der Projektierreihenfolge möglich. Neben dem offensichtlichen Einsparpotential ist die modifizierte Reihenfolge dem intuitiven Vorgehen des jeweiligen Benutzers näher. Darüber hinaus sind immer mehr Programmteile in lösungsbezogenen Standard- bzw. Branchen-Bibliotheken vorhanden und werden nur noch verwendet und nicht mehr programmiert und schließlich wird die graphische Benutzerführung im Hinblick auf z. B. Graphik, Dynamik, Vernetzung, etc. immer komfortabler.

Claims (10)

1. Verfahren zur Generierung eines Automatisierungsprogramms (1) aus einem HMI-Programm (3) mittels eines Generators (2), dadurch gekennzeichnet, dass der Generator (2) Strukturen (5) des HMI-Programms (3) erkennt und in Strukturen (6) des Automatisierungsprogramms (1) umsetzt.
2. Verfahren nach Anspruch 1, wobei das HMI-Programm (3) auf einem Planungsprogramm (4) basiert und wobei der Generator (2) Planungsdaten des Planungsprogramms (4) berücksichtigt.
3. Verfahren nach Anspruch 1 oder 2, wobei das HMI-Programm (3) eine Navigationskomponente mit einer zentralen Darstellung (11) und mindestens einer nachgeordneten Darstellung (12) umfasst und wobei der Generator (2) anhand der zentralen Darstellung (11) ein Hauptprogramm und anhand der oder jeder nachgeordneten Darstellung (12) jeweils ein Unterprogramm des Automatisierungsprogramms (1) erzeugt.
4. Verfahren nach Anspruch 3,
wobei jede Darstellung eine Anzahl von Bildkomponenten umfasst,
wobei einzelne Bildkomponenten mit einer dieser Darstellung nachgeordneten Darstellung (12) assoziiert sind und
wobei der Generator (2) für jede in einer Darstellung enthaltene, mit einer nachgeordneten Darstellung (12) assoziierte Bildkomponente einen Aufruf des mit der nachgeordneten Darstellung (12) korrespondierenden Unterprogramms erzeugt.
5. Verfahren nach Anspruch 4,
wobei einzelne Bildkomponenten (20) als Ein- oder Ausgabekomponente zur Ein- oder Ausgabe von Prozessdaten vorgesehen sind und
wobei der Generator (2) anhand sämtlicher in einer Darstellung (11, 12) enthaltener Ein- oder Ausgabekomponenten eine Parameterliste für den Aufruf des entsprechenden Unterprogramms erzeugt.
6. Verfahren nach Anspruch 5, wobei der Generator (2) die jeweilige Parameterliste in Bezug auf in nachgeordneten Darstellungen enthaltene Ein- oder Ausgabekomponenten erweitert.
7. Verfahren nach einem der vorangehenden Ansprüche, wobei der Generator (2) eine mindestens eine Bedingung berücksichtigende Prozessdatenanzeige des HMI-Programms (3) in eine Programmsequenz zur Überprüfung der Bedingung konvertiert.
8. Verfahren nach Anspruch 7, wobei der Generator (2) die Programmsequenz als Bestandteil desjenigen Unterprogramms generiert, das mit der die Prozessdatenanzeige enthaltenden Darstellung korrespondiert.
9. Verfahren nach Anspruch 7 oder 8, wobei Meldungstexte des HMI-Programms (3) als Kommentarzeilen in die Programmsequenz übernommen werden.
10. Verfahren nach einem der vorangehenden Ansprüche, wobei der Generator (2) eine Reihenfolge von Aufrufen von Unterprogrammen im Automatisierungsprogramm (1) anhand benutzereditierbarer Regeln festlegt.
DE10209640A 2002-03-05 2002-03-05 Verfahren zur Generierung eines Automatisierungsprogramms Withdrawn DE10209640A1 (de)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE10209640A DE10209640A1 (de) 2002-03-05 2002-03-05 Verfahren zur Generierung eines Automatisierungsprogramms
CN03809279.4A CN1701302A (zh) 2002-03-05 2003-03-04 用于产生自动化程序的方法
EP03717132A EP1506474A2 (de) 2002-03-05 2003-03-04 Verfahren zur generierung eines automatisierungsprogramms
PCT/DE2003/000720 WO2003075156A2 (de) 2002-03-05 2003-03-04 Verfahren zur generierung eines automatisierungsprogramms
JP2003573545A JP2005527887A (ja) 2002-03-05 2003-03-04 自動化プログラムの生成方法
US10/933,515 US20050166190A1 (en) 2002-03-05 2004-09-03 Method for generating an automation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10209640A DE10209640A1 (de) 2002-03-05 2002-03-05 Verfahren zur Generierung eines Automatisierungsprogramms

Publications (1)

Publication Number Publication Date
DE10209640A1 true DE10209640A1 (de) 2003-09-18

Family

ID=27762697

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10209640A Withdrawn DE10209640A1 (de) 2002-03-05 2002-03-05 Verfahren zur Generierung eines Automatisierungsprogramms

Country Status (6)

Country Link
US (1) US20050166190A1 (de)
EP (1) EP1506474A2 (de)
JP (1) JP2005527887A (de)
CN (1) CN1701302A (de)
DE (1) DE10209640A1 (de)
WO (1) WO2003075156A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006042805A1 (de) * 2006-09-08 2008-03-27 Endress + Hauser Gmbh + Co. Kg Verfahren zur Erzeugung von konsistenten gerätespezifischen Softwarekomponenten für Feldgeräte der Automatisierungstechnik

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004010203B4 (de) * 2004-03-02 2007-05-10 Siemens Ag Verfahren, Vorrichtung und Computerprogramm zur Erstellung einer Projektierung für ein Bediengerät einer Automatisierungskomponente
US7817150B2 (en) * 2005-09-30 2010-10-19 Rockwell Automation Technologies, Inc. Three-dimensional immersive system for representing an automation control environment
US8688258B2 (en) * 2008-09-11 2014-04-01 Rockwell Automation Technologies, Inc. Method of controlling a machine tool
CN103235549B (zh) * 2013-04-08 2015-09-23 北京信息科技大学 可编程序控制器应用程序的自动生成方法及装置
CN104675447A (zh) * 2015-01-30 2015-06-03 北京华清燃气轮机与煤气化联合循环工程技术有限公司 一种燃气轮机涡轮冷却气路
US10430309B2 (en) 2015-02-23 2019-10-01 Red Hat, Inc. Duplicating a task sequence from a graphical user interface interaction for a development application in view of trace data
CN113110342B (zh) * 2021-04-22 2022-04-26 中国电力工程顾问集团西北电力设计院有限公司 一种多功能塔式熔盐光热电站仿真验证平台及其实现方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0602263A1 (de) * 1992-12-15 1994-06-22 International Business Machines Corporation Programmgenerator für Benutzerschnittstelle
US6118446A (en) * 1996-11-27 2000-09-12 Raytheon Company User interface language to class library compiler
US5974256A (en) * 1997-09-29 1999-10-26 International Business Machines Corporation Method for translating graphical user interface (GUI) resource data into native java code
US6141595A (en) * 1998-04-03 2000-10-31 Johnson Controls Technology Company Common object architecture supporting application-centric building automation systems
FR2812479B1 (fr) * 2000-07-28 2003-01-31 Airsys Atm S A Generateur universel de code informatique

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006042805A1 (de) * 2006-09-08 2008-03-27 Endress + Hauser Gmbh + Co. Kg Verfahren zur Erzeugung von konsistenten gerätespezifischen Softwarekomponenten für Feldgeräte der Automatisierungstechnik

Also Published As

Publication number Publication date
EP1506474A2 (de) 2005-02-16
US20050166190A1 (en) 2005-07-28
WO2003075156A3 (de) 2004-11-18
WO2003075156A2 (de) 2003-09-12
JP2005527887A (ja) 2005-09-15
CN1701302A (zh) 2005-11-23

Similar Documents

Publication Publication Date Title
DE102004025875B4 (de) Funktionsblock mit Boolescher Logik
EP0852759B1 (de) Entwurfsverfahren für die anlagentechnik und rechnergestütztes projektierungssystem zur verwendung bei diesem verfahren
DE102010038146A1 (de) Verfahren zum Auswählen von Formen in einer Grafikanzeige
DE102006046203A1 (de) Verfahren zur rechnergestützten Bewertung von Softwarequellcode
DE10206902A1 (de) Engineeringverfahren und Engineeringsystem für industrielle Automatisierungssysteme
EP2330469B1 (de) Verfahren und Entwicklungsumgebung zur Erzeugung eines ausführbaren Gesamtsteuerungsprogramms
DE102011008941A1 (de) System zur Visualisierung von Statusinformationen von Feldgeräten
DE10209640A1 (de) Verfahren zur Generierung eines Automatisierungsprogramms
EP1634130B1 (de) Vorrichtung und verfahren zur programmierung und/oder ausführung von programmen für industrielle automatisierungssysteme
DE19615683A1 (de) Verfahren und Steuereinrichtung für eine graphische Steuerung von Abläufen in einem Netzwerkmanagementsystem
WO2010028760A1 (de) Automatisierungssystem mit frameworkbasierter steuerung
EP1950635B1 (de) Verfahren zum Betrieb eines Automatisierungssystems
EP1347376B1 (de) Software zur Visualisierung hierarchisch stufbaren Objekten
DE10057575A1 (de) Verfahren zur automatischen Softwaregenerierung
DE19914819B4 (de) Verfahren zur Unterstützung von Entwicklungprozessen
DE10017708B4 (de) Verfahren zum Steuern von Mechanismen und technischen Systemen, Einrichtung und Steuerungssoftware
EP3007017A1 (de) Produktions- oder Werkzeugmaschine sowie Verfahren zum Betrieb einer solchen Maschine
DE10215196A1 (de) System und Verfahren zur Programmierung und/oder zum Betreiben eines Automatisierungssystems mit ablauforientierter Verknüpfungslogik
EP2787403A1 (de) Verfahren zum automatischen Erstellen eines Automatisierungsprogramms aus einer technologischen Beschreibung einer Automatisierungslösung
AT522186B1 (de) Computerimplementiertes Verfahren zur rechnergestützten Erzeugung eines ausführbaren Steuerungsprogramms zur Steuerung und/oder Regelung eines technischen Prozesses
EP3717975A1 (de) Verfahren und vorrichtung zur projektierung einer spezifi-schen verfahrenstechnischen anlage
EP1795999A1 (de) Verfahren und System zur Transformation von Elementen eines in einer Kontaktplandarstellung vorliegenden Steuerungsprogramms in eine Funktionsplandarstellung
EP1795982A1 (de) Verfahren und System zur Transformation von Elementen eines in einer Funktionsplandarstellung vorliegenden Steuerungsprogramms in eine Kontaktplandarstellung
DE19949884A1 (de) Verfahren zum Erstellen von Leittechnik
DE10112438A1 (de) Verfahren zur Erstellung von Steuerungsstrategien technologischer Prozesse

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee