DE102011007198A1 - Eingabeverfahren zur Steuerung industrieller Anlagen - Google Patents

Eingabeverfahren zur Steuerung industrieller Anlagen Download PDF

Info

Publication number
DE102011007198A1
DE102011007198A1 DE201110007198 DE102011007198A DE102011007198A1 DE 102011007198 A1 DE102011007198 A1 DE 102011007198A1 DE 201110007198 DE201110007198 DE 201110007198 DE 102011007198 A DE102011007198 A DE 102011007198A DE 102011007198 A1 DE102011007198 A1 DE 102011007198A1
Authority
DE
Germany
Prior art keywords
input
industrial plant
program
user
input method
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.)
Ceased
Application number
DE201110007198
Other languages
English (en)
Inventor
Stefan Boschert
Hermann Georg Mayer
Jörg Nieveler
Roland Rosen
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 DE201110007198 priority Critical patent/DE102011007198A1/de
Publication of DE102011007198A1 publication Critical patent/DE102011007198A1/de
Ceased legal-status Critical Current

Links

Images

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/10Programme control other than numerical control, i.e. in sequence controllers or logic controllers using selector switches
    • G05B19/106Programme control other than numerical control, i.e. in sequence controllers or logic controllers using selector switches for selecting a programme, variable or parameter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)

Abstract

Eingabeverfahren zur Steuerung industrieller Anlagen mittels einer Makrosprache, wobei neben manuellen Eingabehilfsmitteln ein Bildschirm zum Visualisieren der Eingaben und zum Anzeigen resultierender Vorgänge, sowie eine Rechenanlage zur Steuerung der industriellen Anlage vorhanden sind, wobei dem Anwender eine Programmzeile mit Eingabefeldern am Bildschirm angezeigt wird, wobei durch den Anwender in einem Satz von Eingabefeldern eine Bedingung definiert wird, wobei die Bedingung eine Zustandsvariable, eine Relation und einen Wächterwert umfaseiner Automatisierungskomponente der industriellen Anlage repräsentiert, wobei der Wächterwert einen Wert oder einen Zustand darstellt, mit dem die Zustandsvariable bezüglich der Relation verglichen wird, wobei das Verhalten der Automatisierungskomponente durch eine Programmbibliothek der Rechenanlage definiert ist, wobei der Wächterwert durch Sensorik oder Steuerungskomponenten der industriellen Anlage überwacht wird, wobei bei Erfüllen der Bedingung eine vom Anwender in der Programmzeile mit Eingabefeldern definierte Aktion in der industriellen Anlage ausgelöst wird. Die Eingaben in Eingabefeldern stellen eine Makro- oder Skriptsprache dar, die von einem Interpreter abgearbeitet und analysiert wird und entsprechende Aktionen in der industriellen Anlage auslöst. Damit kann ein Anwender komfortabel und schnell Steuerungsprogramme erstellen.

Description

  • Die vorliegende Erfindung betrifft ein Eingabeverfahren zur Steuerung industrieller Anlagen mittels einer Makrosprache und eine Vorrichtung zur Durchführung eines Verfahrens.
  • Für die Steuerung industrieller Anlagen (z. B. für die Montage von Bauteilen, für die Produktion von Gütern oder für die Prozesssteuerung von chemischen Anlagen) können im Wesentlichen verbindungsprogrammierte (d. h. verdrahtete) Steuerungen oder speicherprogrammierte Steuerungen (SPS, Soft-SPS) eingesetzt werden. Eine verdrahtete Steuerung liegt z. B. vor, wenn man mechanische oder elektronische Vorrichtungen zur Durchführung einer Aktion in der Anlage (z. B. Öffnen eines Ventils) statisch mit einem Sensor verknüpft und bei Vorliegen eines bestimmten Messwertes die Aktion ausgeführt wird. Bei speicherprogrammierten Steuerungen wird der Zustand der Anlage ständig durch komplexe Automatisierungsprogramme überwacht. Bei Eintritt eines bestimmten Anlagenzustands wird ein komplexes Programm ausgeführt, das die Manipulatoren (Aktoren) der Anlage ansteuert.
  • Fest verdrahtete Steuerungen sind statisch und unflexibel. Speicherprogrammierbare Steuerungen für großtechnische Anlagen (z. B. Raffinerie) sind komplex und daher oft nur aufwändig zu programmieren.
  • Es ist Aufgabe der vorliegenden Erfindung ein Eingabeverfahren zur Steuerung industrieller Anlagen und eine Vorrichtung zur Durchführung eines Verfahrens bereitzustellen, das für den Anlagenbetreiber eine einfache und flexible Möglichkeit bietet, eine industrielle Anlage zu steuern.
  • Die Aufgabe wird gelöst durch ein Eingabeverfahren zur Steuerung industrieller Anlagen mittels einer Makrosprache, wobei neben manuellen Eingabehilfsmitteln ein Bildschirm zum Visualisieren der Eingaben und zum Anzeigen resultierender Vorgänge, sowie eine Rechenanlage zur Steuerung der industriellen Anlage vorhanden sind, wobei dem Anwender eine Programmzeile mit Eingabefeldern am Bildschirm angezeigt wird, wobei durch den Anwender in einem Satz von Eingabefeldern eine Bedingung definiert wird, wobei die Bedingung eine Zustandsvariable, eine Relation und einen Wächterwert umfasst, wobei die Zustandsvariable eine Speicherzelle einer Automatisierungskomponente der industriellen Anlage repräsentiert, wobei der Wächterwert einen Wert oder einen Zustand darstellt, mit dem die Zustandsvariable bezüglich der Relation verglichen wird, wobei das Verhalten der Automatisierungskomponente durch eine Programmbibliothek der Rechenanlage definiert ist, wobei die Zustandsvariable durch die Sensoren des Systems oder die Steuerungskomponenten der industriellen Anlage neu gesetzt und bezüglich der Relation mit dem Wächterwert verglichen wird, wobei bei Erfüllen der Bedingung eine vom Anwender in der Programmzeile mit Eingabefeldern definierte Aktion in der industriellen Anlage ausgelöst wird. Durch das fensterbasierte Eingabeverfahren hat ein Anlagenbetreiber eine flexible und einfache Möglichkeit Aktionen (z. B. Öffnen eines Schiebers) festzulegen, die bei Eintritt eines bestimmten Zustands (z. B. ein Sensor liefert einen bestimmten Messwert) oder einer Bedingung (z. B. „Füllstand in einem Silo ist niedrig” und „Auftrag zur Füllung eines großen Mischers liegt vor”) ausgeführt werden. Das Eingabeverfahren stellt somit im Prinzip die Programmierung einer technischen Anlage durch eine Makrosprache dar. Die durch die Makros repräsentierten Programme werden bei Eintritt eines Zustands oder einer Bedingung (Zustand und/oder Bedingung werden durch Auswahl an den entsprechenden Eingabefeldern festgelegt) ausgeführt. Der Wächterwert wird vor dem Start durch den Benutzer gesetzt und bleibt während der Makroauswertung unverändert (ggf. wäre aber auch eine Anpassung des Wächterwerts durch eine Aktion denkbar). Das Neusetzen der Zufallsvariable kann z. B. durch Polling (zeitlich gesteuerte Nachfrage am Sensor, ob eine Änderung vorliegt, z. B. alle 5 sec, wobei bei zeitkritischen Systemen deutlich geringere Zeitabstände im Millisekundenbereich möglich sind). Das Neusetzen der Zufallsvariable kann aber auch Interruptgesteuert erfolgen (d. h. der Sensor liefert jede Änderung des Messwertes).
  • Eine erste vorteilhafte Ausgestaltung der Erfindung liegt darin, dass eine Aktion bei Erfüllung einer logischen Verknüpfung mehrerer in der Programmzeile definierter Bedingungen ausgelöst wird. Dadurch kann das Auslösen einer Aktion an das Erfüllen komplexer Sachverhalte geknüpft werden.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass die Menge der möglichen Zustandsvariablen in Abhängigkeit der in der industriellen Anlage vorhandenen Automatisierungskomponenten in einem dropdown-Menü im entsprechenden Eingabefeld dem Anwender zur Auswahl angeboten wird. Dadurch wird die Usability (Benutzerfreundlichkeit bei der Eingabe) für den Anwender erhöht. Die möglichen Zustandsvariablen stehen dediziert in Abhängigkeit der in der industriellen Anlage vorhandenen Automatisierungskomponenten für Eingaben zur Verfügung. Fehleingaben werden vermieden.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass die Menge der möglichen Werte oder Zustände für einen Wächterwert in Abhängigkeit einer ausgewählten Zustandsvariablen in einem dropdown-Menü im entsprechenden Eingabefeld dem Anwender zur Auswahl angeboten wird. Auch dadurch wird die Usability (Benutzerfreundlichkeit bei der Eingabe) für den Anwender erhöht. Die möglichen Wächterwerte stehen jeweils dediziert in Abhängigkeit einer ausgewählten Zustandsvariablen für Eingaben zur Verfügung. Fehleingaben werden vermieden.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass die Menge der möglichen Relationen in Abhängigkeit der ausgewählten Zustandsvariablen und des definierten Wächterwertes in einem dropdown-Menü im entsprechenden Eingabefeld dem Anwender zur Auswahl angeboten wird. Sinnvolle Relationen stehen jeweils dediziert in Abhängigkeit einer ausgewählten Zustandsvariablen und des jeweiligen Wächterwertes für Eingaben zur Verfügung. Eingaben für sinnlose Relationen werden vermieden.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass eine Aktion ein Kommando oder ein auszuführendes Programm und eine Automatisierungskomponente als Empfänger umfasst. Auch die entsprechende Aktion und der entsprechende Empfänger können über dropdown-Menüs ausgewählt werden. Empfänger der Aktion können sowohl die Komponente sein, in der das Programm definiert wurde, als auch alle Komponenten, die von ihr gesteuert werden. Die zur Verfügung stehenden Komponenten werden automatisch in die entsprechende Auswahlliste eingetragen. Die Liste wird bei jeder Änderung an der Anlagentopologie aktualisiert. Abhängig vom Typ des Empfängers stehen bestimmte Kommandos zur Verfügung, die an den Empfänger geschickt werden können (z. B. OUT oder STOP für ein Silo). Die zur Verfügung stehenden Kommandos werden für jeden Komponententyp spezifiziert und ebenfalls automatisch in die Auswahlliste (z. B. dropdown-Menü) eingetragen.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass mehrere Programmzeilen dem Anwender zur Verfügung stehen. Dadurch lassen sich komplexe und umfangreiche Ausführungsvorschriften (z. B. Steuerprogramme mit Bedingungen und Befehlen) zum Steuern einer technischen Anlage durch einfache Eingabemittel beschreiben.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass eine Ausführung der erstellten Programmzeilen nur erfolgt, wenn in der industriellen Anlage eine definierte Zustandsänderung erfolgte oder ein definiertes Ereignis eingetreten ist. Das Programm der Makrosprache muss somit nicht fortlaufend ausgewertet werden, sondern wird nur beim Eintreten eines neuen Ereignisses auf der Anlage angestoßen (z. B. neues Material kommt an). Bei jedem Signaleingang wird das komplette Programm von vorne ausgewertet und es werden ggf. entsprechende Aktionen ausgelöst. Von daher muss die Hardware (Computer, Prozessor), die das Programm ausführt nicht ständig aktiv sein, sondern es reicht aus das System zu aktivieren, wenn ein neues Ereignis eintritt. Dies vermindert den Energiebedarf und ggf. die Erhitzung/Abnutzung der Hardware.
  • Die Aufgabe wird weiterhin gelöst durch eine Vorrichtung zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 8, die Vorrichtung umfassend:
    • a) Ausgabemittel (z. B. Bildschirm, Display) zur Darstellung der Programmzeilen mit den Eingabefeldern;
    • b) Eingabemittel (z. B. Maus, Tastatur, Eingabestift, manuelle Eingabe durch Berührung an einem Touch-Bildschirm) zur Eingabe der Daten in den Eingabefeldern;
    • c) Verarbeitungsmittel (Prozessor, Software) zur Verarbeitung der in den Eingabefeldern hinterlegten Daten;
    • d) Kommunikationsmittel (drahtgebundene oder drahtlose Verbindungen) zum Auslösen von Kommandos oder Programmen in den Automatisierungskomponenten der industriellen Anlage. Optional kann die Vorrichtung auch Speichermittel umfassen, z. B. um Logdateien anzulegen. Die Vorrichtung kann mit handelsüblichen Mitteln (z. B. Personal Computer mit entsprechender Hardware und Software) erstellt werden.
  • Ein Ausführungsbeispiel der Erfindung ist in der Zeichnung dargestellt und wird im Folgenden erläutert.
  • Dabei zeigen:
  • 1 eine beispielhafte Prinzipdarstellung für die vorliegende Erfindung,
  • 2 eine erste beispielhafte Programmzeile für die erfindungsgemäß zu verwendende Makrosprache für die Steuerung industrieller Anlagen,
  • 3 ein beispielhaftes Makrosprache bestehend aus mehreren Programmzeilen, und
  • 4 eine beispielhafte Anwendung der Makrosprache im industriellen Umfeld.
  • 1 zeigt eine beispielhafte Prinzipdarstellung für ein erfindungsgemäßes Eingabeverfahren zur Steuerung industrieller Anlagen IA1 mittels einer Makrosprache. Ein Anwender kann an einem Bildschirm BS eines Computers C (es kann sich dabei auch um ein Bedienfeld (Operator Panel) einer industriellen Steuerung (z. B. Soft PLC oder SPS) handeln) über Programmzeilen PZ1, PZ2 das Verhalten vom Komponenten (z. B. Aktoren oder komplexere Maschinen) in der industriellen Anlage IA1 bestimmen. Eine Programmzeile PZ1, PZ2 umfasst eine oder mehrere Bedingungen, die auch logisch verknüpft sein können, wobei bei Erfüllung der Bedingung oder des logischen Ausdruckes eine Aktion A1 (z. B. Öffnen eines Ventils, Starten eines Förderbandes) in der industriellen Anlage ausgeführt wird. Zur Definition einer Bedingung kann ein Anwender (z. B. Anlagenfahrer) vorteilhafter weise über in den Eingabefeldern der Programmzeile PZ1, PZ2 hinterlegten dropdown-Menüs die zum aktuell vorliegenden Anlagenabbild AM der industriellen Anlage IA1 gehörenden Zustandsvariable, Relationen und Wächterwerte auswählen. Der Wert, mit dem eine Zustandsvariable verglichen wird, wird Wächterwert genannt. Das Anlagenabbild AM kann z. B. in einer Systembeschreibungssprache (z. B. UML) als mechatronisches Modell der zu Steuernden industriellen Anlage IA1 abgelegt sein. Aus diesem Anlagenabbild AM werden die Zustandsvariablen, Relationen und Wächterwerte der industriellen Anlage IA1 für die Eingabefelder B1, B2 der Programmzeilen PZ1, PZ2 abgeleitet. Bei der industriellen Anlage IA1 kann es sich um eine Produktionsanlage (z. B. für eine spanende Fertigung), eine Montageanlage (z. B. für das Zusammenbauen von Fahrzeugen) oder um eine prozesstechnische Anlage (z. B. chemische Anlage, Raffinerie, Brauerei) handeln.
  • Eine Aktion A1 besteht aus einem Kommando oder aus einem Ablaufprogramm (z. B. Batch) das ausgeführt wird, wenn in der Programmzeile PZ1, PZ2 der logische Ausdruck, der durch die Bedingungen B1, B2 gebildet wird, erfüllt ist. Weiterhin enthält eine Aktion A1 die Angabe eines Empfängers (Automatisierungskomponente in der industriellen Anlage IA1), an dem die Aktion ausgeführt wird.
  • Durch die Eingaben in den Eingabefeldern B1, B2 wird somit eine Makrosprache definiert, die einer Skriptsprache vergleichbar ist. Ein Anwender kann damit sehr komfortabel und schnell effektive Steuerungsprogramme erstellen. Die Zustandsvariablen müssen z. B. nicht deklariert werden, durch die Auswahl (dropdown-Menü) von dediziert möglichen Eingaben an den Eingabefeldern werden Fehleingaben vermieden. Die Abarbeitung und Analyse der in den Eingabefeldern ausgewählten Eingaben erfolgt über einen Interpreter (z. B. Kommandozeileninterpreter) zur Laufzeit des Steuerungsprogrammes für die industrielle Anlage IA. Die Abarbeitung und Analyse der Eingabefelder B1, B2 der Programmzeilen PZ1, PZ2 der Makrosprache und das Anstoßen einer Aktion A1 erfolgt über eine Auswertelogik AL, die den Interpreter I und das Anlagenmodell AM, sowie Kommunikationsmittel K (z. B. drahtgebundene Verbindung oder drahtlose Verbindung (z. B. WLAN)) zur Kommunikation mit der industriellen Anlage IA1 umfasst. Die erstellten Programme können in Textform abgespeichert (z. B. in einer Datenbank DB), bearbeitet und wieder geladen werden. Der Benutzer kann somit komfortabel zwischen verschiedenen Verhalten wechseln, indem er entsprechende Programme aus einer Bibliothek lädt. Das Standardverhalten der Automatisierungskomponenten kann durch eine mitgelieferte Programmbibliothek (abgespeichert in der Datenbank DB) definiert werden. Je nach Typ der industriellen Anlage können unterschiedliche Programmbibliotheken (z. B. Technologiepakete) vorhanden sein. Die Programmbibliotheken können skaliert eingesetzt werden, je nach Typ, Umfang und Größe einer industriellen Anlage IA.
  • 2 zeigt eine erste beispielhafte Programmzeile für die erfindungsgemäß zu verwendende Makrosprache für die Steuerung industrieller Anlagen. Zur Definition einer Automatisierungslogik wird eine Makrosprache spezifiziert, deren Programme aus Gründen der Validierbarkeit und Benutzerfreundlichkeit über Auswahlfelder einer Programmzeile PZ3 zusammengestellt werden können. Nichtsdestotrotz handelt es sich dabei um ein mächtiges Programmierwerkzeug. Die Syntax der Sprache ist den Anforderungen der Simulation angepasst und entsprechend übersichtlich gestaltet. Die Makrosprache basiert auf logischen Operatoren, die Speicherinhalte miteinander verknüpfen. Abhängig vom Ergebnis wird dann ein Befehl abgesetzt, d. h. es wird ein Schalter betätigt oder der Inhalt einer Speicherzelle geändert. Durch diesen einfachen Aufbau kann das vorgestellte System im Prinzip auch rein durch elektronische Bausteine umgesetzt werden und muss nicht zwangsläufig auf einer komplexen Rechenanlage laufen.
  • Im Wesentlichen besteht ein Programm dieser Makrosprache aus beliebig vielen Programmzeilen PZ3. In jeder Zeile PZ3 können Bedingungen definiert werden, deren Eintritt eine bestimmte Aktion auslöst. Für jede Programmzeile PZ3 können im dargestellten Beispiel zwei Bedingungen definiert werden. Bei Bedarf können aber weitere Bedingung hinzugefügt werden. Die in einer Programmzeile PZ3 dargestellten Bedingungen werden durch logisches ”UND” (&&) miteinander verknüpft. D. h. alle Bedingungen einer Programmzeile PZ3 müssen gleichzeitig erfüllt sein, um die entsprechende Aktion auszulösen. Logische ”ODER” Verknüpfungen können durch die Eingabe mehrerer Programmzeilen PZ3 erreicht werden. Schließlich kann über die Auswahl der Relation auch eine logische Negation, ”NOT” (!=), bewirkt werden – und somit sind alle denkbaren logischen Verknüpfungen von Bedingungen darstellbar.
  • Jede Bedingung überprüft den Wert einer Zustandsvariablen (Speicherzelle) der entsprechenden Steuerungskomponente. Die zur Verfügung stehenden Zustandsvariablen sind für jede Komponente festgelegt und werden automatisch in die entsprechende Auswahlliste (dropdown-Menü) übernommen. Die für die Überprüfung der Bedingung geltende Relation kann über ein weiteres Auswahlfeld eingestellt werden. Es stehen die Relationen <, >, <=, >=, != und == zur Verfügung. Der Wert, mit dem die Zustandsvariable verglichen wird, wird ”Wächter” genannt. Dabei wird die Zustandsvariable überwacht, ob der Wächter (d. h. der Wächterwert) eintritt (d. h. die Zufallsvariable erreicht den Wächterwert). Wenn dies eintritt, wird ein Signal ausgelöst. Durch das Signal wird wiederum die Auswertung des Makroprogramms angestoßen. In der, in 2 dargestellten Programmzeile PZ3, wird beispielsweise der Füllstand des ersten angeschlossenen Silos mit der Füllstandsstufe ”LOW” verglichen (filling_level_1 > LOW). Das Programm wird auf jeden Fall durch das Signal noch einmal aufgerufen, sobald der entsprechende Füllstand erreicht wurde. Dies kann dann z. B. dafür benutzt werden um mit einer weiteren Programmzeile die Materialabgabe am Silo zu stoppen (fillingLevel_1 == LOW -> STOP @ Silo_1). Neben den vordefinierten Wächtern (z. B. für ein Silo: HIGHHIGH, HIGH, LOW, LOWLOW), können vom Anwender beliebig viele weitere Wächter definiert werden. Die Aktion, die aufgrund der eingetretenen Bedingungen ausgelöst wird, besteht aus einem Kommando und einem Empfänger. Empfänger der Aktion können sowohl die Komponente sein, in der das Programm definiert wurde, als auch alle Komponenten, die von ihr gesteuert werden. Die zur Verfügung stehenden Komponenten werden automatisch in die entsprechende Auswahlliste eingetragen. Die Liste wird bei jeder Änderung an der Anlagentopologie aktualisiert. Abhängig vom Typ des Empfängers stehen bestimmte Kommandos zur Verfügung, die an den Empfänger geschickt werden können (z. B. OUT oder STOP für ein Silo). Die zur Verfügung stehenden Kommandos werden für jeden Komponententyp spezifiziert und ebenfalls automatisch in die Auswahlliste (dropdown-Menü) eingetragen.
  • 3 zeigt ein beispielhaftes Programm der Makrosprache bestehend aus mehreren Programmzeilen PZ4–PZ9. Das Programm der Makrosprache wird nicht fortlaufend ausgewertet, sondern wird nur beim Eintreten eines neuen Ereignisses auf der Anlage angestoßen (z. B. neues Material kommt an). Bei jedem Signaleingang wird das komplette Programm von vorne ausgewertet und es werden ggf. entsprechende Aktionen ausgelöst. Die Auswertungsstrategie kann durch das letzte Auswahlfeld AF beeinflusst werden (siehe in 3 rechte Eingabefelder AF). Ist dort die ”+”-Option ausgewählt, so wird bei erfolgreicher Ausführung der Aktion die Auswertung fortgesetzt. Soll das Programm nach erfolgreicher Aktionsauslösung stoppen, so muss dort die „–”-Option eingestellt werden.
  • In der konkreten Implementierung auf einer Rechenanlage können die Makroprogramme für Automatisierungskomponenten über ein eigenes Dialogfenster in den Programmzeilen PZ4–PZ9 eingegeben werden. Es können auch mehr als die dargestellten Programmzeilen sein. Die so erstellten Programme können in Textform abgespeichert, bearbeitet und wieder geladen werden. Der Benutzer kann somit komfortabel zwischen verschiedenen Verhalten wechseln, indem er entsprechende Programme aus einer Bibliothek lädt. Das Standardverhalten der Automatisierungskomponenten wird durch eine mitgelieferte Programmbibliothek definiert. Auf diese Weise kann der Sprachumfang der Makrosprache skaliert werden und den jeweiligen Anforderungen angepasst werden.
  • Mit dem hier vorgestellten Konzept lassen sich insbesondere folgende Vorteile erreichen:
    • – Höhere Flexibilität als bei fest verdrahteter Steuerungslogik: die Ausführung von bestimmten Steuerungsaktionen kann an Bedingungen geknüpft werden, die im Rahmen des Systems frei konfiguriert werden können. Daneben beinhaltet das Konzept eine Schleife (indem Komponenten sich selbst Befehle schicken können). Dadurch erreicht man die Turing-Vollstandigkeit, d. h. mit dieser einfachen Programmiersprache können theoretisch alle berechenbaren Funktionen dargestellt werden.
    • – Geringere Komplexität als bei frei programmierbarer Steuerung: das Programmierkonzept bietet nur einen sehr reduzierten, und auf den jeweiligen Anwendungsfall zugeschnittenen Befehlssatz an (Skalierbarkeit). Das Programmieren beschrankt sich auf das Zusammenstellen von Befehlen und Aktionen aus Auswahlfeldern. Daher ist der Einarbeitungsaufwand, und später der Wartungsaufwand der Programme deutlich vermindert z. B. im Vergleich zur Programmierung von SPS-Programmen.
    • – Optimierung auf ereignisgetriebenes Steuerungskonzept: die hinterlegten Programme werden nur dann ausgeführt, wenn eine Änderung im Systemzustand (bestimmtes Ereignis) eingetreten ist. Der daraufhin ausgeführte Befehl löst dann seinerseits ein Ereignis in der Zukunft aus (z. B. Ventil wird geöffnet -> in 20 min. wird der Füllstand HIGH erreicht). Das kann auch genutzt werden um das System in StandBy zu versetzen und mit einem Timer genau in 20 min. wieder zu „wecken”. Von daher muss die Hardware, die das Programm ausführt nicht ständig aktiv sein, sondern es reicht aus das System zu aktivieren, wenn ein neues Ereignis eintritt. Prinzipiell ist aber auch eine zyklische Abarbeitung der Programmzeilen möglich.
  • 4 zeigt eine beispielhafte Anwendung der Makrosprache im industriellen Umfeld. Das vorgestellte Konzept soll nun in 4 anhand eines Anwendungsbeispiels (als Flowchart bzw. als Ablaufdiagramm) erläutert werden. Dafür betrachtet man die Reaktion der Steuerung auf den Befehl ”OUT | 500”, d. h. es sollen 500 m3 Material von den, von der Steuerung verwalteten Silos, ausgegeben werden. Die Standardreaktion der Komponente auf den Befehl ist, dass die angeforderte Menge möglichst schnell über alle zur Verfügung stehenden Speicherkomponenten (d. h. parallel) entladen wird. Für bestimmte Anwendungsfälle kann es sinnvoller sein, die Bearbeitungsstrategie des Befehls dahingehend zu andern, dass die zur Verfügung stehenden Speicherkomponenten (in diesem Fall Silos) nacheinander geleert werden. Zudem soll in dem Beispiel das erste der Silos nur bis zur Hälfte geleert werden, da (z. B. aufgrund eines Fehlers) ein vollständiges Entleeren nicht möglich ist. Es wird zur Vereinfachung davon ausgegangen, dass die Silos nicht gleichzeitig befüllt und geleert werden. Das entsprechende Programm ist in 3 dargestellt.
  • Beim Eintreffen des Befehls ”OUT | 500” steht der Wert der Zustandsvariable ”requestedOutput” auf 500. Dementsprechend muss man in dem Programm testen, ob eine Materialanforderung vorliegt. Daher wird die Zustandsvariable ”requestedOutput” entsprechend überprüft, bevor eine Materialentladung stattfinden kann (requestedOutput > 0). Zusatzlich wird für jede Speicherkomponente überprüft, ob ihr Füllstand über dem minimalen Level liegt (Für Silo 1 sind es 50%, für die restlichen Silos ”LOW”). Nachdem alle OUT-Befehle mit „–” enden (d. h. Ausführung wird nach der erfolgreichen Bearbeitung einer Zeile abgebrochen), gibt die Reihenfolge der Programmzeilen an, dass die Silos einzeln in aufsteigender Reihenfolge entladen werden sollen. Es wird zuerst überprüft, ob der Füllstand von Silo 1 unter seinem neu definierten Minimal-Level liegt. Ist dies der Fall, so wird die Materialabgabe gestoppt. Da diese Zeile mit „+” endet, wird die Programmabarbeitung fortgesetzt, d. h. die Materialabgabe am nächsten Silo in der Reihe kann gestartet werden. In Zeile 2 (siehe 3) des Programms wird nun überprüft, ob die Bedingungen für eine Entladung von Silo 1 erfüllt sind. Ist dies der Fall, so wird die Materialausgabe von Silo 1 aktiviert. Nachdem der Anwender einen neuen Wachter „50%” definiert hat, wird zusätzlich ein Signal angefordert, das das Programm wieder aufruft, sobald der Füllstand 50% erreicht hat. Da die Zeile mit „–” endet, und bereits eine Aktion ausgeführt wurde, wird die Programmauswertung an dieser Stelle abgebrochen. Treffen nun in der Zwischenzeit neue (beliebige) Befehle an der Untergruppensteuerung ein, so beginnt die Auswertung erneut und die Aktion zur Materialausgabe an Silo 1 wird ggf. nochmals gestartet. Dies hätte jedoch keine weitere Auswirkung, weil es nichts an der schon stattfindenden Materialabgabe von Silo 1 ändert und das Programm wieder an dieser Stelle beendet werden würde (Reentranz).
  • Der nächste Zeitpunkt, an dem sich ein neuer Zustand einstellt, ist das Eintreffen eines Signals, wenn der Silofüllstand von Silo 1 die 50%-Marke erreicht hat. Die Bedingungen der ersten zwei Zeilen sind dann nicht mehr erfüllt. Die Auswertung schreitet demnach zur dritten Zeile fort, aber dort wird festgestellt, dass der Füllstand von Silo 2 bereits unter ”LOW” liegt, d. h. es kann keine Materialabgabe des Silos gestartet werden. Die Auswertung schreitet daher zu Zeile 4 (siehe 3) fort, die als erste alle Bedingungen erfüllt. D. h. nun wird die Materialausgabe an Silo 3 gestartet, das nächste Silo in der Reihe mit ausreichendem Füllstand. Die Auswertung dieses Zyklus' endet damit. Durch Setzen von”+”-Optionen am Ende von Programmzeilen (siehe 3; AF) könnte das Verhalten weiter verändert werden. Wird beispielsweise die ”+”-Option in Zeile 4 (siehe 3) gesetzt (Aktion für Silo 3), so werden nach der Leerung von Silo 1 auf 50% die Silos 3 und 4 parallel entleert. Hat Silo 4 das Level ”LOW” erreicht, so wird mit der Leerung von Silo 5 fortgefahren. Wie man sieht, erhält man durch diese einfach programmierbare Makrosprache ein mächtiges Werkzeug, um nahezu beliebige Steuerungsstrategien zu implementieren.
  • Eingabeverfahren zur Steuerung industrieller Anlagen mittels einer Makrosprache, wobei neben manuellen Eingabehilfsmitteln ein Bildschirm zum Visualisieren der Eingaben und zum Anzeigen resultierender Vorgänge, sowie eine Rechenanlage zur Steuerung der industriellen Anlage vorhanden sind, wobei dem Anwender eine Programmzeile mit Eingabefeldern am Bildschirm angezeigt wird, wobei durch den Anwender in einem Satz von Eingabefeldern eine Bedingung definiert wird, wobei die Bedingung eine Zustandsvariable, eine Relation und einen Wächterwert umfasst, wobei die Zustandsvariable eine Speicherzelle einer Automatisierungskomponente der industriellen Anlage repräsentiert, wobei der Wächterwert einen Wert oder einen Zustand darstellt, mit dem die Zustandsvariable bezüglich der Relation verglichen wird, wobei das Verhalten der Automatisierungskomponente durch eine Programmbibliothek der Rechenanlage definiert ist, wobei der Wächterwert durch Sensorik oder Steuerungskomponenten der industriellen Anlage überwacht wird, wobei bei Erfüllen der Bedingung eine vom Anwender in der Programmzeile mit Eingabefeldern definierte Aktion in der industriellen Anlage ausgelöst wird. Die Eingaben in Eingabefeldern stellen eine Makro- oder Skriptsprache dar, die von einem Interpreter abgearbeitet und analysiert wird und entsprechende Aktionen in der industriellen Anlage auslöst. Damit kann ein Anwender komfortabel und schnell Steuerungsprogramme erstellen.
  • Bezugszeichen
    • PZ1–PZ9
      Programmzeile
      B1, B2
      Bedingung
      A1
      Aktion
      AF
      Auswahlfeld
      BS
      Bildschirm
      C
      Computer
      T
      Tastatur
      M
      Computermaus
      DB
      Datenbank
      AL
      Auswertelogik
      I
      Interpreter
      AM
      Anlagenmodell
      IA1, IA2
      Industrielle Anlage

Claims (9)

  1. Eingabeverfahren zur Steuerung industrieller Anlagen (IA1, IA2) mittels einer Makrosprache, wobei neben manuellen Eingabehilfsmitteln ein Bildschirm (BS) zum Visualisieren der Eingaben und zum Anzeigen resultierender Vorgänge, sowie eine Rechenanlage (C) zur Steuerung der industriellen Anlage (IA1, IA2) vorhanden sind, wobei dem Anwender eine Programmzeile (PZ1–PZ9) mit Eingabefeldern am Bildschirm (BS) angezeigt wird, wobei durch den Anwender in einem Satz von Eingabefeldern eine Bedingung (B1, B2) definiert wird, wobei die Bedingung (B1, B2) eine Zustandsvariable, eine Relation und einen Wächterwert umfasst, wobei die Zustandsvariable eine Speicherzelle einer Automatisierungskomponente der industriellen Anlage (IA1, IA2) repräsentiert, wobei der Wächterwert einen Wert oder einen Zustand darstellt, mit dem die Zustandsvariable bezüglich der Relation verglichen wird, wobei das Verhalten der Automatisierungskomponente durch eine Programmbibliothek der Rechenanlage (C) definiert ist, wobei die Zustandsvariable durch die Sensoren des Systems oder die Steuerungskomponenten der industriellen Anlage (IA1, IA2) neu gesetzt und bezüglich der Relation mit dem Wächterwert verglichen wird, wobei bei Erfüllen der Bedingung eine vom Anwender in der Programmzeile (PZ1–PZ9) mit Eingabefeldern definierte Aktion in der industriellen Anlage (IA1, IA2) ausgelöst wird.
  2. Eingabeverfahren nach Anspruch 1, wobei eine Aktion bei Erfüllung einer logischen Verknüpfung mehrerer in der Programmzeile definierter Bedingungen (B1, B2) ausgelöst wird.
  3. Eingabeverfahren nach Anspruch 1 oder 2, wobei die Menge der möglichen Zustandsvariablen in Abhängigkeit der in der industriellen Anlage (IA1, IA2) vorhandenen Automatisierungskomponenten in einem dropdown-Menü im entsprechenden Eingabefeld dem Anwender zur Auswahl angeboten wird.
  4. Eingabeverfahren nach einem der vorstehenden Ansprüche, wobei die Menge der möglichen Werte oder Zustände für einen Wächterwert in Abhängigkeit einer ausgewählten Zustandsvariablen in einem dropdown-Menü im entsprechenden Eingabefeld dem Anwender zur Auswahl angeboten wird.
  5. Eingabeverfahren nach einem der vorstehenden Ansprüche, wobei die Menge der möglichen Relationen in Abhängigkeit der ausgewählten Zustandsvariablen und des definierten Wächterwertes in einem dropdown-Menü im entsprechenden Eingabefeld dem Anwender zur Auswahl angeboten wird.
  6. Eingabeverfahren nach einem der vorstehenden Ansprüche, wobei eine Aktion ein Kommando oder ein auszuführendes Programm und eine Automatisierungskomponente als Empfänger umfasst.
  7. Eingabeverfahren nach einem der vorstehenden Ansprüche, wobei mehrere Programmzeilen (PZ1–PZ9) dem Anwender zur Verfügung stehen.
  8. Eingabeverfahren nach einem der vorstehenden Ansprüche, wobei eine Ausführung der erstellten Programmzeilen (PZ1–PZ9) nur erfolgt, wenn in der industriellen Anlage (IA1, IA2) eine definierte Zustandsänderung erfolgte oder ein definiertes Ereignis eingetreten ist.
  9. Vorrichtung zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 8, die Vorrichtung umfassend: a) Ausgabemittel (BS) zur Darstellung der Programmzeilen (PZ1–PZ9) mit den Eingabefeldern; b) Eingabemittel (T, M) zur Eingabe der Daten in den Eingabefeldern; c) Verarbeitungsmittel (AL, C) zur Verarbeitung der in den Eingabefeldern hinterlegten Daten; d) Kommunikationsmittel (K) zum Auslösen von Kommandos (A1) oder Programmen in den Automatisierungskomponenten der industriellen Anlage (IA1, IA2).
DE201110007198 2011-04-12 2011-04-12 Eingabeverfahren zur Steuerung industrieller Anlagen Ceased DE102011007198A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE201110007198 DE102011007198A1 (de) 2011-04-12 2011-04-12 Eingabeverfahren zur Steuerung industrieller Anlagen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE201110007198 DE102011007198A1 (de) 2011-04-12 2011-04-12 Eingabeverfahren zur Steuerung industrieller Anlagen

Publications (1)

Publication Number Publication Date
DE102011007198A1 true DE102011007198A1 (de) 2012-10-18

Family

ID=46935303

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201110007198 Ceased DE102011007198A1 (de) 2011-04-12 2011-04-12 Eingabeverfahren zur Steuerung industrieller Anlagen

Country Status (1)

Country Link
DE (1) DE102011007198A1 (de)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5847953A (en) * 1996-09-23 1998-12-08 National Instruments Corporation System and method for performing class checking of objects in a graphical data flow program
DE10041072A1 (de) * 2000-08-22 2002-03-14 Siemens Ag Verfahren zur automatischen Erzeugung von Programmcode
WO2006089451A1 (de) * 2005-02-28 2006-08-31 Netstal-Maschinen Ag Verfahren zur steurung und bedienung einer produktionszelle sowie eine steuervorrichtung

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5847953A (en) * 1996-09-23 1998-12-08 National Instruments Corporation System and method for performing class checking of objects in a graphical data flow program
DE10041072A1 (de) * 2000-08-22 2002-03-14 Siemens Ag Verfahren zur automatischen Erzeugung von Programmcode
WO2006089451A1 (de) * 2005-02-28 2006-08-31 Netstal-Maschinen Ag Verfahren zur steurung und bedienung einer produktionszelle sowie eine steuervorrichtung

Similar Documents

Publication Publication Date Title
EP2453326B1 (de) Verfahren und System zur Bedienung einer Maschine aus der Automatisierungstechnik
DE112012001007T5 (de) Mehrachsensteuersystem-Einstell-/Justierfunktionsunterstützungsvorrichtung
DE112012005611B4 (de) System-Architektur-Unterstützungswerkzeug
WO2011063869A1 (de) Verfahren zum ermöglichen einer sequentiellen, nicht blockierenden abarbeitung von anweisungen in nebenläufigen tasks in einer steuereinrichtung
EP2770382B1 (de) Verfahren zur Inbetriebnahme eines Automatisierungssystems
EP2083339A1 (de) Verfahren und Vorrichtung zur Ausführung von Tests mittels funktional kaskadierten Test- und Experimentiervorrichtungen
DE102011007198A1 (de) Eingabeverfahren zur Steuerung industrieller Anlagen
EP3931653A1 (de) Verfahren zum engineering und simulation eines automatisierungssystems mittels digitaler zwillinge
WO2014154281A1 (de) Objektbasierte konfiguration einer prozess- und/oder fertigungsanlage
EP2496993B1 (de) Verfahren zur absicherung von end-user programmänderungen durch formale kontrakte und programmverifikation in der automatisierungstechnik
EP3475775B1 (de) Ermitteln einer ausführungszeit eines anwenderprogramms
WO2015124320A1 (de) Dynamisches speicherprogrammierbares steuergerät zum emulieren eines steuergerätes
WO2019057559A1 (de) Verfahren und datenverarbeitungsvorrichtung zum computerunterstützten bereitstellen einer in form von computercode vorliegenden information zu einem prozessmodul, sowie computerprogrammprodukt zur durchführung des verfahrens
DE102018204952A1 (de) Testverfahren eines mechatronischen Systems
DE102014016819A1 (de) Verfahren und Einrichtung zur Verwaltung und Konfiguration von Feldgeräten einer Automatisierungsanlage
EP3779619B1 (de) Verfahren und vorrichtung zur bestimmung emergenter risiken eines technischen systems
EP3021220A1 (de) Verfahren und Computer zum Zugriff eines Echtzeit-Betriebssystems auf einen AHCI-Controller
EP3696621A1 (de) Computerimplementiertes verfahren und vorrichtung zum steuern eines modularen technischen systems
EP2420908A1 (de) Automatisierungseinrichtung und Verfahren zum Betreiben und zur Vorhersage deren Betriebsdauer
EP2363771A1 (de) Programmierschnittstelle und Verfahren zur Steuerung einer Anwendung eines Gerätes einer industriellen Automatisierungsanordnung
DE102010019142A1 (de) Makromanagementsystem für ein Engineeringsystem zur Parametrierung von Schaltgeräten
DE102005036475B3 (de) Verfahren zur sicheren Bedienung und Programmierung sicherheitsgerichteter Geräte
EP3731050A1 (de) Visualisierung eines anlagenschaubilds mit dynamisch einstellbaren prozessobjekten
DE102014006622B4 (de) Verfahren zur Fernnutzung eines Endgerätes
WO2019057557A1 (de) Verfahren und vorrichtung zum computerunterstützten bereitstellen einer in form von computercode vorliegenden steuerinformation zu einem prozess, sowie computerprogrammprodukt zur durchführung des verfahrens

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20121130