DE102015204751A1 - Device and method for creating applications for use for communication between a server and a client of an automation system - Google Patents

Device and method for creating applications for use for communication between a server and a client of an automation system

Info

Publication number
DE102015204751A1
DE102015204751A1 DE201510204751 DE102015204751A DE102015204751A1 DE 102015204751 A1 DE102015204751 A1 DE 102015204751A1 DE 201510204751 DE201510204751 DE 201510204751 DE 102015204751 A DE102015204751 A DE 102015204751A DE 102015204751 A1 DE102015204751 A1 DE 102015204751A1
Authority
DE
Grant status
Application
Patent type
Prior art keywords
client
server
communication
application
program
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.)
Pending
Application number
DE201510204751
Other languages
German (de)
Inventor
Günther Landgraf
Stefan Benkner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Abstract

Es ist eine Vorrichtung (30) und ein Verfahren zum Erstellen von Applikationen (12, 200, 300) für Anwendungen (2, 3) zur Kommunikation zwischen einem Server (10) und einem Client (20) einer Automatisierungsanlage (1; 2; 3) bereitgestellt. It is a device (30) and a method for building applications (12, 200, 300) for applications (2, 3) for communication between a server (10) and a client (20) of an automation system (1; 2; 3 ) provided. Die Vorrichtung (30) umfasst eine Erzeugungseinrichtung (32; 33) zur Erzeugung eines Rumpfprogramms (610) für eine auf dem Server (10) oder einer dem Server (10) vorgelagerten Anwendung ausführbare Applikation (12, 200, 300) auf der Grundlage einer Kommunikationsobjektbeschreibung (60), welche ein Kommunikationsobjekt zwischen dem Server (10) und dem Client (20) derart beschreibt, dass auch ein Rumpfprogramm (620) für eine Applikation (22, 600, 700) auf Seiten des Clients (20) mit der Erzeugungseinrichtung (32; 33) oder einer weiteren Erzeugungseinrichtung (33; 32) auf der Grundlage der Kommunikationsobjektbeschreibung (60) erzeugbar ist, und eine Bereitstelleinrichtung (34) zum Bereitstellen des Rumpfprogramms (610) für den Server (10) oder die dem Server (10) vorgelagerte Anwendung (2, 3), so dass eine Kommunikation zwischen dem Server (10) und dem Client (20) oder zwischen der dem Server (10) vorgelagerten Anwendung (2, 3) und dem Client (20) gemäß dem in der Kommunikationsobj The device (30) comprises a generating means (32; 33) for generating a hull program (610) for an on the server (10) or the server (10) upstream application executable application (12, 200, 300) on the basis of a communication object (60), which describes a communication object between the server (10) and the client (20) such that a hull program (620) for an application (22, 600, 700) on the client (20) to said generating means (32; 33) or a further generating device (33; 32) can be generated based on the communication object description (60), and a providing means (34) for providing the hull program (610) for the server (10) or the server (10 ) upstream application (2, 3), so that communication between the server (10) and the client (20) or between (the server 10) upstream application (2, 3) and the client (20) according to the in Kommunikationsobj ektbeschreibung (60) beschriebenen Kommunikationsobjekt ausführbar ist. is executable ektbeschreibung (60) communication object described. Alternativ oder zusätzlich kann auch eine Erzeugungseinrichtung (33; 32) zur Erzeugung eines Rumpfprogramms (620) für eine auf dem Client (20) oder einer dem Client (20) vorgelagerten Anwendung ausführbare Applikation (22, 600, 700) auf der Grundlage einer Kommunikationsobjektbeschreibung (60) vorgesehen sein. Alternatively or additionally, a generating means (33; 32) for generating a hull program (620) for the client (20) or a client (20) upstream application executable application (22, 600, 700) on the basis of a communication Description (60) may be provided.

Description

  • Die vorliegende Erfindung bezieht sich auf eine Vorrichtung und ein Verfahren zum Erstellen von Applikationen für Anwendungen zur Kommunikation zwischen einem Server und einem Client einer Automatisierungsanlage. The present invention relates to an apparatus and a method for creating applications for use for communication between a server and a client of an automation system.
  • Automatisierungsanlagen werden bei der Fertigung von Produkten, wie Fahrzeugen, Teile für Fahrzeuge, Textilien, Zeitungen, Möbel, Elektrogeräte, usw. eingesetzt. Automation systems are used in the manufacture of products such as vehicles, parts for vehicles, textiles, newspapers, furniture, electrical appliances, etc. Hierbei kann beispielsweise ein Produktionsleitsystem, das auch als mehrschichtiges Fertigungsmanagementsystem (Manufacturing Execution System = MES) bezeichnet wird, mit einer speicherprogrammierbaren Steuerung kommunizieren, die nachfolgend auch kurz SPS genannt wird. Here, for example, a production control system, also known as multi-layer manufacturing execution system (Manufacturing Execution System = MES) is referred to, communicate with a programmable logic controller, hereinafter also abbreviated PLC.
  • Das Produktionsleitsystem ist in der Regel direkt an alle verteilten Systeme der Prozessautomatisierung angebunden und ermöglicht die Führung und/oder Lenkung und/oder Steuerung und/oder Kontrolle der gesamten Produktion in Echtzeit. The production control system is connected generally directly to all distributed systems of process automation and enables the management and / or steering and / or control and / or control of the entire production in real time. Hierfür wird eine klassische Datenerfassung und Datenaufbereitung durchgeführt, wie beispielsweise eine Betriebsdatenerfassung, Maschinendatenerfassung und Personaldatenerfassung. For this, a classic data acquisition and data processing is performed, such as data acquisition, machine data collection and personal data collection. Es können aber auch alle anderen Prozesse, die eine zeitnahe Auswirkung auf den Fertigungs-/Produktionsprozess haben, in der klassischen Datenerfassung und -aufbereitung umfasst sein. However, all other processes that have a timely impact on the manufacturing / production process, be included in the classic data acquisition and processing.
  • Das Produktionsleitsystem ist ein mehrschichtiges Gesamtsystem, das die betriebswirtschaftlichen berichtenden und die Produktion planenden Ebenen eines Unternehmens und den eigentlichen Fertigungs- bzw. Produktionsprozess in der Fertigungs- bzw. Automatisierungsebene, in der beispielsweise die SPS angeordnet ist, reflektiert. The production control system is a multilayer system as a whole, which reflects the business reporting and production planning levels of a company and the actual manufacturing or production process in the production or automation level, in the example, the PLC is arranged. Insbesondere dient das Produktionsleitsystem der fortlaufend steuernden Durchsetzung (engl. execution) einer bestehenden und gültigen Planung und der Rückmeldung aus der Ausführung der Planung. In particular, the production control system which continuously controlling enforcement of an existing and valid planning and feedback from the execution of planning is used (English execution.).
  • Zwischen dem Produktionsleitsystem und der SPS als einzelne Komponente des Gesamtsystems erfolgt die Datenübertragung über vordefinierte Datentypen und/oder Datenstrukturen, die mindestens zwei variable Grunddatentypen aufweisen. Between the production control system and the PLC as a single component of the total system data transmission via predefined data types and / or data structures that comprise at least two variable basic data types occurs. Die Definition auf der Seite des Produktionsleitsystems erfolgt in der Regel zuerst. The definition on the side of the production control system is usually done first. Am Ende der Inbetriebnahme der Automatisierungsanlage werden dann SPS-seitig die erforderlichen Datenstrukturen mit den mindestens zwei variablen Grunddatentypen angelegt und mit Leben erfüllt. At the end of the commissioning of the automation system the required data structures with at least two variable basic data types are then PLC side created and filled with life.
  • Nachteilig daran ist, dass sowohl ein Programmierer des MES-Systems als auch ein Programmierer der SPS die erforderlichen Datenstrukturen, Methoden, wie beispielsweise ein Arbeitsablauf oder eine Änderung von Betriebsarten, usw., und Events, wie beispielsweise eine Fehlermeldung oder Meldungen eines Zustandsautomats, usw., nachträglich in der SPS anlegen und die Datenversorgung programmieren muss. A disadvantage is that both a programmer of the MES system and a programmer of the PLC the required data structures, methods, such as a workflow or a change of modes, etc., and events, such as an error message or messages of a state automaton, etc. needs., subsequently invest in the PLC and program the data supply. Aufgrund von in der Zwischenzeit auftretenden Änderungen muss bei der ersten Kommunikation zwischen dem Produktionsleitsystem und der SPS häufig nachgebessert werden. Due to occur in the meantime, changes must often be rectified at the first communication between the production control system and the PLC. Dies ist sehr mühsam und zeitaufwändig und daher kostenintensiv. This is very tedious and time consuming and therefore costly. Vor allem bei einem großen Gesamtsystem ergibt sich dadurch ein beträchtlicher Aufwand. Especially in a large overall system, this results in a considerable effort.
  • Ein weiterer Nachteil ergibt sich daraus, dass die Änderung der Client- und Server-seitigen Funktionalität oft getrennt programmiert wird. A further disadvantage results from the fact that the change in the client and server side functionality is often programmed separately. Hierbei sind normalerweise unterschiedliche Personen tätig. Here, different people normally work. Dies bringt einen erhöhten Dokumentations- und/oder Abstimmungsbedarf mit sich, der zeit- und kostenintensiv ist. This brings an increased documentation and / or need for coordination with it, which is costly and time consuming.
  • Schwierigkeiten entstehen auch dadurch, dass die semantische Bedeutung der Variablen für die Kommunikation häufig nur unzureichend beschrieben wird. Difficulties and the fact that the semantic meaning of the variables for communication is often described insufficiently formed. Beispielsweise ist nicht immer klar, ob es sich bei der Variable um einen Wert handelt oder ob die Variable ein Auslöser einer Funktion oder eine Anzeige eines Ereignisses oder eines Ablaufs ist. For example, is not always clear whether the variable is a value or if the variable is a trigger of a function or an indication of an event or procedure. Noch dazu sind oft die Abläufe in Bezug darauf unklar, wer wann was wie ausführen muss, oder welcher Wert einer Variablen welchen Zustand herbeiführt. Still, the processes related to it are often unclear who, when, what must be like to run, or what value a variable causes which state. Daher muss für die Kommunikation zwischen dem Produktionsleitsystem oder einem ähnlichen System und der SPS entsprechend geschultes Fachpersonal eingesetzt werden. Must therefore trained personnel are used correspondingly for the communication between the production control system or a similar system and the PLC. Trotzdem ist die Inbetriebnahme der Kommunikation zwischen dem Produktionsleitsystem oder einem ähnlichen System und der SPS schwierig einzurichten. Nevertheless, the commissioning of the communication between the production control system or a similar system and the PLC is difficult to set up. Alles dies trägt zu einer weiteren Verteuerung der Realisierung einer zuverlässigen Kommunikation mit den gewünschten Funktionen zwischen dem Produktionsleitsystem oder einem ähnlichen System und der SPS bei. All this contributes to a further increase in the cost of implementing a reliable communication with the desired functions between the production control system or a similar system and the PLC.
  • Daher ist es Aufgabe der vorliegenden Erfindung, eine Vorrichtung und ein Verfahren zum Erstellen von Applikationen für Anwendungen zur Kommunikation zwischen einem Server und einem Client einer Automatisierungsanlage bereitzustellen, mit welchen die zuvor genannten Probleme gelöst werden können. Therefore, it is object of the present invention to provide an apparatus and method for creating applications for use for communication between a server and a client of an automation system to provide, with which the aforementioned problems can be solved. Insbesondere sollen eine Vorrichtung und ein Verfahren zum Erstellen von Applikationen für Anwendungen zur Kommunikation zwischen einem Server und einem Client einer Automatisierungsanlage bereitgestellt werden, bei welchen die Realisierung eines Datenaustauschs, das Auslösen von Funktionen sowie das Absetzen von Events, gegebenenfalls mit Datenstrukturen, zwischen Teilnehmern einer Kommunikation vereinfacht und damit günstiger wird. In particular, an apparatus and a method for creating applications for use for communication between a server and a client of an automation system is to be provided, in which the implementation of a data exchange, the trigger functions as well as the discontinuation of events, optionally with data structures, between subscribers of a simplifies communication and thus is cheaper.
  • Die Aufgabe wird durch eine Vorrichtung zum Erstellen von Applikationen für Anwendungen zur Kommunikation zwischen einem Server und einem Client einer Automatisierungsanlage nach Patentanspruch 1 gelöst. The object is achieved by a device for creating applications for use for communication between a server and a client of an automation system according to claim. 1 Die Vorrichtung umfasst eine Erzeugungseinrichtung zur Erzeugung eines Rumpfprogramms für eine auf dem Server oder einer dem Server vorgelagerten Anwendung, wie eine SPS, ausführbare Applikation auf der Grundlage einer Kommunikationsobjektbeschreibung, welche ein Kommunikationsobjekt zwischen dem Server und dem Client derart beschreibt, dass auch ein Rumpfprogramm für eine Applikation auf Seiten des Clients mit der Erzeugungseinrichtung oder einer weiteren Erzeugungseinrichtung auf der Grundlage der Kommunikationsobjektbeschreibung erzeugbar ist, und eine Bereitstelleinrichtung zum Bereitstellen des Rumpfprogramms für den Server oder die dem Server vorgelagerte Anwendung, so dass eine Kommunikation zwischen dem Server und dem Client oder zwischen der dem Server vorgelagerten Anwendung und dem Client gemäß dem in der Kommunikationsobjektbeschreibung beschriebenen Kommunikationsobjekt ausführbar ist. The device comprises a generating means for generating a hull program for an upstream to the server or the server application, such as a PLC, executable applications on the basis of a communication object description which describes a communication object between the server and the client in such a way that even a hull program for an application on the client side to said generating means or further forming means on the basis of the communication object description is generated, and a providing means for providing the hull program for the server or the upstream to the server application, so that communication between the server and the client, or between is executable upstream the server application and the client according to the method described in the communication Description communication object.
  • Die Aufgabe wird durch eine Vorrichtung zum Erstellen von Applikationen für Anwendungen zur Kommunikation zwischen einem Server und einem Client einer Automatisierungsanlage nach Patentanspruch 2 gelöst. The object is achieved by a device for creating applications for use for communication between a server and a client of an automation system according to claim. 2 Die Vorrichtung umfasst eine Erzeugungseinrichtung zur Erzeugung eines Rumpfprogramms für eine auf dem Client oder einer dem Client vorgelagerten Anwendung, wie eine HMI, ausführbare Applikation auf der Grundlage einer Kommunikationsobjektbeschreibung, welche ein Kommunikationsobjekt zwischen dem Server und dem Client derart beschreibt, dass auch ein Rumpfprogramm für eine Applikation auf Seiten des Servers mit der Erzeugungseinrichtung oder einer weiteren Erzeugungseinrichtung auf der Grundlage der Kommunikationsobjektbeschreibung erzeugbar ist, und einer Bereitstelleinrichtung zum Bereitstellen des Rumpfprogramms für den Client oder die dem Client vorgelagerte Anwendung, so dass eine Kommunikation zwischen dem Server und dem Client oder zwischen dem Server und der dem Client vorgelagerten Anwendung gemäß dem in der Kommunikationsobjektbeschreibung beschriebenen Kommunikationsobjekt ausführbar ist. The device comprises a generating means for generating a hull program for upstream on the client or a client application, such as a HMI, executable applications on the basis of a communication object description which describes a communication object between the server and the client in such a way that even a hull program for an application on the server side to said generating means or further forming means on the basis of the communication object description is generated, and a providing means for providing the body program of the client or the upstream to the client application, so that communication between the server and the client, or between is executable the server and the upstream of the client application in accordance with the method described in the communication Description communication object.
  • Im einfachsten Fall stellt die Erzeugungseinrichtung dem Client die vorabdefinierten Datenstrukturen und/oder Datentypen sowie Definitionen von eventuell verwendeten Methoden und/oder Events in der jeweiligen Programmiersprache zur Verfügung. In the simplest case, the generator to the client the pre-defined data structures and / or data types and definitions of any methods used and / or events in the customer programming available.
  • Mit den Vorrichtungen ist jeweils eine schnelle Inbetriebnahme der Kommunikation und der zugehörigen Abläufe zwischen den einzelnen Komponenten der Automatisierungsanlage möglich, wie einem Server und einem Client., Der Server kann insbesondere eine SPS sein, die ihre Daten unmittelbar mit einem Server der Automatisierungsanlage austauscht. With the devices quick setup of communication and the associated processes between the individual components of the automation system is possible in each case, such as a server and a client., The server may particularly be a PLC, that exchanges their data directly to a server of the automation system. Der Clientkann insbesondere eine Mensch-Maschine-Schnittstelle (Human Machine Interface = HMI) sein, die ihre Daten unmittelbar über den Client mit anderen Komponenten der Automatisierungsanlage austauscht). The client can be in particular a man-machine interface (HMI = Human Machine Interface), which exchanges their data directly from the client with other components of the automation system). Mit den Vorrichtungen kann innerhalb kürzester Zeit unter Verwendung einer Beschreibung, die in einer Beschreibungssprache oder bevorzugt als grafische Definition abgefasst ist, das gewünschte Kommunikationsobjekt beschrieben werden, so dass sowohl für die Client- als auch für die Serverseitige Anwendung einfach und sicher automatisch Programmcode generiert werden kann. With the devices of the desired communication object can within a short time by using a specification which is preferably formulated as a graphical definition in a description language, or are described, so that generated both safe automatically for the client as well as for the server-side application easy and program code can.
  • Die Vorrichtung kann in allen Bereichen der Automatisierungstechnik zum Einsatz kommen, in denen zwischen zwei Kommunikationsteilnehmern Daten auszutauschen sind. The apparatus may come in all areas of automation technology, in which data are exchanged between two communication subscribers.
  • Vorteilhafte weitere Ausgestaltungen der Vorrichtungen sind in den abhängigen Patentansprüchen angegeben. Advantageous further developments of the apparatus are specified in the dependent claims.
  • Möglicherweise ist die Erzeugungseinrichtung zudem ausgestaltet, mindestens eine Datenstruktur und/oder Datentyp und/oder Methode und/oder Event für den Client aus der Kommunikationsobjektbeschreibung zu erzeugen, und/oder die Bereitstellungseinheit ist zudem ausgestaltet zu prüfen, ob der Server und/oder der Client berechtigt ist, das jeweilige Rumpfprogramm und/oder die mindestens eine Datenstruktur und/oder Datentyp und/oder Methode und/oder Event zu empfangen. Perhaps the generator is also configured to generate at least one data structure and / or data type and / or method and / or event for the client from the communication object description, and / or the delivery unit is also designed to test whether the server and / or client the respective hull program and / or the at least one data structure and / or data type and / or method and / or event is authorized to receive.
  • In einer speziellen Ausgestaltung ist die Erzeugungseinrichtung zudem ausgestaltet, in dem Rumpfprogramm für den Client Sequenzen zu erzeugen, aufgrund welcher die Anwendung automatisch eine Kommunikationsverbindung mit dem Server herstellen kann, und/oder wobei die Erzeugungseinrichtung zudem ausgestaltet ist, aus einem Schlüsselwort in der Kommunikationsobjektbeschreibung eine vorbestimmte Codesequenz für die Applikation zu erzeugen. In a particular embodiment, the generating means is also configured to generate sequences in the body program to the client, due to which the application can automatically establish a communication link with the server, and / or wherein the generating means is also configured of a keyword in the communication object description, to generate predetermined code sequence for the application. Auf diese Weise könnte auch noch zur Laufzeit Code, wie beispielsweise bestimmte SPS-Programmteile/Funktionsbausteine erzeugt, nachgeladen oder ausgewählt werden. In this way could also runtime code as generated, for example specific PLC programs / function blocks, loaded or selected.
  • Außerdem kann die Erzeugungseinrichtung ausgestaltet sein, aus der Kommunikationsobjektbeschreibung einen virtuellen Server oder einen virtuellen Client zu erzeugen. In addition, the generator can be designed to create a virtual server or a virtual client communication object description.
  • Vorzugsweise sind die Applikation auf Seiten des Servers und die Applikation auf Seiten des Clients ausgestaltet, in Echtzeit Daten gemäß dem Kommunikationsobjekt auszutauschen. Preferably, the application at the server and the application are configured on the client side to exchange real-time data according to the communication object.
  • Zumindest eine der zuvor beschriebenen Vorrichtungen kann Teil einer Automatisierungsanlage sein, die zudem mindestens eine Anwendung mit Verbindung zu einem Server, und mindestens eine weitere Anwendung mit Verbindung zu einem Client aufweist, wobei der Client mit dem Server über eine Kommunikationsverbindung verbunden ist. At least one of the devices described above may be part of an automation system, which further comprises at least one application with a connection to a server, and at least one other application connect to a client, wherein the client is connected to the server via a communication link. Hierbei kann einem Server des mindestens einen Servers eine SPS und einem Client des mindestens einen Clients ein Produktionsleitsystem vorgelagert sein, oder eine Anwendung des Clients ein Produktionsleitsystem (MES) und eine Anwendung des Servers eine speicherprogrammierbare Steuerung (SPS) sein, und/oder einem Server des mindestens einen Servers kann eine speicherprogrammierbare Steuerung (SPS) und einem Client des mindestens einen Clients kann eine Mensch-Maschine-Schnittstelle (HMI) vorgelagert sein. In this case, a server of the at least one server, a PLC and a client of the at least one client, a production control system be preceded, or an application of the client, a production control system (MES) and an application server, a programmable logic controller (PLC), and / or a server the at least one server can be a programmable logic controller (PLC) and a client of the at least one client, a man-machine interface (HMI) to be upstream. Jegliche Kombinationen sind denkbar. Any combinations are possible. Beispielsweise übernimmt ein Server für eine numerische Steuerung (Numeric Control = NC) und eine SPS die Kommunikation mit anderen Clients. For example assumes a server for numerical control (NC = Numeric Control) and a PLC to communicate with other clients.
  • Die Aufgabe wird zudem durch ein Verfahren zum Erstellen von Applikationen für Anwendungen zur Kommunikation zwischen einem Server und einem Client einer Automatisierungsanlage nach Patentanspruch 8 gelöst. The object is also achieved by a method for creating applications for use for communication between a server and a client of an automation system according to claim. 8 Das Verfahren weist die Schritte auf: Erzeugen, mit einer Erzeugungseinrichtung, eines Rumpfprogramms für eine auf dem Server oder einer dem Server vorgelagerten Anwendung, wie einer SPS), ausführbare Applikation auf der Grundlage einer Kommunikationsobjektbeschreibung, welche ein Kommunikationsobjekt zwischen dem Server und dem Client derart beschreibt, dass auch ein Rumpfprogramm für eine Applikation auf Seiten des Clients mit der Erzeugungseinrichtung oder einer weiteren Erzeugungseinrichtung auf der Grundlage der Kommunikationsobjektbeschreibung erzeugbar ist, und Bereitstellen, mit einer Bereitstelleinrichtung, des Rumpfprogramms für den Server oder die dem Server vorgelagerte Anwendung, so dass eine Kommunikation zwischen dem Server und dem Client oder zwischen der dem Server vorgelagerten Anwendung und dem Client gemäß dem in der Kommunikationsobjektbeschreibung beschriebenen Kommunikationsobjekt ausführbar ist. The method comprises the steps of: generating, with a generating means, a hull program for a on the server or an upstream the server application, such as a PLC), executable applications on the basis of a communication object description which such a communication object between the server and the client describes that a hull program for an application on the client side to said generating means or further forming means is generated based on the communication object description, and providing, with a supply means, the body program of the server or the upstream to the server application, so that a communication between the server and the client, or between the upstream to the server application and the client according to the method described in the communication Description communication object is executable.
  • Die Aufgabe wird zudem durch ein Verfahren zum Erstellen von Applikationen für Anwendungen zur Kommunikation zwischen einem Server und einem Client einer Automatisierungsanlage nach Patentanspruch 9 gelöst. The object is also achieved by a method for creating applications for use for communication between a server and a client of an automation system according to claim. 9 Das Verfahren weist die Schritte auf: Erzeugen, mit einer Erzeugungseinrichtung, eines Rumpfprogramms für eine auf dem Client oder einer dem Client vorgelagerten Anwendung, wie einer HMI, ausführbare Applikation auf der Grundlage einer Kommunikationsobjektbeschreibung, welche ein Kommunikationsobjekt zwischen dem Server und dem Client derart beschreibt, dass auch ein Rumpfprogramm für eine Applikation auf Seiten des Servers mit der Erzeugungseinrichtung oder einer weiteren Erzeugungseinrichtung auf der Grundlage der Kommunikationsobjektbeschreibung erzeugbar ist, und Bereitstellen, mit einer Bereitstelleinrichtung, des Rumpfprogramms für den Client oder die dem Client vorgelagerte Anwendung, so dass eine Kommunikation zwischen dem Server und dem Client oder zwischen dem Server und der dem Client vorgelagerten Anwendung gemäß dem in der Kommunikationsobjektbeschreibung beschriebenen Kommunikationsobjekt ausführbar ist. The method comprises the steps of: generating, with a generating means, a hull program for the client or upstream of the client application, such as a HMI, executable applications on the basis of a communication object description which describes a communication object between the server and the client in such a way that even a hull program for an application on the server side to said generating means or further forming means is generated based on the communication object description, and providing, with a supply means, the body program of the client or the upstream to the client application, so that communication is executable between the server and the client, or between the server and the upstream to the client application according to the method described in the communication Description communication object.
  • Die Verfahren erzielen die gleichen Vorteile, wie sie zuvor in Bezug auf die Vorrichtung genannt sind. The methods achieve the same advantages as those mentioned above in relation to the device.
  • Die Verfahren können zudem einen Schritt eines Erstellens der Kommunikationsobjektbeschreibung aufweisen. The methods can further comprise a step of creating the communication object description.
  • Weitere mögliche Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Merkmale oder Ausführungsformen. Other possible implementations of the invention include not explicitly mentioned combinations of above or below with respect to the exemplary embodiments or features of the described embodiments. Dabei wird der Fachmann auch Einzelaspekte als Verbesserungen oder Ergänzungen zu der jeweiligen Grundform der Erfindung hinzufügen. In this case, the expert will also add individual aspects as improvements or additions to the respective basic form of the invention.
  • Nachfolgend ist die Erfindung unter Bezugnahme auf die beiliegende Zeichnung und anhand von Ausführungsbeispielen näher beschrieben. The invention with reference to the accompanying drawing and with reference to described embodiments. Es zeigen: Show it:
  • 1 1 ein vereinfachtes Blockschaltbild einer Automatisierungsanlage gemäß einem ersten Ausführungsbeispiel; a simplified block diagram of an automation system according to a first embodiment;
  • 2 2 ein weiteres vereinfachtes Blockschaltbild einer Automatisierungsanlage gemäß einem ersten Ausführungsbeispiel; a further simplified block diagram of an automation system according to a first embodiment;
  • 3 3 ein Beispiel für den Aufbau einer Datenstruktur bei der Automatisierungsanlage gemäß dem ersten Ausführungsbeispiel; an example of the structure of a data structure in the automation system according to the first embodiment;
  • 4 4 eine grafische Darstellung eines Kommunikationsobjekts für die Automatisierungsanlage gemäß dem ersten Ausführungsbeispiel; a graphical representation of a communication object for the automation system according to the first embodiment;
  • 5 5 ein Flussdiagramm eines Verfahrens zum Erstellen von Applikationen für Anwendungen zur Kommunikation zwischen einem Server und einem Client gemäß dem ersten Ausführungsbeispiel; a flowchart of a process for creating applications for use for communication between a server and a client according to the first embodiment;
  • 6 6 ein vereinfachtes Blockschaltbild einer Automatisierungsanlage gemäß einem zweiten Ausführungsbeispiel; a simplified block diagram of an automation system according to a second embodiment; und and
  • 7 7 ein vereinfachtes Blockschaltbild einer Automatisierungsanlage gemäß einem dritten Ausführungsbeispiel; a simplified block diagram of an automation system according to a third embodiment;
  • 8 8th ein vereinfachtes Blockschaltbild einer Automatisierungsanlage gemäß einem vierten Ausführungsbeispiel; a simplified block diagram of an automation system according to a fourth embodiment; und and
  • 9 9 ein vereinfachtes Blockschaltbild einer Automatisierungsanlage gemäß dem vierten Ausführungsbeispiel. a simplified block diagram of an automation system according to the fourth embodiment.
  • In den Figuren sind gleiche oder funktionsgleiche Elemente, sofern nichts anderes angegeben ist, mit denselben Bezugszeichen versehen. In the figures, identical or functionally identical elements unless otherwise indicated, provided with the same reference numerals.
  • 1 1 zeigt in Bezug auf ein erstes Ausführungsbeispiel eine Automatisierungsanlage shows in relation to a first embodiment of an automation system 1 1 mit einer speicherprogrammierbaren Steuerung with a programmable logic controller 2 2 , die nachfolgend auch kurz SPS , The following also briefly PLC 2 2 genannt wird, einer Numerischen Steuerung is called a numerical control 3 3 , die nachfolgend auch kurz NC , The following also briefly NC 3 3 genannt wird, einem Provider is called, a provider 4 4 , einem Provider , A provider 5 5 , einer HMI , An HMI 6 6 (Human Machine Interface = Mensch-Maschine-Schnittstelle), einem Produktionsleitsystem (Human Machine Interface = man-machine interface), a production control system 7 7 , das auch als mehrschichtiges Fertigungsmanagementsystem (Manufacturing Execution System = MES) bezeichnet wird, einem Server , Also known as multi-layered manufacturing management system (Manufacturing Execution System = MES) is referred to, a server 10 10 , einem Client , A client 20 20 , und eine Verbindung And a compound 40 40 . , Die SPS the PLC 2 2 und die NC and the NC 3 3 sind dem Server are the server 10 10 vorgelagerte Anwendungen offshore applications 2 2 , . 3 3 und können über den Provider and can the provider 4 4 mit dem Server with the server 10 10 kommunizieren. communicate. Die HMI the HMI 6 6 und das Produktionsleitsystem and the production control system 7 7 bzw. die MES or MES 7 7 sind dem Client are the client 20 20 vorgelagerte Anwendungen offshore applications 6 6 , . 7 7 und können über den Provider and can the provider 5 5 mit dem Client with the client 20 20 kommunizieren. communicate. Der Server The server 10 10 und der Client and the client 20 20 können über die Verbindung can connect 40 40 miteinander kommunizieren. communicate with each other. Wie durch Punkte rechts neben der MES As indicated by dots to the right of the MES 7 7 und der NC and the NC 3 3 in in 1 1 dargestellt, können noch weitere nicht dargestellte Einrichtungen, wie Robotik, Motion usw. an die Provider shown, other facilities not shown, such as robotics, motion can, etc. to the provider 4 4 , . 5 5 angeschlossen sein. be connected.
  • Es sind beliebige andere Ausgestaltungen möglich. There are possible any other configurations. Beispielsweise ist es bei einer hier nicht weiter betrachteten Variante auch möglich, dass das Produktionsleitsystem For example, it is also possible in a manner not further considered here variant that the production control system 7 7 die Funktion des Servers the function of the server 10 10 und die SPS and the PLC 2 2 die Funktion des Clients the function of the client 20 20 hat. Has.
  • 2 2 zeigt die Struktur von Server shows the structure of server 10 10 und Client and client 20 20 in Bezug auf eine Vorrichtung in reference to a device 30 30 genauer. more accurate. Zur Vereinfachung sind die Provider For simplicity, the provider 4 4 , . 5 5 in in 2 2 nicht dargestellt. not shown. Der Server The server 10 10 und der Client and the client 20 20 können über die Kommunikationsverbindung can via the communication link 40 40 , die beispielsweise als Datenbus ausgeführt sein kann, Daten Which can for example be designed as a data bus, data 50 50 in Form von insbesondere mindestens einer Datenstruktur in the form of, in particular at least one data structure 630 630 und/oder Datentyp and / or data type 632 632 , . 6321 6321 , . 6322 6322 und/oder Methode and / or method 63 63 und/oder Event and / or Event 64 64 austauschen, die später in Bezug auf share, which later in terms of 3 3 und and 4 4 näher erläutert sind. are explained in more detail. Der Server The server 10 10 und der Client and the client 20 20 können hierbei die Daten can this data 50 50 in Form von insbesondere mindestens einer Datenstruktur in the form of, in particular at least one data structure 630 630 und/oder Methode and / or method 63 63 und/oder Event and / or Event 64 64 insbesondere in Echtzeit austauschen. Replace particular in real time. Unter Echtzeit wird verstanden, dass der Server Under real-time is understood that the server 10 10 und der Client and the client 20 20 als Kommunikationsteilnehmer bestimmte Ergebnisse, wie die Übertragung der Daten as a node certain results, such as the transmission of data 50 50 , zuverlässig innerhalb einer vorbestimmten Zeitspanne, zum Beispiel in einem festen Zeitraster, liefern können. Can reliably deliver within a predetermined time period, for example, in a fixed time frame. In die Vorrichtung In the apparatus 30 30 wird eine Kommunikationsobjektbeschreibung a communication Description 60 60 eingegeben. entered. Alternativ kann die Beschreibung auch direkt in den Server Alternatively, the description may also directly into the server 10 10 und/oder direkt in den Client and / or directly to the client 20 20 eingegeben werden. be entered.
  • In In 2 2 hat die SPS has the PLC 2 2 eine auf der SPS one on the PLC 2 2 ausführbare Applikation executable application 200 200 . , Die NC the NC 3 3 hat eine auf der NC has on the NC 3 3 ausführbare Applikation executable application 300 300 . , Der Server The server 10 10 hat Hardware has hardware 11 11 , mindestens eine Applikation , At least one application 12 12 und eine Bedieneinheit and a control unit 13 13 . , Die Hardware The hardware 11 11 kann eine zentrale Verarbeitungseinheit, die auch CPU genannt werden kann, und mindestens eine Speichereinrichtung, usw. umfassen. may include a central processing unit CPU also can be called, and at least one memory device, etc. include. Über die Applikation(en) Via the application (s) 2 2 sind die Funktionen des Servers are the functions of the server 10 10 implementiert. implemented. Die Bedieneinheit The operating unit 13 13 kann Eingabemittel can input means 131 131 , wie eine Tastatur, eine Maus, einen berührungsempfindlichen Bildschirm oder dergleichen, und Ausgabemittel Such as a keyboard, a mouse, a touch screen or the like, and output means 132 132 , wie eine akustische und/oder optische Anzeige aufweisen. groups, such as an audible and / or visual display. Eine der Anwendung(en) One of the application (s) 2 2 , . 3 3 kann beispielsweise mit dem Ausgabemittel may, for example with the output means 132 132 kommunizieren, um die Daten communicate to the data 50 50 in Form von insbesondere Datenstrukturen in the form of particular data structures 630 630 und/oder Methoden und/oder Events mit Hilfe des Ausgabemittels and / or methods and / or events with the output means 132 132 für einen Benutzer der Automatisierungsanlage a user of the automation system 1 1 anzuzeigen. display. Die Applikationen the Applications 12 12 , . 200 200 , . 300 300 sind insbesondere ein auf dem Server in particular a on the server 10 10 bzw. der SPS or PLC 2 2 bzw. der NC or NC 3 3 lauffähiges Computerprogramm. executable computer program.
  • Die HMI the HMI 6 6 hat eine auf der HMI has at the HMI 6 6 ausführbare Applikation executable application 600 600 . , Die MES the MES 7 7 hat eine auf der MES has on the MES 7 7 ausführbare Applikation executable application 700 700 . , Der Client the client 20 20 hat Hardware has hardware 21 21 und eine Bedieneinheit and a control unit 23 23 . , Die Hardware The hardware 21 21 kann eine zentrale Verarbeitungseinheit, die auch CPU genannt werden kann, und mindestens eine Speichereinrichtung, usw. umfassen. may include a central processing unit CPU also can be called, and at least one memory device, etc. include. Über die Anwendung(en) On the application (s) 6 6 , . 7 7 bzw. deren Applikationen and their applications 600 600 , . 700 700 sind die Funktionen des Clients The functions of the client 20 20 implementiert. implemented. Die Bedieneinheit The operating unit 23 23 kann Eingabemittel can input means 231 231 , wie eine Tastatur, eine Maus, einen berührungsempfindlichen Bildschirm oder dergleichen, und Ausgabemittel Such as a keyboard, a mouse, a touch screen or the like, and output means 232 232 , wie eine akustische und/oder optische Anzeige aufweisen. groups, such as an audible and / or visual display. Eine der Anwendung(en) One of the application (s) 6 6 , . 7 7 kann beispielsweise mit dem Ausgabemittel may, for example with the output means 232 232 kommunizieren, um die Daten communicate to the data 50 50 in Form von insbesondere Datenstrukturen in the form of particular data structures 630 630 und/oder Methoden and / or methods 63 63 und/oder Events von dem Server and / or events from the server 10 10 mit Hilfe des Ausgabemittels using the output means 232 232 für einen Benutzer der Automatisierungsanlage a user of the automation system 1 1 anzuzeigen. display. Die Applikationen the Applications 22 22 , . 600 600 , . 700 700 sind insbesondere ein auf dem Client in particular one on the client 20 20 bzw. der HMI or the HMI 6 6 bzw. der MES or MES 7 7 lauffähiges Computerprogramm. executable computer program.
  • Die Vorrichtung The device 30 30 hat eine Empfangseinheit has a receiving unit 31 31 , eine erste Erzeugungseinheit A first generating unit 32 32 , eine zweite Erzeugungseinheit A second generating unit 33 33 und eine Bereitstellungseinheit and a provision unit 34 34 . , Die Empfangseinheit The receiving unit 31 31 dient zum Empfang der Kommunikationsobjektbeschreibung is used to receive the communication Description 60 60 und gibt diese an die erste und zweite Erzeugungseinheit and outputs it to the first and second generating unit 32 32 , . 33 33 weiter. continue. Die Kommunikationsobjektbeschreibung Communication Object Description 60 60 ist eine eindeutige Beschreibung des Kommunikationsobjekts für die jeweils benötigte Funktionalität für die Kommunikation zwischen Server is a unique description of the communication object for each functionality required for communication between the server 10 10 und Client and client 20 20 . ,
  • Die erste Erzeugungseinheit The first generation unit 32 32 erzeugt aus der Kommunikationsobjektbeschreibung generated from the communication object description 60 60 ein Rumpfprogramm a fuselage program 610 610 für die Applikation for application 12 12 des Servers the server 10 10 oder einer der vorgelagerten Anwendungen or one of the offshore applications 2 2 , . 3 3 . , Die zweite Erzeugungseinheit The second generation unit 33 33 erzeugt aus der Kommunikationsobjektbeschreibung generated from the communication object description 60 60 ein Rumpfprogramm a fuselage program 620 620 und/oder Datenstrukturen and / or data structures 630 630 für die Applikation for application 22 22 des Clients the client 20 20 oder einer der vorgelagerten Anwendungen or one of the offshore applications 6 6 , . 7 7 . , Die Bereitstellungseinheit The supply unit 34 34 stellt das Rumpfprogramm provides the short program 610 610 dem Server the server 10 10 für dessen Applikation for its application 12 12 und/oder Anwendungen and / or applications 2 2 , . 3 3 bereit. ready. Außerdem stellt die Bereitstellungseinheit In addition, the provision unit 34 34 dem Client the client 20 20 das Rumpfprogramm the short program 620 620 und/oder die Datenstrukturen and / or the data structures 630 630 für dessen Applikation for its application 22 22 und/oder Anwendungen and / or applications 6 6 , . 7 7 bereit. ready. Das Bereitstellen kann ein Senden des Rumpfprogramms Providing, a sending of the short program 610 610 an den Server to the server 10 10 sein, wobei der Server be, wherein the server 10 10 insbesondere mit Hilfe seiner Hardware in particular by means of its hardware 21 21 das Rumpfprogramm in die Applikation the short program in the application 12 12 , . 200 200 , . 300 300 implementiert. implemented. Alternativ oder zusätzlich kann bei dem Bereitstellen auch die Vorrichtung Alternatively or additionally, the apparatus may in providing 30 30 , insbesondere ihre Bereitstellungseinheit , In particular its provision unit 34 34 ein Implementieren des Rumpfprogramms a program implementing the hull 610 610 in der Applikation in the application 12 12 , . 200 200 , . 300 300 alleine oder auch mit Hilfe des Servers alone or with the help of the server 10 10 ausführen. To run. Das Gleiche gilt für das Bereitstellen des Rumpfprogramms The same applies to the provision of the fuselage program 620 620 und der Datenstrukturen and data structures 630 630 für den Client for the client 20 20 und die Applikationen and the applications 22 22 , . 600 600 , . 700 700 der Anwendungen applications 6 6 , . 7 7 . ,
  • Die Bereitstellung der Rumpfprogramme Providing the hull Programs 610 610 , . 620 620 oder zumindest die Beschreibung der Datenstrukturen or at least the description of the data structures 630 630 , der Events That events 64 64 (mit Daten) und der Methoden (Data) and methods 63 63 kann alternativ auch direkt den Anwendungen can alternatively be initiated applications 2 2 , . 3 3 , . 6 6 , . 7 7 des Clients the client 20 20 sowie des Servers and the server 10 10 , insbesondere mit Hilfe des entsprechenden Providers , In particular by means of the corresponding provider 4 4 , . 5 5 , bereitgestellt werden. , to be provided.
  • 3 3 zeigt ein Beispiel für den Aufbau einer Datenstruktur shows an example of the structure of a data structure 630 630 . , Die Datenstruktur The data structure 630 630 hat einen ersten variablen Grunddatentyp has a first variable basic data type 631 631 und einen zweiten variablen Grunddatentyp and a second variable basic data type 632 632 . , Der zweite variable Grunddatentyp The second variable basic data type 632 632 hat wiederum einen ersten variablen Unterdatentyp in turn, has a first variable sub-data type 6321 6321 und einen zweiten variablen Unterdatentyp and a second variable sub-data type 6322 6322 . ,
  • Beispielsweise hat die Datenstruktur For example, the data structure 630 630 von from 3 3 die Bezeichnung MySuperStruct[MySuperStruct_Type] und ist somit vom Typ MySuperStruct_Type. the name MySuperStruct [MySuperStruct_Type] and thus the type MySuperStruct_Type. Der Typ „MySuperStruct_Type” umfasst zum einen den ersten variablen Grunddatentyp The type "MySuperStruct_Type" includes firstly the first variable basic data type 631 631 mit der Bezeichnung A, der vom Datentyp Integer32 ist. labeled A, which is the data type Integer32. Zum anderen umfasst der Typ „MySuperStruct_Type” den zweiten variablen Grunddatentyp On the other comprises the type "MySuperStruct_Type" the second variable basic data type 632 632 mit der Bezeichnung MyStruct[MyStruct_Type], der vom Datentyp MyStruct_Type ist. called MyStruct [MyStruct_Type], which is the data type MyStruct_Type. Der Typ „MyStruct_Type” umfasst zum einen den ersten variablen Unterdatentyp The type "MyStruct_Type" includes on the one hand the first sub-data variable type 6311 6311 mit der Bezeichnung X, der vom Datentyp Integer32 ist. called X, which is the data type Integer32. Zum anderen umfasst der Typ „MyStruct_Type” den zweiten variablen Unterdatentyp On the other comprises the type "MyStruct_Type" the second sub-data variable type 6322 6322 mit der Bezeichnung Y, der vom Datentyp Boolean ist. with the label Y, which is the data type Boolean.
  • Die Datenstrukturen The data structures 630 630 können ganz allgemein mindestens zwei variable Grunddatentypen In very general terms at least two variable basic data types 631 631 , . 632 632 aufweisen, die wiederum mindestens zwei Unterdatentypen have, in turn, at least two sub-data types 6321 6321 , . 6322 6322 aufweisen können. may have. Es sind auch noch den Unterdatentypen There are also the lower data types 6321 6321 , . 6322 6322 weitere untergeordnete Unterdatentypen möglich, usw. further subordinate sub-data types possible, etc.
  • 4 4 zeigt ein Beispiel für eine Kommunikationsobjektbeschreibung shows an example of a communication Description 60 60 , die als OPC Unified Architecture (OPC UA) Informationsmodell ausgestaltet sein kann. Which can be configured as OPC Unified Architecture (OPC UA) information model. Gemäß dem Beispiel soll zwischen dem Server According to the example is between the server 10 10 und dem Client and the client 20 20 eine Kommunikation in Bezug auf ein Energiemanagement der Automatisierungsanlage a communication regarding energy management of the automation system 1 1 möglich sein. to be possible. In der Kommunikationsobjektbeschreibung In communication Description 60 60 sind daher Objekte therefore objects 61 61 , Unterobjekte , Sub-objects 61A 61A , Variable , variable 62 62 und eine Methode and a method 63 63 definiert. Are defined. Das Energiemanagement und/oder die Methode The energy management system and / or method 63 63 können Ereignisse oder Events to events or events 64 64 auslösen. trigger. Eine Methode A method 63 63 kann ganz allgemein beispielsweise ein Arbeitsablauf oder eine Änderung von Betriebsarten, usw. sein. may, for example, an operation or a change of modes, etc. in general. Ein Event an event 64 64 kann ganz allgemein beispielsweise eine Fehlermeldung oder Meldungen eines Zustandsautomats, usw. sein. may be more generally, for example, an error message or messages of a state automaton, etc.
  • In dem Beispiel von In the example of 4 4 ist das Objekt „EnergyManagement” definiert, dem die Unterobjekte „Configuration”, „Status” und „Control” untergeordnet sind. the object "Energy Management" is defined, the sub-objects "Configuration", "Status" and "control" are subordinate.
  • Das Objekt „EnergyManagement” in der Kommunikationsobjektbeschreibung The object "Energy Management" in communication Description 60 60 „hat den Typ EnergyManagementType” "Has the type Energy Management Type" 611 611 . ,
  • In In 4 4 sind dem Unterobjekt „Configuration” die beiden Variablen „TimeEMxToEMOp” und „EnergyEMxToEMOp” zugeordnet. the two variables "TimeEMxToEMOp" and "EnergyEMxToEMOp" are the sub-object "Configuration" associated. Es können jedoch noch weitere Variable However, it is still another variable 62 62 vorgesehen sein. be provided. Dem Unterobjekt „Status” sind die beiden Variablen „EnergyConsumption” und „CurrentEnergyMode” zugeordnet. The sub-object "Status" the two variables "EnergyConsumption" and "Current Energy Mode" are assigned. Es können jedoch noch weitere Variable However, it is still another variable 62 62 vorgesehen sein. be provided. Dem Unterobjekt „Control” ist die Methode Under the object "Control" is the method 63 63 „ChangeEnergyConsumption” zugeordnet. "ChangeEnergyConsumption" assigned.
  • Ein Pfeil EN (EventNotification) in An arrow EN (EventNotification) in 4 4 gibt an, dass der Server indicates that the server 10 10 in der Lage sein soll, den Client should be able to Client 20 20 über ein Event an Event 64 64 in Bezug auf das Energiemanagement der Automatisierungsanlage with respect to the energy management of the automation system 1 1 zu informieren. to inform. Beispielsweise kann der Server For example, the server 10 10 den Client the client 20 20 über ein Event an Event 64 64 , gegebenenfalls mit weiteren Daten, informieren, dass sich die Energiebetriebsart (EnergyMode) geändert hat. Optionally, with additional data informing that the power mode (Energy Mode) has changed.
  • Wie durch einen Pfeil WD (WriteData) in As indicated by an arrow WD (Write Data) in 4 4 veranschaulicht, soll der Client illustrates the client should 10 10 in der Lage sein, Daten für die beiden Variablen „TimeEMxToEMOp” und/oder „EnergyEMxToEMOp” und/oder gegebenenfalls weiteren Variablen be capable of data for the two variables "TimeEMxToEMOp" and / or "EnergyEMxToEMOp" and / or optionally further variables 62 62 des Unterobjekts „Configuration” zu liefern bzw. in sie zu schreiben. to deliver the sub-object "Configuration" and write to them. Außerdem gibt ein Pfeil RD (ReadData) in In addition, an arrow RD (Read Data) are in 4 4 an, dass der Client that the client 10 10 auch in der Lage sein soll, Daten aus den beiden Variablen „TimeEMxToEMOp” und/oder „EnergyEMxToEMOp” und/oder gegebenenfalls weiteren Variablen should also be able to data from the two variables "TimeEMxToEMOp" and / or "EnergyEMxToEMOp" and / or optionally other variables 62 62 des Unterobjekts „Configuration” zu lesen. to read the sub-object "Configuration".
  • Ein Pfeil DCN (DataChangeNotification) in An arrow DCN (DataChangeNotification) in 4 4 gibt an, dass der Server indicates that the server 10 10 in der Lage sein soll, den Client should be able to Client 20 20 darüber zu informieren, dass sich die Daten in Bezug auf das Unterobjekt „Status” geändert haben. to inform you that the data has changed in relation to the sub-object "Status". Beispielsweise kann der Server For example, the server 10 10 den Client the client 20 20 informieren, dass sich der Wert und damit die Daten der Variablen „EnergyConsumption” geändert haben, da nun ein höherer oder niedrigerer Energieverbrauch als vorher vorliegt. inform that the value and the data of the variable "EnergyConsumption" have changed, as a higher or lower energy consumption than before now exists.
  • Ein weiterer Pfeil RD (ReadData) in Another arrow RD (Read Data) in 4 4 gibt an, dass der Client indicates that the client 10 10 auch in der Lage sein soll, Daten aus den beiden Variablen „EnergyConsumption” und/oder „CurrentEnergyMode” und/oder gegebenenfalls weiteren Variablen should also be able to data from the two variables "EnergyConsumption" and / or "Current Energy Mode" and / or optionally other variables 62 62 des Unterobjekts „Status” zu lesen. to read the sub-object "Status".
  • Ein Pfeil IR (InvokeRoutine) in An arrow IR (InvokeRoutine) in 4 4 gibt an, dass der Client indicates that the client 20 20 in der Lage sein soll, die Methode should be able, the method 63 63 „ChangeEnergyConsumption” aufzurufen, die auf dem Server enter "ChangeEnergyConsumption" on the server 10 10 ausgeführt werden kann. can be executed.
  • Gemäß According to 5 5 wird bei einem Verfahren zum Erstellen der Applikationen in a method to create the applications 12 12 , . 22 22 , . 200 200 , . 300 300 , . 600 600 , . 700 700 zur Kommunikation zwischen dem Server for communication between the server 10 10 und dem Client and the client 20 20 zunächst bei einem Schritt S1 eine Kommunikationsobjektbeschreibung first, at step S1, a communication Description 60 60 erzeugt, wie beispielsweise in produced, such as in 4 4 gezeigt. shown. Die Kommunikationsobjektbeschreibung Communication Object Description 60 60 kann hierbei eine grafische Darstellung der Kommunikationsparameter, wie Objekte can in this case a graphical representation of the communication parameters, such as objects 61 61 , Variable , variable 62 62 und deren Verbindung mit auszuführenden Methoden and their connection to be executed Methods 63 63 und Kommunikationen, die durch die Pfeile EN, WR, RD, SCN, IM dargestellt sind, umfassen. and communications, which are shown by the arrows EN, WR, RD, SCN, IM comprise. Die Kommunikationsobjektbeschreibung Communication Object Description 60 60 kann jedoch auch in einer Beschreibungssprache, wie beispielsweise XML, usw. geschrieben sein. but may be so written in a description language such as XML. Anders ausgedrückt, bei dem Schritt S1 wird das Kommunikationsobjekt modelliert. In other words, at step S1, the communication object is modeled. Die grafische Modellierung des Kommunikationsobjekts kann beispielsweise mit entsprechender Software oder Computerprogrammen, wie Visio der Firma Microsoft, oder Ähnlichem, erstellt werden, um Daten im XML-Format zu erzeugen. The graphical modeling of the communication object, for example, with appropriate software or computer programs such as Visio from Microsoft, or the like are created to generate data in XML format.
  • Somit wird bei dem Schritt S1 eine eindeutige Beschreibung des Kommunikationsobjekts für die jeweils benötigte Funktionalität der Kommunikation zwischen Server Thus, in the step S1 is a unique description of the communication object for the respectively required functionality of the communication between the server 10 10 und Client and client 20 20 vorgenommen. performed. Danach geht der Fluss zu einem Schritt S2 weiter. Thereafter, the flow proceeds to a step S2.
  • Bei dem Schritt S2 wird das Rumpfprogramm In step S2, the short program is 610 610 , oder zumindest die Beschreibung der Datenstrukturen , Or at least the description of the data structures 630 630 , der Methoden The methods 63 63 und Events and Events 64 64 , gegebenenfalls mit Daten, für die mindestens eine Applikation Optionally with data for the at least one application 12 12 , . 200 200 , . 300 300 beim Server the server 10 10 auf der Grundlage der bei dem Schritt S1 erzeugten Kommunikationsobjektbeschreibung based on the communication object description generated in step S1 60 60 erzeugt. generated. Ist dem Server If the server 10 10 beispielsweise eine SPS For example, a PLC 2 2 vorgelagert, können hier Objekte upstream, you will Objects 61 61 und/oder Unterobjekte and / or subobjects 61A 61A , und/oder Funktionen und/oder Ereignisse in Programmteile oder Funktionsbausteine (FBs) und/oder Unter-Programmteile oder Funktionsbausteine (Unter-FBs) überführt werden. , And / or functions and / or events in program parts or function blocks (FBs) and / or sub-parts of the program or function blocks (sub-FBs) are transferred. Solche Funktionen können beispielsweise ein Daten schreiben oder lesen usw. sein, wie zuvor in Bezug auf Such functions can, for example, write data or read etc. be as before in terms of 4 4 beschrieben. described. Solche Events such events 64 64 können beispielsweise eine Datenänderung oder der Aufruf oder die Beendigung der Methode for example, a data change or the call or ending the method 63 63 sein, wie zuvor in Bezug auf be as before in terms of 4 4 beschrieben. described. Der Schritt S2 kann von der ersten Erzeugungseinrichtung The step S2 may be of the first generating means 32 32 ausgeführt werden, wie zuvor auch in Bezug auf be carried out as before and in terms of 2 2 beschrieben. described. Danach geht der Fluss zu einem Schritt S3 weiter. Thereafter, the flow proceeds to step S3.
  • Bei dem Schritt S3 wird das Rumpfprogramm In the step S3, the short program is 620 620 und/oder die Beschreibung der Datenstrukturen and / or a description of data structures 630 630 , der Methoden The methods 63 63 und Events and Events 64 64 , gegebenenfalls mit Daten, für die mindestens eine Applikation Optionally with data for the at least one application 22 22 , . 600 600 , . 700 700 beim Client the client 20 20 auf der Grundlage der bei dem Schritt S1 erzeugten Kommunikationsobjektbeschreibung based on the communication object description generated in step S1 60 60 erzeugt. generated. Der Schritt S3 kann von der zweiten Erzeugungseinrichtung The step S3 may be from the second generating means 32 32 ausgeführt werden, wie zuvor auch in Bezug auf be carried out as before and in terms of 2 2 beschrieben. described. Danach geht der Fluss zu einem Schritt S4 weiter. Thereafter, the flow proceeds to step S4.
  • Bei dem Schritt S4 werden die Rumpfprogramme At step S4, the hull programs are 610 610 , . 620 620 und/oder die Beschreibung der Datenstrukturen and / or a description of data structures 630 630 , der Methoden The methods 63 63 und Events and Events 64 64 , gegebenenfalls mit Daten, der zugehörigen Applikation Optionally with data of the associated application, 12 12 , . 22 22 , . 200 200 , . 300 300 , . 600 600 , . 700 700 bereitgestellt, wie zuvor in Bezug auf provided on as before in terms 2 2 beschrieben. described. Danach geht das Verfahren zu dem Schritt S1 zurück. Thereafter, the procedure goes back to the step S1.
  • Bei dem Verfahren müssen der Schritt S2 und S3 nicht in der genannten Reihenfolge nacheinander ausgeführt werden. In the process of step S2 and S3 need not be performed in the named order in succession. Der Schritt S3 kann auch vor dem Schritt S2 ausgeführt werden. The step S3 can also be performed prior to the step S2. Außerdem ist es möglich, dass bei nachfolgenden Änderungen des Kommunikationstyps auch nur entweder der Schritt S2 oder der Schritt S3 ausgeführt wird, wenn die Änderung des Kommunikationstyps nur Auswirkungen auf eines der Rumpfprogramme It is also possible that with the following changes the type of communication only either step S2 or step S3 is carried out when the change of the communication type only affect one of the fuselage programs 610 610 , . 620 620 und/oder die Datentypen and / or the data types 630 630 für mindestens eine der Applikationen for at least one of the applications 12 12 , . 22 22 , . 200 200 , . 300 300 , . 600 600 , . 700 700 haben sollte. should have. Es ist auch möglich, dass das Verfahren nach dem Schritt S4 beendet ist. It is also possible that the method is terminated after the step S4. In diesem Fall muss das Verfahren neu aufgerufen werden, wenn eine Änderung an dem Kommunikationsobjekt auftritt. In this case, the process must be re-called when a change to the communication object occurs.
  • Somit können sowohl für die Client- als auch für die Server-seitige Applikation Thus, both the client and the server-side application 12 12 , . 22 22 , . 200 200 , . 300 300 , . 600 600 , . 700 700 ausgehend von der einen gemeinsamen Kommunikationsobjektbeschreibung starting from a common communication Description 60 60 als Kommunikationsobjektmodell in sich stimmige Programmrümpfe bzw. Rumpfprogramme as a communication object model in coherent program hulls or fuselage programs 610 610 , . 620 620 und/oder Datentypen and / or data types 630 630 automatisch generiert werden. are generated automatically.
  • Auf diese Weise können Änderungen der Kommunikation zwischen dem Server In this way, changes in the communication between the server 10 10 und dem Client and the client 20 20 in einfacher Weise durchgeführt werden. be carried out in a simple manner.
  • Ein großer Vorteil bei der zuvor geschilderten Ausführung liegt darin, dass nur eine Quelle zur Kommunikationsbeschreibung, nämlich die Kommunikationsobjektbeschreibung A great advantage of the previously described embodiment is that only one source for communication specification, namely the communication Description 60 60 , als Grundlage zur Erstellung für die Client- und Server-Applikationen , As the basis for the creation for the client and server applications 12 12 , . 22 22 , . 200 200 , . 300 300 , . 600 600 , . 700 700 herangezogen wird. is used.
  • In einer Modifikation des ersten Ausführungsbeispiels kann die Bereitstellung der Beschreibung der Datenstrukturen In a modification of the first embodiment, the provision of the description of the data structures 630 630 und/oder der Datentypen and / or the data types 632 632 , . 6321 6321 , . 6322 6322 und/oder der Methoden and / or methods 63 63 und/oder Events and / or events 64 64 gegebenfalls mit Daten, und/oder Rumpfprogrammen optionally with data and / or programs hull 610 610 , . 620 620 durch die Bereitstellungseinheit by the providing unit 34 34 auch nur erfolgen, wenn die Datenstrukturen only take place if the data structures 630 630 und/oder Rumpfprogramme and / or hull programs 610 610 , . 620 620 für den Server for the server 10 10 und/oder den Client and / or the client 20 20 bestimmt sind. are determined. Daher kann die Bereitstellungseinheit Therefore, the provision unit 34 34 auch prüfen, ob der Server also check if the server 10 10 und/oder der Client and / or the client 20 20 berechtigt ist, das jeweilige Rumpfprogramm is entitled to the respective hull program 610 610 , . 620 620 und/oder die Datenstrukturen and / or the data structures 630 630 zu empfangen. to recieve. Diese Prüfung kann beispielsweise unter Verwendung von Zugangsberechtigungscodes ausgeführt werden. This test can for example be performed using conditional access codes.
  • 6 6 zeigt eine Automatisierungsanlage shows an automation system 2 2 gemäß einem zweiten Ausführungsbeispiel. according to a second embodiment. Die Automatisierungsanlage The automation system 2 2 ist in weiten Teilen auf die gleiche Weise aufgebaut, wie in Bezug auf das erste Ausführungsbeispiel beschrieben. is constructed in much the same manner as described in relation to the first embodiment. Im Unterschied zum ersten Ausführungsbeispiel hat die Automatisierungsanlage Unlike the first embodiment has the automation system 2 2 gemäß dem zweiten Ausführungsbeispiel Sequenzen according to the second embodiment, sequences 620A 620A , . 221 221 , um den Verbindungsaufbau über die Kommunikationsverbindung To establish the connection via the communication link 40 40 zur Kommunikation zwischen Client for communication between client 20 20 und Server and servers 10 10 automatisch zu generieren. automatically generate. Die Sequenzen sequences 620A 620A , . 221 221 können als Programmcodesequenzen in dem Rumpfprogramm can be used as program code sequences in the fuselage program 620 620 für den Client for the client 20 20 oder auch in den Applikationen or in the applications 22 22 , . 600 600 , . 700 700 von den entsprechenden Erzeugungseinrichtungen from the respective generating means 31 31 , . 32 32 automatisch generiert werden. are generated automatically. Hierbei ist es vorzuziehen, dass der Verbindungsaufbau für eine Kommunikation zwischen Client Here, it is preferable that the connection for communication between client 20 20 und Server and servers 10 10 nur dann automatisch hergestellt wird, wenn keine Kommunikationsverbindung, beispielsweise über die Kommunikationsverbindung will only be produced automatically when there is no communication link, for example via the communication link 40 40 , zwischen Client Between client 20 20 und Server and servers 10 10 besteht. consists.
  • 7 7 zeigt eine Automatisierungsanlage shows an automation system 3 3 gemäß einem dritten Ausführungsbeispiel. according to a third embodiment. Die Automatisierungsanlage The automation system 3 3 ist in weiten Teilen auf die gleiche Weise aufgebaut, wie in Bezug auf das erste Ausführungsbeispiel beschrieben. is constructed in much the same manner as described in relation to the first embodiment. Im Unterschied zum ersten Ausführungsbeispiel hat die Automatisierungsanlage Unlike the first embodiment has the automation system 3 3 gemäß dem dritten Ausführungsbeispiel zusätzlich das Merkmal, dass auf Seiten des Clients In addition, according to the third embodiment has the feature that on the client side 20 20 und des Servers and the server 10 10 , der beispielsweise als SPS ausgeführt ist, mittels Schlüsselworten Which is designed for example as a PLC, by means of key words, 600A 600A spezielle Codesequenzen special code sequences 620B 620B , . 222 222 , generiert werden. , to be generated. Demzufolge weist die Kommunikationsobjektbeschreibung Accordingly, the communication Description 60 60 zumindest ein Schlüsselwort at least one keyword 60A 60A auf, so dass die Erzeugungseinrichtungen , so that the generating means 32 32 , . 33 33 das oder die Schlüsselworte the one or more key words 60A 60A zur automatischen Generierung oder Erzeugung der Codesequenzen to automatically generate or produce the code sequences 620B 620B , . 222 222 heranziehen können. can consult. Das heißt, eine Codesequenz der Codesequenzen That is, a code sequence of the code sequences 620B 620B , . 222 222 kann auch aus mehr als einem Schlüsselwort can also consist of more than one keyword 600A 600A erzeugt werden. be generated.
  • 8 8th zeigt die Automatisierungsanlage shows the automation system 1 1 gemäß einem vierten Ausführungsbeispiel. according to a fourth embodiment. Hier ist es auch möglich, dass anstelle des Servers Here it is also possible that instead of the server 10 10 mit Provider with providers 4 4 und Anwendung(en) and application (s) 2 2 , . 3 3 gemäß den vorangehenden Ausführungsbeispielen der Server according to the foregoing embodiments, the server 10 10 mit Provider with providers 4 4 und Anwendung(en) and application (s) 2 2 , . 3 3 auch simuliert werden, wobei eine lauffähige Instanz des Servers als virtueller Server also be simulated, with a running instance of the server as a virtual server 10A 10A einschließlich einer oder mehreren Anwendung(en) including one or more application (s) 2 2 , . 3 3 und Provider and provider 4 4 generiert wird. is generated. Dadurch umfasst der Server This includes the server 10A 10A neben seinen Funktionen, die zuvor in Bezug auf zumindest eines der vorangehenden Ausführungsbeispiele beschrieben sind, auch alle Funktionen der Anwendung(en) in addition to its functions previously described with respect to at least one of the foregoing embodiments, all features of the application (s) 2 2 , . 3 3 und des Providers and the provider 4 4 , wie für zumindest eines der vorangehenden Ausführungsbeispiele beschrieben. As described for at least one of the preceding embodiments. Der Server The server 10 10 zeigt hierzu unter Verwendung des vorgegebenen Kommunikationsobjekts bereits das gewünschte Verhalten gemäß der Kommunikationsobjektbeschreibung shows this by using the predetermined communication object already the desired behavior of the communication Description 60 60 . , Bei OPC UA beispielsweise könnte die Kommunikationsobjektbeschreibung With OPC UA, for example, could include communication Description 60 60 direkt zum Aufbau des Adressraums im virtuellen Server directly to the structure of the address space in virtual server 10A 10A genutzt werden. be used. Auf diese Weise kann auf der Client-Seite unmittelbar eine Applikation In this way, on the client side just one application 22 22 , . 600 600 , . 700 700 geschrieben und in Grundzügen gegenüber dem virtuellen Server written in broad terms compared to the virtual server 10A 10A getestet werden. be tested.
  • Somit ist hier die Erzeugungseinrichtung Thus, here is the generator 32 32 ausgestaltet, aus der Kommunikationsobjektbeschreibung designed from the communication object description 60 60 einen virtuellen Server a virtual server 10A 10A zu erzeugen. to create.
  • Gleiches soll auch auf Client-Seite ermöglicht werden, wie in The same should also be made possible on the client side, as in 9 9 gezeigt, so dass eine lauffähige Instanz des Clients als virtueller Client shown, so that a running instance of the client as a virtual client 20A 20A zur Verfügung steht, gegenüber der ein Server available, against which a server 10 10 erstellt bzw. getestet werden kann, wie in Bezug zumindest eines der vorangehenden Ausführungsbeispiele beschrieben. can be created and tested as described in respect of at least one of the preceding embodiments. Der virtuelle Client The Virtual Client 20A 20A hat neben seinen Funktionen, die zuvor in Bezug auf zumindest eines der vorangehenden Ausführungsbeispiele beschrieben sind, auch alle Funktionen der Anwendung(en) has in addition to its functions previously described with respect to at least one of the foregoing embodiments, all features of the application (s) 6 6 , . 7 7 und des Providers and the provider 5 5 , wie für zumindest eines der vorangehenden Ausführungsbeispiele beschrieben. As described for at least one of the preceding embodiments.
  • In diesem Fall ist also die Erzeugungseinrichtung In this case, the generator 33 33 ausgestaltet, aus der Kommunikationsobjektbeschreibung designed from the communication object description 60 60 einen virtuellen Client a virtual client 20A 20A zu erzeugen. to create.
  • Alle zuvor beschriebenen Ausgestaltungen der Automatisierungsanlagen All configurations of the automation systems previously described 1 1 , . 2 2 , . 3 3 , der Vorrichtung , The device 30 30 und des Verfahrens können einzeln oder in allen möglichen Kombinationen Verwendung finden. and the method can be used individually or in all possible combinations. Insbesondere können alle Merkmale und/oder Funktionen der zuvor beschriebenen Ausführungsbeispiele beliebig kombiniert und bei Bedarf auch weggelassen werden. In particular, all features and / or functions of the embodiments described above can be mixed and matched as needed omitted. Zusätzlich sind insbesondere folgende Modifikationen denkbar. In addition, in particular the following modifications are conceivable.
  • Die in den Figuren dargestellten Teile sind schematisch dargestellt und können in der genauen Ausgestaltung von den in den Figuren gezeigten Formen abweichen, solange deren zuvor beschriebenen Funktionen gewährleistet sind. The parts shown in the figures are shown schematically and may differ from those shown in the figures forms so long as the above-described functions are ensured in the precise configuration.
  • Es ist auch denkbar, dass der Server It is also conceivable that the server 10 10 , der Client , The client 20 20 und die Vorrichtung and the apparatus 30 30 jeweils Teilnehmer eines Bussystems sind. each subscriber of a bus system is. An das Bussystem können auch weitere Clients To the bus system, other clients can 20 20 und/oder Server and / or server 10 10 angeschlossen sein. be connected. Hierbei kann die Vorrichtung Here, the device 30 30 für alle Paarungen aus Client for all pairs of client 20 20 und zugehörigem Server and associated servers 10 10 die Rumpfprogramme the hull Programs 610 610 , . 620 620 und Datentypen and data types 630 630 erstellen. create. Alternativ ist auch eine direkte Bereitstellung der Rumpfprogramme Alternatively, a direct provision of the fuselage programs 610 610 , . 620 620 denkbar. conceivable.
  • Außerdem ist es möglich, dass die Vorrichtung It is also possible that the device 30 30 nur eine Erzeugungseinrichtung only one generator 32 32 aufweist, welche neben ihren zuvor beschriebenen Funktionen zusätzlich die Funktionen der zweiten Erzeugungseinrichtung has, which in addition to their above-described functions in addition to functions of the second generating means 33 33 aufweist. having.

Claims (10)

  1. Vorrichtung ( means ( 30 30 ) zum Erstellen von Applikationen ( ) (For creating applications 12 12 , . 200 200 , . 300 300 ) für Anwendungen ( ) (For applications 2 2 , . 3 3 ) zur Kommunikation zwischen einem Server ( ) (For communication between a server 10 10 ) und einem Client ( ) And a client ( 20 20 ) einer Automatisierungsanlage ( () Of an automation system 1 1 ; ; 2 2 ; ; 3 3 ), mit einer Erzeugungseinrichtung ( ) (Generating means 32 32 ; ; 33 33 ) zur Erzeugung eines Rumpfprogramms ( ) (For producing a fuselage program 610 610 ) für eine auf dem Server ( ) For a (on the server 10 10 ) oder einer dem Server ( ) Or the server ( 10 10 ) vorgelagerten Anwendung ( ) Upstream application ( 2 2 , . 3 3 ) ausführbare Applikation ( ) Executable application ( 12 12 , . 200 200 , . 300 300 ) auf der Grundlage einer Kommunikationsobjektbeschreibung ( ) (On the basis of a communication Description 60 60 ), welche ein Kommunikationsobjekt zwischen dem Server ( ) Which (a communication between the server object 10 10 ) und dem Client ( ) And the client ( 20 20 ) derart beschreibt, dass auch ein Rumpfprogramm ( ) Describes in such a way (that also a hull program 620 620 ) für eine Applikation ( ) (For an application 22 22 , . 600 600 , . 700 700 ) auf Seiten des Clients ( ) (On the client side 20 20 ) mit der Erzeugungseinrichtung ( ) (With the forming means 32 32 ; ; 33 33 ) oder einer weiteren Erzeugungseinrichtung ( ) Or a further generating device ( 33 33 ; ; 32 32 ) auf der Grundlage der Kommunikationsobjektbeschreibung ( ) (On the basis of the communication Description 60 60 ) erzeugbar ist, und einer Bereitstelleinrichtung ( ) Can be generated, and (a providing means 34 34 ) zum Bereitstellen des Rumpfprogramms ( ) (For providing the hull program 610 610 ) für den Server ( ) (For the server 10 10 ) oder die dem Server ( ) Or the server ( 10 10 ) vorgelagerte Anwendung ( ) Upstream application ( 2 2 , . 3 3 ), so dass eine Kommunikation zwischen dem Server ( ), So that communication between the server ( 10 10 ) und dem Client ( ) And the client ( 20 20 ) oder zwischen der dem Server ( ) Or between (the server 10 10 ) vorgelagerten Anwendung ( ) Upstream application ( 2 2 , . 3 3 ) und dem Client ( ) And the client ( 20 20 ) gemäß dem in der Kommunikationsobjektbeschreibung ( ) According to (in communication Description 60 60 ) beschriebenen Kommunikationsobjekt ausführbar ist. ) Communication object described is executable.
  2. Vorrichtung ( means ( 30 30 ) zum Erstellen von Applikationen ( ) (For creating applications 22 22 , . 600 600 , . 700 700 ) für Anwendungen ( ) (For applications 6 6 , . 7 7 ) zur Kommunikation zwischen einem Server ( ) (For communication between a server 10 10 ) und einem Client ( ) And a client ( 20 20 ) einer Automatisierungsanlage ( () Of an automation system 1 1 ; ; 2 2 ; ; 3 3 ), mit einer Erzeugungseinrichtung ( ) (Generating means 33 33 ; ; 32 32 ) zur Erzeugung eines Rumpfprogramms ( ) (For producing a fuselage program 620 620 ) für eine auf dem Client ( ) For one (on the client 20 20 ) oder einer dem Client ( ), Or the client ( 20 20 ) vorgelagerten Anwendung ( ) Upstream application ( 6 6 , . 7 7 ) ausführbare Applikation ( ) Executable application ( 22 22 , . 600 600 , . 700 700 ) auf der Grundlage einer Kommunikationsobjektbeschreibung ( ) (On the basis of a communication Description 60 60 ), welche ein Kommunikationsobjekt zwischen dem Server ( ) Which (a communication between the server object 10 10 ) und dem Client ( ) And the client ( 20 20 ) derart beschreibt, dass auch ein Rumpfprogramm ( ) Describes in such a way (that also a hull program 610 610 ) für eine Applikation ( ) (For an application 12 12 , . 200 200 , . 300 300 ) auf Seiten des Servers ( ) (On the server side 20 20 ) mit der Erzeugungseinrichtung ( ) (With the forming means 33 33 ; ; 32 32 ) oder einer weiteren Erzeugungseinrichtung ( ) Or a further generating device ( 32 32 ; ; 33 33 ) auf der Grundlage der Kommunikationsobjektbeschreibung ( ) (On the basis of the communication Description 60 60 ) erzeugbar ist, und einer Bereitstelleinrichtung ( ) Can be generated, and (a providing means 34 34 ) zum Bereitstellen des Rumpfprogramms ( ) (For providing the hull program 620 620 ) für den Client ( ) (For the client 20 20 ) oder die dem Client ( ) Or the client ( 20 20 ) vorgelagerte Anwendung ( ) Upstream application ( 6 6 , . 7 7 ), so dass eine Kommunikation zwischen dem Server ( ), So that communication between the server ( 10 10 ) und dem Client ( ) And the client ( 20 20 ) oder zwischen dem Server ( ) Or (between the server 10 10 ) und der dem Client ( ) And the client ( 20 20 ) vorgelagerten Anwendung ( ) Upstream application ( 6 6 , . 7 7 ) gemäß dem in der Kommunikationsobjektbeschreibung ( ) According to (in communication Description 60 60 ) beschriebenen Kommunikationsobjekt ausführbar ist. ) Communication object described is executable.
  3. Vorrichtung ( means ( 30 30 ) nach Anspruch 1 oder 2, wobei die Erzeugungseinrichtung ( ) According to claim 1 or 2, wherein the generating means ( 33 33 ) zudem ausgestaltet ist, mindestens eine Datenstruktur ( ) Is also configured to at least one data structure ( 630 630 ) und/oder Datentyp ( () And / or data type 632 632 , . 6321 6321 , . 6322 6322 ) und/oder Methode ( () And / or method 63 63 ) und/oder Event ( () And / or Event 64 64 ) für den Client ( ) (For the client 20 20 ) aus der Kommunikationsobjektbeschreibung ( ) (From the communication object description 60 60 ) zu erzeugen, und/oder wobei die Bereitstellungseinheit ( to produce), and / or wherein the delivery unit ( 34 34 ) zudem ausgestaltet ist zu prüfen, ob der Server ( ) Is also designed to test whether the server ( 10 10 ) und/oder der Client ( () And / or the client 20 20 ) berechtigt ist, das jeweilige Rumpfprogramm ( ) Is entitled to the respective hull program ( 610 610 , . 620 620 ) und/oder die mindestens eine Datenstruktur ( () And / or the at least one data structure 630 630 ) und/oder Datentyp ( () And / or data type 632 632 , . 6321 6321 , . 6322 6322 ) und/oder Methode ( () And / or method 63 63 ) und/oder Event ( () And / or Event 64 64 ) zu empfangen. ) to recieve.
  4. Vorrichtung ( means ( 30 30 ) nach einem der vorangehenden Ansprüche, wobei die Erzeugungseinrichtung ( ) According to one of the preceding claims, wherein said generating means ( 32 32 ; ; 33 33 ) zudem ausgestaltet ist, in dem Rumpfprogramm ( ) Is also configured (in the hull program 620 620 ) für den Client ( ) (For the client 20 20 ) Sequenzen ( ) Sequences ( 620A 620A ) zu erzeugen, aufgrund welcher die Anwendung ( to generate), the basis of which (the application 22 22 ) automatisch eine Kommunikationsverbindung ( ) Automatically a communication link ( 40 40 ) mit dem Server ( ) (With the server 10 10 ) herstellen kann, und/oder wobei die Erzeugungseinrichtung ( can) can be produced and / or wherein the generating device ( 32 32 ; ; 33 33 ) zudem ausgestaltet ist, aus einem Schlüsselwort ( ) Is also configured (of a keyword 60A 60A ) in der Kommunikationsobjektbeschreibung ( ) (In the communication Description 60 60 ) eine vorbestimmte Codesequenz ( ) A predetermined code sequence ( 610B 610B ; ; 620B 620B ) für die Applikation ( ) (For the application 12 12 ; ; 22 22 ; ; 200 200 ; ; 300 300 ; ; 600 600 ; ; 700 700 ) zu erzeugen, und/oder wobei die Erzeugungseinrichtung ( to produce), and / or wherein the generating device ( 32 32 ; ; 33 33 ) zudem ausgestaltet ist, aus der Kommunikationsobjektbeschreibung ( ) Is also designed (from the communication object description 60 60 ) einen virtuellen Server ( ) A virtual server ( 10A 10A ) oder einen virtuellen Client ( ) Or a virtual client ( 20A 20A ) zu erzeugen. ) to create.
  5. Vorrichtung ( means ( 30 30 ) nach einem der vorangehenden Ansprüche, wobei die Applikation ( ) According to one of the preceding claims, wherein the application ( 12 12 ; ; 200 200 ; ; 300 300 ) auf Seiten des Servers ( ) (On the server side 10 10 ) und die Anwendung ( ) And the application ( 22 22 ; ; 600 600 ; ; 700 700 ) auf Seiten des Clients ( ) (On the client side 20 20 ) ausgestaltet sind, in Echtzeit Daten ( ) Are configured (in real-time data 50 50 ) gemäß dem Kommunikationsobjekt austauschen. ) Exchange in accordance with the communication object.
  6. Automatisierungsanlage ( Automation system ( 1 1 ; ; 2 2 ; ; 3 3 ), mit mindestens einer Anwendung ( ), (Having at least one application 2 2 , . 3 3 ) mit Verbindung zu einem Server ( ) (With a connection to a server 10 10 ), und mindestens einer weiteren Anwendung ( ), And at least one further application ( 6 6 , . 7 7 ) mit Verbindung zu einem Client ( ) (With connection to a client 20 20 ), wobei der Client ( ), Wherein the client ( 20 20 ) mit dem Server ( ) (With the server 10 10 ) über eine Kommunikationsverbindung ( ) (Via a communications link 40 40 ) verbunden ist, und mindestens einer Vorrichtung ( ) Is connected, and (at least one device 30 30 ) nach einem der vorangehenden Ansprüche. ) According to one of the preceding claims.
  7. Automatisierungsanlage ( Automation system ( 1 1 ; ; 2 2 ; ; 3 3 ) nach Anspruch 6, wobei einem Server ( ) According to claim 6, wherein a server ( 10 10 ) des mindestens einen Servers ( ) Of the (at least one server 10 10 ) eine SPS ( ), A PLC ( 2 2 ) und einem Client ( ) And a client ( 20 20 ) des mindestens einen Clients ( ) Of the (at least one client 20 20 ) ein Produktionsleitsystem ( ) A production control system ( 7 7 ) vorgelagert ist, und/oder wobei einem Server ( ) Is upstream, and / or wherein a server ( 10 10 ) des mindestens einen Servers ( ) Of the (at least one server 10 10 ) eine SPS ( ), A PLC ( 2 2 ) und einem Client ( ) And a client ( 20 20 ) des mindestens einen Clients ( ) Of the (at least one client 20 20 ) eine HMI 3 vorgelagert ist. ) HMI is upstream. 3
  8. Verfahren zum Erstellen von Applikationen ( Method for creating applications ( 12 12 , . 200 200 , . 300 300 ) für Anwendungen ( ) (For applications 2 2 , . 3 3 ) zur Kommunikation zwischen einem Server und einem Client einer Automatisierungsanlage, wobei das Verfahren die Schritte aufweist Erzeugen, mit einer Erzeugungseinrichtung ( ) (For communication between a server and a client of an automation system, the method comprising the steps of generating, with a generating means 32 32 ; ; 33 33 ), eines Rumpfprogramms ( (), Of a hull program 610 610 ) für eine auf dem Server ( ) For a (on the server 10 10 ) oder einer dem Server ( ) Or the server ( 10 10 ) vorgelagerten Anwendung ( ) Upstream application ( 2 2 , . 3 3 ) ausführbare Applikation ( ) Executable application ( 12 12 , . 200 200 , . 300 300 ) auf der Grundlage einer Kommunikationsobjektbeschreibung ( ) (On the basis of a communication Description 60 60 ), welche ein Kommunikationsobjekt zwischen dem Server ( ) Which (a communication between the server object 10 10 ) und dem Client ( ) And the client ( 20 20 ) derart beschreibt, dass auch ein Rumpfprogramm ( ) Describes in such a way (that also a hull program 620 620 ) für eine Applikation ( ) (For an application 22 22 , . 600 600 , . 700 700 ) auf Seiten des Clients ( ) (On the client side 20 20 ) mit der Erzeugungseinrichtung ( ) (With the forming means 32 32 ; ; 33 33 ) oder einer weiteren Erzeugungseinrichtung ( ) Or a further generating device ( 33 33 ; ; 32 32 ) auf der Grundlage der Kommunikationsobjektbeschreibung ( ) (On the basis of the communication Description 60 60 ) erzeugbar ist, und Bereitstellen, mit einer Bereitstelleinrichtung ( ) Can be generated, and providing (with a supply means 34 34 ), des Rumpfprogramms ( (), The body program 610 610 ) für den Server ( ) (For the server 10 10 ) oder die dem Server ( ) Or the server ( 10 10 ) vorgelagerte Anwendung ( ) Upstream application ( 2 2 , . 3 3 ), so dass eine Kommunikation zwischen dem Server ( ), So that communication between the server ( 10 10 ) und dem Client ( ) And the client ( 20 20 ) oder zwischen der dem Server ( ) Or between (the server 10 10 ) vorgelagerten Anwendung ( ) Upstream application ( 2 2 , . 3 3 ) und dem Client ( ) And the client ( 20 20 ) gemäß dem in der Kommunikationsobjektbeschreibung ( ) According to (in communication Description 60 60 ) beschriebenen Kommunikationsobjekt ausführbar ist. ) Communication object described is executable.
  9. Verfahren zum Erstellen von Applikationen ( Method for creating applications ( 22 22 , . 600 600 , . 700 700 ) für Anwendungen ( ) (For applications 6 6 , . 7 7 ) zur Kommunikation zwischen einem Server ( ) (For communication between a server 10 10 ) und einem Client ( ) And a client ( 20 20 ) einer Automatisierungsanlage ( () Of an automation system 1 1 ; ; 2 2 ; ; 3 3 ), mit Erzeugen, mit einer Erzeugungseinrichtung ( (), With generating, with a generating means 33 33 ; ; 32 32 ), eines Rumpfprogramms ( (), Of a hull program 620 620 ) für eine auf dem Client ( ) For one (on the client 20 20 ) oder einer dem Client ( ), Or the client ( 20 20 ) vorgelagerten Anwendung ( ) Upstream application ( 6 6 , . 7 7 ) ausführbare Applikation ( ) Executable application ( 22 22 , . 600 600 , . 700 700 ) auf der Grundlage einer Kommunikationsobjektbeschreibung ( ) (On the basis of a communication Description 60 60 ), welche ein Kommunikationsobjekt zwischen dem Server ( ) Which (a communication between the server object 10 10 ) und dem Client ( ) And the client ( 20 20 ) derart beschreibt, dass auch ein Rumpfprogramm ( ) Describes in such a way (that also a hull program 610 610 ) für eine Applikation ( ) (For an application 12 12 , . 200 200 , . 300 300 ) auf Seiten des Servers ( ) (On the server side 20 20 ) mit der Erzeugungseinrichtung ( ) (With the forming means 33 33 ; ; 32 32 ) oder einer weiteren Erzeugungseinrichtung ( ) Or a further generating device ( 32 32 ; ; 33 33 ) auf der Grundlage der Kommunikationsobjektbeschreibung ( ) (On the basis of the communication Description 60 60 ) erzeugbar ist, und Bereitstellen, mit einer Bereitstelleinrichtung ( ) Can be generated, and providing (with a supply means 34 34 ), des Rumpfprogramms ( (), The body program 620 620 ) für den Client ( ) (For the client 20 20 ) oder die dem Client ( ) Or the client ( 20 20 ) vorgelagerte Anwendung ( ) Upstream application ( 6 6 , . 7 7 ), so dass eine Kommunikation zwischen dem Server ( ), So that communication between the server ( 10 10 ) und dem Client ( ) And the client ( 20 20 ) oder zwischen dem Server ( ) Or (between the server 10 10 ) und der dem Client ( ) And the client ( 20 20 ) vorgelagerten Anwendung ( ) Upstream application ( 6 6 , . 7 7 ) gemäß dem in der Kommunikationsobjektbeschreibung ( ) According to (in communication Description 60 60 ) beschriebenen Kommunikationsobjekt ausführbar ist. ) Communication object described is executable.
  10. Verfahren nach Anspruch 8 oder 9, zudem mit einem Schritt eines Erstellens (S1) der Kommunikationsobjektbeschreibung ( The method of claim 8 or 9, further comprising a step of creating (S1) of the communication object description ( 60 60 ). ).
DE201510204751 2015-03-17 2015-03-17 Device and method for creating applications for use for communication between a server and a client of an automation system Pending DE102015204751A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE201510204751 DE102015204751A1 (en) 2015-03-17 2015-03-17 Device and method for creating applications for use for communication between a server and a client of an automation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE201510204751 DE102015204751A1 (en) 2015-03-17 2015-03-17 Device and method for creating applications for use for communication between a server and a client of an automation system

Publications (1)

Publication Number Publication Date
DE102015204751A1 true true DE102015204751A1 (en) 2016-09-22

Family

ID=56852733

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201510204751 Pending DE102015204751A1 (en) 2015-03-17 2015-03-17 Device and method for creating applications for use for communication between a server and a client of an automation system

Country Status (1)

Country Link
DE (1) DE102015204751A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6230117B1 (en) * 1997-03-27 2001-05-08 International Business Machines Corporation System for automated interface generation for computer programs operating in different environments
US6578191B1 (en) * 1999-05-17 2003-06-10 International Business Machines Corporation Method and apparatus for dynamic generation of adapters
US6708074B1 (en) * 2000-08-11 2004-03-16 Applied Materials, Inc. Generic interface builder
EP2088507A2 (en) * 2008-01-31 2009-08-12 NCR Corporation Interoperability method and software
US8510762B1 (en) * 2011-10-12 2013-08-13 Google Inc. Generate custom client library samples based on a machine readable API description
WO2014061516A1 (en) * 2012-10-19 2014-04-24 国立大学法人東京大学 Method and device for generation of conversion module linking between different robot middleware types

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6230117B1 (en) * 1997-03-27 2001-05-08 International Business Machines Corporation System for automated interface generation for computer programs operating in different environments
US6578191B1 (en) * 1999-05-17 2003-06-10 International Business Machines Corporation Method and apparatus for dynamic generation of adapters
US6708074B1 (en) * 2000-08-11 2004-03-16 Applied Materials, Inc. Generic interface builder
EP2088507A2 (en) * 2008-01-31 2009-08-12 NCR Corporation Interoperability method and software
US8510762B1 (en) * 2011-10-12 2013-08-13 Google Inc. Generate custom client library samples based on a machine readable API description
WO2014061516A1 (en) * 2012-10-19 2014-04-24 国立大学法人東京大学 Method and device for generation of conversion module linking between different robot middleware types

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WO 2014061516 A1 (abstract). WPI [online].

Similar Documents

Publication Publication Date Title
DE19639424A1 (en) Ind. plant atomisation design system using combined process and control model
DE102004027033A1 (en) Influencing device for control units
EP1933214A2 (en) Automated generation and adaptation of a machine or plant model
DE102006062555A1 (en) Control device monitoring method for research and development field, involves communicating monitoring addresses within address domain to monitoring service, and copying address contents of monitoring addresses in preset address
DE102011087826A1 (en) A device for operation of at least one field device of automation technology
DE102008008500B3 (en) Method for computer-assisted configuration of e.g. motor vehicle, involves determining template provided for generic specification of characteristics of technical system, and values of template based on modeling of configuration information
DE102008055660A1 (en) Method and apparatus for accessing a functional module of an automation system
EP2439691A1 (en) Method and device for mechanical production of a process diagram
DE102009054901A1 (en) Method for offline operation of a field device of automation technology
DE10353051A1 (en) A method for simulation of an automation system
DE10332203A1 (en) Distributed Bayes network based expert system e.g. for vehicle diagnosis and functional restoring, has junction tree divided in two parts and has two arithmetic and logic units, divided under each other and in communication connection
DE102008014153A1 (en) Method, control device and control system for controlling an automation system
DE102004030781A1 (en) SCADA system for process monitoring and data handling has client server arrangement providing low data transmission loads
EP2251755A2 (en) Method for operating an automated assembly for industrial process and/or production automation
EP2042956A2 (en) Interface between a production management system and an automation system
DE102008038501A1 (en) A method of determining a static data structure of a field device
DE10215653A1 (en) Program code automatic generation method in which program code sections are generated using input and output controls or masks so that flexible engineering workflows can be gernated
DE102004024262A1 (en) Knowledge-based diagnostic system for a complex technical system with two separate knowledge bases for processing data and technical system for processing customer complaints
DE102004013924B3 (en) Device for context-dependent data analysis has lower weights of couplings between neurons from different context, output or combinatorial neuron pools than between neurons from same context, output or combinatorial neuron pool
DE102013103242A1 (en) Field device communication chip and method for accessing a field device
DE10021698A1 (en) On a single computer integrated functionality implemented for a distributed process control system
EP1176482A1 (en) Method and computer program for generating a regulation or control system
DE102005008517A1 (en) A method and system for integrating alarms in a process control system
DE10253603A1 (en) A method for generating software modules for field devices of process automation technology
DE10055118A1 (en) Program and data monitoring method for digital data processing system checks each program, interpreted data and active internet information in installation mode for virus detection

Legal Events

Date Code Title Description
R163 Identified publications notified