EP1412849A2 - Tool and programming method - Google Patents

Tool and programming method

Info

Publication number
EP1412849A2
EP1412849A2 EP02740393A EP02740393A EP1412849A2 EP 1412849 A2 EP1412849 A2 EP 1412849A2 EP 02740393 A EP02740393 A EP 02740393A EP 02740393 A EP02740393 A EP 02740393A EP 1412849 A2 EP1412849 A2 EP 1412849A2
Authority
EP
European Patent Office
Prior art keywords
interface
input mask
function block
assigned
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP02740393A
Other languages
German (de)
French (fr)
Inventor
Ulrich Göddemeier
Bernhard Jany
Heinrich Kulzer
Manfred Prechtl
Georg Rupprecht
Dietmar Schulz
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
Publication of EP1412849A2 publication Critical patent/EP1412849A2/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23169Operation field together with control parameters
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23174Display of parameter and several suggested values for that parameter
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23183Display effects of high level commands

Definitions

  • the invention relates to a programming tool and method for creating programs, in particular automation technology.
  • function blocks In automation technology, technical processes and functions are provided in the form of program modules, so-called function blocks. In order to be able to use these function blocks as universally as possible, they are provided with interfaces which enable them to be integrated as easily as possible and to be called up unproblematically in the selected program environment.
  • the input and output parameters required for the operation of such a function block are stored on an I / O bus in order to be able to deliver, monitor or change the corresponding parameters, if necessary.
  • the parameters exchanged in the program environment usually do not correspond to the process parameters of the process to be controlled and / or regulated or the technical function.
  • the operation of these parameters and their understanding therefore requires the engineer or technician entrusted with the solution of the technical task a perspective adapted to the function block or, in other words, a deeper understanding of the programming of the respective control device.
  • the invention is therefore based on the object of providing a programming tool and a method for programming and creating programs, in particular automation technology, which additionally or alternatively opens up a technological view of the process to be controlled and / or regulated to the user.
  • This view should be usable for programming as well as for parameterization or for checking the running process.
  • An interface is arranged between the user and a programmable control unit and / or a program module representing this control unit, which provides the respective user with an input mask for inputting technological parameters. This is achieved by assigning an appropriate input mask to at least some of the function blocks. This input mask provides the respective user with a technological view of the function block or the respective process. The technological parameters can then be entered, changed and / or checked for the input mask.
  • the interface used here is preferably designed as a dynamic link library, ie using DLL technology.
  • the interface is used to implement the software-technical parameter set assigned to a function block by creating corresponding binary interfaces in an input mask assigned to this function block, i.e. a technological view or a technological parameter set.
  • the conversion of the parameter set assigned to the function block into binary interfaces makes the programming tool independent of the respective application-specific language application.
  • the solution according to the invention can be used with any user language customary in automation technology.
  • the interface is thus upwards compatible. Specifically, reference is made to the respective input mask in the function modules concerned, so that when the function module is called or programmed, the input mask is called up or offered at the same time.
  • the input mask can be assigned an intermediate logic for implementing additional functions such as context menus and / or further control tools.
  • the input mask as such is implemented in an advantageous embodiment as an OLE object.
  • OLE objects mixed documents can be created, in which the mixed data can be processed with their original application program. This feature is used to implement the programming tool independently of a specific application-specific language.
  • the input mask assigned to this function module is activated by the interface and offered to the user as an additional technological view.
  • the solution according to the invention can also be understood as a programming method, in particular of automation technology.
  • a programmable logic controller and / or a program module representing this control unit for regulating a process which is essentially in the form of function blocks, is programmed or instantiated in such a way that at least some of the function blocks are assigned the input masks mentioned, the further call of these Function blocks means that an interface arranged between the respective user and the control device activates the respectively assigned input mask and this is offered to the user of the control device for parameterization, programming and / or control.
  • a dialog is set up in order to be able to implement real-time processes, or a conversion of the entered parameter values into the system-specific or program requirements.
  • FIG. 2 is a flowchart for programming with this programming tool.
  • an interface 3 is connected between a user 1 and a programmable logic controller 2.
  • the interface 3 interacts with an application-specific language application 4 for programming and sequence control of the control device 2.
  • an application-specific language application 4 for programming and sequence control of the control device 2.
  • the control device 2 only one program module is present, particularly in the phase of program creation, which emulates the functionality of the control device 2.
  • this program module or the control unit 2 is present as such. If necessary, the user 1 does not communicate directly with the interface 3, but rather via an input mask 5 provided by the interface 3.
  • the function of the programming tool selected as an example is explained in more detail below:
  • the sequence of the control and / or regulation is stored in a program, which is stored in the form of the application-specific language application 4. It will preferably be graphical language applications in automation technology, such as a contact diagram (LAD) or function diagram (FBD).
  • LAD contact diagram
  • BFD function diagram
  • function blocks are called during the program run using unique identifiers. These are modules that can represent certain processes or control of certain technical components of a technical process, such as the control of a motion or position controller.
  • the call of the function block is transmitted to the actual programmable logic controller 2 and, at the same time, an identifier of the function block and the respective parameters are transferred to the interface 3 in conjunction with an identifier of the corresponding input mask 5. Based on this identifier, a technological view of this function block is now provided via the input mask 5. Specifically, this means translating the parameters transmitted in connection with the functional parameter to the programmable logic controller 2 into a technological view.
  • the input mask 5 is a so-called OCX application, that is to say an OLE control element. Such elements can be created with Visual Basic or Visual-C ++.
  • the parameters displayed in the input mask 5 do not have to be in absolute value or in their
  • Number correspond to the values transferred to the programmable logic controller 2.
  • the display of the parameters can be accompanied by a so-called intermediate logic. This includes additional tools that are assigned to individual parameters. These are context menus that can be used to offer help functions, value ranges or plausibility checks.
  • the interface 3 loads the parameter set supplied via the input mask 5 or creates a suitable dialog between the input mask and the interfaces of the function block. Unless the dialog is terminated or the transmitted parameters are rejected, for example if invalid values are entered, the interface 3 transmits the changed parameter set to the voice application. Subsequently, feedback is given via the input mask 5 as to whether the values in question are permissible or not. If the user then releases the values, the dialog asks whether the relevant values should be saved.
  • interface 3 prompts you to save the values.
  • the input mask 5 then delivers the values separately with a so-called set-value command, which are fed via the interface 3 either directly to the control unit 2 or initially into the voice application 4.
  • the release function can be blocked. This can prevent incorrect values being transferred.
  • the method explained above is shown in a method diagram according to FIG. 2.
  • the left column shows the sequence that takes place within the programmable control unit 2, and the right column shows the functions offered to the user.
  • the displays or actions of the interface 3 are shown in between and the displays or actions of the input mask 5 to the right of them.
  • the interface 3 loads the corresponding input mask 5 and fetches the corresponding parameter values and displays them by means of the input mask 5.
  • all the values relating to the called function block are gradually picked up and displayed in detail. These values can then be edited by the user become.
  • the values are then transferred in a new loop with the "Check-Value" command and transmitted to interface 3. They are then checked for plausibility or admissibility. In particular, the entered parameters are checked for syntax.
  • the interface 3 then outputs to the input mask 5 whether the values are correct or incorrect. If user 1 then releases the values by pressing a release button, interface 3 asks whether the relevant values should be saved. This is done with the "Can-Store” command. If this is the case, the corresponding values are saved and a corresponding message is sent to the user.
  • the values are then fetched in a new loop and transferred to the speech application 4 or control device 2, as explained above.

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

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.

Description

Beschreibungdescription
Programmierwerkzeug und ProgrammierverfahrenProgramming tool and programming method
Die Erfindung betrifft ein Programmierwerkzeug und -verfahren zur Erstellung von Programmen, insbesondere der Automatisierungstechnik.The invention relates to a programming tool and method for creating programs, in particular automation technology.
In der Automatisierungstechnik werden technische Prozesse und Funktionen in Form von Programmmodulen, so genannten Funktionsblöcken, bereitgestellt. Um diese Funktionsblöcke möglichst universell einsetzen zu können, sind sie mit Schnittstellen 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 derartigen Funktionsbausteins erforderlichen Ein- und Ausgabeparameter werden auf einen I/O-BUS abgelegt, um die entsprechenden Parameter gegebenenfalls liefern, beobachten oder ändern zu können.In automation technology, technical processes and functions are provided in the form of program modules, so-called function blocks. In order to be able to use these function blocks as universally as possible, they are provided with interfaces which enable them to be integrated as easily as possible and to be called up unproblematically in the selected program environment. The input and output parameters required for the operation of such a function block are stored on an I / O bus in order to be able to deliver, monitor or change the corresponding parameters, if necessary.
Die in der Programmumgebung ausgetauschten Parameter entsprechen dabei üblicherweise nicht den Prozessparametern des zu steuernden und/oder zu regelnden Prozesses oder der technischen Funktion. Die Bedienung dieser Parameter und deren Verständnis erfordert somit von dem mit der Lösung der technischen Aufgabe betrauten Ingenieur oder Techniker eine dem Funktionsbaustein angepasste Sichtweise oder anders ausgedrückt, ein tieferes Verständnis für die Programmierung des jeweiligen Steuerungsgerätes.The parameters exchanged in the program environment usually do not correspond to the process parameters of the process to be controlled and / or regulated or the technical function. The operation of these parameters and their understanding therefore requires the engineer or technician entrusted with the solution of the technical task a perspective adapted to the function block or, in other words, a deeper understanding of the programming of the respective control device.
Der Erfindung liegt daher die Aufgabe zugrunde, ein Programmierwerkzeug und ein Verfahren zur Programmierung und zur Erstellung von Programmen, insbesondere der Automatisierungstechnik 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.The invention is therefore based on the object of providing a programming tool and a method for programming and creating programs, in particular automation technology, which additionally or alternatively opens up a technological view of the process to be controlled and / or regulated to the user. This view should be usable for programming as well as for parameterization or for checking the running process.
Die Lösung dieser Aufgabe gelingt durch ein Programmierwerkzeug gemäß Anspruch 1 bzw. durch ein Programmierverfahren nach Anspruch 7. Vorteilhafte Ausgestaltungen der Erfindung sind den abhängigen Unteransprüchen zu entnehmen.This object is achieved by a programming tool according to claim 1 or by a programming method according to claim 7. Advantageous embodiments of the invention can be found in the dependent subclaims.
Dabei ist gemäß Anspruch 1 zwischen dem Benutzer und einem programmierbaren Steuergerät und/oder einem dieses Steuergerät repräsentierenden Programmmodul ein Interface angeordnet, das dem jeweiligen Benutzer eine Eingabemaske zur Eingabe technologischer Parameter bereitstellt. Dies gelingt dadurch, dass zumindest einem Teil der Funktionsbausteine eine entsprechende Eingabemaske zugeordnet ist. Diese Eingabemaske stellt für den jeweiligen Benutzer eine technologische 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.An interface is arranged between the user and a programmable control unit and / or a program module representing this control unit, which provides the respective user with an input mask for inputting technological parameters. This is achieved by assigning an appropriate input mask to at least some of the function blocks. This input mask provides the respective user with a technological view of the function block or the respective process. The technological parameters can then be entered, changed and / or checked for the input mask.
Das hierbei benutzte Interface ist vorzugsweise als eine dynamische Verknüpfungsbibliothek, also in DLL-Technik, angelegt. Das Interface dient dazu, den einem Funktionsbaustein 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 zugeordneten Parametersatzes in binäre Schnittstellen macht das Programmierwerkzeug unabhängig von der jeweiligen anwendungsspezifischen Sprachanwendung. Die erfindungsgemäße Lösung kann mit jeder in der Automatisierungstechnik üblichen An- Wendersprache genutzt werden. Das Interface ist somit aufwärtskompatibel . Konkret wird in den betroffenen Funktionsbausteinen Verweis auf die jeweilige Eingabemaske angelegt, so dass beim Aufruf oder bei der Programmierung des entsprechenden Funktionsbausteines gleichzeitig die Eingabemaske aufgerufen bzw. angeboten wird.The interface used here is preferably designed as a dynamic link library, ie using DLL technology. The interface is used to implement the software-technical parameter set assigned to a function block by creating corresponding binary interfaces in an input mask assigned to this function block, i.e. a technological view or a technological parameter set. The conversion of the parameter set assigned to the function block into binary interfaces makes the programming tool independent of the respective application-specific language application. The solution according to the invention can be used with any user language customary in automation technology. The interface is thus upwards compatible. Specifically, reference is made to the respective input mask in the function modules concerned, so that when the function module is called or programmed, the input mask is called up or offered at the same time.
In vorteilhafter Ausgestaltung kann der Eingabemaske eine Zwischenlogik zur Realisierung von Zusatzfunktionen wie etwa Kontextmenüs und/oder weiteren Kontrollwerkzeugen zugeordnet sein.In an advantageous embodiment, the input mask can be assigned an intermediate logic for implementing additional functions such as context menus and / or further control tools.
Die Eingabemaske als solche ist in vorteilhafter Ausgestaltung als OLE-Objekt realisiert. Mit Hilfe von OLE-Objekten können Mischdokumente erzeugt werden, bei denen die gemisch- ten Daten jeweils mit ihrem Ursprungsanwendungsprogramm bearbeitet werden können. Dieses Merkmal dient somit dazu, das Programmierwerkzeug unabhängig von einer konkreten anwendungsspezifischen Sprache zu realisieren.The input mask as such is implemented in an advantageous embodiment as an OLE object. With the help of OLE objects, mixed documents can be created, in which the mixed data can be processed with their original application program. This feature is used to implement the programming tool independently of a specific application-specific language.
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.As a result, when programming or when calling a function module that contains a corresponding reference, the input mask assigned to this function module is activated by the interface and offered to the user as an additional technological view.
Im Ergebnis kann die erfindungsgemäße Lösung auch als ein Programmierverfahren, insbesondere der Automatisierungstechnik 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 abgelegten 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 Interface die jeweils zugeordnete Eingabemaske aktiviert und diese dem Benutzer des Steuergerätes zur Parametrierung, Programmierung und/oder Kontrolle angeboten wird.As a result, the solution according to the invention can also be understood as a programming method, in particular of automation technology. In this method, a programmable logic controller and / or a program module representing this control unit for regulating a process, which is essentially in the form of function blocks, is programmed or instantiated in such a way that at least some of the function blocks are assigned the input masks mentioned, the further call of these Function blocks means that an interface arranged between the respective user and the control device activates the respectively assigned input mask and this is offered to the user of the control device for parameterization, programming and / or control.
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 Umsetzung der eingegebenen Parameterwerte in die systemspezifischen bzw. programmtechnischen Erfordernisse.According to claim 8, when entering the parameters using the input mask, either a dialog is set up in order to be able to implement real-time processes, or a conversion of the entered parameter values into the system-specific or program requirements.
Die Erfindung wird nachstehend anhand eines in der Zeichnung dargestellten Ausführungsbeispiels näher erläutert. Es zeigen:The invention is explained below with reference to an embodiment shown in the drawing. Show it:
Figur 1 ein Blockschaltbild zum Aufbau des Programmier- Werkzeugs und1 shows a block diagram for the construction of the programming tool and
Figur 2 ein Flussdiagramm zu einer Programmierung mit diesem Programmierwerkzeug.Figure 2 is a flowchart for programming with this programming tool.
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 Programmierung und Ablaufsteuerung des Steuergeräts 2. Anstelle des Steuergeräts 2 ist insbesondere in der Phase der Programmerstellung 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 kommuniziert dabei bedarfsweise nicht direkt mit dem Interface 3, sondern über eine vom Interface 3 bereitgestellte Eingabemaske 5.In the block diagram shown in FIG. 1, an interface 3 is connected between a user 1 and a programmable logic controller 2. The interface 3 interacts with an application-specific language application 4 for programming and sequence control of the control device 2. Instead of the control device 2, only one program module is present, particularly in the phase of program creation, which emulates the functionality of the control device 2. For a closer understanding of the exemplary embodiment and also of the invention, it is irrelevant whether this program module or the control unit 2 is present as such. If necessary, the user 1 does not communicate directly with the interface 3, but rather via an input mask 5 provided by the interface 3.
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 bevorzugt um grafische Sprachanwendungen der Automatisierungs- technik, etwa Kontaktplan (KOP) oder Funktionsplan (FUP) , handeln.The function of the programming tool selected as an example is explained in more detail below: The sequence of the control and / or regulation is stored in a program, which is stored in the form of the application-specific language application 4. It will preferably be graphical language applications in automation technology, such as a contact diagram (LAD) or function diagram (FBD).
Generell werden unabhängig von der ausgewählten Sprachapplikation 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 Steuerung bestimmter technischer Bausteine eines technischen Prozesses stehen können, wie etwa die Steuerung eines Bewegungsoder Lagereglers. Dabei wird der Aufruf des Funktionsbau- steins an das eigentliche speicherprogrammierbare Steuergerät 2 übermittelt und gleichzeitig einer Kennung des Funktionsbausteines sowie die jeweiligen Parameter an das Interface 3 in Verbindung mit einer Kennung der entsprechenden Eingabemaske 5 übergeben. Anhand dieser Kennung wird nun über die Eingabemaske 5 eine technologische Sicht auf diesen Funktionsbaustein bereitgestellt. Dies bedeutet konkret die Übersetzung der in Verbindung mit dem Funktionsparameter an das speicherprogrammierbare Steuergerät 2 übermittelten Parameter in eine technologische Sicht.In general, regardless of the selected language application, so-called function blocks are called during the program run using unique identifiers. These are modules that can represent certain processes or control of certain technical components of a technical process, such as the control of a motion or position controller. The call of the function block is transmitted to the actual programmable logic controller 2 and, at the same time, an identifier of the function block and the respective parameters are transferred to the interface 3 in conjunction with an identifier of the corresponding input mask 5. Based on this identifier, a technological view of this function block is now provided via the input mask 5. Specifically, this means translating the parameters transmitted in connection with the functional parameter to the programmable logic controller 2 into a technological view.
Bei der Eingabemaske 5 handelt es sich hier um eine so genannte OCX-Anwendung, also um ein OLE-Kontrollelement. Derartige Elemente können mit Visual Basic oder Visual-C++ erstellt werden. Die in der Eingabemaske 5 angezeigten Para- meter müssen weder dem absoluten Wert nach noch in derenThe input mask 5 is a so-called OCX application, that is to say an OLE control element. Such elements can be created with Visual Basic or Visual-C ++. The parameters displayed in the input mask 5 do not have to be in absolute value or in their
Anzahl den an das speicherprogrammierbare Steuergerät 2 über- gebenen Werten entsprechen. Die Anzeige der Parameter kann von einer so genannten Zwischenlogik begleitet sein. Hierunter sind zusätzliche Tools zu verstehen, die einzelnen Parametern zugeordnet sind. Es handelt sich dabei um Kontextmenü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 Funktionsbausteins 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 Sprachapplikation . Anschließend erfolgt eine Rückmeldung über die Eingabemaske 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 Eingabemaske 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 fehlerhaften Eingaben kann die Freigabefunktion gesperrt sein. Hierdurch kann eine fehlerhafte Werteübernahme verhindert werden.Number correspond to the values transferred to the programmable logic controller 2. The display of the parameters can be accompanied by a so-called intermediate logic. This includes additional tools that are assigned to individual parameters. These are context menus that can be used to offer help functions, value ranges or plausibility checks. Furthermore, the interface 3 loads the parameter set supplied via the input mask 5 or creates a suitable dialog between the input mask and the interfaces of the function block. Unless the dialog is terminated or the transmitted parameters are rejected, for example if invalid values are entered, the interface 3 transmits the changed parameter set to the voice application. Subsequently, feedback is given via the input mask 5 as to whether the values in question are permissible or not. If the user then releases the values, the dialog asks whether the relevant values should be saved. If so, then interface 3 prompts you to save the values. The input mask 5 then delivers the values separately with a so-called set-value command, which are fed via the interface 3 either directly to the control unit 2 or initially into the voice application 4. In the event of incorrect entries, the release function can be blocked. This can prevent incorrect values being transferred.
Das vorstehend erläuterte Verfahren ist in einem Verfahrensdiagramm 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.The method explained above is shown in a method diagram according to FIG. 2. The left column shows the sequence that takes place within the programmable control unit 2, and the right column shows the functions offered to the user. The displays or actions of the interface 3 are shown in between and the displays or actions of the input mask 5 to the right of them.
Sobald mit dem Startblock in der linken Spalte ein Funktionsbaustein aktiviert wird, der einen Verweis auf eine Eingabemaske 5 enthält, lädt das Interface 3 die entsprechende Eingabemaske 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 Funktionsbaustein betreffenden Werte abgeholt und im Einzelnen angezeigt. Diese Werte können dann benutzerseitig editiert werden. Es folgt dann die Übertragung der Werte in einer erneuten Schleife mit dem Befehl "Check-Value" und deren Übermittlung 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 erfolgt dann eine Ausgabe vom Interface 3 an die Eingabemaske 5, ob die Werte korrekt oder fehlerhaft sind. Gibt der Benutzer 1 die Werte dann durch Betätigung eines Freigabebuttons 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 entsprechenden Werte gespeichert und eine entsprechende Mitteilung 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.As soon as a function block that contains a reference to an input mask 5 is activated with the start block in the left column, the interface 3 loads the corresponding input mask 5 and fetches the corresponding parameter values and displays them by means of the input mask 5. With a loop, all the values relating to the called function block are gradually picked up and displayed in detail. These values can then be edited by the user become. The values are then transferred in a new loop with the "Check-Value" command and transmitted to interface 3. They are then checked for plausibility or admissibility. In particular, the entered parameters are checked for syntax. The interface 3 then outputs to the input mask 5 whether the values are correct or incorrect. If user 1 then releases the values by pressing a release button, interface 3 asks whether the relevant values should be saved. This is done with the "Can-Store" command. If this is the case, the corresponding values are saved and a corresponding message is sent to the user. The values are then fetched in a new loop and transferred to the speech application 4 or control device 2, as explained above.
Vorstehend ist somit ein Verfahren und ein Programmierwerkzeug 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 speicherprogrammierbaren Steuergeräten 2, insbesondere im Zusammenhang mit komplexen Automatisierungsvorgängen dadurch erleichtert, dass die vertrauten technischen Parameter an- gezeigt und gegebenenfalls verändert werden. Thus, a method and a programming tool are described above which, regardless of the language application 4 used, provide a technological view for at least some of the function blocks, which thereby simplifies the programming and monitoring of programmable logic controllers 2, in particular in connection with complex automation processes that the familiar technical parameters are displayed and, if necessary, changed.

Claims

Patentansprüche claims
1. Programmierwerkzeug zur Erstellung von Programmen, insbesondere der Automatisierungstechnik, mit einem Interface (3) , das zwischen einen Benutzer (1) und ein speicherprogrammierbares Steuergerät (2) und/oder ein dieses Steuergerä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.1. Programming tool for the creation of programs, in particular automation technology, with an interface (3) between a user (1) and a programmable logic controller (2) and / or a program module representing control unit (2) for control and / or regulation of a process is switchable in such a way that the user (1) is offered an input mask (5) for entering technological parameters in the context of parameterization or monitoring, the process being at least essentially depicted in the control unit (2) in the form of distinguishable function blocks and at least a part of these function blocks is assigned a corresponding input mask (5).
2. Programmierwerkzeug nach Anspruch 1, dadurch gekennzeichnet, dass das Interface (3), vorzugsweise eine DLL- Applikation, den jeweils einem Funktionsbaustein zugeordneten Parametersatz, der auf einem I/O-BUS des Steuergeräts (2) im Zugriff steht, in binäre Schnittstellen zur Implementierung der diesem Funktionsbaustein zugeordneten Eingabemaske (5) umsetzt .2. Programming tool according to claim 1, characterized in that the interface (3), preferably a DLL application, the respective parameter set assigned to a function block, which is accessible on an I / O bus of the control unit (2), in binary interfaces for the implementation of the input mask (5) assigned to this function block.
3. Programmierwerkzeug nach Anspruch 1 oder 2, dadurch geken zeichnet, dass in jedem Funktionsbaustein ein Verweis auf die jeweilige Eingabemaske (5) angelegt ist.3. Programming tool according to claim 1 or 2, characterized in that a reference to the respective input mask (5) is created in each function block.
4. Progammierwerkzeug nach einem der vorhergehenden An- sprüche, dadurch gekennzeichnet, dass zumindest einem Teil der Eingabemasken (5) eine Zwischenlogik zur Realisierung von Zusatzfunktionen, vorzugsweise Kontextmenüs und/oder Kontrollwerkzeugen zugeordnet ist. 4. Programming tool according to one of the preceding claims, characterized in that at least some of the input masks (5) are assigned intermediate logic for implementing additional functions, preferably context menus and / or control tools.
5. Programmierwerkzeug nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Eingabemaske (5) als OLE-Tool realisiert ist.5. Programming tool according to one of the preceding claims, characterized in that the input mask (5) is implemented as an OLE tool.
6. Programmierwerkzeug nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das programmierbare Steuergerät (2) mittels einer vorzugsweise anwendungsspezifischen Sprachapplikation (4), vorzugsweise AWL, KOP, FUP u.a., programmiert ist und bei der Programmierung und/oder dem Aufruf eines Funktionsbausteines mit einer zugeordneten Eingabemaske (5) durch das Interface (3) mittels des in dem jeweiligen Funktionsbaustein angelegten Verweises die Eingabemaske (5) aufrufbar ist.6. Programming tool according to one of the preceding claims, characterized in that the programmable control device (2) is programmed by means of a preferably application-specific language application (4), preferably STL, LAD, FBD and others, and when programming and / or calling a function block with An input mask (5) can be called up by the interface (3) by means of the reference created in the respective function block.
7. Verfahren zur Erstellung eines Programms, insbesondere der Automatisierungstechnik, bei dem ein speicherprogrammierbares Steuergerät (2) und/oder ein dieses Steuergerät (2) repräsentierendes Programmmodul zur Steuerung oder Regelung eines zumindest im Wesentlichen in Form von Funktionsbausteinen an- gelegten Prozesses mittels einer anwendungsspezifischen7. Method for creating a program, in particular automation technology, in which a programmable logic controller (2) and / or a program module representing this control device (2) for controlling or regulating a process which is at least essentially in the form of function blocks by means of an application-specific process
Sprachapplikation (4) derart programmiert oder parametriert wird, dassVoice application (4) is programmed or parameterized in such a way that
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 speicherprogrammierbaren 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 Anzeigevorrichtung zur Anzeige gebracht wird. At least some of the function blocks are assigned a reference to an input mask (5) for the input of technological parameters, wherein when such a function block is called up, an interface (3) connected between a user (1) and the programmable logic controller (2) is activated - and thereby Corresponding input mask (5) is called up by the interface (3) and is displayed on a display device assigned to the control unit (2).
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass in Verbindung mit dem Aufruf des Funktionsbausteins durch eine Sprachapplikation8. The method according to claim 7, characterized in that in connection with the call of the function block by a voice application
- 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 Eingabemaske (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 OLE-Technik mit Syntaxprüfung anlegt, die im Wege des Dialogs eingegebenen Parametersätze umsetzt und - an diesen Funktionsbaustein übergibt. - It is checked whether a reference to an input mask (5) has been implemented in connection with the function block and, if so, the interface (3) is activated and the corresponding input mask (5) is displayed, the interface (3) using the input mask ( 5) reads the technological parameter sets entered, converts them into a corresponding string and the interface (3) calls the interface of the relevant function block, - transfers the converted parameter set to this function block and / or creates a dialog in OLE technology with syntax check, which is carried out by the Converts the parameter sets entered in the dialog and - transfers them to this function block.
EP02740393A 2001-06-11 2002-06-11 Tool and programming method Withdrawn EP1412849A2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE10128158A DE10128158A1 (en) 2001-06-11 2001-06-11 Programming tool and programming method
DE10128158 2001-06-11
PCT/DE2002/002133 WO2002101543A2 (en) 2001-06-11 2002-06-11 Tool and programming method

Publications (1)

Publication Number Publication Date
EP1412849A2 true EP1412849A2 (en) 2004-04-28

Family

ID=7687833

Family Applications (1)

Application Number Title Priority Date Filing Date
EP02740393A Withdrawn EP1412849A2 (en) 2001-06-11 2002-06-11 Tool and programming method

Country Status (4)

Country Link
US (1) US7444617B2 (en)
EP (1) EP1412849A2 (en)
DE (1) DE10128158A1 (en)
WO (1) WO2002101543A2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10311026A1 (en) * 2003-03-13 2004-09-30 Siemens Ag Process for changing the function parameters used in an industrial controller uses sampled values subjected to a weighting process
DE102007062453A1 (en) * 2007-12-22 2009-06-25 Robert Bosch Gmbh Method for programming and / or diagnosing a programmable logic controller
DE102008053557B4 (en) * 2008-03-11 2017-07-06 Sew-Eurodrive Gmbh & Co Kg Device for controlling a system and method for setting up and operating the control of a system
EP2131281A1 (en) * 2008-06-02 2009-12-09 Siemens Aktiengesellschaft Software application with a communications manager
DE102008035176A1 (en) 2008-07-28 2010-02-04 Phoenix Contact Gmbh & Co. Kg Method for application-specific addition of e.g. light grid, to automation system, involves detecting selection of function block, and adding selected function block referred by selection field, to automation system
EP2221696A1 (en) * 2009-02-12 2010-08-25 Siemens Aktiengesellschaft Method and device for checking a control program of an industrial device
DE102009033967A1 (en) * 2009-07-21 2011-01-27 Robert Bosch Gmbh Method for programming a programmable logic controller with resistant data storage

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6868538B1 (en) * 1996-04-12 2005-03-15 Fisher-Rosemount Systems, Inc. Object-oriented programmable controller
US7617240B2 (en) * 1999-05-04 2009-11-10 Accenture Llp Component based task handling during claim processing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO02101543A2 *

Also Published As

Publication number Publication date
DE10128158A1 (en) 2003-01-02
US7444617B2 (en) 2008-10-28
US20040261056A1 (en) 2004-12-23
WO2002101543A3 (en) 2004-02-19
WO2002101543A2 (en) 2002-12-19

Similar Documents

Publication Publication Date Title
DE19624929C2 (en) Process automation system
EP2098926B1 (en) Method and device for programming and/or configuring a safety controller
DE102012112900A1 (en) Numerical control program alignment by robots
EP2098925A1 (en) Method and device for programming and/or configuring a safety controller
DE10313389A1 (en) Method for transferring software code from a control unit to a field device in process automation technology
DE102008060003A1 (en) Method and device for creating a user program for a safety control
EP1221638A2 (en) Automation system
EP1714197B1 (en) Driver for field devices used in process automation technology
EP3273315A1 (en) Platform for further use of existing software for controlling industrial field devices
EP0553621A1 (en) Programmable computer control for a machine tool
EP1548527B1 (en) Control system for a machine tool or a production machine
EP1412849A2 (en) Tool and programming method
EP3067768B1 (en) Automation device and operator system
DE112005002185B4 (en) Method for operating an automation device or device for carrying out the method
EP3420426B1 (en) Device and method for adapting a numerical control system to a machine to be controlled
EP0860758B1 (en) Device of programmation of a programmable controller
EP1183577B1 (en) Method for the production of an open-loop control block and said control block
EP1506474A2 (en) Method for generating an automation program
EP3764178A1 (en) Method for integrating a machine or a module, interface for integration, computer program, and computer-readable medium
DE102008007102A1 (en) Method for programming a control device
EP3098672B1 (en) Configuration device and method for configuring an automation system
WO2001075535A2 (en) State control of technical systems
EP3987365B1 (en) Self-learning routine for checking compatibility
DE102006020478A1 (en) Security-related software application processing method for automation resolution, involves providing causation/execution-based programming procedure by using security-related programming system component
DE102004045195A1 (en) Controller for machine tool e.g. gear cuter and production machine e.g. blower, stores executable macro loaded into interpreter for determining parameters for parameterizing controller and storing parameters in computer

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20031211

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR

17Q First examination report despatched

Effective date: 20040818

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20041229