EP2729855A1 - Verfahren und vorrichtung zur programmierung und konfigurierung einer speicherprogrammierbaren steuereinrichtung - Google Patents

Verfahren und vorrichtung zur programmierung und konfigurierung einer speicherprogrammierbaren steuereinrichtung

Info

Publication number
EP2729855A1
EP2729855A1 EP12734808.4A EP12734808A EP2729855A1 EP 2729855 A1 EP2729855 A1 EP 2729855A1 EP 12734808 A EP12734808 A EP 12734808A EP 2729855 A1 EP2729855 A1 EP 2729855A1
Authority
EP
European Patent Office
Prior art keywords
code
programming
library
programmable logic
logic controller
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
EP12734808.4A
Other languages
English (en)
French (fr)
Inventor
Anke Frohberger
Brigitte Blei
Christian Meyer
Harald Staab
Thomas Reisinger
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.)
ABB AG Germany
Original Assignee
ABB AG Germany
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 ABB AG Germany filed Critical ABB AG Germany
Priority to EP12734808.4A priority Critical patent/EP2729855A1/de
Publication of EP2729855A1 publication Critical patent/EP2729855A1/de
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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • 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/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13105Two or more languages, ladder diagram or progression, basic program
    • 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/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13123C language

Definitions

  • the invention relates to a method for programming and configuring a programmable logic controller according to claim 1. Furthermore, the invention relates to a device or a system for carrying out the method.
  • the invention finds particular use in the integration of intelligent field devices into a control or automation system, in process automation or in machine controls for controlling technical processes and / or plant components.
  • PLC programmable logic controller
  • the programming and configuration of the programmable logic controllers is realized by means of a PC-based programming tool or programming device, also called engineering tool, as a sequence of individual program instructions, each of which is technologically or functionally related
  • CONFIRMATION COPY Program instructions form a program block, also called a function block.
  • a complete PLC program typically contains a large number of such program blocks.
  • the blocks can be entered in one of the PLC application-related programming languages mentioned above, for example as an instruction list, as a ladder diagram, as a logic diagram, as a function diagram, as a sequence language or as structured text via the programming tool.
  • PC-based tools exist for creating, translating, checking and downloading the PLC code to the devices of the automation system.
  • a method for entering the program instructions in the high-level language "C” is described, for example, in EP 860 758 A1.
  • an input device of the programming device is shown, which is connected via a first data line to a conversion device and is connected via a second data line to a high-level language compiler, which translates the program instructions into a readable or processable by the programmable logic controller code.
  • Another solution relates to the runtime system of the programmable logic controller according to IEC61131.
  • the C-code functions only Variables are called with the programs described in IEC61131-3.
  • An access to the system resources, such as inputs and / or outputs or the memory of the devices connected to the programmable logic controller is not provided.
  • the invention has for its object to provide a method and apparatus with which the programming and configuration of a programmable logic controller is particularly simplified by the fact that created in a high-level language, such as C code Pogrammanreteen on the connected to the programmable logic controller devices in parallel to which run the program instructions created in accordance with IEC 61131-3 and thus provide direct access to the system resources, such as inputs and / or outputs or the memory of the devices connected to the programmable logic controller.
  • a high-level language such as C code Pogrammanreteen
  • IEC 61131-3 run the program instructions created in accordance with IEC 61131-3 and thus provide direct access to the system resources, such as inputs and / or outputs or the memory of the devices connected to the programmable logic controller.
  • For the user it is possible to edit code in the high level language as well as in IEC61131 languages.
  • the inventive method for programming and configuring a programmable logic controller is based on a configuration tool located in a programming tool, wherein in the configuration tool next to a module in an IEC61131 language at least one further module is integrated, with the programming of the programmable logic controller using a C code Editors in a high-level language.
  • a definition of interfaces between an IEC61131 code and a high-level language code and the configuration of the high-level language code is provided.
  • figurationswerkmaschine an additional module, and also referred to as a plug-in integrated, which library functions in a high-level language, preferably C code, generates and inserts for programming the controller, whereby the creation and integration of created in a high-level language program instructions in the devices of the automation system in easy way is executable.
  • a high-level language editor In the add-on module, a high-level language editor, a library administration and an IEC 61131 interface (2A) are integrated according to the invention.
  • the library administration is used to create and manage user-defined libraries.
  • libraries with operating-program modules executable in a high-level language, for example C code are first configured together with corresponding compiler options as C code plug-in tab configuration.
  • an image of hardware devices that can be connected to the programmable logic controller is configured with its inputs, outputs and / or local variables in a library project as a C-code plug-in tab IEC 61131 interface.
  • Plug-in Tab Configuration and the Plug-in Tab IEC61131 interface are edited and saved in the add-on module.
  • an application library is now created for the user using a compiler and additional library-specific header files, and the generated application library is added to the programmable controller's target project code which is not visible to the user. Thereafter, in the programming tool for the target project to be executed on the programmable logic controller, the code is generated in the corresponding high-level language and the program organization unit instances, also referred to as program organization units (POL! Instances, implemented and programmed by the programming tool together with the POUs for the IEC61131-3 applications are transferred to the programmable logic controller.
  • POL program organization unit
  • the course of the program instructions generated under C code takes place under a shell or shell referred to as shell according to the IEC 61131 standard, so that only the shell and not the background C code is visible to the user or user , This means that access to the system resources is only required via the existing IEC 61131 interfaces.
  • the runtime environment of a C code routine appears as a sequence of program instructions under an IEC 61131 environment.
  • the method described above according to the present invention advantageously allows the programmer to use his own C code programs or program instructions, hereinafter referred to as C code, within an IEC61131 project.
  • the program instructions previously created in C code run on the devices connected to the programmable logic controller in parallel with those of the IEC 61131-3 program instructions. This provides direct access to the system resources, such as inputs and / or outputs or the memory of the devices connected to the programmable logic controller executable.
  • the invention also relates to a device or a system for programming and configuring a programmable logic controller.
  • the device for programming and configuring the programmable logic controller comprises a programming tool located in a programming tool, in addition to a module (80) in an IEC61131 language at least one further module is integrated, with which the programming of the programmable logic controller is executable using a C-code editor in a high-level language, and which allows a definition of interfaces between an IEC61131 code and a high-level language code and the configuration of the high-level code.
  • an additional module is integrated in the configuration tool of the controller development system, in which generated library functions in a high-level language, preferably C-code, are inserted for programming the controller, whereby the creation and integration of created in a high level program instructions in the devices of the automation system in a simple manner becomes executable.
  • the additional module includes
  • a high-level language editor for example a C code editor
  • a library administration in which a library with high-level language, for example C code, executable program modules together with corresponding compiler options as a high-level language additional program, the tab configuration, is defined or configured and serves for creating and managing user-defined libraries;
  • a library with high-level language for example C code, executable program modules together with corresponding compiler options as a high-level language additional program, the tab configuration, is defined or configured and serves for creating and managing user-defined libraries;
  • An IEC 61131 interface in the high-level language for example C code, which maps the hardware devices that can be connected to the controller with their inputs, outputs and / or local variables in a library project. This interface is also referred to as C code add-on tab IEC61131 interface.
  • the novelty of the invention is further based on the fact that the PC-based configuration tool provides the user with the option of combining the various programming languages according to IEC 61131-3 and C.
  • a selection unit or interface is provided for selecting between programming using a high-level language, such as C code or programming language based on IEC 61131-3.
  • the programming tool has, in addition to a first application module or interface for programming according to IEC 6113-3, a second application module or interface for programming in the programming language "C", wherein switching between programming using a high-level language, such as C-code or under the IEC 61131-3 based programming language is provided by means of a selection unit.
  • FIG. 2 shows an exemplary embodiment of the method according to the invention for programming a programmable logic controller
  • Fig. 3, 4 show an example of the use of application modules from the
  • FIG. 5 shows an exemplary embodiment of a system structure of the C code integration by means of a programming tool
  • FIG. 6 shows an exemplary method sequence for transmitting the created
  • Fig. 7 shows a C code library added to the target project code of the programmable logic controller.
  • FIG. 1 is a programming environment for a programmable logic controller or controller according to the prior art with various programming interfaces 10 based on the respective programming languages in which the programmer the corresponding software for developing and executing the User programs writes, shown.
  • a first programming interface 11 is provided for programming according to the IEC61131-3 standard.
  • a second programming interface 12 forms an integrated development environment offered by the company Microsoft for various high-level languages, such as C, C ++, C #, which is referred to as Visual Studio. This allows the programmer to develop classic Windows programs or dynamic web pages or web services for the Internet / Intranet, with a particular focus on creating applications for the .NET Framework, a software platform 1 based on the common language runtime developed by Microsoft.
  • the second programming interface 12 interacts with a meanwhile standardized intermediate language or intermediate code 20, which is stored on the software platform 1 and is referred to as the Common Intermediate Language (CIL), which translates the programs that have been created and already reproduces them in a simplified manner.
  • CIL Common Intermediate Language
  • the intermediate code 20 is translated by a runtime system (Virtual Execution System) 30 into the native program code, usually a machine code, so as to be able to execute the programs present in CIL 20 in the programmable logic controller ,
  • a runtime system Virtual Execution System
  • the translation into the native program code is not carried out directly, but first a CIL code 20 is generated in a first step, which specifies the corresponding program instructions as a sequence of byte values.
  • the CIL code 20 is translated to native machine code and executed on the execution computer 30 in a runtime system.
  • a third programming interface 13 is provided as a so-called user configuration tool for generating CIL code 20.
  • FIG. 2 shows the features of the method according to the invention for programming and configuring a programmable controller D by means of a configuration tool K located in a programming tool B the procedure with the steps 1 to 8 using an inventively provided additional module A, which is also referred to as a plug-in.
  • the add-on module A comprises a C-code editor 3A, a library manager 1A, in which a library with C-code executable program modules together with corresponding compiler options as a C-code add-on program, the tab configuration, set or configured, an IEC 61131 interface 2A in C code, which maps the hardware devices that can be connected to the controller with their inputs, outputs and / or local variables in a library project.
  • This interface is also referred to as C code add-on tab IEC61131 interface.
  • libraries with C code-executable operating program modules are initially configured in library management 1A together with corresponding compiler options as C code plug-in tab configuration.
  • the IEC 61131 interface 2A is converted into C code for mapping hardware that can be connected to the programmable logic controller (D) with its inputs, outputs and / or local variables in a library project as a C code plug-in tab IEC61131
  • the plug-in Tab Configuration and the plug-in tab IEC61131 interface in add-on module A are edited and saved accordingly.
  • an externally created application library 43 is provided in an application module programmed in C code for the programming tool B, which translates in the background, ie not visible to the user, from the present source code 44 in a compiler 42 into C code using additional library-specific header files 41.
  • the externally created application library 43 is added to the target project code (PLC Target Project Code) of the programmable logic controller D, which is stored in the programming tool B.
  • PLC Target Project Code PLC Target Project Code
  • This process step is also running in the background.
  • the C code is generated in the programming tool B for the program to be executed on the programmable controller, hereinafter also referred to as the target project, and the Program Organization Units instances contained therein, which include the instances of the programs, function blocks and functions, implemented.
  • the target project is now loaded in a further step 7 from the programming tool B to the memory-programmed controller D, whereby a library of C code binary programs, also referred to as C code library Binary, integrated and loaded on the controller D.
  • a library of C code binary programs also referred to as C code library Binary
  • the executable binary code (C code Library Binary) is relocated from the runtime system of the programmable logic controller D and all external application program interface references (API references) are thereby resolved and bound.
  • the C-code POUs can invoke a Firmware API (Application Programming Interface).
  • the user of the programmable logic controller advantageously requires only the functions stored in C code, function blocks and programs, ie no programming knowledge of the particular firmware.
  • the PC-based programming tools B have an interface that allows the programmer to choose between programming in the high-level language and programming in IEC 61131.
  • new functions as well as existing functions in the libraries can be implemented as C-code or in IEC 611131-3 languages and combined in the target application.
  • An advantageous embodiment of the method according to the invention is based on the fact that the programming tool B provides external library POUs that can be implemented in C code.
  • the configurator used supports the plug-ins of the C code libraries, the IEC1131-3 interface specification, the C code editor and the compiler integration, including the display of compiler errors and / or the integration of externally provided libraries in a target project of the PLC.
  • system functions for C code are not mapped as further application modules from the system libraries, but mapped as application program interfaces, also called Application Programming Interface (API), grouped into functional areas for the firmware FW API.
  • API Application Programming Interface
  • 3 and 4 show, by way of example, the use of application modules 90 from the system libraries 94 and the application libraries 43 as source code, which is translated (compiled) in binary format in Engineering Tool B or is present as a precompiled binary format, which is only included.
  • the fifth shows the system structure of the programmable logic controller for C code integration by means of a programming interface 1 integrated in the first programming interface 1 for generating the configuration of a PLC project and a second programming interface 12.
  • the first programming interface 11 is for programming according to the IEC61131-3 Standard and the second programming interface is intended for programming in a high-level language, preferably C code.
  • the dedicated hardware devices 40 in particular intelligent field devices, which are connected via communication coupler and a field bus 70 to a controller 30, mapped in the programming tool B as part of a PLC or control project, in the control project information about A / Output addresses of these hardware devices 40 are stored and made available to the user program.
  • the controller and the input / output units of the hardware 40 are initially configured and configured of a PLC project, also called PLC configuration, created as part of the PLC or control project.
  • the project configured with the programming interface 10 is transmitted via an Ethernet bus 50, to which an operating unit 60 can also be connected, into the controller 30 of the programmable logic controller and from there via the fieldbus 70 to the field devices 40.
  • an application module 80 is provided as a runtime environment in the programmable logic controller in the programming tool B, in which global variables 81, application program interfaces 82, IEC61131-3 applications 83 and C-code based applications 84 are integrated, for a transmission are provided in the Conroll 30.
  • the IEC61131-3 applications 83 are organized in the POUs in a cooperating POL) unit 90, for example as Special Function Block Diagrams (FBD), Structured Text (ST), Ladder Diagrams (LD), Instruction Lists (IL) and / or Function Diagrams (SFC , CFC).
  • BFD Special Function Block Diagrams
  • ST Structured Text
  • LD Ladder Diagrams
  • IL Instruction Lists
  • SFC Function Diagrams
  • C code based applications 84 such as FBD, ST, LD, IL, SFC, CFC are implemented.
  • the applications are accordingly according to the invention of application modules 83, 84 programmed in IEC61131-3 languages and programmed in C code together.
  • All inputs and / or outputs of the hardware devices 40 are mapped as global variables 81 and all POUs 83, 84 share the global variable 81 so that the C code applications 84 have full access to the inputs and / or outputs have the interface of the POU unit 90.
  • System functions such as real-time functions, read and write files, memory management, floating-point operations, real-time functions and real-time clock according to the invention for C-code are not shown as additional application modules from the system libraries but grouped as an application program interface (API) to the firmware FW API in functional areas.
  • API application program interface
  • the generated application library 43 is needed.
  • the library elements stored in the application library 43 such as functions, function blocks and programs, are defined by the POU interface of the POU unit 90 according to the IEC61131-3 runtime system.
  • the POU interface defines the connection points to other POUs, inputs and outputs and to the higher-level control unit as a local variable, such as variables of the type Input IN, Output OUT and / or Input- Output IN_OUT.
  • Any local POU variable created in accordance with IEC61131-3 and in C code is advantageously accessible and addressable via a PC access, for example the operating unit 60, or via a representation via the Internet.
  • FIG. 43 An exemplary procedure for transferring the created application library 43 with the C code POU is shown in FIG. The additional module A for creating the application library 43 is not shown here.
  • a function block in the engineering tool B of the programmable logic controller with all its inputs and outputs and all internal or local variables in a library project as C-code plug-in Tab IEC61131 interface specified and the library project is in the engineering tool B saved.
  • From Engineering Tool B is in a second step 12 in the background the C-code plug-in Tab IEC61131 interface to a header file 41 and a C-code source file or frame (C File Template) exported.
  • the function block is programmed using the C-code plug-in tab IEC 61131 interface previously defined in the header file 41 and the C-code source file in C code, and in a fourth method step 14, the present C source code 44 translated by the compiler 42 into the appropriate binary code.
  • the application library 43 in the PLC target project Z is opened, and in a further method step 16, the function block instances are generated in the target project Z.
  • the PLC target project Z is loaded into the controller 30 invisibly for the user in a following step 17, the applications 83, 84 are connected to one another and the C code Library Binary is downloaded.
  • the C code library contains for application modules the interface description 91 and either the source code of the runtime function 92 or only the executable binary code (Binary) of the runtime function 93. This is shown for example in FIG.
  • the executable binary code (C code Library Binary) can be integrated by the runtime system of the programmable logic controller D and the references to the FW API can be resolved or relocated. This is shown for example in FIG. 4.
  • Fig. 7 shows a C code library executed with a POL) 90 using the C code source files 44 in C code.
  • the created application library 43 is added in step 25 to the target project code Z of the programmable logic controller D.
  • the C code is generated in the programming tool B for the target project to be executed on the programmable controller and the application module instances contained therein are implemented.
  • the target project is now loaded in a further step 28 from the programming tool B to the memory-programmed controller D.
  • the application library 43 with the application modules, interface definition and the binary code generated from C code can advantageously be reused in further projects without the source code files 44 being required.
  • All POUs can now be implemented in the C code or IEC61131-3 languages and share the global variables 81. This provides direct access to system resources, such as inputs and / or outputs, or the memories of the programmable logic controller Although programming in a high-level language, for example C code, is performed, the programming world only appears to the user as an IEC 61131-3 programming system.
  • firmware application program interfaces can be called using the system libraries 94; the functions of the system libraries 94 including the header files 41 are also available for C code programming.

Landscapes

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

Abstract

Die Erfindung bezieht sich auf ein Verfahren und eine Vorrichtung zur Ausführung des Verfahrens zur Programmierung und Konfigurierung einer speicherprogrammierbaren Steuereinrichtung (D) mittels eines in einem Programmierwerkzeug (B) befindlichen Konfigurationswerkzeuges (K), wobei im Konfigurationswerkzeug (K) neben einem Modul (80) in einer IEC61131 Sprache mindestens ein weiteres Modul (C) integriert wird, mit dem die Programmierung der speicherprogrammierbaren Steuereinrichtung (D) unter Verwendung eines C-Code Editors (3A) in einer Hochsprache ausgeführt wird, und vom weiteren Modul (C) eine Definition von Schnittstellen zwischen einem IEC61131 Code und einem Hochsprachencode sowie die Konfiguration des Hochsprachencodes bereitstellt wird.

Description

Verfahren und Vorrichtung zur Programmierung und Konfigurierung einer speicherprogrammierbaren Steuereinrichtung
Beschreibung
Die Erfindung betrifft ein Verfahren zur Programmierung und Konfigurierung einer speicherprogrammierbaren Steuereinrichtung gemäß Anspruch 1. Weiterhin betrifft die Erfindung eine Vorrichtung bzw. ein System zur Ausführung des Verfahrens. Die Erfindung findet insbesondere Verwendung bei der Integration von intelligenten Feldgeräten in ein Steuerungs- oder Automatisierungssystem, in der Prozessautomation oder in Maschinensteuerungen zum Steuern von technischen Prozessen und/oder Anlagenkomponenten.
Grundlage für die Programmierung und Konfigurierung speicherprogrammierter Steuerungen (SPS) ist unter anderem das geräteübergreifende Programmiersystem gemäß der internationalen Norm IEC 61131-3 mit den dort beschriebenen Programmiersprachen. Viele Programmierumgebungen für speicherprogrammierbare Steuerungen erlauben auch die Verwendung von Hochsprachen, wie BASIC, Java, C oder C/C++/C#.
Die Programmierung und Konfigurierung der speicherprogrammierbare Steuerungen wird mittels einem PC- basiertem Programmierwerkzeug oder Programmiergerät, auch Engineering Tool genannt, als eine Folge von einzelnen Programmanweisungen realisiert, wobei jeweils technologisch oder funktionell zusammengehörende
BESTÄTIGUNGSKOPIE Programmanweisungen einen Programmbaustein, auch Funktionsblock genannt, bilden.
Ein vollständiges SPS-Programm enthält typischerweise eine Vielzahl solcher Programmbausteine. Die Bausteine können in einer der vorab erwähnten SPS- anwen- dungsbezogenen Programmiersprachen, etwa als Anweisungsliste, als Kontaktplan, als Logikplan, als Funktionsplan, als Ablaufsprache oder strukturierter Text über das Programmierwerkzeug eingegeben werden. Zum Erstellen, Übersetzen, Prüfen und Herunterladen des SPS-Codes in die Geräte des Automatisierungssystems existieren PC- basierte Werkzeuge.
Ein Verfahren zur Eingabe der Programmanweisungen in der Hochsprache "C" ist beispielsweise in der EP 860 758 A1 beschrieben. Dort ist eine Eingabevorrichtung des Programmiergerätes gezeigt, welche über eine erste Datenleitung mit einer Umsetzeinrichtung verbunden ist und über eine zweite Datenleitung an einen Hochsprachen- Compiler angeschlossen ist, der die Programmanweisungen in einen von der speicherprogrammierbaren Steuerung lesbaren bzw. verarbeitbaren Code übersetzt.
Auf der Produktseite der Firma Bernecker + Rainer Industrie-Elektronik GmbH-B&R Automation Studio: "Integrated IEC 61131-3 Languages, CFC and ANSI-C" (siehe www.br-automation.com/cps/rde/xchg/br-productcatalogue/hs.xsl/products_15 728 ENG HTML.htm) ist beschrieben, dass die Programmiersprache ANSI C den Nutzern erlaubt, Funktionsblöcke und Zugangsadressen (Globale Access Variable) aus anderen IEC- Sprachen aufzurufen.
Weiterhin existieren Lösungen, bei denen verschiedene Quelldateisprachen, wie beispielsweise IEC61131 , C/C++/C#, Basic oder Java in einen Zwischencode übersetzt werden und der Zwischencode dann entsprechend der herstellerspezifischen Zielplattformen der verwendeten Geräte mittels einer zusätzlichen Softwarekomponente rückübersetzt wird. Diese Lösung wird beispielsweise von der Firma KW Software der Phoenix Contact Gruppe eingesetzt und ist in der Fig. 1 beispielhaft dargestellt.
Eine weitere Lösung bezieht sich auf das Laufzeitsystem der speicherprogrammierbaren Steuerung gemäß der IEC61131. Dabei können die C-Code Funktionen nur Variable mit den in der IEC61131-3 beschriebenen Programmen aufgerufen werden. Ein Zugriff auf die Systemressourcen, wie Ein- und/oder Ausgänge oder die Speicher der an die speicherprogrammierbare Steuerung angeschlossenen Geräte ist nicht vorgesehen.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren und eine Vorrichtung anzugeben, mit denen die Programmierung und Konfigurierung einer speicherprogrammierbaren Steuereinrichtung insbesondere dadurch vereinfacht wird, dass die in einer Hochsprache, beispielsweise C- Code erstellten Pogrammanweisungen auf den an die speicherprogrammierbare Steuerung angeschlossenen Geräte parallel zu denen der gemäß der IEC 61131-3 erstellten Programmanweisungen laufen und damit ein direkter Zugriff auf die Systemressourcen, wie Ein-/ und/oder Ausgänge oder die Speicher der an die speicherprogrammierbare Steuerung angeschlossenen Geräte ausführbar ist. Für den Nutzer ist es möglich, in der Hochsprache wie auch in IEC61131 Sprachen Code zu editieren.
Diese Aufgabe wird erfindungsgemäß mit den in Anspruch 1 angegebenen Merkmalen gelöst. Vorteilhafte Ausgestaltungen, Verbesserungen des erfindungsgemäßen Verankerungselements sind in weiteren Ansprüchen und in der Beschreibung angegeben.
Das erfindungsgemäße Verfahren zur Programmierung und Konfigurierung einer speicherprogrammierbaren Steuereinrichtung geht von einem in einem Programmierwerkzeug befindlichen Konfigurationswerkzeug aus, wobei im Konfigurationswerkzeug neben einem Modul in einer IEC61131 Sprache mindestens ein weiteres Modul integriert wird, mit dem die Programmierung der speicherprogrammierbaren Steuereinrichtung unter Verwendung eines C-Code Editors in einer Hochsprache ausgeführt wird. Mit dem weiteren Modul wird erfindungsgemäß eine Definition von Schnittstellen zwischen einem IEC61131 Code und einem Hochsprachencode und die Konfiguration des Hochsprachencodes bereitstellt.
Zur Ausführung des erfindungsgemäßen Verfahren zur Programmierung und Konfigurierung der speicherprogrammierbaren Steuereinrichtung mittels des im Programmierwerkzeug befindlichen Konfigurationswerkzeuges wird erfindungsgemäß im Kon- figurationswerkzeug ein Zusatzmodul, und auch als Plug-in bezeichnet, integriert, welches Bibliotheksfunktionen in einer Hochsprache, vorzugsweise C-Code, zur Programmierung der Steuereinrichtung erzeugt und einfügt, wodurch die Erstellung und Integration von in einer Hochsprache erstellten Programmanweisungen in die Geräte des Automatisierungssystems in einfacher Weise ausführbar wird.
Im Zusatzmodul werden erfindungsgemäß ein Hochspracheneditor, eine Bibliothekenverwaltung und eine IEC 61131- Schnittstelle (2A) integriert.
Die Bibliothekenverwaltung dient dem Anlegen und Verwalten benutzerdefinierter Bibliotheken. In der Bibliothekenverwaltung werden zunächst Bibliotheken mit in einer Hochsprache, beispielsweise C-Code, ausführbaren Betriebsprogramm- Module zusammen mit entsprechenden Compiler- Optionen als C- Code Plug-in Tab Confi- guration konfiguriert.
Nachfolgend werden in der IEC 61131 Schnittstelle in der Hochsprache eine Abbildung von an die speicherprogrammierbare Steuerung anschließbarer Hardwaregeräte mit ihren Eingängen, Ausgängen und/oder lokalen Variablen in einem Bibliotheksprojekt als C-Code Plug-in Tab IEC61131 Schnittstelle konfiguriert.
Gemäß dem weiteren Verfahrensablauf werden im Zusatzmodul die Plug-in Tab Configuration und die Plug-in Tab IEC61131 Schnittstelle editiert und gespeichert.
In einem Applikationsmodul wird nun für den Anwender nicht sichtbar unter Verwendung eines Compilers und zusätzlicher bibliothekspezifische Header- Dateien daraus eine Anwendungsbibliothek erzeugt und die erzeugte Anwendungsbibliothek wird für den Anwender nicht sichtbar zum im Programmierwerkzeug abgelegtem Zielprojektcode der speicherprogrammierbaren Steuerung hinzugefügt. Danach wird im Programmierwerkzeug für das auf der speicherprogrammierbaren Steuerung auszuführende Zielprojekt der Code in der entsprechenden Hochsprache erzeugt sowie die darin enthaltenen Programm- Organisationseinheiten- Instanzen, auch als Program Organization Units (POL!) Instanzen bezeichnet, implementiert und vom Programmierwerkzeug zusammen mit den POU's für die IEC61131-3 Anwendungen in die speicherprogrammierten Steuerung übertragen. Gegenwärtig sind die Laufzeitumgebung für IEC und C Code in 2 Laufzeitsysteme aufgeteilt, zwischen denen nur ein komplexer Datenaustauch möglich ist.
Erfindungsgemäß erfolgt der Ablauf der unter C-Code erstellten Programmanweisungen unter einer als Shell bezeichneten Schale oder Mantel gemäß dem IEC 61131 - Standard, so dass für den Anwender oder Nutzer nur diese Schale und nicht der im Hintergrund ablaufenden C-Code für den Anwender sichtbar ist. Damit ist der Zugang zu den Systemressourcen nur über die existierenden IEC 61131- Schnittstellen erforderlich. Demzufolge erscheint die Laufzeitumgebung eines C-Code- Ablaufes wie ein Ablauf der Programmanweisungen unter einer IEC- 61131- Umgebung.
Gemäß der vorliegenden Erfindung können in vorteilhafter Weise existierende geprüfte und bewährte Schnittstellen eines Programmablaufes gemäß dem IEC 61131- Standard übernommen werden und folglich auf eine kostenintensive Entwicklung von neuem C-Code basierten Schnittstellen verzichtet werden kann.
Das vorab beschriebene Verfahren gemäß der vorliegenden Erfindung erlaubt dem Programmierer in vorteilhafter Weise eigene C-Code Programme bzw. Programmanweisungen, nachfolgend nur C-Code genannt, innerhalb eines IEC61131- Projektes zu nutzen. Dabei laufen die zuvor in C-Code erstellten Programmanweisungen auf den an die speicherprogrammierbare Steuereinrichtung angeschlossenen Geräten parallel zu denen der IEC 61131-3 Programmanweisungen. Damit ist ein direkter Zugriff auf die System ressourcen, wie Ein- und/oder Ausgänge oder die Speicher der an die speicherprogrammierbare Steuerung angeschlossenen Geräte ausführbar.
Wie eingangs bereits angesprochen, betrifft die Erfindung auch eine Vorrichtung bzw. ein System zur Programmierung und Konfigurierung einer speicherprogrammierbaren Steuereinrichtung.
Die Vorrichtung zur Programmierung und Konfigurierung der speicherprogrammierbaren Steuereinrichtung umfasst ein in einem Programmierwerkzeug befindliches Konfigurationswerkzeug, in dem neben einem Modul (80) in einer IEC61131 Sprache mindestens ein weiteres Modul integriert ist, mit dem die Programmierung der speicherprogrammierbaren Steuereinrichtung unter Verwendung eines C-Code Editors in einer Hochsprache ausführbar ist, und welches eine Definition von Schnittstellen zwischen einem IEC61131 Code und einem Hochsprachencode sowie die Konfiguration des Hochsprachencodes erlaubt.
Erfindungsgemäß ist im Konfigurationswerkzeug des Controller Entwicklungssystems ein Zusatzmodul integriert, in welches erzeugte Bibliotheksfunktionen in einer Hochsprache, vorzugsweise C-Code, zur Programmierung der Steuereinrichtung einfügt sind, wodurch die Erstellung und Integration von in einer Hochsprache erstellten Programmanweisungen in die Geräte des Automatisierungssystems in einfacher Weise ausführbar wird.
Das Zusatzmodul umfasst dazu
- einen Hochspracheneditor, beispielsweise einen C- Code Editor;
- eine Bibliothekenverwaltung, in dem eine Bibliothek mit in der Hochsprache, beispielsweise C-Code, ausführbaren Programm- Modulen zusammen mit entsprechenden Compiler- Optionen als Hochsprachenzusatzprogramm, der Tab- Configuration, festgelegt bzw. konfiguriert ist und zum Anlegen und Verwalten benutzerdefinierter Bibliotheken dient;
- eine IEC 61131- Schnittstelle in der Hochsprache, beispielsweise C-Code, welche die an die Steuerung anschließbaren Hardwaregeräte mit ihren Eingängen, Ausgängen und/oder lokalen Variablen in einem Bibliotheksprojekt abbildet. Diese Schnittstelle wird auch als C- Code Zusatzprogramm Tab IEC61131 Schnittstelle bezeichnet.
Die Neuheit der Erfindung beruht weiterhin darauf, dass das PC- basierte Konfigurationswerkzeug dem Nutzer die Wahlmöglichkeit zur Kombination der verschiedenen Programmiersprachen nach IEC 61131-3 und C bereitstellt. Dazu ist eine Auswahleinheit oder Schnittstelle vorgesehen zur Auswahl zwischen einer Programmierung unter Verwendung einer Hochsprache, wie C-Code oder unter der IEC 61131-3 basierten Programmiersprache bereitstellt. Das Programmierwerkzeug weist neben einem ersten Applikationsmodul oder Schnittstelle zur Programmierung nach IEC 6113-3 ein zweites Applikationsmodul oder Schnittstelle zur Programmierung in der Programmiersprache„C" auf, wobei eine Umschaltung zwischen einer Programmierung unter Verwendung einer Hochsprache, wie beispielsweise C-Code oder unter der IEC 61131-3 basierten Programmiersprache mittels einer Auswahleinheit vorgesehen ist.
Anhand des in den folgenden Figuren dargestellten Ausführungsbeispiels des erfindungsgemäßen Verankerungselements sollen die Erfindung sowie vorteilhafte Ausgestaltungen, Verbesserungen und weitere Vorteile des erfindungsgemäßen Verankerungselements näher erläutert und beschrieben werden.
Es zeigen:
Fig. 1 zeigt eine beispielhafte Lösung zur Programmierung einer speicherprogrammierbaren Steuerung mittels eines Programmierwerkzeugs nach dem Stand der Technik,
Fig. 2 zeigt ein beispielhaftes Ausführungsbeispiel des erfindungsgemäßen Verfahrens zur Programmierung einer speicherprogrammierbaren Steuerung,
Fig. 3, 4 zeigen beispielhaft die Verwendung von Applikationsmodulen aus den
Bibliotheken als Quellcode, der im Engineering Tool in Binärformat übersetzt wird oder als vorkompiliertes Binärformat vorliegt, welches nur eingebunden wird,
Fig. 5 zeigt eine beispielhafte Ausführungsform einer Systemstruktur der C- Code- Integration mittels eines Programmierwerkzeuges,
Fig. 6 zeigt ein beispielhaften Verfahrensablauf zur Übertragung der erstellten
Anwendungsbibliothek mit der C- Code- POU, und
Fig. 7 zeigt eine C- Code Bibliothek, die zum Zielprojektcode der speicherprogrammierbaren Steuerung hinzugefügt wird.
In Fig. 1 ist eine Programmierumgebung für eine speicherprogrammierbare Steuereinheit oder Steuerung gemäß dem Stand der Technik mit verschiedene Programmierschnittstellen 10 basierend auf den jeweiligen Programmiersprachen, in denen der Programmierer die entsprechende Software zur Entwicklung und Ausführung der Anwenderprogramme schreibt, gezeigt. Eine erste Programmierschnittstelle 11 ist zur Programmierung gemäß dem IEC61131-3 Standard vorgesehen. Eine zweite Programmierschnittstelle 12 bildet eine von dem Unternehmen Microsoft angebotene, integrierte Entwicklungsumgebung für verschiedene Hochsprachen, wie beispielsweise C, C++, C#, die mit Visual Studio bezeichnet wird. Damit kann der Programmierer klassische Windows-Programme oder dynamische Webseiten bzw. Webservices für das Internet/Intranet entwickeln, wobei das Hauptaugenmerk auf der Erstellung von Anwendungen für das .NET Framework, eine von Microsoft entwickelte, auf der Common Language Runtime basierende Softwareplattform 1 liegt.
Die zweite Programmierschnittstelle 12 wirkt mit einer auf der Softwareplattform 1 abgelegten als Common Intermediate Language (CIL) bezeichneter mittlerweile standardisierten Zwischensprache bzw. Zwischencode 20 zusammen, welche die erstellten Programme übersetzt und bereits vereinfacht wiedergibt.
Auf einem Ausführungsrechner 30, auch Zielcomputer oder Zielplattform genannt, wird der Zwischencode 20 von einem Laufzeitsystem (Virtual Execution System) 30 in den systemeigenen Programmcode, üblicherweise einen Maschinencode, übersetzt, um so die in CIL 20 vorliegende Programme in der speicherprogrammierbaren Steuerung ausführen zu können.
Die Übersetzung in den systemeigenen Programmcode erfolgt dabei nicht direkt sondern es wird zunächst in einem ersten Schritt ein CIL- Code 20 erzeugt, der die entsprechenden Programmbefehle als eine Folge von Bytewerten angibt. Der CIL- Code 20 wird auf dem Ausführungsrechner 30 in einem Laufzeitsystem zu nativem Maschinencode übersetzt und ausgeführt.
Eine dritte Programmierschnittstelle 13 ist als sogenanntes Nutzerkonfigurationswerkzeug zur Generierung von CIL- Code 20 vorgesehen.
Fig. 2 zeigt die Merkmale des erfindungsgemäßen Verfahrens zur Programmierung und Konfigurierung einer speicherprogrammierbaren Steuerung D mittels eines in einem Programmierwerkzeug B befindlichen Konfigurationswerkzeuges K, anhand des Verfahrensablaufs mit den Schritten 1 bis 8 unter Verwendung eines erfindungsgemäß vorgesehenen Zusatzmodul A, dass auch als Plug-in bezeichnet wird.
Das Zusatzmodul A umfasst einen C-Code Editor 3A, eine Bibliothekenverwaltung 1A, in dem eine Bibliothek mit in C-Code ausführbaren Programm- Modulen zusammen mit entsprechenden Compiler Optionen als C-Code Zusatzprogramm, dem Tab- Configuration, festgelegt bzw. konfiguriert ist, eine IEC 61131- Schnittstelle 2A in C- Code, welche die an die Steuerung anschließbaren Hardwaregeräte mit ihren Eingängen, Ausgängen und/oder lokalen Variablen in einem Bibliotheksprojekt abbildet. Diese Schnittstelle wird auch als C- Code Zusatzprogramm Tab IEC61131 Schnittstelle bezeichnet.
In einem ersten Schritt 1 werden in der Bibliothekenverwaltung 1A zunächst Bibliotheken mit in C-Code ausführbaren Betriebsprogramm- Modulen zusammen mit entsprechenden Compiler- Optionen als C- Code Plug-in Tab Configuration konfiguriert.
In einem zweiten Schritt 2 wird die IEC 61131 Schnittstelle 2A in C-Code zur Abbildung von an die speicherprogrammierbare Steuerung (D) anschließbaren Hardware mit ihren Eingängen, Ausgängen und/oder lokalen Variablen in einem Bibliotheksprojekt als C-Code Plug-in Tab IEC61131 Schnittstelle konfiguriert und in einem dritten Schritt wird die Plug-in Tab Configuration und die Plug-in Tab IEC61131 Schnittstelle im Zusatzmodul A entsprechend editiert und gespeichert.
In einem vierten Schritt 4 wird in einem in C- Code programmierten Applikationsmodul für das Programmierwerkzeug B eine extern erstellte Anwendungsbibliothek 43 bereitgestellt, die im Hintergrund, also für den Nutzer nicht sichtbar, aus dem vorliegendem Quellcode 44 in einem Compiler 42 in C-Code übersetzt wird, wobei zusätzliche bibliothekspezifische Header- Dateien 41 genutzt werden.
Danach wird in einem fünften Schritt 5 die extern erstellte Anwendungsbibliothek 43 zum Zielprojektcode (PLC Target Project Code) der speicherprogrammierbaren Steuerung D hinzugefügt, der im Programmierwerkzeug B abgelegt ist. Auch dieser Verfahrensschritt ist läuft im Hintergrund ab. In einem nächsten Schritt 6 wird im Programmierwerkzeug B für das auf der speicherprogrammierbaren Steuerung auszuführende Programm, nachfolgend auch als Zielprojekt bezeichnet, der C- Code erzeugt und die darin enthaltenen Program Organization Units Instanzen, zu denen die Instanzen der Programme, Funktionsblöcke und Funktionen zählen, implementiert.
Das Zielprojekt wird nun in einem weiteren Schritt 7 vom Programmierwerkzeug B auf die speicherprogrammierten Steuerung D geladen, wodurch eine Bibliothek von C- Code Binärprogrammen, auch als C- Code Library Binary bezeichnet, eingebunden und auf die Steuerung D geladen wird.
In einem letzten optionalen Schritt 8 wird der ausführbare Binärcode (C-Code Library Binary) vom Laufzeitsystem der speicherprogrammierbaren Steuerung D reloziert und alle externen Applikationsprogrammschnittstellenreferenzen (API-Referenzen) werden dabei aufgelöst und gebunden. Zum Zugriff auf zusätzliche Funktionen, die in einer auf der speicherprogrammierbaren Steuerung abgelegten Firmware implementiert sind, können die C- Code POU's eine Firmware API (Application Programming Interface) aufrufen.
Da die Firmware in den C-Code- Header- Dateien 41 gekapselt ist, benötigt der Anwender der speicherprogrammierbaren Steuerung vorteilhafterweise nur die in C- Code hinterlegten Funktionen, Funktionsbausteine und Programme sieht, also keine Programmierkenntnisse der jeweils speziellen Firmware.
Weiterhin ist vorgeschlagen, dass die PC-basierten Programmierwerkzeuge B eine Schnittstelle aufweisen, welche es dem Programmierer erlauben zwischen der Programmierung in der Hochsprache" und der Programmierung in IEC 61131 auszuwählen.
Mit dem erfindungsgemäßen Verfahren können neue Funktionen (Applikationsmodule) als auch vorhandene Funktionen in den Bibliotheken als C- Code oder in IEC 611131-3 Sprachen implementiert werden und in der Zielapplikation kombiniert verwendet werden. Eine vorteilhafte Ausgestaltung des erfindungsgemäßen Verfahrens beruht darauf, dass das Programmierwerkzeug B externe Bibliothek- POU's bereitstellt, die in C- Code implementierbar sind. Der verwendete Konfigurator unterstützt die Plug-in's der C-Code Bibliotheken, die IEC1131-3 Schnittstellenfestlegung, den C-Code- Editor und die Compilerintegration inklusive der Anzeige von Compilerfehlern und/oder der Integration von extern bereitgestellten Bibliotheken in einem Zielprojekt der SPS.
In einer weiteren Ausgestaltung der Erfindung werden Systemfunktionen für C- Code nicht als weitere Applikationsmodule aus den Systembibliotheken abgebildet, sondern als Applikationsprogrammschnittstellen, auch Application Programming Interface (API) genannt, zur Firmware FW API gruppiert in Funktionsbereiche abgebildet.
Fig. 3 und 4 zeigen beispielhaft die Verwendung von Applikationsmodulen 90 aus den Systembibliotheken 94 und den Anwendungsbibliotheken 43 als Quellcode, der im Engineering Tool B in Binärformat übersetzt (kompiliert) wird oder als vorkompiliertes Binärformat vorliegt, welches nur eingebunden wird.
Fig. 5 zeigt die Systemstruktur der speicherprogrammierbaren Steuereinheit zur C- Code- Integration mittels einer im Programmierwerkzeug B integrierten ersten Programmierschnittstelle 1 zur Erzeugung der Konfiguration eines PLC-Projektes und einer zweiten Programmierschnittstelle 12. Die erste Programmierschnittstelle 11 ist zur Programmierung gemäß dem IEC61131-3 Standard und die zweite Programmierschnittstelle ist zur Programmierung in einer Hochsprache, vorzugsweise C- Code, vorgesehen.
Bevor eine speicherprogrammierbare Steuereinheit einsatzfähig ist, werden die dafür vorgesehenen Hardwaregeräte 40, insbesondere intelligente Feldgeräte, die über Kommunikationskoppler und einen Feldbus 70 mit einem Controller 30 verbunden sind, im Programmierwerkzeug B als Bestandteil eines SPS- oder Steuerungsprojektes abgebildet, wobei im Steuerungsprojekt Informationen über Ein-/Ausgangs- Adressen dieser Hardwaregeräte 40 gespeichert und dem Anwenderprogramm zugänglich gemacht werden. Damit die Ein- und Ausgänge der Hardwaregeräte 40 des Systems ansprechbar sind, werden die Steuerungseinrichtung und die Ein- /Ausgabeeinheiten der Hardware 40 zunächst konfiguriert und eine Konfiguration eines PLC-Projektes, auch Steuerungskonfiguration genannt, als Bestandteil des SPS- oder Steuerungsprojektes erstellt.
Das mit der Programmierschnittstelle 10 konfigurierte Projekt wird über einen Ethernet- Bus 50, an den auch eine Bedieneinheit 60 anschließbar ist, in den Controller 30 der speicherprogrammierbaren Steuerung und von dort über den Feldbus 70 in die Feldgeräte 40 übertragen.
Zur Erstellung und Konfigurierung des Projektes ist im Programmierwerkzeug B ein Applikationsmodul 80 als Laufzeitumgebung in der speicherprogrammierbaren Steuerung vorgesehen, in dem globale Variable 81 , Applikationsprogrammschnittstellen 82, IEC61131-3 Anwendungen 83 und auf C-Code basierende Anwendungen 84 integriert sind, die für eine Übertragung in den Conroller 30 vorgesehen sind.
Die IEC61131-3 Anwendungen 83 sind in den POU's in einer damit zusammenwirkenden POL)- Einheit 90 organisiert, beispielsweise als spezielle Funktionsblockdiagramme (FBD), strukturierter Text (ST), Kontaktpläne (LD), Anweisungslisten (IL) und/oder Funktionspläne (SFC, CFC). Zusätzlich zu den POU's für die IEC61131-3 Anwendungen 83 sind in der POL)- Einheit 90 auf C- Code basierenden Anwendungen 84, wie FBD, ST, LD, IL, SFC, CFC implementiert. Die Anwendungen setzen sich demzufolge erfindungsgemäß aus Applikationsmodulen 83, 84 programmiert in IEC61131-3 Sprachen und programmiert in C- Code zusammen.
Alle Ein- und/oder Ausgänge der Hardwaregeräte 40 sind als globale Variable 81 abgebildet und alle POU's 83, 84 teilen sich die globalen Variable 81 , so dass die C- Code- Anwendungen 84 einen vollständigen Zugriff auf die Ein- und/oder Ausgänge über die Schnittstelle der POU- Einheit 90 haben.
Systemfunktionen, wie beispielsweise Echtzeitfunktionen, Schreib- und Lesefiles, Speicherverwaltung, Gleitkommaoperationen, Echtzeitfunktionen und Echtzeituhr werden erfindungsgemäß für C- Code werden nicht als weitere Applikationsmodule aus den Systembibliotheken abgebildet sondern als Applikationsprogrammschnittstelle (API) zur Firmware FW API in Funktionsbereiche gruppiert. Um die POU- Einheit 90 in den C-Code- Anwendungen 84 zu implementieren, wird die erzeugte Anwendungsbibliothek 43 benötigt. Die in der Anwendungsbibliothek 43 abgelegten Bibliothekselemente, wie Funktionen, Funktionsblöcke und Programme, werden durch die POU- Schnittstelle der POU- Einheit 90 gemäß dem IEC61131- 3 Laufzeitsystem festgelegt. Dabei definiert die POU- Schnittstelle die Verbindungspunkte zu weiteren POUs, Eingängen und Ausgängen und zur übergeordneten Bedieneinheit abgebildet als lokale Variable, wie beispielsweise Variable vom Typ Eingang IN, Ausgang OUT und/oder Eingang- Ausgang IN_OUT.
Jede gemäß IEC61131-3 und in C- Code erstellte lokale POU- Variable ist in vorteilhafter Weise über einen PC- Zugang, beispielsweise die Bedieneinheit 60, oder über eine Darstellung über das Internet zugänglich und ansprechbar.
Die gesamte Konfiguration eines PLC-Projektes, bestehend aus Variablen und Tasks, den Applikationsmodulen, welche weitere Applikationsmodule referenzieren, wird mit den IEC61131-3 Anwendungen 83 und den auf C-Code basierenden Anwendungen 84 in den Controller 30 geladen.
Da der Zugang zu den Systemressourcen nur über die existierenden IEC 61131- Schnittstellen erfolgt, erscheint die Laufzeitumgebung eines C-Code- Ablaufes wie ein Ablauf der Programmanweisungen unter einer IEC- 61131- Umgebung. Ein separates herunterladen der C- Code Anwendungen 84 in den Controller 30 ist nicht erforderlich.
Ein beispielhafter Verfahrensablauf zur Übertragung der erstellten Anwendungsbibliothek 43 mit der C- Code POU ist in Fig. 6 gezeigt. Das Zusatzmodul A zur Erstellung der Anwendungsbibliothek 43, ist hier nicht dargestellt.
In einem ersten Verfahrensschritt 11 wird ein Funktionsblock im Engineering Tool B der speicherprogrammierbaren Steuerung mit all seinen Ein- und Ausgängen sowie allen internen bzw. lokalen Variablen in einem Bibliotheksprojekt als C-Code Plug-in Tab IEC61131 Schnittstelle festgelegt und das Bibliotheksprojekt wird im Engineering Tool B gespeichert. Vom Engineering Tool B wird in einem zweiten Verfahrensschritt 12 im Hintergrund die C-Code Plug-in Tab IEC61131 Schnittstelle zu einer Header- Datei 41 und einem C- Code Quelldatei bzw. -rahmen (C File Template) exportiert.
In einem dritten Verfahrensschritt 13 wird der Funktionsblock unter Verwendung der zuvor in der Header- Datei 41 und der C- Code Quelldatei festgelegte C-Code Plugin Tab IEC61131 Schnittstelle in C- Code programmiert und in einem vierten Verfahrensschritt 14 wird der vorliegende C- Quellcode 44 mittels dem Compiler 42 in den entsprechenden Binärcode übersetzt.
Danach wird in einem nächsten Verfahrensschritt 15 die Anwendungsbibliothek 43 im PLC- Zielprojekt Z geöffnet und in einem weiteren Verfahrensschritt 16 werden im Zielprojekt Z die Funktionsblockinstanzen erzeugt.
Das PLC- Zielprojekt Z wird für den Anwender nicht sichtbar in einem folgenden Schritt 17 in den Controllers 30 geladen, die Anwendungen 83, 84 werden miteinander verbunden und der C- Code Library Binary wird heruntergeladen. Die C- Code Bibliothek enthält für Applikationsmodule die Schnittstellenbeschreibung 91 und entweder den Quellcode der Laufzeitfunktion 92 oder nur den ausführbaren Binärcode (Binary) der Laufzeitfunktion 93. Dies ist beispielsweise in Fig. 3 gezeigt.
In einem letzten Verfahrensschritt 18 kann der ausführbare Binärcode (C-Code Library Binary) vom Laufzeitsystem der speicherprogrammierbaren Steuerung D eingebunden und die Referenzen auf das FW API aufgelöst bzw. reloziert werden. Dies ist beispielsweise in Fig. 4 gezeigt.
Fig. 7 zeigt eine C- Code Bibliothek, die mit einer POL) 90 unter Verwendung der C- Code Quellendateien 44 in C- Code ausgeführt ist.
Die erstellte Anwendungsbibliothek 43 wird in einem Schritt 25 zum Zielprojektcode (PLC Target Project code) Z der speicherprogrammierbaren Steuerung D hinzugefügt. In einem nächsten Schritt 26 wird im Programmierwerkzeug B für das auf der speicherprogrammierbaren Steuerung auszuführende Zielprojekt der C- Code erzeugt und die darin enthaltenen Applikationsmodulinstanzen implementiert. Das Zielprojekt wird nun in einem weiteren Schritt 28 vom Programmierwerkzeug B auf die speicherprogrammierten Steuerung D geladen.
Die Anwendungsbibliothek 43 mit den Applikationsmodulen, Schnittstellendefinition und dem aus C Code erzeugten Binärcode kann in vorteilhafter Weise in weiteren Projekten wiederverwendet werden, ohne dass die Quellcodedateien 44 benötigt werden.
Alle POU's können nunmehr in den Sprachen C- Code oder gemäß IEC61131-3 implementiert werden und teilen sich die globalen Variablen 81. Damit wird ein direkter Zugriff auf die Systemressourcen, wie Ein-/ und/oder Ausgänge oder die Speicher der an die speicherprogrammierbare Steuerung angeschlossenen Geräte zur Verfügung gestellt und obwohl eine Programmierung in einer Hochsprache, beispielsweise C- Code, erfolgt, erscheint die Programmierwelt für den Nutzer jedoch nur als IEC 61131-3 Programmiersystem.
Auch durch den verwendeten Hochsprache C- Code sind die entsprechenden Firmware Applikationsprogramm- Schnittstellen (API) unter Nutzung der Systembibliotheken 94 aufrufbar, die Funktionen der Systembibliotheken 94 inklusive der Header- Dateien 41 stehen auch der C- Code Programmierung zur Verfügung.
Bezuqszeichenliste
1 Softwareplattform
10 Programmierschnittstelle,
11 erste Programmierschnittstelle, erstes Applikationsmodul
12 zweite Programmierschnittstelle, zweites Applikationsmodul
13 dritte Programmierschnittstelle
20 Zwischensprache, Zwischencode, Common Intermediate Language
30 Ausführungsrechner, Zielplattform
40 Feldgerät
41 Header- Dateien
42 Compiler
43 Anwendungsbibliothek
44 Quellcode
50 Ethernet- Bus
60 Bedieneinheit
70 Feldbus
80 Applikationsmodul
81 globale Variable
82, API Applikationsprogrammschnittstellen
83 IEC61131-3 Anwendungen
84 auf C-Code basierende Anwendungen
90 POU- Einheit
91 Schnittstellenbeschreibung
92 Quellcode der Laufzeitfunktion
93 ausführbarer Binärcode der Laufzeitfunktion
94 Systembibliothek
A Zusatzmodul, Plug-in
1A Bibliothekenverwaltung
2A IEC 61131- Schnittstelle
3A C-Code-Editor B Programmierwerkzeug, Engineering Tool
C Applikationsmodul mit C Code Implementierung
D speicherprogrammierten Steuerung
K Konfigurationswerkzeug
Z Zielprojekt

Claims

Patentansprüche
1. Verfahren zur Programmierung und Konfigurierung einer speicherprogrammierbaren Steuereinrichtung (D) mittels eines in einem Programmierwerkzeug (B) befindlichen Konfigurationswerkzeuges (K), wobei im Konfigurationswerkzeug (K) neben einem Modul (80) in einer IEC61131 Sprache mindestens ein weiteres Modul (C) integriert wird, mit dem die Programmierung der speicherprogrammierbaren Steuereinrichtung (D) unter Verwendung eines C-Code Editors (3A) in einer Hochsprache ausgeführt wird, und vom weiteren Modul (C) eine Definition von Schnittstellen zwischen einem IEC61131 Code und einem Hochsprachencode sowie die Konfiguration des Hochsprachencodes bereitstellt wird.
2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass zur Konfiguration des Hochsprachencodes eine Bibliothekenverwaltung (1A) vorgesehen ist, in der benutzerdefinierte Bibliotheken unter Verwendung einer Hochsprache angelegt und verwaltet werden, in einer IEC 61131-3 Schnittstelle (2A) in der Hochsprache eine Abbildung von an die speicherprogrammierbare Steuerung (D) anschließbarer Hardware in einem Bibliotheksprojekt konfiguriert wird, die angelegten Bibliotheken und das Bibliotheksprojekt unter Verwendung des Hochspracheneditors (3A) editiert werden, in einem Applikationsmodul mit C Code Implementierung (C) für den Anwender nicht sichtbar unter Verwendung eines Compilers (42) und zusätzlicher bibliothekspezifische Header- Dateien (41) daraus eine Anwendungsbibliothek (43) erzeugt wird, und die erzeugte Anwendungsbibliothek (43) für den Anwender nicht sichtbar zum im Programmierwerkzeug (B) abgelegtem Zielprojektcode der speicherprogrammierbaren Steuerung (D) hinzugefügt wird.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass im Programmierwerkzeug (B) für das auf der speicherprogrammierbaren Steuerung (D) auszuführende Zielprojekt der Code in der entsprechenden Hochsprache erzeugt wird, die darin enthaltenen POL)- Instanzen implementiert werden und zusammen mit POU's für die IEC61131-3 Anwendungen vom Programmierwerkzeug (B) auf die speicherprogrammierten Steuerung (D) geladen werden.
4. Verfahren nach Anspruch 2 oder 3, dadurch gekennzeichnet, dass die in der Hochsprache erstellte Bibliothek vom Laufzeitsystem der speicherprogrammierbaren Steuerung (D) reloziert wird und externe Applikationsprogrammschnittstellen (API) dabei aufgelöst werden.
5. Verfahren nach Anspruch 2 bis 4, dadurch gekennzeichnet, dass zusätzlich zu den POU's für die IEC61131-3 Anwendungen (83) auf C- Code basierenden Anwendungen (84) implementiert werden.
6. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass als Hochsprachen C oder C/C++/C# verwendet werden.
7. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass mittels einer im Programmierwerkzeug (B) vorgesehenen Schnittstelle eine Programmierung in der Hochsprache oder eine Programmierung gemäß dem IEC 61131-3 Programmiersystem ausgewählt und/oder kombiniert werden.
8. Vorrichtung zur Programmierung und Konfigurierung einer speicherprogrammierbaren Steuereinrichtung (D) mittels eines in einem Programmierwerkzeug (B) befindlichen Konfigurationswerkzeuges (K), wobei im Konfigurationswerkzeug (K) neben einem Modul (80) in einer IEC61131 Sprache mindestens ein weiteres Modul (C) integriert ist, mit dem die Programmierung der speicherprogrammierbaren Steuereinrichtung (D) unter Verwendung eines C-Code Editors (3A) in einer Hochsprache ausführbar ist, und welches eine Definition von Schnittstellen zwischen einem IEC61131 Code und einem Hochsprachencode sowie die Konfiguration des Hochsprachencodes erlaubt.
9. Vorrichtung nach Anspruch 8, dadurch gekennzeichnet, dass zur Konfiguration des Hochsprachencodes eine Bibliothekenverwaltung (1A) vorgesehen ist, wobei die Bibliothekenverwaltung (1A) benutzerdefinierte Bibliotheken unter Verwendung einer Hochsprache anlegt und verwaltet, die IEC 61131-3 Schnittstelle die an die Steuerung anschließbaren Hardwaregeräte in einem Bibliotheksprojekt als C-Code Plug-in Tab IEC61131 Schnittstelle in der Hochsprache abbildet, das Zusatzmodul (A) die mittels dem Hochspracheneditor (3A) editierbare Plug-in Tab Configuration und die editierbare IEC61131 Schnittstelle speichert, in einem Applikationsmodul mit C Code Implementierung (C) ein Compiler (42) und zusätzliche bibliothekspezifische Header- Dateien (41) abgelegt sind und unter Verwendung des Compilers (43) und zusätzlicher bibliothekspezifische Header- Dateien (41) daraus eine Anwendungsbibliothek (43) erzeugbar ist, und die erzeugte Anwendungsbibliothek (43) zum im Programmierwerkzeug (B) abgelegtem Zielprojektcode der speicherprogrammierbaren Steuerung (D) hinzufügbar ist.
10. Vorrichtung nach Anspruch 9, dadurch gekennzeichnet, dass das Programmierwerkzeug (B) für das auf der speicherprogrammierbaren Steuerung (D) auszuführende Zielprojekt den Code in der entsprechenden Hochsprache erzeugt, die darin enthaltenen POL)- Instanzen implementiert und zusammen mit POU's für die IEC61131-3 Anwendungen vom Programmierwerkzeug (B) auf die speicherprogrammierten Steuerung (D) lädt.
11. Vorrichtung nach einem der Ansprüche 9 oder 10, dadurch gekennzeichnet, dass zusätzlich zu den POU's für die IEC61131-3 Anwendungen (83) in einer POU- Einheit (90) auf C- Code basierenden Anwendungen (84) implementiert werden.
12. Vorrichtung nach einem der Ansprüche 8 bis 11 , dadurch gekennzeichnet, dass die verwendeten Hochsprachen C oder C/C++/C# sind.
13. Vorrichtung nach einem der Ansprüche 8 bis 12, dadurch gekennzeichnet, dass das Programmierwerkzeug (B) neben einem ersten Applikationsmodul (11) zur Programmierung nach IEC 6113-3 ein zweites Applikationsmodul (12) zur Programmierung in der Programmiersprache„C" aufweist, wobei eine Umschaltung zwischen einer Programmierung unter Verwendung einer Hochsprache oder unter der IEC 61131-3 basierten Programmiersprache mittels einer Auswahleinheit ausführbar ist.
EP12734808.4A 2011-07-06 2012-07-05 Verfahren und vorrichtung zur programmierung und konfigurierung einer speicherprogrammierbaren steuereinrichtung Withdrawn EP2729855A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP12734808.4A EP2729855A1 (de) 2011-07-06 2012-07-05 Verfahren und vorrichtung zur programmierung und konfigurierung einer speicherprogrammierbaren steuereinrichtung

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP11005514 2011-07-06
PCT/EP2012/002832 WO2013004389A1 (de) 2011-07-06 2012-07-05 Verfahren und vorrichtung zur programmierung und konfigurierung einer speicherprogrammierbaren steuereinrichtung
EP12734808.4A EP2729855A1 (de) 2011-07-06 2012-07-05 Verfahren und vorrichtung zur programmierung und konfigurierung einer speicherprogrammierbaren steuereinrichtung

Publications (1)

Publication Number Publication Date
EP2729855A1 true EP2729855A1 (de) 2014-05-14

Family

ID=46507958

Family Applications (1)

Application Number Title Priority Date Filing Date
EP12734808.4A Withdrawn EP2729855A1 (de) 2011-07-06 2012-07-05 Verfahren und vorrichtung zur programmierung und konfigurierung einer speicherprogrammierbaren steuereinrichtung

Country Status (4)

Country Link
US (1) US9235381B2 (de)
EP (1) EP2729855A1 (de)
CN (1) CN103814333B (de)
WO (1) WO2013004389A1 (de)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101602993B1 (ko) * 2012-08-23 2016-03-11 엘에스산전 주식회사 프로그래밍 언어 오류 검색 장치
JP6340886B2 (ja) * 2014-04-10 2018-06-13 株式会社ジェイテクト プログラマブルロジックコントローラ用プログラムの作成支援装置及びプログラマブルロジックコントローラ用プログラムの作成支援方法
US20160103431A1 (en) * 2014-10-14 2016-04-14 Honeywell International, Inc. System and method for point by point hot cutover of controllers and ios
CN104503817B (zh) * 2014-12-30 2018-03-20 北京纵横机电技术开发公司 一种连续功能图编程方法
CN106775605A (zh) * 2015-11-23 2017-05-31 天津九洲云物联科技有限公司 一种插件式编程逻辑模块
DE102016122324A1 (de) * 2016-11-21 2018-05-24 Weidmüller Interface GmbH & Co. KG Steuerung für eine industrielle Automatisierungsanlage und Verfahren zum Programmieren und Betreiben einer derartigen Steuerung
EP3413147B1 (de) 2017-06-07 2022-03-23 Brooks Automation (Germany) GmbH Verfahren zur steuerung einer sps mit einem pc-programm
CN107329459B (zh) * 2017-06-30 2021-01-19 张碧陶 一种集成运动控制和逻辑控制的数控系统
US10401816B2 (en) 2017-07-20 2019-09-03 Honeywell International Inc. Legacy control functions in newgen controllers alongside newgen control functions
SE1751114A1 (en) * 2017-09-13 2019-03-14 Beijer Electronics Ab A method of configuring an automation system
CN108089539A (zh) * 2017-12-22 2018-05-29 安徽杰智智能科技有限公司 一种适用于多操作平台的智能控制器
CN108153226A (zh) * 2017-12-22 2018-06-12 安徽杰智智能科技有限公司 一种新型实时交互的plc装置
CN108000535A (zh) * 2017-12-22 2018-05-08 安徽杰智智能科技有限公司 一种六轴机器人智能控制器
CN108334019A (zh) * 2018-01-23 2018-07-27 安徽杰智智能科技有限公司 一种多编辑方式智能控制器
CN108345265B (zh) * 2018-01-24 2020-01-21 珠海优特电力科技股份有限公司 硬件设备的编程方法、可视化编程平台、存储器和处理器
JP6891838B2 (ja) * 2018-03-15 2021-06-18 オムロン株式会社 開発支援装置、開発支援方法、および開発支援プログラム
CN108594746B (zh) * 2018-03-21 2019-11-12 珠海优特电力科技股份有限公司 可视化编程控制系统及方法、装置
EP3575898B1 (de) * 2018-06-01 2021-08-04 Selectron Systems AG Speicherprogrammierbare steuerung und betriebsverfahren für virtuelle speicherprogrammierbare steuerung und computerprogrammprodukt
CN109002288A (zh) * 2018-06-23 2018-12-14 上海泽阳智能科技有限公司 一种面向多操作对象的编程处理器
JP6950665B2 (ja) * 2018-11-02 2021-10-13 横河電機株式会社 エンジニアリング装置、エンジニアリング装置の制御方法及びプログラム
CN112558541B (zh) * 2019-09-25 2022-04-15 北京东土科技股份有限公司 一种plc编程扩展系统、方法及电子设备
CN111475159B (zh) * 2020-03-20 2023-03-14 吉利汽车研究院(宁波)有限公司 一种自动生成程序的方法、装置及存储介质
US11442740B2 (en) * 2020-09-29 2022-09-13 Rockwell Automation Technologies, Inc. Supporting instruction set architecture components across releases
CN112241141B (zh) * 2020-11-12 2022-08-09 上海电气风电集团股份有限公司 Plc控制系统的硬件配置方法、系统、设备及介质
CN112667276A (zh) * 2020-12-23 2021-04-16 肯特智能技术(深圳)股份有限公司 一种用于智慧控制系统的在线编程工具及方法
CN114397856B (zh) * 2022-03-25 2022-07-19 浙江中控研究院有限公司 一种将cfc语言程序应用于龙芯平台的转换方法及装置
CN115033232B (zh) * 2022-04-30 2024-05-31 杭州电子科技大学 一种可编程逻辑控制器的开源库封装方法和系统
CN114706590B (zh) * 2022-05-05 2023-06-13 北京万昇智能科技有限公司 Plc应用包生成方法、plc应用执行方法及相关装置和系统
CN116775038B (zh) * 2023-06-26 2024-06-04 国电南京自动化股份有限公司 支持iec和c++任务同时或独立运行的运行时系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100083220A1 (en) * 2008-09-30 2010-04-01 Ics Triplex Isagraf Inc. Multi language editor

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5644487A (en) * 1993-10-19 1997-07-01 Moore Products Co. Monitoring and control system and method
DE19707107A1 (de) 1997-02-22 1998-09-10 Bosch Gmbh Robert Einrichtung zur Programmierung eines SPS
EP1213633B9 (de) * 1999-08-31 2007-10-17 Digital Electronics Corporation Editiervorrichtung und aufnahmemedium auf dem das editierprogramm aufgezeichnet wird
US20060190106A1 (en) * 2001-07-30 2006-08-24 Rockwell Automation Technologies, Inc. Method for consistent storage of data in an industrial controller
US6819960B1 (en) * 2001-08-13 2004-11-16 Rockwell Software Inc. Industrial controller automation interface
TW200608228A (en) * 2004-08-20 2006-03-01 Delta Electronics Inc Program editing system and method thereof for a programmable logic controller
US7761848B1 (en) * 2005-03-15 2010-07-20 Open Invention Network, Llc Code generator tool for building software applications with reusable components
US7881812B2 (en) * 2005-09-29 2011-02-01 Rockwell Automation Technologies, Inc. Editing and configuring device
JP2007293383A (ja) * 2006-04-20 2007-11-08 Toshiba Corp プログラム開発支援装置及びプログラム開発支援装置の動作方法
WO2007131984A1 (en) * 2006-05-15 2007-11-22 Timothy Sexton Process control method
US8898633B2 (en) * 2006-08-24 2014-11-25 Siemens Industry, Inc. Devices, systems, and methods for configuring a programmable logic controller
US20090064103A1 (en) * 2007-09-04 2009-03-05 Shih Hsueh-Fu Method for editing programmer logic controller (plc) program
US20090089671A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Programmable controller programming with embedded macro capability
DE102008007102A1 (de) * 2008-02-01 2009-08-06 Robert Bosch Gmbh Verfahren zum Programmieren einer Steuerungseinrichtung
US8365148B2 (en) * 2008-09-25 2013-01-29 Oracle International Corporation Automated code review alert indicator
US8255875B2 (en) * 2008-09-30 2012-08-28 Rockwell Automation Technologies, Inc. Application builder for industrial automation
US8327316B2 (en) * 2008-09-30 2012-12-04 Ics Triplex Isagraf Inc. Compilation model
US8510709B2 (en) * 2009-06-01 2013-08-13 National Instruments Corporation Graphical indicator which specifies parallelization of iterative program code in a graphical data flow program
US8627308B2 (en) * 2010-06-30 2014-01-07 International Business Machines Corporation Integrated exchange of development tool console data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100083220A1 (en) * 2008-09-30 2010-04-01 Ics Triplex Isagraf Inc. Multi language editor

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
NN: "TwinCat 3 - Konvergenz der Technologien", 31 December 2010 (2010-12-31), XP055265674, Retrieved from the Internet <URL:http://www.pc-control.net/pdf/042010/products/pcc_0410_twincat3_d.pdf> [retrieved on 20160415] *
See also references of WO2013004389A1 *

Also Published As

Publication number Publication date
CN103814333B (zh) 2016-06-01
WO2013004389A1 (de) 2013-01-10
US20140123104A1 (en) 2014-05-01
CN103814333A (zh) 2014-05-21
US9235381B2 (en) 2016-01-12

Similar Documents

Publication Publication Date Title
WO2013004389A1 (de) Verfahren und vorrichtung zur programmierung und konfigurierung einer speicherprogrammierbaren steuereinrichtung
DE102008019040B4 (de) Verfahren und Steuergerät zur Steuerung eines Automatisierungssystems
DE19781804B4 (de) Vorrichtung zur Simulation einer Echtzeit-Prozesssteuerung
DE69704624T2 (de) System und verfahren für dynamische datenreferenz in einer generischen datenaustauschumgebung
EP1723513B1 (de) Verfahren zur konfiguration eines computerprogramms
DE112016003949T5 (de) Webbasierte programmierumgebung für eingebettete geräte
EP3542232B1 (de) Steuerung für eine industrielle automatisierungsanlage und verfahren zum programmieren und betreiben einer derartigen steuerung
WO2007009890A1 (de) Verfahren zum bedienen und beobachten eines steuergeräts, hiermit korrespondierendes bedien-/beobachtungsgerät, steuergerät sowie maschine mit einem solchen steuergerät und verwendungen des verfahrens sowie datenspeichermedien
EP3336730B1 (de) Verfahren zum erstellen eines mit einem simulationsgerät kompatiblen modells
DE102014210854A1 (de) Computerimplementiertes Verfahren und Signalfolge für ein Programm zur Wiederverwendung von ausführbaren Softwarekonfigurationen für Softwaresysteme sowie Rechneranlage und ein Computerprogramm mit Programmcode zur Durchführung des Verfahrens
DE102007058609A1 (de) Verfahren zur Installation von Objekten für ein komponentenbasiertes Managementsystem für Feldgeräte der Automatisierungstechnik
WO2007006671A1 (de) Verfahren und softwaresystem zur konfiguration eines modularen systems
EP3451202B1 (de) Verfahren zum erzeugen eines auf einem testgerät ausführbaren modells eines technischen systems und testgerät
WO2005098617A1 (de) Verfahren zum vermeiden von dateninkonsistenz zwischen zugriffen verschiedener funktionen einer anwendung auf eine globale variable in einem datenverarbeitungsanlagen
EP2911024A1 (de) Verfahren zur Inbetriebnahme eines industriellen Automatisierungsnetzwerks sowie Feldgerät
EP1522910B1 (de) Verfahren und Einrichtung zur Konfiguration eines Steuerungssystems
Marcos et al. XML exchange of control programs
WO2021148187A1 (de) Verfahren zur konfiguration und parametrierung von feldbusteilnehmern und engineeringsystem
DE102006033863A1 (de) Verschaltungsschnittstelle für flexibles Online/Offline-Deployment einer n-schichtigen Softwareapplikation
EP3629108B1 (de) Projektierung eines automatisierungssystems
EP2324399A1 (de) Automatisierungssystem mit frameworkbasierter steuerung
DE102014108126A1 (de) FDT Host als FDI UIP in generischem FDI Package
WO2014166530A1 (de) Verfahren und instanzgenerator zur programmierung einer industriellen automatisierungskomponente
EP3696621A1 (de) Computerimplementiertes verfahren und vorrichtung zum steuern eines modularen technischen systems
DE102005008136A1 (de) Entwicklungssystem für Prozessleitsysteme sowie zugehöriges Verfahren und Computerprogrammprodukt

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: 20131209

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20150917

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

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20160614