Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
TOOL AND PROGRAMMING METHOD
Document Type and Number:
WIPO Patent Application WO/2002/101543
Kind Code:
A2
Abstract:
The problem in automatisation technology is that processes which are controlled by stored programmed control devices (2) are divided into modules known as functional components, which, if possible, should be used universally. The interfaces of said modules are different or independent from the technological parameters of the actual technical function. The problem for the user is that internal knowledge of the program must be available in order to implement the control device (2) for a specific application case. The invention relates to a tool and programming method which provides the user, either additionally or alternatively, with a technological insight into the process which is to be controlled and/or regulated.

Inventors:
GOEDDEMEIER ULRICH (DE)
JANY BERNHARD (DE)
KULZER HEINRICH (DE)
PRECHTL MANFRED (DE)
RUPPRECHT GEORG (DE)
SCHULZ DIETMAR (DE)
Application Number:
PCT/DE2002/002133
Publication Date:
December 19, 2002
Filing Date:
June 11, 2002
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
GOEDDEMEIER ULRICH (DE)
JANY BERNHARD (DE)
KULZER HEINRICH (DE)
PRECHTL MANFRED (DE)
RUPPRECHT GEORG (DE)
SCHULZ DIETMAR (DE)
International Classes:
G05B19/042; G06F8/36; G06F9/44; (IPC1-7): G06F9/44
Other References:
RAHMAN JAMAL: "WEITERENTWICKLUNG DER GRAFISCHEN PROGRAMMIERSPRACHE LABVIEW" ELEKTROTECHNISCHE ZEITSCHRIFT - ETZ, VDE VERLAG GMBH. BERLIN, DE, Bd. 117, Nr. 4, 1. Februar 1996 (1996-02-01), Seiten 30-32, XP000559996 ISSN: 0948-7387
JAMAL: "graphical object-oriented programming with Labview" NUCLEAR INSTRUMENTS & METHODS IN PHYSICS RESEARCH, SECTION - A: ACCELERATORS, SPECTROMETERS, DETECTORS AND ASSOCIATED EQUIPMENT, NORTH-HOLLAND PUBLISHING COMPANY. AMSTERDAM, NL, Bd. 352, 1994, Seiten 438-441, XP002099952 ISSN: 0168-9002
PICHLIK H: "BILDER-CODE GRAFISCHE PROGRAMMIERUMGEBUNG NATIONAL INSTRUMENTS LABVIEW 6.I" CT MAGAZIN FUER COMPUTER TECHNIK, VERLAG HEINZ HEISE GMBH., HANNOVER, DE, Nr. 3, 29. Januar 2001 (2001-01-29), Seite 88 XP000987432 ISSN: 0724-8679
ARCHANA SHROTRIYA: "USING OBJECT LINKING AND EMBEDDING (OLE) AUTOMATION IN LABVIEW 4.0" NATIONAL INSTRUMENTS. APPLICATION NOTE, XX, XX, XP002132206
Attorney, Agent or Firm:
SIEMENS AKTIENGESELLSCHAFT (München, DE)
Download PDF:
Claims:
Patentansprüche
1. Programmierwerkzeug zur Erstellung von Programmen, ins besondere der Automatisierungstechnik, mit einem Interface (3), das zwischen einen Benutzer (1) und ein speicher programmierbares Steuergerät (2) und/oder ein dieses Steuer gerät (2) repräsentierendes Programmmodul zur Steuerung und/oder Regelung eines Prozesses derart schaltbar ist, dass dem Benutzer (1) eine Eingabemaske (5) zur Eingabe techno logischer Parameter im Rahmen der Parametrierung oder des Monitoring angeboten ist, wobei der Prozess zumindest im Wesentlichen im Steuergerät (2) in Form von unterscheidbaren Funktionsbausteinen abgebildet ist und zumindest einem Teil dieser Funktionsbausteine jeweils eine entsprechende Eingabe maske (5) zugeordnet ist.
2. Programmierwerkzeug nach Anspruch 1, dadurch gekenn zeichnet, dass das Interface (3), vorzugsweise eine DLL Applikation, den jeweils einem Funktionsbaustein zugeordneten Parametersatz, der auf einem I/OBUS des Steuergeräts (2) im Zugriff steht, in binäre Schnittstellen zur Implementierung der diesem Funktionsbaustein zugeordneten Eingabemaske (5) umsetzt.
3. Programmierwerkzeug nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass in jedem Funktionsbaustein ein Verweis auf die jeweilige Eingabemaske (5) angelegt ist.
4. Progammierwerkzeug nach einem der vorhergehenden An sprüche, dadurch gekennzeichnet, dass zumindest einem Teil der Eingabemasken (5) eine Zwischenlogik zur Realisie rung von Zusatzfunktionen, vorzugsweise Kontextmenüs und/oder Kontrollwerkzeugen zugeordnet ist.
5. Programmierwerkzeug nach einem der vorhergehenden An sprüche, dadurch gekennzeichnet, dass die Eingabemaske (5) als OLETool realisiert ist.
6. Programmierwerkzeug nach einem der vorhergehenden An sprüche, dadurch gekennzeichnet, dass das programmier bare Steuergerät (2) mittels einer vorzugsweise anwendungs spezifischen Sprachapplikation (4), vorzugsweise AWL, KOP, FUP u. a., programmiert ist und bei der Programmierung und/oder dem Aufruf eines Funktionsbausteines mit einer zu geordneten Eingabemaske (5) durch das Interface (3) mittels des in dem jeweiligen Funktionsbaustein angelegten Verweises die Eingabemaske (5) aufrufbar ist.
7. Verfahren zur Erstellung eines Programms, insbesondere der Automatisierungstechnik, bei dem ein speicherprogrammierbares Steuergerät (2) und/oder ein dieses Steuergerät (2) repräsen tierendes Programmmodul zur Steuerung oder Regelung eines zu mindest im Wesentlichen in Form von Funktionsbausteinen an gelegten Prozesses mittels einer anwendungsspezifischen Sprachapplikation (4) derart programmiert oder parametriert wird, dass zumindest einem Teil der Funktionsbausteine ein Verweis auf eine Eingabemaske (5) zur Eingabe technologischer Parameter zugeordnet wird, wobei bei Aufruf eines derartigen Funktionsbausteins ein zwischen einem Benutzer (1) und dem speicherprogrammier baren Steuergerät (2) geschaltetes Interface (3) aktiviert und hierdurch die entsprechende Eingabemaske (5) vom Interface (3) aufgerufen wird und auf einer dem Steuergerät (2) zugeordneten Anzeigevorrich tung zur Anzeige gebracht wird.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass in Verbindung mit dem Aufruf des Funktionsbausteins durch eine Sprachapplikation geprüft wird, ob in Verbindung mit dem Funktionsbaustein ein Verweis auf eine Eingabemaske (5) implementiert wurde und bejahendenfalls das Interface (3) aktiviert und die entsprechende Eingabe maske (5) zur Anzeige gelangt, wobei das Interface (3) die über die Eingabemaske (5) eingegebenen technologischen Parametersätze ausliest, in einen entsprechenden String umsetzt und das Interface (3) die Schnittstelle des betreffenden Funktionsbausteins aufruft, den umgesetzten Parametersatz an diesen Funktionsbaustein übergibt und/oder einen Dialog in OLETechnik mit Syntaxprüfung anlegt, die im Wege des Dialogs eingegebenen Parametersätze umsetzt und an diesen Funktionsbaustein übergibt.
Description:
Beschreibung Programmierwerkzeug und Programmierverfahren Die Erfindung betrifft ein Programmierwerkzeug und-verfahren zur Erstellung von Programmen, insbesondere der Automatisie- rungstechnik.

In der Automatisierungstechnik werden technische Prozesse und Funktionen in Form von Programmmodulen, so genannten Funk- tionsblöcken, bereitgestellt. Um diese Funktionsblöcke mög- lichst universell einsetzen zu können, sind sie mit Schnitt- stellen versehen, die eine möglichst einfache Einbindung und einen unproblematischen Aufruf in der jeweils gewählten Pro- grammumgebung ermöglichen. Die für den Betrieb eines derarti- gen Funktionsbausteins erforderlichen Ein-und Ausgabe- parameter werden auf einen I/O-BUS abgelegt, um die entspre- chenden Parameter gegebenenfalls liefern, beobachten oder ändern zu können.

Die in der Programmumgebung ausgetauschten Parameter ent- sprechen dabei üblicherweise nicht den Prozessparametern des zu steuernden und/oder zu regelnden Prozesses oder der tech- nischen Funktion. Die Bedienung dieser Parameter und deren Verständnis erfordert somit von dem mit der Lösung der tech- nischen Aufgabe betrauten Ingenieur oder Techniker eine dem Funktionsbaustein angepasste Sichtweise oder anders aus- gedrückt, ein tieferes Verständnis für die Programmierung des jeweiligen Steuerungsgerätes.

Der Erfindung liegt daher die Aufgabe zugrunde, ein Program- mierwerkzeug und ein Verfahren zur Programmierung und zur Er- stellung von Programmen, insbesondere der Automatisierungs- technik zu schaffen, das dem Benutzer zusätzlich oder alter- nativ eine technologische Sicht auf den zu steuernden und/oder regelnden Prozess eröffnet.

Dabei soll diese Sicht sowohl zur Programmierung als auch zur Parametrierung oder zur Kontrolle des laufenden Prozesses nutzbar sein.

Die Lösung dieser Aufgabe gelingt durch ein Programmier- werkzeug gemäß Anspruch 1 bzw. durch ein Programmierverfahren nach Anspruch 7. Vorteilhafte Ausgestaltungen der Erfindung sind den abhängigen Unteransprüchen zu entnehmen.

Dabei ist gemäß Anspruch 1 zwischen dem Benutzer und einem programmierbaren Steuergerät und/oder einem dieses Steuer- gerät repräsentierenden Programmmodul ein Interface angeord- net, das dem jeweiligen Benutzer eine Eingabemaske zur Ein- gabe technologischer Parameter bereitstellt. Dies gelingt dadurch, dass zumindest einem Teil der Funktionsbausteine eine entsprechende Eingabemaske zugeordnet ist. Diese Ein- gabemaske stellt für den jeweiligen Benutzer eine techno- logische Sicht des Funktionsbausteines bzw. des jeweiligen Prozesses bereit. Für die Eingabemaske können dann die technologischen Parameter eingegeben, verändert und/oder kontrolliert werden.

Das hierbei benutzte Interface ist vorzugsweise als eine dynamische Verknüpfungsbibliothek, also in DLL-Technik, angelegt. Das Interface dient dazu, den einem Funktions- baustein zugeordneten softwaretechnischen Parametersatz durch die Anlage entsprechender binärer Schnittstellen in eine diesem Funktionsbaustein zugeordnete Eingabemaske, also eine technologische Sicht bzw. einen technologischen Parametersatz umzusetzen. Die Umsetzung des dem Funktionsbaustein zugeord- neten Parametersatzes in binäre Schnittstellen macht das Programmierwerkzeug unabhängig von der jeweiligen anwendungs- spezifischen Sprachanwendung. Die erfindungsgemäße Lösung kann mit jeder in der Automatisierungstechnik üblichen An- wendersprache genutzt werden. Das Interface ist somit auf- wärtskompatibel.

Konkret wird in den betroffenen Funktionsbausteinen Verweis auf die jeweilige Eingabemaske angelegt, so dass beim Aufruf oder bei der Programmierung des entsprechenden Funktions- bausteines gleichzeitig die Eingabemaske aufgerufen bzw. angeboten wird.

In vorteilhafter Ausgestaltung kann der Eingabemaske eine Zwischenlogik zur Realisierung von Zusatzfunktionen wie etwa Kontextmenüs und/oder weiteren Kontrollwerkzeugen zugeordnet sein.

Die Eingabemaske als solche ist in vorteilhafter Ausgestal- tung als OLE-Objekt realisiert. Mit Hilfe von OLE-Objekten können Mischdokumente erzeugt werden, bei denen die gemisch- ten Daten jeweils mit ihrem Ursprungsanwendungsprogramm be- arbeitet werden können. Dieses Merkmal dient somit dazu, das Programmierwerkzeug unabhängig von einer konkreten anwen- dungsspezifischen Sprache zu realisieren.

Im Ergebnis wird dann bei der Programmierung oder bei dem Aufruf eines Funktionsbausteines, der einen entsprechenden Verweis enthält, die diesem Funktionsbaustein zugeordnete Eingabemaske von dem Interface aktiviert und dem Benutzer als zusätzliche technologische Sicht angeboten.

Im Ergebnis kann die erfindungsgemäße Lösung auch als ein Programmierverfahren, insbesondere der Automatisierungs- technik verstanden werden. Bei diesem Verfahren wird ein speicherprogrammierbares Steuergerät und/oder ein dieses Steuergerät repräsentierendes Programmmodul zur Regelung eines im Wesentlichen in Form von Funktionsbausteinen ab- gelegten Prozesses derart programmiert bzw. instanziert, dass zumindest einem Teil der Funktionsbausteine die erwähnten Eingabemasken zugeordnet werden, wobei im Weiteren der Aufruf dieser Funktionsbausteine dazu führt, dass ein zwischen dem jeweiligen Benutzer und dem Steuergerät angeordnetes Inter- face die jeweils zugeordnete Eingabemaske aktiviert und diese

dem Benutzer des Steuergerätes zur Parametrierung, Program- mierung und/oder Kontrolle angeboten wird.

Gemäß Anspruch 8 erfolgt bei der Eingabe der Parameter mit- tels der Eingabemaske entweder der Aufbau eines Dialogs, um Echtzeitabläufe realisieren zu können, oder aber eine Um- setzung der eingegebenen Parameterwerte in die systemspezi- fischen bzw. programmtechnischen Erfordernisse.

Die Erfindung wird nachstehend anhand eines in der Zeichnung dargestellten Ausführungsbeispiels näher erläutert. Es zei- gen : Figur 1 ein Blockschaltbild zum Aufbau des Programmier- werkzeugs und Figur 2 ein Flussdiagramm zu einer Programmierung mit die- sem Programmierwerkzeug.

In dem in Figur 1 gezeigten Blockschaltbild ist zwischen einen Benutzer 1 und ein speicherprogrammierbares Steuergerät 2 ein Interface 3 geschaltet. Das Interface 3 interagiert mit einer anwendungsspezifischen Sprachapplikation 4 zur Program- mierung und Ablaufsteuerung des Steuergeräts 2. Anstelle des Steuergeräts 2 ist insbesondere in der Phase der Programm- erstellung lediglich ein Programmmodul vorhanden, das die Funktionalität des Steuergeräts 2 emuliert. Für das nähere Verständnis des Ausführungsbeispiels wie auch der Erfindung ist es jedoch unerheblich, ob dieses Programmmodul oder das Steuergerät 2 als solches vorhanden sind. Der Benutzer 1 kom- muniziert dabei bedarfsweise nicht direkt mit dem Interface 3, sondern über eine vom Interface 3 bereitgestellte Eingabe- maske 5.

Nachstehend wird die Funktion des exemplarisch ausgewählten Programmierwerkzeugs näher erläutert :

Der Ablauf der Steuerung und/oder Regelung ist in einem Programm abgelegt, das in Form der anwendungsspezifischen Sprachapplikation 4 hinterlegt ist. Es wird sich dabei be- vorzugt um grafische Sprachanwendungen der Automatisierungs- technik, etwa Kontaktplan (KOP) oder Funktionsplan (FUP), handeln.

Generell werden unabhängig von der ausgewählten Sprachappli- kation während des Programmlaufs mittels eindeutiger Kennun- gen so genannte Funktionsbausteine aufgerufen. Es handelt sich dabei um Module, die für bestimmte Abläufe oder Steue- rung bestimmter technischer Bausteine eines technischen Pro- zesses stehen können, wie etwa die Steuerung eines Bewegungs- oder Lagereglers. Dabei wird der Aufruf des Funktionsbau- steins an das eigentliche speicherprogrammierbare Steuergerät 2 übermittelt und gleichzeitig einer Kennung des Funktions- bausteines sowie die jeweiligen Parameter an das Interface 3 in Verbindung mit einer Kennung der entsprechenden Eingabe- maske 5 übergeben. Anhand dieser Kennung wird nun über die Eingabemaske 5 eine technologische Sicht auf diesen Funk- tionsbaustein bereitgestellt. Dies bedeutet konkret die Über- setzung der in Verbindung mit dem Funktionsparameter an das speicherprogrammierbare Steuergerät 2 übermittelten Parameter in eine technologische Sicht.

Bei der Eingabemaske 5 handelt es sich hier um eine so ge- nannte OCX-Anwendung, also um ein OLE-Kontrollelement. Der- artige Elemente können mit Visual Basic oder Visual-C++ er- stellt werden. Die in der Eingabemaske 5 angezeigten Para- meter müssen weder dem absoluten Wert nach noch in deren Anzahl den an das speicherprogrammierbare Steuergerät 2 über- gebenen Werten entsprechen. Die Anzeige der Parameter kann von einer so genannten Zwischenlogik begleitet sein. Hie- runter sind zusätzliche Tools zu verstehen, die einzelnen Parametern zugeordnet sind. Es handelt sich dabei um Kontext- menüs, mit denen Hilfefunktionen, Wertebereiche oder Plausi- bilitätskontrollen angeboten werden können.

Im Weiteren lädt das Interface 3 den über die Eingabemaske 5 gelieferten Parametersatz oder legt einen geeigneten Dialog zwischen Eingabemaske und den Schnittstellen des Funktions- bausteins an. Sofern kein Abbruch des Dialoges oder eine Zurückweisung der übermittelten Parameter beispielsweise im Falle der Eingabe unzulässiger Werte erfolgt, übermittelt das Interface 3 den geänderten Parametersatz an die Sprachappli- kation 4. Anschließend erfolgt eine Rückmeldung über die Ein- gabemaske 5, ob die betreffenden Werte zulässig oder unzu- lässig sind. Sollte der Benutzer dann die Werte freigeben, wird über den Dialog angefragt, ob die betreffenden Werte abgespeichert werden sollen. Wenn ja, dann wird über das Interface 3 zum Speichern der Werte aufgefordert. Die Ein- gabemaske 5 liefert die Werte dann separat mit einem so genannten Set-Value-Befehl ab, die über das Interface 3 entweder direkt an das Steuergerät 2 oder zunächst in die Sprachapplikation 4 eingespeist werden. Im Falle von fehler- haften Eingaben kann die Freigabefunktion gesperrt sein.

Hierdurch kann eine fehlerhafte Werteübernahme verhindert werden.

Das vorstehend erläuterte Verfahren ist in einem Verfahrens- diagramm nach Figur 2 dargestellt. Dabei zeigt die linke Spalte den Ablauf, der innerhalb des programmierbaren Steuer- geräts 2 erfolgt, und die ganz rechte Spalte die dem Benutzer angebotenen Funktionen. Dazwischen sind die Anzeigen oder Aktionen des Interface 3 und rechts daneben die Anzeigen oder Aktionen der Eingabemaske 5 dargestellt.

Sobald mit dem Startblock in der linken Spalte ein Funktions- baustein aktiviert wird, der einen Verweis auf eine Eingabe- maske 5 enthält, lädt das Interface 3 die entsprechende Ein- gabemaske 5 und holt die entsprechenden Parameterwerte ab und zeigt sie mittels der Eingabemaske 5 an. Dabei werden mit einer Schleife nach und nach alle die den aufgerufenen Funk- tionsbaustein betreffenden Werte abgeholt und im Einzelnen angezeigt. Diese Werte können dann benutzerseitig editiert

werden. Es folgt dann die Übertragung der Werte in einer er- neuten Schleife mit dem Befehl"Check-Value"und deren Über- mittlung an das Interface 3. Sie werden dann auf ihre Plausi- bilität bzw. ihre Zulässigkeit hin überprüft. Insbesondere erfolgt eine Syntaxprüfung der eingegebenen Parameter. Es er- folgt dann eine Ausgabe vom Interface 3 an die Eingabemaske 5, ob die Werte korrekt oder fehlerhaft sind. Gibt der Be- nutzer 1 die Werte dann durch Betätigung eines Freigabe- buttons frei, so wird vom Interface 3 angefragt, ob die be- treffenden Werte gespeichert werden sollen. Dies erfolgt mit dem Befehl"Can-Store". Ist dies der Fall, werden die ent- sprechenden Werte gespeichert und eine entsprechende Mit- teilung an den Benutzer abgesetzt. Die Werte werden dann in einer erneuten Schleife abgeholt und an die Sprachapplikation 4 oder Steuergerät 2, wie oben erläutert, übergeben.

Vorstehend ist somit ein Verfahren und ein Programmier- werkzeug beschrieben, das unabhängig von der eingesetzten Sprachapplikation 4 zumindest für einen Teil der Funktions- bausteine eine technologische Sicht bereitstellt, die dem Benutzer die Programmierung und Überwachung von speicher- programmierbaren Steuergeräten 2, insbesondere im Zusammen- hang mit komplexen Automatisierungsvorgängen dadurch er- leichtert, dass die vertrauten technischen Parameter an- gezeigt und gegebenenfalls verändert werden.