DE102010012307B4 - Verfahren und Vorrichtung zum Erstellen eines Verfahrensablaufs für eine speicherprogrammierbare Steuerung - Google Patents

Verfahren und Vorrichtung zum Erstellen eines Verfahrensablaufs für eine speicherprogrammierbare Steuerung Download PDF

Info

Publication number
DE102010012307B4
DE102010012307B4 DE102010012307.2A DE102010012307A DE102010012307B4 DE 102010012307 B4 DE102010012307 B4 DE 102010012307B4 DE 102010012307 A DE102010012307 A DE 102010012307A DE 102010012307 B4 DE102010012307 B4 DE 102010012307B4
Authority
DE
Germany
Prior art keywords
data type
search
input
input device
plc
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.)
Expired - Fee Related
Application number
DE102010012307.2A
Other languages
English (en)
Other versions
DE102010012307A1 (de
Inventor
Stephan Schultze
Wolfgang Paul
Stefan RIEDMANN
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102010012307.2A priority Critical patent/DE102010012307B4/de
Publication of DE102010012307A1 publication Critical patent/DE102010012307A1/de
Application granted granted Critical
Publication of DE102010012307B4 publication Critical patent/DE102010012307B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC

Abstract

Verfahren zum Erstellen eines Verfahrensablaufs für eine speicherprogrammierbare Steuerung, bei welchem Elemente zur Erstellung des Verfahrensablaufs für die speicherprogrammierbare Steuerung mittels einer Eingabeeinrichtung (20) eingegeben werden und die mit der Eingabeeinrichtung (20) eingegebenen Elemente mittels einer Anzeigeeinrichtung (10) angezeigt werden, mit den Schritten Suchen (S32) in einer Speichereinrichtung (40) nach einem bei dem zu erstellenden Verfahrensablauf verwendbaren Datentyp auf der Grundlage seiner Funktion, und Anzeigen (S32) des Suchergebnisses mittels der Anzeigeeinrichtung (30), wobei bei dem Suchschritt (S32) nacheinander verschiedene Abfragen mittels der Anzeigeeinrichtung (30) angezeigt werden, die auf der Grundlage von über die Eingabeeinrichtung (20) eingegebenen Antworten auf die Abfragen erstellt werden, wobei in Verbindung mit den Eingaben des Benutzers über die Eingabeeinrichtung (20) mit jedem Schritt die mögliche Zahl an für den speziellen Anwendungsfall möglichen Datentypen immer mehr eingeschränkt wird.

Description

  • Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Erstellen eines Verfahrensablaufs für eine speicherprogrammierbare Steuerung.
  • In der Automatisierungstechnik wird eine Speicherprogrammierbare Steuerung, kurz SPS genannt, verwendet, um Verfahrensabläufe von Maschinen und Anlagen zu steuern und zu regeln. Die Verfahrensabläufe sind hierbei in einer Ablauflogik in einem Programm der Speicherprogrammierbaren Steuerung bzw. SPS-Programm enthalten. Zur Erstellung von SPS-Programmen werden zumeist SPS-Programmiersysteme verwendet.
  • Aus dem Stand der Technik bekannte SPS-Programmiersysteme weisen üblicherweise eine grafische oder textbasierte Oberfläche auf, mit deren Hilfe SPS-Programme und SPS-Funktionsbausteine bzw. FBs in verschiedenen SPS-Programmiersprachen bzw. Sprachdialekten erstellt werden können. Damit ist die SPS-Programmierung im Stand der Technik sehr flexibel und es können auch im Wesentlichen beliebige Abläufe gesteuert werden.
  • Bei der Erstellung von SPS-Programmen werden oftmals SPS-Programmiersprachen nach der Europäischen Norm EN 61131 (IEC 61131) verwendet. Die EN 61131 definiert derzeit fünf SPS-Programmiersprachen nämlich AWL Anweisungsliste, KOP Kontaktplan, FBS Funktionsbausteinsprache, AS Ablaufsprache und ST Strukturierter Text. Hiervon sind AWL, KOP und FBS alle grafisch, wohingegen AS und ST beide textbasiert sind.
  • Allen Programmiersprachen gemeinsam ist die Möglichkeit der Verwendung von Datentypen und Instanzen davon. Die Instanzen davon werden auch SPS-Variable genannt.
  • Bei den Datentypen wird zwischen folgenden Datentypen unterschieden:
    • -elementaren Datentypen (beispielsweise Natürliche und Ganze Zahlen, Gleitkommazahlen, Logische Werte, Zeichen, Zeichenketten, Aufzählungen, usw.)
    • -zusammengesetzten Datentypen (Strukturen), sowie
    • -Zeiger und Referenzen.
  • SPS-Variablen müssen vor ihrer ersten Verwendung zunächst deklariert werden. Dies erfolgt bei gängigen SPS-Programmiersystemen üblicherweise in einem eigenen Deklarationsteil, während die Funktionalität (Logik) in einem eigenen Implementationsteil ausprogrammiert wird. 4 zeigt oben rechts ein Beispiel für einen Deklarationsteil eines bekannten SPS-Programmiersystems und unten rechts ein Beispiel für einen Implementationsteil.
  • Bei der Deklaration einer SPS-Variablen werden Name und Typ (Datentyp) der Variablen festgelegt Optional werden zudem Initialisierungswerte oder Initialisierungsaufrufe festgelegt. Hierzu muss der SPS-Programmierer in Abhängigkeit der benötigten Funktionalität den Typnamen des geeigneten Datentyps kennen.
  • Während die Typnamen der elementaren Datentypen zumeist allgemein bekannt sind, sind Typnamen von in externen SPS-Bibliotheken enthaltenen komplexen Datentypen wie auch Enumerationen erfahrungsgemäß weniger bekannt.
  • Daher stellen fortgeschrittene SPS-Programmiersysteme nach dem Stand der Technik Eingabehilfen in Form von Kontextmenüs und Popups bereit, in denen vordefinierte, aber auch benutzerdefinierte, Datentypen meist aus einer Liste ausgewählt werden können. Ein Beispiel für eine solche Eingabehilfe ist in 5 angegeben. Weiterhin können diese Eingabehilfen oftmals auch die aktuelle Benutzereingabe im Deklarationsteil bzw. Implementationsteil automatisch vervollständigen („Intellisense“).
  • Neben Kontextmenüs und Popups können SPS-Programmiersysteme nach dem Stand der Technik auch Dialoge enthalten, in denen Datentypen in Form einer Liste oder Baumstruktur angezeigt werden. Wählt der SPS-Programmierer einen Datentyp aus, wird der Typname des Datentyps meist durch das SPS-Programmiersystem anschließend automatisch an die aktuelle Cursorposition eingetragen. Handelt es sich bei dem Datentyp um einen komplexen Typ, z.B. um einen SPS-Funktionsbaustein, können neben dem Typnamen des Datentyps zusätzlich auch alle Ein- und Ausgänge des SPS-Funktionsbausteins an der aktuellen Cursorposition in den Quellcode des SPS-Programms mit eingetragen werden.
  • Die beschriebenen Eingabehilfen in Form von Kontextmenüs, Popups, Dialogen nach dem Stand der Technik sind leistungsfähig und reduzieren Tipparbeit und Tippfehler für einen SPS-Programmierer. Ein Nachteil der existierenden Eingabehilfen ist jedoch, dass der SPS-Programmierer einen für seine Zwecke geeigneten Datentyp in den listenorientierten Kontextmenüs und Popups nur nach alphabetischen oder organisatorischen Gesichtspunkten, wie beispielsweise Bibliotheken, suchen kann. Das heißt, der SPS-Programmierer muss den Datentyp bereits kennen oder anhand von Dokumentation ermitteln. Das ist für den Programmierer regelmäßig sehr mühsam und führt evtl. sogar dazu, dass er einen genau auf sein Programmieranliegen passenden Datentyp nicht findet und dann neu anlegt.
  • Es ist bekannt, dass die genannten Eingabehilfedialoge für solche Fälle eine Vorsortierung der Datentypen vornehmen, indem die Datentypen zunächst beispielsweise nach auswählbaren Kategorien sortiert werden. In Abhängigkeit einer ausgewählten Kategorie, beispielsweise alle SPS-Funktionsblöcke, können in den Eingabehilfedialogen anschließend die in den geladenen Bibliotheken oder im aktuellen Projekt vorhandenen Funktionsbaustein-Datentypen ausgewählt werden. Zwar werden bei SPS-Entwicklungsumgebungen nach dem Stand der Technik die Datentypen in der Regel durch Verwendung einer Verzeichnisstruktur vorsortiert, allerdings können diese Verzeichnisstrukturen nicht die gesamte Funktionalität und Komplexität eines beispielsweise für Prozessregelungszwecke eingesetzten SPS-Funktionsbausteins wiedergeben.
  • Alles in allem ist für den SPS-Programmierer in den bekannten SPS-Programmiersystemen die Suche nach einem für den jeweiligen Anwendungsfall geeigneten Datentyp wenig komfortabel, da unbekannte und nicht mehr bekannte bzw. „entfallene“ Datentypen nicht nach funktionellen Gesichtspunkten gesucht werden können. Darüber hinaus wird mangels Kenntnis der Existenz eines Datentyps ein für den jeweiligen Anwendungsfall geeigneter Datentyp vom SPS-Programmierer ohne intensive Beschäftigung mit der Dokumentation zur SPS-Bibliothek möglicherweise nicht gefunden. Daher gestaltet sich die SPS-Programmierung für solche Fälle sehr zeitaufwändig und damit kostenintensiv.
  • Nach dem Stand der Technik führt das Vorgehen bei der Programmentwicklung also von der Dokumentation zu der Programmbibliothek, in welcher der gewünschte Datentyp (Programm, Funktionsbaustein, usw.) zu finden ist, und anschließend zum manuellen oder dialoggestützten Anlegen einer Instanz.
  • Es ist daher Aufgabe der Erfindung, ein Verfahren und eine Vorrichtung zum Erstellen eines Verfahrensablaufs für eine speicherprogrammierbare Steuerung (SPS) zur Verfügung zu stellen, welches die Anwenderfreundlichkeit bei der SPS-Programmerstellung erhöht und die SPS-Programmerstellung vereinfacht und dadurch die SPS-Programmerstellung weniger zeitaufwändig und dadurch kostengünstiger gestaltet. Die Aufgabe wird durch ein Verfahren nach Patentanspruch 1 gelöst, welches zum Erstellen eines Verfahrensablaufs für eine speicherprogrammierbare Steuerung dient, bei welchem Elemente zur Erstellung des Verfahrensablaufs für die speicherprogrammierbare Steuerung mittels einer Eingabeeinrichtung eingegeben werden und die mit der Eingabeeinrichtung eingegebenen Elemente mittels einer Anzeigeeinrichtung angezeigt werden. Das Verfahren umfasst die Schritte: Suchen in einer Speichereinrichtung nach einem bei dem zu erstellenden Verfahrensablauf verwendbaren Datentyp auf der Grundlage seiner Funktion, und vorteilhaft Anzeigen des Suchergebnisses mittels der Anzeigeeinrichtung , wobei bei dem Suchschritt nacheinander verschiedene Abfragen mittels der Anzeigeeinrichtung angezeigt werden, die auf der Grundlage von über die Eingabeeinrichtung eingegebenen Antworten auf die Abfragen erstellt werden, wobei in Verbindung mit den Eingaben des Benutzers über die Eingabeeinrichtung mit jedem Schritt die mögliche Zahl an für den speziellen Anwendungsfall möglichen Datentypen immer mehr eingeschränkt wird. Zusätzlich oder neben dem Anzeigen kann das Suchergebnis jedoch auch in anderer Weise behandelt, etwa abgespeichert werden. Auch eine maschineninterne Ausgabe als Suchergebnis wäre denkbar.
  • Vorteilhafte weitere Ausgestaltungen des Verfahrens sind in den abhängigen Patentansprüchen angegeben.
  • Es ist von Vorteil, wenn bei dem Suchschritt Abfragen mittels der Anzeigeeinrichtung anzeigt werden, die schrittweise von einer allgemeinen Spezifikation von Funktionen des Datentyps zu einer speziellen Spezifikation von Funktionen des Datentyps übergehen.
  • Es ist auch möglich, dass bei dem Suchschritt als Suchergebnis ein passender Datentyp identifiziert wird, woraufhin mittels der Eingabeeinrichtung eine Instanz des identifizierten passenden Datentyps angelegt werden kann und eine Parametrierung von Eigenschaften der angelegten Instanz ermöglicht wird.
  • Bei dem Suchschritt kann die Speichereinrichtung in Bezug auf von dem Suchschritt angezeigte Suchergebnisse zumindest teilweise verändert werden.
  • Die Aufgabe wird zudem durch ein Computerprogrammprodukt nach Patentanspruch 6 gelöst, mit einem Computerprogramm, welches Softwaremittel zur Durchführung eines Verfahrens nach einem der vorangehenden Ansprüche aufweist, wenn das Computerprogramm in einem Automatisierungssystem ausgeführt wird.
  • Die Aufgabe wird zudem durch eine Vorrichtung zur Erstellung eines Verfahrensablaufs für eine speicherprogrammierbare Steuerung nach Patentanspruch 7 gelöst. Die Vorrichtung umfasst eine Eingabeeinrichtung zur Eingabe von Elementen zur Erstellung des Verfahrensablaufs für die speicherprogrammierbare Steuerung, eine Anzeigeeinrichtung zur Anzeige der mit der Eingabeeinrichtung eingegebenen Elemente, und eine Sucheinrichtung zur Suche in einer Speichereinrichtung nach einem bei dem zu erstellenden Verfahrensablauf verwendbaren Datentyp auf der Grundlage seiner Funktion und zur Anzeige des Suchergebnisses mittels der Anzeigeeinrichtung, wobei die Sucheinrichtung dahingehend ausgestaltet ist, dass sie nacheinander verschiedene Abfragen mittels der Anzeigeeinrichtung anzeigt, die auf der Grundlage von über die Eingabeeinrichtung eingegebenen Antworten auf die Abfragen erstellt werden und wobei in Verbindung mit den Eingaben des Benutzers über die Eingabeeinrichtung mit jedem Schritt die mögliche Zahl an für den speziellen Anwendungsfall möglichen Datentypen immer mehr eingeschränkt wird.
  • Vorteilhafte weitere Ausgestaltungen der Vorrichtung sind in den abhängigen Patentansprüchen angegeben.
  • Es ist vorteilhaft, wenn die Sucheinrichtung dahingehend ausgestaltet ist, dass sie Abfragen mittels der Anzeigeeinrichtung anzeigt, die schrittweise von einer allgemeinen Spezifikation von Funktionen des Datentyps zu einer speziellen Spezifikation von Funktionen des Datentyps übergehen.
  • Es ist auch möglich, dass die Sucheinrichtung dahingehend ausgestaltet ist, dass sie als Suchergebnis einen passenden Datentyp identifiziert, woraufhin mittels der Eingabeeinrichtung eine Instanz des identifizierten passenden Datentyps angelegt werden kann, und eine Parametrierung von Eigenschaften der angelegten Instanz ermöglicht wird.
  • Nachfolgend wird die Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen und anhand eines Ausführungsbeispiels näher beschrieben. Es zeigen:
    • 1 ein Blockschaltbild einer Vorrichtung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
    • 2 ein Flussdiagramm, welches den Ablauf einer Erstellung eines Verfahrensablaufs für eine speicherprogrammierbare Steuerung bei der Vorrichtung von 1 veranschaulicht;
    • 3 ein Flussdiagramm, welches den Ablauf einer Hilfe bei der Suche nach einem Datentyp für eine speicherprogrammierbare Steuerung bei dem Ablauf von 2 veranschaulicht;
    • 4 eine Ansicht eines Deklarationsteils und Implementationsteils eines SPS-Programmiersystem gemäß dem Stand der Technik; und
    • 5 eine Ansicht eines Eingabehilfsfensters eines SPS-Programmiersystems gemäß dem Stand der Technik.
  • (Ausführungsbeispiel)
  • Nachfolgend ist ein Verfahren und eine Vorrichtung beschrieben, bei welchen SPS-Datentypen bei der Erstellung von SPS-Programmen aus funktioneller Sicht, beispielsweise aus einer Speichereinrichtung und insbesondere aus einer Datenbank, ausgewählt werden können. SPS-Datentypen sind dabei SPS-Funktionsbausteine, SPS-Funktionen, Datenstrukturen, Enumerationen, usw., wie zuvor erwähnt. Das beschriebene Verfahren und die beschriebene Vorrichtung sind jedoch insbesondere für SPS-Funktionsbausteine vorteilhaft, da diese in der Regel viele Funktionen und damit eine große Funktionalität und Komplexität haben, die sich für einen SPS-Programmierer üblicherweise nicht auf den ersten Blick vollständig erschließt.
  • Nach Auswahl eines bestimmten SPS-Datentyps können für diesen Instanzen bzw. SPS-Variable angelegt werden. Dies kann im Deklarationsteil und dem Implementationsteil des SPS-Programms geschehen. Zudem kann der Zustand von insbesondere SPS-Funktionsbaustein-Instanzen (Ein- und Ausgänge) ebenfalls aus funktionaler Sicht dargestellt und parametriert werden. Hierzu stehen dem Funktionsbaustein zugeordnete Informationsaustauschabläufe als vordefinierte Informationsaustauschabläufe dieses Funktionsbausteins zur Verfügung, wie in der DE 10 2007 062 453 A1 beschrieben, deren Offenbarungsgehalt hiermit vollständig in die hier vorliegende Beschreibung aufgenommen wird. Das bedeutet, die Speichereinrichtung, in der die SPS-Datentypen gesucht und ausgewählt werden, wird oder kann aufgrund der Suche zumindest teilweise verändert werden.
  • 1 zeigt den prinzipiellen Aufbau einer Vorrichtung 1, welche eine CPU 10 bzw. Zentrale Verarbeitungseinheit 10, eine Eingabeeinrichtung 20, eine Anzeigeeinrichtung 30, eine Speichereinrichtung 40 und eine Sucheinrichtung 50 umfasst.
  • Die Vorrichtung 1 dient zur Erstellung eines Verfahrensablaufs für eine speicherprogrammierbare Steuerung (SPS), insbesondere von SPS-Programmen, die zur Steuerung und Regelung von Verfahrensabläufen für Maschinen und technische Anlagen verwendbar sind. Hierbei können mittels der Eingabeeinrichtung 20 Elemente, die bei der Erstellung von SPS-Programmen für eine speicherprogrammierbare Steuerung (SPS) benötigt werden, wie beispielsweise SPS-Programmierbefehle, in die Vorrichtung 1 eingegeben werden. Genauer gesagt, die über die Eingabeeinrichtung 20 eingegebenen Elemente werden an die CPU 10 weitergegeben und von dieser, gegebenenfalls unter Zugriff auf die Speichereinrichtung 40, in einer für die Anzeigeeinrichtung 30 verwertbaren Form an die Anzeigeeinrichtung 30 weitergegeben. Die Anzeigeeinrichtung 30 kann die über die Eingabeeinrichtung 20 eingegebenen Elemente dann in einer durch die CPU 10 festgelegten Form, beispielsweise als Text oder Grafik, und insbesondere in einem Anzeigefenster, anzeigen. Benötigt ein Benutzer bzw. Programmierer bei der Benutzung der Vorrichtung 1 zur Erstellung eines SPS-Programms Hilfe, um einen bestimmten Datentyp für den speziellen Anwendungsfall in der Speichereinrichtung 40 zu finden, für den der Verfahrensablauf in Form eines SPS-Programms erstellt werden, kann die Sucheinrichtung 50 aktiviert werden, wie nachfolgend ausführlicher beschrieben. Auf diese Weise muss der Benutzer nicht selbst nach einem geeigneten Datentyp suchen, sondern die Suche wird durch die Sucheinrichtung 50 vorgenommen.
  • Die Sucheinrichtung 50 ist im Wesentlichen eine Softwarelogik bzw. Computerprogrammlogik eines SPS-Programmiersystems, welche Dialoge auf der Anzeigeeinrichtung 30 anzeigt, über welche der Programmierer in Bezug auf die von ihm gewünschte Funktionalität des Datentyps abgefragt wird. Vorzugsweise erfolgt die Abfrage aus funktioneller Sicht in Form einer Baumstruktur. Hierbei ist es auch vorteilhaft, wenn die Abfrage von einer zunächst allgemeinen Funktion hin zur speziellen Funktion gezielt bezüglich des speziellen Anwendungsfalls schrittweise abgefragt wird. Hierbei verwenden die Dialoge, die nachfolgend auch Funktionsbaustein-Assistenz-Dialoge bzw. FB-Wizard-Dialoge genannt sind, Text- und Grafikelemente, um für den Benutzer technische Zusammenhänge leicht erfassbar darzustellen. In Verbindung mit den Eingaben des Benutzers über die Eingabeeinrichtung 20 schränken die FB-Wizard-Dialoge mit jedem Schritt die mögliche Zahl an für den speziellen Anwendungsfall des Benutzers möglichen Datentypen immer mehr ein, bis schließlich ein Datentyp ausgewählt ist, der den speziellen Anwendungsfall des zu erstellenden Verfahrensablaufs abdeckt.
  • Dies sei beispielhaft an der folgenden Entscheidungskette im Schritt S31 nach Start der Datentyphilfe im Schritt S31 dargestellt.
    1. 1. Auswahl „Wickelfunktion“
    2. 2. Auswahl „Wickelfunktion mit Kraftmessdose“
    3. 3. Auswahl „Wickelfunktion mit Kraftmessdose und Antriebsmomentenbegrenzung“ Hiernach ist der zu instanziierende Funktionsbaustein zunächst ausgewählt. Danach folgen dann die nächsten Schritte zur Definition weiterer Teilfunktionalitäten, die typischerweise an Funktionsbausteineingängen vorhanden sind.
    4. 4. Vorgabe „Wickeln von oben“
    5. 5. Vorgabe „Kraftmessdosen-Istwert per analogem Eingang“
    6. 6. Vorgabe „Regelsinn invertiert“
    7. 7. Vorgabe „Reglerparameter Proportionalverstärkung und Nachstellzeit“
    8. 8. ...
  • Dieser Ablauf ist im Überblick in 2 und 3 in Flussdiagrammen dargestellt, welche den Ablauf einer Erstellung eines Verfahrensablaufs für eine speicherprogrammierbare Steuerung (SPS) bei der Vorrichtung 1 veranschaulichen. Die in 2 und 3 dargestellten Abläufe können parallel ablaufen. Jedoch kann der in 3 dargestellte Ablauf nur durchgeführt werden, wenn die in 2 gezeigte Routine zumindest im Hintergrund abläuft, das heißt, noch ein Verfahrensablauf für eine speicherprogrammierbare Steuerung (SPS) erstellt wird. Bei dem Schritt S10 in 2 werden Programmierbefehle mittels der Eingabeeinrichtung 20 eingegeben und bei dem Schritt S20 in 2 werden diese mittels der Anzeigeeinrichtung 30 angezeigt Benötigt der Benutzer bei der Eingabe der Programmierbefehle Hilfe, wie zuvor beschrieben, kann er diese über Schritt S31 in 3 anfordern, wie nachfolgend noch genauer beschrieben, woraufhin bei Schritt S32 in 3 die Sucheinrichtung 50 aktiviert wird. Dies bewirkt, dass auf der Anzeigeeinrichtung 30 die FB-Wizard-Dialoge anzeigt werden, wie zuvor erwähnt. Wenn der Benutzer mittels der Sucheinrichtung 50 bzw. der von ihr erzeugten FB-Wizard-Dialoge den gesuchten Programmierbefehl bzw. den Datentyp gefunden hat, geht die in 3 gezeigte Routine zu Schritt S33 über.
  • Bei Schritt S33 wird von der Sucheinrichtung 50 abgefragt, ob anschließend an die Identifizierung des passenden Datentyps durch die FB-Wizard-Dialoge bei Schritt S32, durch die FB-Wizard-Dialoge eine Instanz dieses Datentyp, das heißt eine SPS-Variable, angelegt werden soll. Ist dies der Fall, geht der Ablauf von 3 zu Schritt S34 über, bei welchem die Instanz des Datentyps und, bei Bedarf auch die Eigenschaften dieser Instanz parametriert werden können. Letzteres ist vor allem bei komplexen Datentypen vorteilhaft. Hierzu stellen die FB-Wizard-Dialoge wiederum eine Schrittkette von Dialogen bereit, in denen die dem Datentyp zugrunde liegende Funktionalität grafisch dargestellt ist. Ähnlich wie im ersten Schritt, das heißt Schritt S32, bei der Suche bzw. Identifikation eines geeigneten Datentyps können auch hier im zweiten Schritt, das heißt im Schritt S34, technische Zusammenhänge logisch und funktionell gruppiert dargestellt werden. Beispielsweise können Sensoren, Motoren, usw. mit Bildelementen grafisch dargestellt werden. Darüber hinaus kann beispielsweise bei Regelkreisen die interne Funktionalität unter Verwendung grafischer Elemente für z.B. Übertragungsglieder in der derzeit im Stand der Technik üblichen Form angezeigt werden. Durch die Verwendung von Oberflächen-Steuerelementen wie beispielsweise Eingabefelder, Combo-Boxen, Radiobuttons, usw. können die Eigenschaften jeder funktionellen Einheit optimal dargestellt und vom Anwender konfiguriert werden.
  • Die Sucheinrichtung 50 bzw. die FB-Wizard Dialoge können beim Schritt S10 sowohl im Deklarationsteil als auch im Implementationsteil eines SPS-Programmsystems aufgerufen werden. Dies kann beispielsweise über Funktionstasten, oder unter Verwendung eines Kontextmenüs oder per Drag & Drop bzw. Ziehen und Ablegen mittels beispielsweise einer Computermaus erfolgen. Hierbei kann ein grafisches Icon bzw. Bildzeichen über dem Deklarationsteil oder Implementationsteil abgelegt werden. Bei einem Aufruf aus dem Deklarationsteil wird dem Deklarationsteil eine neue Instanz hinzugefügt. Die Eigenschaften dieser Instanz werden als Initialisierungswerte in die Deklaration mit eingetragen. Über geeignete Verfahren unter Verwendung von FB-Wizard internen Daten, Datenbanken, Dateien oder Metadaten des Datentyps innerhalb der SPS-Bibliotheken werden beim Anlegen der Instanz nur die vom Defaultwert abweichenden Eigenschaften in der Deklaration eingetragen. Beispielsweise besitzt jeder Funktionsbaustein-Eingang einen Defaultwert, der verwendet wird, wenn bei der Deklaration bzw. dem Aufruf des Funktionsbausteins kein besonderer Wert angegeben wird.
  • Bei einem Aufruf der FB-Wizard-Dialoge aus dem Implementationsteil heraus wird die Instanz ebenfalls deklariert. Zusätzlich wird ein Aufruf der Instanz an der aktuellen Cursorposition eingefügt. In diesem Fall, das heißt Aufruf an der aktuellen Cursorposition, können anstelle von Zahlen, Zeichenketten und Konstanten auch Variablennamen mit den Ein- und Ausgängen der Funktionsbaustein-Instanz verknüpft werden. Werden keine Variablennamen verwendet, können die durch die FB-Wizards eingegebenen Werte vom Anwender entweder in die Deklaration oder in den Aufruf der Funktionsbaustein-Instanz eingetragen werden. Dies kann durch den Anwender vorgegeben werden. Bei Verwendung von Variablennamen werden Werte (Zahlenwerte, Strings, Konstanten, Variablennamen) direkt in den Aufruf eingetragen.
  • Nachdem eine Instanz angelegt ist, können die FB-Wizard-Dialoge durch beispielsweise einen Klick auf die Instanz erneut aufgerufen werden. Dies kann erneut über den Deklarationsteil oder den Implementationsteil erfolgen. In einem solchen Fall werden nur die Eigenschaftsdialoge angezeigt, wohingegen die Dialoge zur Auswahl und Identifikation eines Datentyps nicht angezeigt werden. Der Grund dafür liegt darin, dass solche Dialoge ja nur bei der Instanziierung, das heißt beim Anlegen eines Datentyps notwendig sind, d.h. die nachträgliche Änderung der Eigenschaften des Funktionsbausteins erfordert keine Änderung des Datentyps.
  • Zur Anzeige der Eigenschaftswerte muss unterschieden werden, ob die Eigenschaften in Bezug auf die Deklaration oder in Bezug auf einen Aufruf innerhalb des Implementationsteils angezeigt werden sollen. Im Fall des Deklarationsteils können die Initialwerte bzw. Anfangswerte direkt aus der Deklaration der Bausteininstanz ausgelesen werden. Im Fall des Implementationsteils muss unterschieden werden, ob es sich bei dem SPS-Programm um eine den FB-Wizard-Dialogen bekannte oder eine unbekannte Programmstruktur handelt. Bei einer den FB-Wizard-Dialogen bekannten Programmstruktur mit einer definierten und analysierbaren Logik können die FB-Wizard-Dialoge die den Ein- und Ausgängen zugeordneten Literale und Instanzen bzw. SPS-Variablen identifizieren und anzeigen. Kann der Wert eines Ein- und/oder Ausgangs nicht eindeutig ermittelt werden, beispielsweise weil es mehr als einen Zugriff auf die Instanz-Eigenschaft in der Programmlogik gibt, kann der Benutzer in einer von dem FB-Wizard-Dialog angezeigten Querverweisliste angeben, welche der möglichen Werte im Fall verwendet werden soll. Gilt dieser Fall für mehrere Ein- und/oder Ausgänge, so kann für die betroffene Gruppe von Ein- und/oder Ausgängen in der Querverweisliste die Codestelle angegeben werden, aus welcher die anzuzeigenden Werte zu entnehmen sind. Für den Fall, dass der Zahlenwert einer Instanz bzw. SPS-Variablen unbekannt ist, kann der Benutzer den Zahlenwert ebenfalls vorgeben.
  • Sobald der Benutzer den Datentyp bei Schritt S32 gefunden hat und/oder er alle Eingaben in den Deklarationsteil und/oder den Implementationsteil, wie von ihm gewünscht, beendet hat und damit die in der Speichereinrichtung 40 gespeicherten Daten verändert wurden, in welcher die Sucheinrichtung 50 nach dem Datentyp gesucht hat, kann die in 3 gezeigte Routine beendet werden. Dies bedeutet, dass eine Anzeige der FB-Wizard-Dialoge auf der Anzeigeeinrichtung 30 beendet wird. Das heißt, ein Betrieb der Sucheinrichtung 50 wird beendet.
  • Alternativ kann das Beenden der in 3 gezeigten Routine beispielsweise auch durch Eingabe eines Programmierbefehls bzw. Datentyps gemäß Schritt S10 erfolgen.
  • (Allgemeines)
  • Alle zuvor beschriebenen Ausgestaltungen der Vorrichtung und des Verfahrens können einzeln oder in allen möglichen Kombinationen Verwendung finden. Hierbei sind insbesondere folgende Modifikationen denkbar.
  • Die Vorrichtung 1 kann ein Computer sein, auf welchem ein SPS-Programmiersystem geladen ist und/oder ausgeführt wird.
  • Die Eingabeeinrichtung 20 kann eine Tastatur mit mechanischen Tasten, eine Computermaus, ein Computereingabestift, ein auf Berührungen empfindliches Bedienfeld, wie beispielsweise ein Touchscreen usw. sein.
  • Die Anzeigeeinrichtung 30 kann ein Bildschirm beispielsweise eines Computers, eine akustische Anzeigeeinrichtung, oder auch ein Drucker, welcher ein Dokument ausdruckt, oder Ähnliches sein. Die Speichereinrichtung 40 kann ein Speicher, wie beispielsweise ein ROM (Nur-Lese-Speicher) und oder RAM (Speicher mit wahlfreiem Zugriff), eines Mikrocontrollers sein, in welchen auch die CPU 10 integriert ist. Die Speichereinrichtung 40 kann aber auch beispielsweise eine in die Vorrichtung 1 eingebaute Festplatte sein. Zudem kann die Speichereinrichtung 40 außerdem eine für die Vorrichtung externe Speichereinrichtung sein, wie beispielsweise eine CD bzw. Compakt-Disk, eine Diskette, eine Festplatte, ein USB-Speicherstick usw. sein.
  • Es ist auch möglich, dass die Vorrichtung 1 mehr als eine Speichereinrichtung 40 hat bzw. bei dem zuvor beschriebenen Verfahren mehr als eine Speichereinrichtung 40 zum Einsatz kommt. Hierbei können alle Speichereinrichtungen 40 für die Vorrichtung 1 interne oder externe Speichereinrichtungen sein. Es können aber auch sowohl interne als auch externe Speichereinrichtungen Verwendung finden.
  • Die Speichereinrichtung 40 kann auch die Daten als Datenbank speichern, in welcher die SPS-Datentypen gespeichert sind und nach welchen die Sucheinrichtung 50 sucht Da die Sucheinrichtung 50 die Datenbank durch die für den Benutzer ermöglichten Dateneinträge beim Ablauf des zuvor beschriebenen Verfahrens auch verändert, hat die Sucheinrichtung 50 bzw. der Suchschritt neben einem Lesezugriff auf die Datenbank auch einen Schreibzugriff auf die Datenbank.
  • Ein SPS-Programmiersystem ist insbesondere ein Computerprogrammprodukt mit einem Computerprogramm, welches in einen Speicher eines Computers bzw. einer Vorrichtung 1 geladen wird und auf dieser ausgeführt wird.
  • Bezugszeichenliste
  • 1
    Vorrichtung
    10
    CPU
    20
    Eingabeeinrichtung
    30
    Anzeigeeinrichtung
    40
    Speichereinrichtung
    50
    Sucheinrichtung
    S10 bis S34
    Verfahrensschritte

Claims (8)

  1. Verfahren zum Erstellen eines Verfahrensablaufs für eine speicherprogrammierbare Steuerung, bei welchem Elemente zur Erstellung des Verfahrensablaufs für die speicherprogrammierbare Steuerung mittels einer Eingabeeinrichtung (20) eingegeben werden und die mit der Eingabeeinrichtung (20) eingegebenen Elemente mittels einer Anzeigeeinrichtung (10) angezeigt werden, mit den Schritten Suchen (S32) in einer Speichereinrichtung (40) nach einem bei dem zu erstellenden Verfahrensablauf verwendbaren Datentyp auf der Grundlage seiner Funktion, und Anzeigen (S32) des Suchergebnisses mittels der Anzeigeeinrichtung (30), wobei bei dem Suchschritt (S32) nacheinander verschiedene Abfragen mittels der Anzeigeeinrichtung (30) angezeigt werden, die auf der Grundlage von über die Eingabeeinrichtung (20) eingegebenen Antworten auf die Abfragen erstellt werden, wobei in Verbindung mit den Eingaben des Benutzers über die Eingabeeinrichtung (20) mit jedem Schritt die mögliche Zahl an für den speziellen Anwendungsfall möglichen Datentypen immer mehr eingeschränkt wird.
  2. Verfahren nach Anspruch 1, wobei bei dem Suchschritt (S32) Abfragen mittels der Anzeigeeinrichtung (30) anzeigt werden, die schrittweise von einer allgemeinen Spezifikation von Funktionen des Datentyps zu einer speziellen Spezifikation von Funktionen des Datentyps übergehen.
  3. Verfahren nach einem der vorangehenden Ansprüche, wobei bei dem Suchschritt (S32) als Suchergebnis ein passender Datentyp identifiziert wird, woraufhin mittels der Eingabeeinrichtung (20) eine Instanz des identifizierten passenden Datentyps angelegt werden kann und eine Parametrierung von Eigenschaften der angelegten Instanz ermöglicht wird (S34).
  4. Verfahren nach einem der vorangehenden Ansprüche, wobei bei dem Suchschritt die Speichereinrichtung (40) in Bezug auf von dem Suchschritt (S32) angezeigte Suchergebnisse zumindest teilweise verändert wird.
  5. Computerprogrammprodukt mit einem Computerprogramm, welches Softwaremittel zur Durchführung eines Verfahrens nach einem der vorangehenden Ansprüche aufweist, wenn das Computerprogramm in einem Automatisierungssystem ausgeführt wird.
  6. Vorrichtung (1) zur Erstellung eines Verfahrensablaufs für eine speicherprogrammierbare Steuerung, mit einer Eingabeeinrichtung (20) zur Eingabe von Elementen zur Erstellung des Verfahrensablaufs für die speicherprogrammierbare Steuerung, einer Anzeigeeinrichtung (30) zur Anzeige der mit der Eingabeeinrichtung (20) eingegebenen Elemente, und einer Sucheinrichtung (50) zur Suche in einer Speichereinrichtung (40) nach einem bei dem zu erstellenden Verfahrensablauf verwendbaren Datentyp auf der Grundlage seiner Funktion und zur Anzeige des Suchergebnisses mittels der Anzeigeeinrichtung (30), wobei die Sucheinrichtung (50) dahingehend ausgestaltet ist, dass sie nacheinander verschiedene Abfragen mittels der Anzeigeeinrichtung (30) anzeigt, die auf der Grundlage von über die Eingabeeinrichtung (20) eingegebenen Antworten auf die Abfragen erstellt werden und wobei in Verbindung mit den Eingaben des Benutzers über die Eingabeeinrichtung (20) mit jedem Schritt die mögliche Zahl an für den speziellen Anwendungsfall möglichen Datentypen immer mehr eingeschränkt wird.
  7. Vorrichtung nach Anspruch 6, wobei die Sucheinrichtung (50) dahingehend ausgestaltet ist, dass sie Abfragen mittels der Anzeigeeinrichtung (30) anzeigt, die schrittweise von einer allgemeinen Spezifikation von Funktionen des Datentyps zu einer speziellen Spezifikation von Funktionen des Datentyps übergehen.
  8. Vorrichtung nach einem der Ansprüche 6 oder 7, wobei die Sucheinrichtung (50) dahingehend ausgestaltet ist, dass sie als Suchergebnis einen passenden Datentyp identifiziert, woraufhin mittels der Eingabeeinrichtung (20) eine Instanz des identifizierten passenden Datentyps angelegt werden kann, und eine Parametrierung von Eigenschaften der angelegten Instanz ermöglicht wird.
DE102010012307.2A 2010-03-23 2010-03-23 Verfahren und Vorrichtung zum Erstellen eines Verfahrensablaufs für eine speicherprogrammierbare Steuerung Expired - Fee Related DE102010012307B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102010012307.2A DE102010012307B4 (de) 2010-03-23 2010-03-23 Verfahren und Vorrichtung zum Erstellen eines Verfahrensablaufs für eine speicherprogrammierbare Steuerung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102010012307.2A DE102010012307B4 (de) 2010-03-23 2010-03-23 Verfahren und Vorrichtung zum Erstellen eines Verfahrensablaufs für eine speicherprogrammierbare Steuerung

Publications (2)

Publication Number Publication Date
DE102010012307A1 DE102010012307A1 (de) 2011-11-17
DE102010012307B4 true DE102010012307B4 (de) 2019-05-16

Family

ID=44859483

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102010012307.2A Expired - Fee Related DE102010012307B4 (de) 2010-03-23 2010-03-23 Verfahren und Vorrichtung zum Erstellen eines Verfahrensablaufs für eine speicherprogrammierbare Steuerung

Country Status (1)

Country Link
DE (1) DE102010012307B4 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012025228A1 (de) * 2012-12-21 2014-06-26 Robert Bosch Gmbh Steuerungsübergreifende Energieverwaltung in einer Anlage

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005016542A1 (de) * 2005-04-08 2006-10-12 Abb Patent Gmbh Integration von Feldgeräten in ein Automatisierungssystem
US20070075916A1 (en) * 2005-10-05 2007-04-05 Invensys Systems, Inc. Generic utility supporting on-demand creation of customizable graphical user interfaces for viewing and specifying field device parameters
DE102006062478A1 (de) * 2006-12-28 2008-07-03 Codewrights Gmbh Verfahren zum Betreiben eines objektbasierten Konfigurationssystems für Feldgeräte der Automatisierungstechnik
DE102007062453A1 (de) 2007-12-22 2009-06-25 Robert Bosch Gmbh Verfahren zum Programmieren und/oder Diagnostizieren einer speicherprogrammierbaren Steuerung

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005016542A1 (de) * 2005-04-08 2006-10-12 Abb Patent Gmbh Integration von Feldgeräten in ein Automatisierungssystem
US20070075916A1 (en) * 2005-10-05 2007-04-05 Invensys Systems, Inc. Generic utility supporting on-demand creation of customizable graphical user interfaces for viewing and specifying field device parameters
DE102006062478A1 (de) * 2006-12-28 2008-07-03 Codewrights Gmbh Verfahren zum Betreiben eines objektbasierten Konfigurationssystems für Feldgeräte der Automatisierungstechnik
DE102007062453A1 (de) 2007-12-22 2009-06-25 Robert Bosch Gmbh Verfahren zum Programmieren und/oder Diagnostizieren einer speicherprogrammierbaren Steuerung

Also Published As

Publication number Publication date
DE102010012307A1 (de) 2011-11-17

Similar Documents

Publication Publication Date Title
DE10051645B4 (de) Prozesssteuersystem und Verfahren zum Kontrollieren eines Prozesses
EP1723513B1 (de) Verfahren zur konfiguration eines computerprogramms
DE102010036914A1 (de) Systemkonfiguration unter Verwendung von Vorlagen
DE102019126360A1 (de) Bulk-commissioning von feldvorrichtungen innerhalb einer prozessanlage
DE112009004306T5 (de) Programmanalysenunterstützungsvorrichtung
DE10394033T5 (de) Verfahren und Vorrichtung zum Importieren von Vorrichtungsdaten in ein in einer Prozessanlage verwendetes Datenbanksystem
EP2407842B1 (de) Verfahren zur Inbetriebnahme von Maschinen oder Maschinen einer Maschinenserie und Projektierungssystem
EP3364257B1 (de) Verfahren zum betrieb eines engineering-systems für ein industrielles prozessautomatisierungssystem und steuerungsprogramm
EP2544405A1 (de) Mehrstufiges Verfahren und Einrichtung zum interaktiven Auffinden von Gerätedaten eines Automatisierungssystem
EP3295265B1 (de) Bedienmodul für eine maschine in der lebensmittelindustrie
DE102010012307B4 (de) Verfahren und Vorrichtung zum Erstellen eines Verfahrensablaufs für eine speicherprogrammierbare Steuerung
DE4333286C2 (de) Verfahren und Vorrichtung zur Diagnose von Maschinenstörungen
EP1944664B1 (de) Verfahren zur Fehlersuche in einem Automatisierungsgerät
EP1345097A1 (de) Verfahren und Einrichtung zur Generierung einer Bediensicht zu einem Gebäudeleitsystem
EP2642359A1 (de) Entwicklungseinrichtung und Verfahren zum Erstellen eines Steuergeräteprogramms
DE102020119853B3 (de) Verfahren zum Steuern eines Automatisierungssystems mit Visualisierung von Programmobjekten eines Steuerprogramms des Automatisierungssystems und Automatisierungssystem
EP1862901A1 (de) Eingabe von Programm-Anweisungen bei imperativen Programmiersprachen
EP1505399B1 (de) Verfahren zum Erzeugen von Testdaten zum Austesten der Funktionsfähigkeit einer datenverarbeitenden Schaltung
EP2329374A1 (de) Testmodul und verfahren zum testen einer o/r-abbildungs-middleware
EP2942678B1 (de) Zuweisungsrevolver
DE102004039884A1 (de) Verfahren und System zur Beschreibung und Ausführung automatischer Tests
EP2682866B1 (de) Verfahren zur Umsetzung von Datenformaten
WO2011110335A1 (de) Verfahren und system zur aufbereitung und bereitstellung von informationen zum betrieb einer technischen anlage
DE102008043198A1 (de) Feldgerät der Prozessautomatisierungstechnik
EP1241568B1 (de) Verfahren und Vorrichtung zur Einfügung von Variablen in den Programmablauf einer Datenverarbeitungsanlage

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee