-
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. Auswahl „Wickelfunktion“
- 2. Auswahl „Wickelfunktion mit Kraftmessdose“
- 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. Vorgabe „Wickeln von oben“
- 5. Vorgabe „Kraftmessdosen-Istwert per analogem Eingang“
- 6. Vorgabe „Regelsinn invertiert“
- 7. Vorgabe „Reglerparameter Proportionalverstärkung und Nachstellzeit“
- 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