[go: up one dir, main page]

DE102023135201A1 - Method for outputting data from a programmable logic controller - Google Patents

Method for outputting data from a programmable logic controller Download PDF

Info

Publication number
DE102023135201A1
DE102023135201A1 DE102023135201.6A DE102023135201A DE102023135201A1 DE 102023135201 A1 DE102023135201 A1 DE 102023135201A1 DE 102023135201 A DE102023135201 A DE 102023135201A DE 102023135201 A1 DE102023135201 A1 DE 102023135201A1
Authority
DE
Germany
Prior art keywords
real
time program
server
notification
data
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
DE102023135201.6A
Other languages
German (de)
Inventor
André Lange
Daniel Brosche
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.)
Lenze SE
Original Assignee
Lenze SE
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenze SE filed Critical Lenze SE
Priority to DE102023135201.6A priority Critical patent/DE102023135201A1/en
Publication of DE102023135201A1 publication Critical patent/DE102023135201A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34263OLE object linking and embedding, OPC ole for process control

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

Die Erfindung betrifft ein Verfahren (10) zum Ausgeben von Daten aus einer speicherprogrammierbaren Steuerung, wobei Daten aus Variablen eines auf der Steuerung ausgeführten und insbesondere zyklisch abgearbeiteten Echtzeitprogramms durch einen ebenfalls auf der Steuerung ausgeführten Server ausgelesen werden und in Benachrichtigungen wenigstens eines Benachrichtigungstyps, die einem definierten Kommunikationsstandard entsprechen, über eine Datenverbindung an einen Client versendet werden. Durch das Versenden einer Nachricht von dem Echtzeitprogramm über ein Nachrichtensystem an den Server werden das Auslesen der Daten und deren Versenden in einer Benachrichtigung ausgelöst.The invention relates to a method (10) for outputting data from a programmable logic controller, wherein data from variables of a real-time program executed on the controller, in particular one executed cyclically, are read by a server also executed on the controller and are sent to a client via a data connection in notifications of at least one notification type that correspond to a defined communication standard. Sending a message from the real-time program to the server via a messaging system triggers the reading of the data and its sending in a notification.

Description

Die Erfindung betrifft ein Verfahren zum Ausgeben von Daten aus einer speicherprogrammierbaren Steuerung (SPS).The invention relates to a method for outputting data from a programmable logic controller (PLC).

Speicherprogrammierbaren Steuerungen der in Rede stehenden Art dienen zur Steuerung technischer Einrichtungen, wie beispielsweise von Maschinen und/oder Anlagen. Dabei werden moderne speicherprogrammierbare Steuerungen ähnlich wie sonstige Computer mittels auf der speicherprogrammierbaren Steuerung ausführbarer Programme gesteuert.Programmable logic controllers of the type in question are used to control technical devices, such as machines and/or systems. Modern programmable logic controllers are controlled similarly to other computers using programs executable on the programmable logic controller.

Speicherprogrammierbare Steuerungen müssen dabei regelmäßig vergleichsweise harte Echtzeitanforderungen erfüllen können. Entsprechend werden auf den speicherprogrammierbaren Steuerungen Echtzeitprogramme ausgeführt. Unter Echtzeitprogrammen sind in diesem Zusammenhang insbesondere Programme zu verstehen, die in der Lage sind, harten Echtzeitanforderungen, die an den Betrieb einer SPS zum Steuern einer Maschine und/oder Anlage gestellt werden, zu erfüllen.Programmable logic controllers must regularly be able to meet relatively stringent real-time requirements. Accordingly, real-time programs are executed on programmable logic controllers. In this context, real-time programs are understood to be programs capable of meeting the stringent real-time requirements placed on the operation of a PLC for controlling a machine and/or system.

Ermöglicht wird dies insbesondere durch bestimmte Vorgehensweisen bei der Abarbeitung der Echtzeitprogramme. Darüber hinaus existieren bestimmte Programmiersprachen, die gezielt für die Programmierung speicherprogrammierbarer Steuerungen entwickelt worden sind und hinsichtlich ihrer Beschaffenheit der Erfüllung von Echtzeitanforderungen entgegenkommen.This is made possible, in particular, by specific procedures for executing real-time programs. Furthermore, there are certain programming languages that have been specifically developed for programming programmable logic controllers and are designed to meet real-time requirements.

Insbesondere im Zuge der zunehmenden Vernetzung von speicherprogrammierbaren Steuerungen mit anderen informationstechnischen Einrichtungen besteht jedoch auch ein zunehmendes Interesse daran, eine Kommunikation zwischen der speicherprogrammierbaren Steuerung und anderen informationstechnischen Einrichtungen zu ermöglichen. Diese Bedürfnisse entstehen insbesondere im Rahmen der Industrie 4.0, aber auch einfache Fälle, in denen beispielsweise zu Überprüfungs- oder Wartungszwecken eine speicherprogrammierbare Steuerung über eine Datenverbindung mit einer informationstechnischen Einrichtung, wie beispielsweise einem Tablet Computer, verbunden wird, können im Hinblick auf die technische Realisierbarkeit herausfordernd sein.However, particularly with the increasing networking of programmable logic controllers with other information technology devices, there is also growing interest in enabling communication between the programmable logic controller and other information technology devices. These needs arise particularly in the context of Industry 4.0, but even simple cases in which, for example, a programmable logic controller is connected to an information technology device, such as a tablet computer, via a data connection for inspection or maintenance purposes can be challenging in terms of technical feasibility.

Der Grund hierfür liegt oft darin, dass es zwar Kommunikationsstandards für die Datenkommunikation in industriellen Umfeldern gibt, die Nutzung dieser Kommunikationsstandards jedoch regelmäßig das Ausführen von Programmen auf speicherprogrammierbaren Steuerungen erfordert, deren Fähigkeiten zur Erfüllung von Echtzeitanforderungen nicht ausreicht, um beispielsweise die harten Echtzeitanforderungen, wie sie an ein Echtzeitprogramm zur Steuerung einer Maschine gestellt werden, zu erfüllen.The reason for this is often that, although there are communication standards for data communication in industrial environments, the use of these communication standards regularly requires the execution of programs on programmable logic controllers whose capabilities for meeting real-time requirements are not sufficient, for example, to meet the hard real-time requirements placed on a real-time program for controlling a machine.

Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren zum Ausgeben von Daten aus einer speicherprogrammierbaren Steuerung aufzuzeigen, das es ermöglicht, die Daten in Konformität mit einem bestimmten Kommunikationsstandard auszugeben und dabei gleichzeitig sicherzustellen, dass die Abarbeitung eines Echtzeitprogramms unter Erfüllung der an dieses Programm gestellten Echtzeitanforderungen nicht beeinträchtigt wird.The invention is therefore based on the object of demonstrating a method for outputting data from a programmable logic controller which makes it possible to output the data in conformity with a specific communication standard and at the same time ensures that the execution of a real-time program is not impaired while fulfilling the real-time requirements placed on this program.

Die Aufgabe wird gelöst durch ein Verfahren mit den Merkmalen des Anspruchs 1. Die Merkmale der abhängigen Ansprüche betreffen vorteilhafte Ausführungsformen.The object is achieved by a method having the features of claim 1. The features of the dependent claims relate to advantageous embodiments.

Das Verfahren dient zum Ausgeben von Daten aus einer speicherprogrammierbaren Steuerung. Dabei werden Daten aus Variablen eines auf der Steuerung ausgeführten Echtzeitprogramms durch einen ebenfalls auf der Steuerung ausgeführten Server ausgelesen. Dabei wird das Echtzeitprogramm insbesondere zyklisch abgearbeitet. Unter einem Echtzeitprogramm ist daher insbesondere ein Programm zu verstehen, das von der speicherprogrammierbaren Steuerung innerhalb einer vorgegebenen Zykluszeit zuverlässig abgearbeitet werden kann. Beispielsweise kann es sich bei dem Echtzeitprogramm um ein in einer der in der Norm EN 61131-3:2014-06 definierten Programmiersprachen geschriebenes Programm handeln.The method is used to output data from a programmable logic controller. Data from variables of a real-time program executed on the controller are read by a server also executed on the controller. The real-time program is processed cyclically. A real-time program is therefore understood to be a program that can be reliably executed by the programmable logic controller within a specified cycle time. For example, the real-time program can be a program written in one of the Standard EN 61131-3:2014-06 A program written in a defined programming language.

Die Daten werden weiter von dem Server in Benachrichtigungen wenigstens eines Benachrichtigungstyps über eine Datenverbindung an einen Client gesendet. Dabei definiert der Benachrichtigungstyp insbesondere die Auswahl der Variablen, aus denen die in einer Benachrichtigung des jeweiligen Benachrichtigungstyps enthaltenen Daten ausgelesen werden.The data is then sent from the server to a client via a data connection in notifications of at least one notification type. The notification type defines, in particular, the selection of variables from which the data contained in a notification of the respective notification type is read.

Die Aufgabe wird insbesondere dadurch gelöst, dass durch das Versenden einer Nachricht von dem Echtzeitprogramm über ein Nachrichtensystem an den Server das Auslesen der Daten und deren Versenden in einer Benachrichtigung ausgelöst werden.The problem is solved in particular by sending a message from the real-time program to the server via a messaging system, which triggers the reading of the data and its sending in a notification.

Nachrichtensysteme ermöglichen es unterschiedlichen informationstechnischen Entitäten durch den Austausch von Datenpaketen, die auch als Telegramme oder Datagramme bezeichnet werden, miteinander zu kommunizieren. Diese finden normalerweise überwiegend in verteilten Systemen Anwendung, also wenn auf unterschiedlichen Computern, die über Datenleitungen vernetzt sind, ausgeführte Programme miteinander kommunizieren sollen.Messaging systems enable different information technology entities to communicate with each other through the exchange of data packets, also known as telegrams or datagrams. These are usually used predominantly in distributed systems, i.e. when different computers connected via data lines guided programs should communicate with each other.

Im vorliegenden Fall wird ein derartiges Nachrichtensystem genutzt, um die Kommunikation zwischen zwei Programmen, die auf derselben speicherprogrammierbaren Steuerung, also auf demselben Computer, ausgeführt werden, zu ermöglichen. Es kann sich bei dem Nachrichtensystem insbesondere um ein message passing system handeln. Es hat sich im Zusammenhang mit der vorliegenden Erfindung herausgestellt, dass dies in vorteilhafter Weise eine zeitliche Entkopplung der Abläufe beider Programme herbeiführt, die sich insbesondere positiv auf den Erhalt der Echtzeitfähigkeit des Echtzeitprogramms auswirkt.In the present case, such a messaging system is used to enable communication between two programs running on the same programmable logic controller, i.e., on the same computer. The messaging system can, in particular, be a message-passing system. In connection with the present invention, it has been found that this advantageously brings about a temporal decoupling of the executions of both programs, which has a particularly positive effect on maintaining the real-time capability of the real-time program.

Server der in Rede stehenden Art, die dazu dienen, die Datenkommunikation über versendete Benachrichtigungen nach einem definierten Kommunikationsstandard in einem industriellen Umfeld zu ermöglichen, sind typischerweise nicht in der Lage, derart harte Echtzeitanforderungen zu erfüllen, wie die in Rede stehenden Echtzeitprogramme speicherprogrammierbarer Steuerungen. Es hat sich gezeigt, dass es aufgrund der zeitlichen Entkopplung durch die Nutzung des Nachrichtensystems als „Auslöser“ dennoch möglich ist, einen solchen Server für den Versand der Benachrichtigungen zu nutzen, ohne die Echtzeitfähigkeit des Echtzeitprogramms zu gefährden.Servers of the type in question, which serve to enable data communication via sent notifications according to a defined communication standard in an industrial environment, are typically not capable of meeting such stringent real-time requirements as the real-time programs of programmable logic controllers in question. It has been shown that, due to the temporal decoupling achieved by using the messaging system as a "trigger," it is nevertheless possible to use such a server to send notifications without compromising the real-time capability of the real-time program.

Das Echtzeitprogramm wird von der speicherprogrammierbaren Steuerung insbesondere priorisiert abgearbeitet. Dies bedeutet insbesondere, dass anderen Programmen, wie insbesondere dem Server, lediglich die Rechenzeit der speicherprogrammierbaren Steuerung zur Verfügung steht, die verbleibt, nachdem die rechtzeitige Abarbeitung des Echtzeitprogramms gewährleistet ist.The real-time program is processed by the programmable logic controller with priority. This means, in particular, that other programs, such as the server, only have access to the computing time of the programmable logic controller that remains after the timely execution of the real-time program has been ensured.

Die Nutzung des Nachrichtensystems ermöglicht es, dass während der Abarbeitung des Echtzeitprogramms an einer bestimmten Stelle des Programmablaufs lediglich eine Nachricht versandt wird. Danach wird das Echtzeitprogramm weiter abgearbeitet. Der Server, der die Nachricht empfängt, kann innerhalb der ihm zur Verfügung stehenden Rechenzeit seine Aufgaben zum Auslesen der Daten und deren Versand in der Benachrichtigung erfüllen, ohne dass dadurch die weitere Abarbeitung des Echtzeitprogramms in einer Weise betroffen wird, die zu einer Verzögerung der Abarbeitung des Echtzeitprogramms führen würde.The use of the messaging system allows for a single message to be sent at a specific point during the real-time program's execution. Afterward, the real-time program continues to execute. The server receiving the message can complete its tasks of reading the data and sending it in the notification within the available processing time, without affecting the further execution of the real-time program in a way that would lead to a delay in its execution.

Auf diese Weise wird es ermöglicht, aus dem Echtzeitprogramm Daten an einen Client in einem definierten Kommunikationsprotokoll auszugeben, ohne dass der für die Verwendung des Kommunikationsprotokolls benötigte Server die Echtzeitfähigkeit des Echtzeitprogramms beeinträchtigt.In this way, it is possible to output data from the real-time program to a client in a defined communication protocol without the server required to use the communication protocol impairing the real-time capability of the real-time program.

Das Echtzeitprogramm kann insbesondere in Funktionsblöcken organisiert sein. Funktionsblöcke sind Programmorganisationseinheiten. Unter einem in Funktionsblöcken organisierten Echtzeitprogramm ist insbesondere ein in der in der Norm EN 61131-3:2014-06 definierten Funktionsbausteinsprache, die insbesondere auch als FBS/C+ bezeichnet wird, zu verstehen.The real-time program can be organized in function blocks. Function blocks are program organizational units. A real-time program organized in function blocks is, in particular, a program Standard EN 61131-3:2014-06 defined function block language, which is also referred to as FBS/C+.

Das Echtzeitprogramm kann wenigstens einen Funktionsblock aufweisen, der Variablen enthält, die vom Server auszulesende und mittels der Benachrichtigung an den Client zu sendende Daten enthalten. Dies ermöglicht zunächst bei der Erstellung des Echtzeitprogramms eine komfortable Handhabung der Funktionalität zum Versenden der Benachrichtigungen.The real-time program can have at least one function block containing variables that contain data to be read from the server and sent to the client via the notification. This allows for convenient handling of the functionality for sending notifications when creating the real-time program.

Das Echtzeitprogramm kann eine Mehrzahl unterschiedlicher Funktionsblöcke aufweisen, die jeweils Variablen enthalten, die vom Server auszulesende und mittels einer Benachrichtigung an den Client zu sendende Daten enthalten. Hierbei kann das Verfahren vorsehen, dass der Server Benachrichtigungen unterschiedlicher Benachrichtigungstypen an den Client versendet. Dabei ist insbesondere jedem der unterschiedlichen Funktionsblöcke jeweils ein Benachrichtigungstyp derart zugeordnet, dass beim Versenden einer Benachrichtigung eines bestimmten Benachrichtigungstyps Daten aus Variablen des diesem bestimmten Benachrichtigungstyp zugeordneten Funktionsblocks ausgelesen und mit der Benachrichtigung versendet werden.The real-time program can have a plurality of different function blocks, each containing variables containing data to be read by the server and sent to the client via a notification. The method can provide for the server to send notifications of different notification types to the client. In particular, each of the different function blocks is assigned a notification type such that when a notification of a specific notification type is sent, data is read from variables of the function block assigned to that specific notification type and sent with the notification.

Bei dem Server kann es sich insbesondere um einen OPC-UA-Server handeln. Bei dem Client kann es sich insbesondere um einen OPC-UA-Client handeln. Bei der Benachrichtigung kann es sich insbesondere um ein OPC-UA-Event handeln. Bei dem Benachrichtigungstyp kann es sich insbesondere um einen OPC-UA-Eventtyp handeln. OPC-UA ist ein Kommunikationsstandard, der in industriellen Umfeldern eine signifikante Verbreitung aufweist. Dementsprechend ist durch die Nutzung des Kommunikationsstandards OPC-UA die Möglichkeit gegeben, eine Kompatibilität zwischen der speicherprogrammierbaren Steuerung, auf der das beschriebene Verfahren ausgeführt wird, und einer Vielzahl vorhandener informationstechnischer Entitäten bzw. vorhandene Typen von informationstechnischen Entitäten herzustellen. Bei den Entitäten kann es sich um Entitäten aus dem Bereich der Hardware und/oder aus dem Bereich der Software handeln.The server can in particular be an OPC UA server. The client can in particular be an OPC UA client. The notification can in particular be an OPC UA event. The notification type can in particular be an OPC UA event type. OPC UA is a communication standard that is significantly widespread in industrial environments. Accordingly, the use of the OPC UA communication standard makes it possible to establish compatibility between the programmable logic controller on which the described method is executed and a large number of existing information technology entities or existing types of information technology entities. The entities can be entities from the hardware and/or software areas.

Bei den OPC-UA-Events handelt es sich um eine standardisierte OPC-UA-Funktionalität zur Übertragung von Ereignismeldungen. Dabei handelt es sich bei den OPC-UA-Events um Datenstrukturen, die neben im Standard vorgegebenen Daten, die bestimmte Grundinformationen betreffen, auch Daten enthalten können, die im Rahmen der Anwendung des beschriebenen Verfahrens definiert werden können. Durch das Definieren dieser definierbaren Daten können unterschiedliche OPC-UA-Eventtyp geschaffen werden. OPC-UA-Events unterschiedlicher OPC-UA-Eventtypen unterscheiden sich entsprechend insbesondere anhand der Definitionen dieser definierbaren Daten.OPC UA events are a standardized OPC UA functionality for transmitting event messages. OPC UA events are data structures that, in addition to data specified in the standard that concerns certain basic information, can also contain data that can be defined within the scope of the described procedure. By defining this definable data, different OPC UA event types can be created. OPC UA events of different OPC UA event types differ accordingly, particularly based on the definitions of this definable data.

Das Verfahren kann vorsehen, dass der Server über eine Datenzugangsschicht des Echtzeitprogramms auf die Variablen des Echtzeitprogramms zugreift. Eine derartige Datenzugangsschicht wird insbesondere auch als Data Access Layer bezeichnet. Die Datenzugangsschicht ermöglicht und/oder vereinfacht es dem Server, auf Variablen des Echtzeitprogramms, die insbesondere für einen entsprechenden Zugriff durch den Server freigegeben sind, zuzugreifen.The method may provide for the server to access the variables of the real-time program via a data access layer of the real-time program. Such a data access layer is also referred to as a data access layer. The data access layer enables and/or simplifies the server's access to variables of the real-time program, which are, in particular, enabled for corresponding access by the server.

Dabei kann das Verfahren insbesondere vorsehen, dass der Server beim Zugriff auf die Variablen des Echtzeitprogramms auf denselben physikalischen Speicherbereich zugreift wie auch das Echtzeitprogramm selbst. Auf diese Weise ist es nicht nötig, dass die Daten aus den Variablen aus der Abarbeitung des Echtzeitprogramms heraus übergeben werden, beispielsweise indem sie in einer Nachricht an den Server gesendet werden und/oder indem Kopien der Daten einen speziellen, für die gemeinsame Nutzung von Server und Echtzeitprogramm ausgewiesenen Speicherbereich geschrieben werden. Der Server kann die Daten vielmehr selbst direkt aus dem Speicherbereich des Echtzeitprogramms auslesen. Auf diese Weise ergibt sich trotz der zeitlichen Entkopplung zwischen dem Server und dem Echtzeitprogramm im Hinblick auf deren Abarbeitung dennoch eine hohe Integration zwischen dem Server und dem Echtzeitprogramm. Dies führt in der Gesamtbetrachtung zu einer hohen Effizienz.In particular, the method can provide that the server accesses the same physical memory area as the real-time program itself when accessing the variables of the real-time program. In this way, it is not necessary for the data from the variables to be transferred from the processing of the real-time program, for example by sending them in a message to the server and/or by writing copies of the data to a special memory area designated for shared use by the server and the real-time program. Instead, the server can read the data itself directly from the memory area of the real-time program. In this way, despite the temporal decoupling between the server and the real-time program, a high level of integration between the server and the real-time program still results with regard to their processing. This leads to a high level of efficiency overall.

Das Verfahren kann vorsehen, dass das Versenden der Nachricht von dem Echtzeitprogramm an den Server durch das Setzen einer ersten Variable des Echtzeitprogramms auf einen bestimmten Wert ausgelöst wird.The method may provide that the sending of the message from the real-time program to the server is triggered by setting a first variable of the real-time program to a specific value.

Bei der Variable kann es sich insbesondere um eine Boolesche Variable handeln. Insbesondere sieht das Verfahren in diesem Zusammenhang vor, dass das Versenden der Nachricht von dem Echtzeitprogramm an den Server durch das Setzen einer ersten Variable des jeweiligen Funktionsblocks auf einen bestimmten Wert ausgelöst wird.The variable can, in particular, be a Boolean variable. In this context, the method specifically provides that the sending of the message from the real-time program to the server is triggered by setting a first variable of the respective function block to a specific value.

Das Setzen einer derartigen Variablen auf einen bestimmten Wert beim Absenden der Nachricht ermöglicht es, in einfacher Weise einen „Handshake“ zwischen dem Echtzeitprogramm und dem Server zu realisieren. Das Setzen einer spezifischen Variable für den jeweiligen Funktionsblock auf einen bestimmten Wert ermöglicht es dabei insbesondere, bei der Steuerung dieses „Handshakes“ zwischen unterschiedlichen Benachrichtigungstypen und den jeweils zugehörigen Funktionsblöcken zu unterscheiden.Setting such a variable to a specific value when sending the message makes it easy to implement a "handshake" between the real-time program and the server. Setting a specific variable for the respective function block to a specific value makes it possible, in particular, to distinguish between different notification types and their associated function blocks when controlling this "handshake."

Diese Unterscheidung führt im Zusammenhang mit dem vorliegenden Verfahren insbesondere dazu, dass die Versendung einer Benachrichtigung eines bestimmten Benachrichtigungstyps nach dem beschriebenen Verfahren die Versendung von Benachrichtigungen anderer Benachrichtigungstypen insoweit nicht beeinflusst, dass das Versenden von Benachrichtigungen anderer Benachrichtigungstypen durch den ausgelösten und noch in Abarbeitung befindlichen Versand einer Benachrichtigung eines bestimmten Benachrichtigungstyps nicht behindert wird.In connection with the present method, this distinction results in particular in the fact that the sending of a notification of a specific notification type according to the described method does not affect the sending of notifications of other notification types insofar as the sending of notifications of other notification types is not hindered by the triggered and still being processed sending of a notification of a specific notification type.

Das Verfahren kann vorsehen, dass das Setzen der ersten Variable des Echtzeitprogramms, insbesondere der ersten Variable des jeweiligen Funktionsblocks, auf den bestimmten Wert das Verändern der Werte weiterer zum Versenden der jeweiligen Benachrichtigung auszulesender Variablen des Echtzeitprogramms verhindert. Mit anderen Worten werden durch das Setzen der ersten Variable die Variablen, aus denen auszulesende Daten mit der Benachrichtigung vom Server versendet werden sollen, nach dem Setzen der ersten Variable auf dem bestimmten Wert nicht mehr verändert.The method can provide that setting the first variable of the real-time program, in particular the first variable of the respective function block, to the specific value prevents the values of other variables of the real-time program that are to be read out for sending the respective notification from being changed. In other words, by setting the first variable, the variables from which data to be read out are to be sent with the notification from the server are no longer changed after the first variable has been set to the specific value.

Insbesondere dann, wenn das Echtzeitprogramm mit höherer Priorität abgearbeitet wird, kann es sein, dass der Server die Daten mit einer signifikanten Zeitverzögerung ausliest. Dies kann sogar bedeuten, dass der Server die Daten bei einer zyklischen Abarbeitung des Echtzeitprogramms erst in einem späteren Abarbeitungszyklus des Echtzeitprogramms ausliest als dem Abarbeitungszyklus, in dem die Nachricht versendet und die erste Variable auf den bestimmten Wert gesetzt worden ist.Especially if the real-time program is executed with a higher priority, the server may read the data with a significant delay. This may even mean that, if the real-time program is executed cyclically, the server only reads the data in a later execution cycle of the real-time program than the execution cycle in which the message was sent and the first variable was set to the specified value.

Durch das Setzen der Variable auf den bestimmten Wert kann daher gewährleistet werden, dass bei dem Auslesen weiterer Variablen des Echtzeitprogramms bzw. des Funktionsblocks durch den Server diese noch die gleichen Werte aufweisen bzw. die gleichen Daten enthalten wie zum Zeitpunkt des Absendens der Nachricht an den Server. Auf diese Weise kann die Datenintegrität sichergestellt werden, wenn nach dem Auslösen des Versands der Benachrichtigung durch das Versenden der Nachricht an den Server zunächst eine gewisse Zeit vergeht, bis der Server die Daten aus dem Echtzeitprogramm ausliest.By setting the variable to a specific value, it can be ensured that when the server reads additional variables from the real-time program or function block, they still have the same values or contain the same data as when the message was sent to the server. This ensures data integrity if, after the notification is triggered by sending the message to the server, a certain amount of time passes before the server reads the data from the real-time program.

Das Verfahren kann insbesondere vorsehen, dass eine zweite Variable des Echtzeitprogramms durch den Server auf einen bestimmten Wert gesetzt wird, wenn die Benachrichtigung versendet ist. Dabei kann das Verfahren insbesondere vorsehen, dass eine zweite Variable des jeweiligen Funktionsblocks des Echtzeitprogramms durch den Server auf einen bestimmten Wert gesetzt wird, wenn die Benachrichtigung des dem Funktionsblock zugeordneten Benachrichtigungstyps versendet ist.The method can, in particular, provide that a second variable of the real-time program is set to a specific value by the server when the notification is sent. The method can, in particular, provide that a second variable of the respective function block of the real-time program is set to a specific value by the server when the notification of the notification type assigned to the function block is sent.

Durch eine derartige Verfahrensführung ist es möglich, den vorstehend bereits im Ansatz beschriebenen „Handshake“ zwischen Server und Echtzeitprogramm abzuschließen. Durch das Setzen der zweiten Variable auf den bestimmten Wert kann dem Echtzeitprogramm in einfacher Weise signalisiert werden, dass der ausgelöste Vorgang des Versendens einer Benachrichtigung abgeschlossen ist. Für das Echtzeitprogramm kann dies bedeuten, dass bestimmte Funktionalitäten des Echtzeitprogramms in Abhängigkeit des Werts der zweiten Variable ausgeführt werden, die in Abhängigkeit von der Frage ausgeführt werden sollen, ob die Benachrichtigung versendet worden ist.By implementing this procedure, it is possible to complete the "handshake" between the server and the real-time program, as already described above. By setting the second variable to the specific value, the real-time program can be easily signaled that the triggered process of sending a notification has been completed. For the real-time program, this can mean that certain functionalities of the real-time program are executed depending on the value of the second variable, which should be executed depending on whether the notification has been sent.

So kann das Verfahren beispielsweise vorsehen, nach dass nach dem Versenden der jeweiligen Benachrichtigung die jeweilige erste und/oder die jeweilige zweite Variable auf einen Startwert zurückgesetzt werden. Dabei kann für das Zurücksetzen insbesondere der Wert der zweiten Variable als Auslöser genutzt werden. Auf diese Weise lässt sich eine Steuerung des „Handshakes“ zwischen dem Echtzeitprogramm und dem Server realisieren, der vorsieht, dass nach dem Auslösen des Versendens der Benachrichtigung zunächst die erste Variable auf einen bestimmten Wert gesetzt wird. Dadurch wird zunächst das Verändern der Werte von Variablen, aus denen in der Benachrichtigung zu versendende Daten ausgelesen werden sollen, verhindert. Nach dem Versenden der Benachrichtigung und damit auch nach dem Auslesen der Daten aus diesen Variablen wird die entsprechende zweite Variable auf einen bestimmten Wert gesetzt. Dieser Wert der zweiten Variable wird wiederum als Auslöser genutzt, um die erste und die zweite Variable auf Ihre Startwert zurückzusetzen und somit eine Veränderung der Werte der Variablen, deren Veränderung zunächst verhindert war, wieder zu ermöglichen. Weiterhin wird mit einer erneuten Abarbeitung des Echtzeitprogramms der erneute Versand einer Benachrichtigung mit zwischenzeitlich aktualisierten Werten der Variablen zu ermöglicht.For example, the method can provide that after the respective notification has been sent, the respective first and/or second variable is reset to a start value. In particular, the value of the second variable can be used as a trigger for the reset. In this way, a control of the "handshake" between the real-time program and the server can be implemented, which provides that after the notification has been triggered, the first variable is initially set to a specific value. This initially prevents the values of variables from which data to be sent in the notification is to be read from. After the notification has been sent and thus also after the data has been read from these variables, the corresponding second variable is set to a specific value. This value of the second variable is in turn used as a trigger to reset the first and second variables to their start values and thus enable a change to the values of the variables whose change was initially prevented. Furthermore, a renewed processing of the real-time program enables the notification to be sent again with the values of the variables updated in the meantime.

Auf diese Weise besteht die Möglichkeit, eine Asynchronität zwischen zyklischer Abarbeitung des Echtzeitprogramms und der zeitlichen Taktung des Versands der Benachrichtigungen durch den Server herbeizuführen. Während das Echtzeitprogramm zyklisch unter der Erfüllung harter Echtzeitvorgaben abgearbeitet wird, kann die Frequenz, in der der Server die Benachrichtigungen versendet, schwanken, insbesondere abhängig davon, welche Ressourcen dem Server zur Verfügung stehen.This makes it possible to create asynchrony between the cyclical execution of the real-time program and the timing of the server's notification sending. While the real-time program is executed cyclically while meeting strict real-time requirements, the frequency at which the server sends notifications can fluctuate, particularly depending on the resources available to the server.

Die Benachrichtigungen können aus von dem Server ausgelesenen Daten mittels eines Mappings erzeugt werden. Dabei beschreibt das Mapping insbesondere die Relationen zwischen den Datentypen der ausgelesenen Variablen des Echtzeitprogramms und den Datentypen des jeweiligen Benachrichtigungstyps. Das Mapping kann hierbei auf einem Informationsmodell basieren, in dem die für das Mapping benötigten Zuordnungsinformationen hinterlegt sind. So es sich bei den Benachrichtigungstypen um OPC-UA-Eventtypen handelt, so handelt es sich bei den Datentypen des jeweiligen Benachrichtigungstyps insbesondere um die Properties des jeweiligen OPC-UA-Eventtyps.The notifications can be generated from data read from the server using a mapping. The mapping specifically describes the relationships between the data types of the read variables of the real-time program and the data types of the respective notification type. The mapping can be based on an information model in which the assignment information required for the mapping is stored. If the notification types are OPC UA event types, the data types of the respective notification type are specifically the properties of the respective OPC UA event type.

Dabei kann das Verfahren vorsehen, dass es sich bei Variablen, die Gegenstand des Mappings sind, um Variablen strukturierter Datentypen handelt. Strukturierte Datentypen beinhalten jeweils eine Mehrzahl Membervariablen bestimmter Datentypen. Bei den Datentypen der Membervariablen kann es sich insbesondere um Datentypen handeln, die aus einem abgeschlossenen standardisierten Pool möglicher Datentypen ausgewählt sind. The method can provide that the variables that are the subject of the mapping are variables of structured data types. Structured data types each contain a plurality of member variables of specific data types. The data types of the member variables can, in particular, be data types selected from a closed, standardized pool of possible data types.

Das Verfahren kann vorsehen, dass in dem Informationsmodell, dass dem Mapping zugrunde liegt, lediglich die für das Mapping benötigten Zuordnungsinformationen der strukturierten Datentypen hinterlegt sind, also die Informationen, welche Variable des Echtzeitprogramms mit einem strukturierten Datentyp welchem strukturierten Datentyp des jeweiligen Benachrichtigungstyps zugeordnet werden soll.The method can provide that in the information model underlying the mapping, only the assignment information of the structured data types required for the mapping is stored, i.e. the information as to which variable of the real-time program with a structured data type is to be assigned to which structured data type of the respective notification type.

Hierbei kann das Verfahren vorsehen, dass vom Server, insbesondere über die Datenzugangsschicht, auf Variablen des Echtzeitprogramms, auf die vom Server zugegriffen werden kann, zugegriffen wird, um ein Typenmodel dieser Variablen zu erhalten, dass die Datentypen von Variablen des Echtzeitprogramms beschreibt. Das Typenmodel beschreibt insbesondere, welche Membervariablen welcher Datentypen in den Variablen strukturierter Datentypen jeweils enthalten sind.In this case, the method can provide that the server, in particular via the data access layer, accesses variables of the real-time program that can be accessed by the server in order to obtain a type model of these variables that describes the data types of variables of the real-time program. The type model describes, in particular, which member variables of which data types are contained in the variables of structured data types.

Die jeweiligen einander zuzuordnenden Datentypen der Membervariablen der strukturierten Datentypen können dann mittels einer hinterlegten Zuordnungstabelle, die die Relationen der in dem abgeschlossenen standardisierten Pool möglicher Datentypen enthaltenen Datentypen des Echtzeitprogramms einerseits und der Benachrichtigungstypen andererseits beschreibt, und dem Typenmodell, aus dem Datentypen der Membervariablen der im Echtzeitprogramm verwendeten strukturierten Datentypen hervorgehen, zur Laufzeit einander zugeordnet werden.The respective data types of the member variables of the structured data types to be assigned to one another can then be determined by means of a stored assignment table, which describes the relations of the data types of the real-time program contained in the closed standardized pool of possible data types on the one hand and the notification types on the other hand, and the type model, from which the data types of the member variables of the structured data types used in the real-time program are assigned to each other at runtime.

Das Echtzeitprogramm und der Server können auf der speicherprogrammierbaren Steuerung gemeinsam in derselben Laufzeitumgebung ausgeführt werden. Das Ausführen des Servers in derselben Laufzeitumgebung wie das Echtzeitprogramm bringt Leistungsvorteile, insbesondere beim Zugriff auf die Daten, mit sich.The real-time program and the server can run together on the programmable logic controller in the same runtime environment. Running the server in the same runtime environment as the real-time program provides performance benefits, especially when accessing data.

Die Übermittlung der Benachrichtigungen vom Server an den Client kann nach einem subscription model erfolgen.The transmission of notifications from the server to the client can be done according to a subscription model.

Aus der speicherprogrammierbaren Steuerung auszugebende Daten können insbesondere Messwerte betreffen, die mittels Sensoren durch Messungen in der physikalischen Welt gewonnen worden sind.Data to be output from the programmable logic controller can in particular relate to measured values obtained by sensors through measurements in the physical world.

So kann es sich bei den Messwerten beispielsweise um Messwerte wenigstens einer Betriebsgröße eines elektrischen Antriebssystems handeln. Bei der wenigstens einen Betriebsgröße kann es sich insbesondere um eine oder eine Mehrzahl der Betriebsgrößen Position, Geschwindigkeit, Beschleunigung, Drehzahl, Winkelposition, Winkelgeschwindigkeit, Winkelbeschleunigung, Spannung, Strom, elektrischer Leistung, mechanische Leistung, Drehmoment, und/oder Temperatur handeln.For example, the measured values can be measured values of at least one operating variable of an electric drive system. The at least one operating variable can, in particular, be one or more of the following operating variables: position, speed, acceleration, rotational speed, angular position, angular speed, angular acceleration, voltage, current, electrical power, mechanical power, torque, and/or temperature.

Weitere praktische Ausführungsformen und Vorteile der Erfindung sind nachfolgend im Zusammenhang mit der Zeichnung beschrieben.Further practical embodiments and advantages of the invention are described below in connection with the drawing.

1 zeigt ein Verfahrensschema eines beispielhaften Verfahrens. 1 shows a process diagram of an exemplary process.

Das beispielhafte Verfahren 10 kann in einem ersten Verfahrensschritt 12 vorsehen, dass der Server zunächst ein Informationsmodell lädt, in dem für das Mapping benötigte Zuordnungsinformationen hinterlegt sind.The exemplary method 10 can provide in a first method step 12 that the server first loads an information model in which assignment information required for the mapping is stored.

In einem weiteren Verfahrensschritt 14 kann der Server auf die Variablen des Echtzeitprogramms zugreifen, um ein Typenmodel zu erstellen, das die Datentypen von Variablen des Echtzeitprogramms beschreibt.In a further method step 14, the server can access the variables of the real-time program to create a type model that describes the data types of variables of the real-time program.

Das Verfahren 10 kann vorsehen, dass in einem weiteren Verfahrensschritt 16 der Server sich mit einem Nachrichtensystem verbindet und auf Nachrichten, die das Versenden einer Benachrichtigung auslösen, wartet.The method 10 may provide that in a further method step 16 the server connects to a messaging system and waits for messages that trigger the sending of a notification.

In einem weiteren Verfahrensschritt 18 kann das Verfahren 10 vorsehen, dass der Client Benachrichtigungen des Servers nach einem subscription model abonniert.In a further method step 18, the method 10 may provide that the client subscribes to notifications from the server according to a subscription model.

In einem weiteren Verfahrensschritt 20 kann das Verfahren 10 vorsehen, dass durch das Setzen einer ersten Variable eines Funktionsblocks des Echtzeitprogramms auf einen bestimmten Wert das Versenden einer Nachricht von dem Echtzeitprogramm an den Server ausgelöst wird.In a further method step 20, the method 10 can provide that by setting a first variable of a function block of the real-time program to a specific value, the sending of a message from the real-time program to the server is triggered.

In einem weiteren Verfahrensschritt 22 kann das Verfahren 10 vorsehen, dass durch das Empfangen der in dem Verfahrensschritt 20 versendeten Nachricht der Server die Information erhält, welchem Funktionsblock der Benachrichtigungstyp der Benachrichtigung, deren Versendung durch das Empfangen der Nachricht ausgelöst wird, zugeordnet ist.In a further method step 22, the method 10 can provide that by receiving the message sent in method step 20, the server receives the information as to which function block the notification type of the notification, the sending of which is triggered by the receipt of the message, is assigned.

Das Verfahren 10 kann in einem weiteren Verfahrensschritt 24 vorsehen, dass der Server mittels des Informationsmodells aus Verfahrensschritt 12 und mittels des Typenmodells aus Verfahrensschritt 14 sowie gegebenenfalls einer vordefinierten Zuordnungstabelle für die Zuordnung der Datentypen von Membervariablen strukturierter Datentypen ein Mapping erzeugt, und Daten aus Variablen des in Verfahrensschritt 22 identifizierten Funktionsblocks ausliest.In a further method step 24, the method 10 may provide that the server generates a mapping using the information model from method step 12 and the type model from method step 14 and, if applicable, a predefined mapping table for the mapping of the data types of member variables of structured data types, and reads data from variables of the function block identified in method step 22.

Das Verfahren 10 kann in einem weiteren Verfahrensschritt 26 vorsehen, dass der Server mittels des Mappings und den ausgelesenen Daten eine Benachrichtigung erzeugt und versendet.In a further method step 26, the method 10 may provide that the server generates and sends a notification using the mapping and the read data.

Das Verfahren 10 kann in einem weiteren Verfahrensschritt 28 vorsehen, dass der Client die Benachrichtigung empfängt.The method 10 may provide in a further method step 28 that the client receives the notification.

Das Verfahren 10 kann in einem weiteren Verfahrensschritt 30 vorsehen, dass der Server durch das Setzen einer zweiten Variable des Funktionsblocks des Echtzeitprogramms auf einen bestimmten Wert dem Echtzeitprogramm signalisiert, dass die Benachrichtigung versendet ist.The method 10 can provide in a further method step 30 that the server signals to the real-time program that the notification has been sent by setting a second variable of the function block of the real-time program to a specific value.

Die in der vorliegenden Beschreibung, in der Zeichnung sowie in den Ansprüchen offenbarten Merkmale der Erfindung können sowohl einzeln als auch in beliebigen Kombinationen für die Verwirklichung der Erfindung in ihren verschiedenen Ausführungsformen wesentlich sein. Die Erfindung ist nicht auf die beschriebenen Ausführungsformen beschränkt. Sie kann im Rahmen der Ansprüche und unter Berücksichtigung der Kenntnisse des zuständigen Fachmanns variiert werden.The features of the invention disclosed in the present description, the drawings, and the claims may be essential, both individually and in any combination, for the realization of the invention in its various embodiments. The invention is not limited to the described embodiments. It may be varied within the scope of the claims and taking into account the knowledge of the competent person skilled in the art.

BezugszeichenlisteList of reference symbols

1010
VerfahrensschrittProcess step
1212
VerfahrensschrittProcess step
1414
VerfahrensschrittProcess step
1616
VerfahrensschrittProcess step
1818
VerfahrensschrittProcess step
2020
VerfahrensschrittProcess step
2222
VerfahrensschrittProcess step
2424
VerfahrensschrittProcess step
2626
VerfahrensschrittProcess step
2828
VerfahrensschrittProcess step
3030
VerfahrensschrittProcess step

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES CONTAINED IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte Nicht-PatentliteraturCited non-patent literature

  • Norm EN 61131-3:2014-06 [0009, 0018]Standard EN 61131-3:2014-06 [0009, 0018]

Claims (15)

Verfahren (10) zum Ausgeben von Daten aus einer speicherprogrammierbaren Steuerung, wobei Daten aus Variablen eines auf der Steuerung ausgeführtem und insbesondere zyklisch abgearbeitetes Echtzeitprogramms durch einen ebenfalls auf der Steuerung ausgeführten Server ausgelesen werden und in Benachrichtigungen wenigstens eines Benachrichtigungstyps, die einem definierten Kommunikationsstandard entsprechen, über eine Datenverbindung an einen Client versendet werden, dadurch gekennzeichnet, dass durch das Versenden einer Nachricht von dem Echtzeitprogramm über ein Nachrichtensystem an den Server das Auslesen der Daten und deren Versenden in einer Benachrichtigung ausgelöst werden.Method (10) for outputting data from a programmable logic controller, wherein data from variables of a real-time program executed on the controller and in particular cyclically processed are read out by a server also executed on the controller and are sent to a client via a data connection in notifications of at least one notification type which correspond to a defined communication standard, characterized in that the reading out of the data and the sending thereof in a notification are triggered by the sending of a message from the real-time program via a messaging system to the server. Verfahren (10) nach Anspruch 1, dadurch gekennzeichnet, dass das Echtzeitprogramm in Funktionsblöcken organisiert ist und wenigstens einen Funktionsblock aufweist, der Variablen enthält, die vom Server auszulesende und mittels der Benachrichtigung an den Client zu sendende Daten enthalten.Procedure (10) according to Claim 1 , characterized in that the real-time program is organized in function blocks and has at least one function block containing variables containing data to be read by the server and sent to the client by means of the notification. Verfahren (10) nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass das Echtzeitprogramm eine Mehrzahl unterschiedlicher Funktionsblöcke aufweist, die jeweils Variablen enthalten, die vom Server auszulesende und mittels einer Benachrichtigung an den Client zu sendende Daten enthalten, und der Server Benachrichtigungen unterschiedlicher Benachrichtigungstypen an den Client versendet, wobei jedem der unterschiedlichen Funktionsblöcke jeweils ein Benachrichtigungstyp derart zugeordnet ist, dass beim Versenden einer Benachrichtigung eines bestimmten Benachrichtigungstyps Daten aus Variablen des diesem bestimmten Benachrichtigungstyp zugeordneten Funktionsblocks ausgelesen und mit der Benachrichtigung versendet werden.Procedure (10) according to Claim 1 or 2 , characterized in that the real-time program has a plurality of different function blocks, each of which contains variables which contain data to be read out by the server and sent to the client by means of a notification, and the server sends notifications of different notification types to the client, wherein each of the different function blocks is assigned a notification type in such a way that when a notification of a specific notification type is sent, data is read out from variables of the function block assigned to this specific notification type and sent with the notification. Verfahren (10) nach einem der vorigen Ansprüche, dadurch gekennzeichnet, dass es sich bei dem Server um einen OPC-UA-Server, bei dem Client um einen OPC-UA-Client, bei der Benachrichtigung um ein OPC-UA-Event und/oder bei dem Benachrichtigungstyp um einen OPC-UA-Eventtyp handelt.Method (10) according to one of the preceding claims, characterized in that the server is an OPC UA server, the client is an OPC UA client, the notification is an OPC UA event and/or the notification type is an OPC UA event type. Verfahren (10) nach einem der vorigen Ansprüche, dadurch gekennzeichnet, dass der Server über eine Datenzugangsschicht (Data Access Layer) des Echtzeitprogramms auf die Variablen des Echtzeitprogramms zugreift.Method (10) according to one of the preceding claims, characterized in that the server accesses the variables of the real-time program via a data access layer of the real-time program. Verfahren (10) nach einem der vorigen Ansprüche, dadurch gekennzeichnet, dass der Server beim Zugriff auf die Variablen des Echtzeitprogramms auf denselben physikalischen Speicherbereich zugreift wie auch das Echtzeitprogramm selbst.Method (10) according to one of the preceding claims, characterized in that when accessing the variables of the real-time program, the server accesses the same physical memory area as the real-time program itself. Verfahren (10) nach einem der vorigen Ansprüche, dadurch gekennzeichnet, dass das Versenden der Nachricht von dem Echtzeitprogramm an den Server durch das Setzen einer ersten Variable des Echtzeitprogramms, insbesondere einer ersten Variable des jeweiligen Funktionsblocks des Echtzeitprogramms, auf einen bestimmten Wert ausgelöst wird.Method (10) according to one of the preceding claims, characterized in that the sending of the message from the real-time program to the server is triggered by setting a first variable of the real-time program, in particular a first variable of the respective function block of the real-time program, to a specific value. Verfahren (10) nach Anspruch 7, dadurch gekennzeichnet, dass das Setzen der ersten Variable des Echtzeitprogramms auf den bestimmten Wert das Verändern der Werte weiterer zum Versenden der jeweiligen Benachrichtigung auszulesender Variablen des Echtzeitprogramms, insbesondere weiterer Variablen des jeweiligen Funktionsblocks, verhindert.Procedure (10) according to Claim 7 , characterized in that setting the first variable of the real-time program to the specific value prevents the changing of the values of further variables of the real-time program to be read out for sending the respective notification, in particular further variables of the respective function block. Verfahren (10) nach einem der vorigen Ansprüche, dadurch gekennzeichnet, dass eine zweite Variable des Echtzeitprogramms, insbesondere eine zweite Variable des jeweiligen Funktionsblocks des Echtzeitprogramms, durch den Server auf einen bestimmten Wert gesetzt wird, wenn die Benachrichtigung versendet ist.Method (10) according to one of the preceding claims, characterized in that a second variable of the real-time program, in particular a second variable of the respective function block of the real-time program, is set to a specific value by the server when the notification is sent. Verfahren (10) nach einem der vorigen Ansprüche, dadurch gekennzeichnet, dass nach dem Versenden der jeweiligen Benachrichtigung die erste und/oder die zweite Variable, auf einen Startwert zurückgesetzt werden wobei insbesondere der Wert der zweiten Variable als Auslöser für das Zurücksetzen genutzt wird.Method (10) according to one of the preceding claims, characterized in that after the respective notification has been sent, the first and/or the second variable are reset to a starting value, wherein in particular the value of the second variable is used as a trigger for the reset. Verfahren (10) nach einem der vorigen Ansprüche, dadurch gekennzeichnet, dass die Benachrichtigungen aus von dem Server ausgelesenen Daten mittels eines Mappings erzeugt werden, wobei das Mapping die Relationen zwischen den Datentypen der ausgelesenen Variablen des Echtzeitprogramms und den Datentypen des jeweiligen Benachrichtigungstyps beschreibt.Method (10) according to one of the preceding claims, characterized in that the notifications are generated from data read from the server by means of a mapping, wherein the mapping describes the relations between the data types of the read variables of the real-time program and the data types of the respective notification type. Verfahren (10) nach einem der vorigen Ansprüche, dadurch gekennzeichnet, dass das Echtzeitprogramm und der Server auf der speicherprogrammierbaren Steuerung gemeinsam in derselben Laufzeitumgebung ausgeführt werden.Method (10) according to one of the preceding claims, characterized in that the real-time program and the server on the programmable logic controller are executed together in the same runtime environment. Verfahren (10) nach einem der vorigen Ansprüche, dadurch gekennzeichnet, dass aus der speicherprogrammierbaren Steuerung auszugebende Daten Messwerte betreffen, die mittels Sensoren durch Messungen in der physikalischen Welt gewonnen worden sind.Method (10) according to one of the preceding claims, characterized in that data to be output from the programmable logic controller relate to measured values which have been obtained by means of sensors through measurements in the physical world. Verfahren (10) nach einem der vorigen Ansprüche, dadurch gekennzeichnet, dass es sich bei den Messwerten um Messwerte wenigstens einer Betriebsgröße eines elektrischen Antriebssystems handelt.Method (10) according to one of the preceding claims, characterized in that the measured values are measured values of at least one operating variable of an electric drive system. Verfahren (10) nach einem der vorigen Ansprüche, dadurch gekennzeichnet, dass es sich bei der wenigstens einen Betriebsgröße um eine oder eine Mehrzahl der Betriebsgrößen Position, Geschwindigkeit, Beschleunigung, Drehzahl, Winkelposition, Winkelgeschwindigkeit, Winkelbeschleunigung, Spannung, Strom, elektrischer Leistung, mechanische Leistung, Drehmoment, und/oder Temperatur handelt.Method (10) according to one of the preceding claims, characterized in that the at least one operating variable is one or a plurality of the operating variables position, speed, acceleration, rotational speed, angular position, angular speed, angular acceleration, voltage, current, electrical power, mechanical power, torque, and/or temperature.
DE102023135201.6A 2023-12-14 2023-12-14 Method for outputting data from a programmable logic controller Pending DE102023135201A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102023135201.6A DE102023135201A1 (en) 2023-12-14 2023-12-14 Method for outputting data from a programmable logic controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102023135201.6A DE102023135201A1 (en) 2023-12-14 2023-12-14 Method for outputting data from a programmable logic controller

Publications (1)

Publication Number Publication Date
DE102023135201A1 true DE102023135201A1 (en) 2025-06-18

Family

ID=95859221

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102023135201.6A Pending DE102023135201A1 (en) 2023-12-14 2023-12-14 Method for outputting data from a programmable logic controller

Country Status (1)

Country Link
DE (1) DE102023135201A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007046964A1 (en) * 2006-10-02 2008-05-21 Fisher-Rosemount Systems, Inc., Austin In a process control network integrated analytical server
DE102009024101A1 (en) * 2009-04-17 2010-10-21 Robert Bosch Gmbh Method for processing process state data and / or machine state data of a machine tool

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007046964A1 (en) * 2006-10-02 2008-05-21 Fisher-Rosemount Systems, Inc., Austin In a process control network integrated analytical server
DE102009024101A1 (en) * 2009-04-17 2010-10-21 Robert Bosch Gmbh Method for processing process state data and / or machine state data of a machine tool

Similar Documents

Publication Publication Date Title
EP2325708B1 (en) Real-time run-time system and functional module for such a run-time system
EP2453326B1 (en) Method and system for operating an automated machine
EP3538960B1 (en) Sequence control of program modules
DE102009019088A1 (en) Safety controller for controlling an automated system and method for creating a user program for a safety controller
EP1296207B1 (en) HMI apparatus and method for operating a technical installation, automation system with HMI apparatus and computer program product with program for carrying out the method in a HMI apparatus or in an automation system
DE112011103443T5 (en) Intelligent interface for a decentralized control system
EP1095320B1 (en) Control system with personal computer
EP3761166A1 (en) Method for administering a field device and automation system
EP3200034B1 (en) Accessing data or functions of a programmable logic controller by means of a web-service
EP1119801B1 (en) Method for operating an automation system
DE112011105475B4 (en) Programmable logic controller
DE102009041781A1 (en) Provision of plant-related operating data using a diagnostic data server as another fieldbus master
DE102023135201A1 (en) Method for outputting data from a programmable logic controller
EP3252549B1 (en) Method for operating an automation device and automation device
DE102020123911A1 (en) SYNCHRONIZATION OF BEHAVIOR OF SEVERAL INSTRUMENTS WITH THE HELP OF ORDERS AND INTERMEDIATE OBJECTIVES
DE102008023873A1 (en) Drive system operating method, involves using buffer for exchanging data between drive component and drive regulation unit, initializing buffer by drive regulation unit, and temporizing initialization of buffer by control unit
EP3770704A1 (en) Cloud-based decentralized automation system
DE102014118042A1 (en) Method for the traceable programming and configuration of a device
EP4176579A1 (en) Method for operating an automation system of a machine or an installation
EP4123396A1 (en) Technique for implementing visualization for an automation system with a programmable controller
EP2329374A1 (en) Test module and method for testing an o/r imaging middleware
DE102021133935A1 (en) Parameterization and/or configuration technique for a device based on a programmable logic controller
EP2228702B1 (en) Method for transferring data between two automation devices
DE102019133436A1 (en) Procedures for the supervision and / or management of technical facilities
EP1870787A1 (en) Method for monitoring a cyclic control program

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication