DE102015119795B4 - OPC UA specific, hierarchical coder structure for exchanging data and associated procedures - Google Patents

OPC UA specific, hierarchical coder structure for exchanging data and associated procedures Download PDF

Info

Publication number
DE102015119795B4
DE102015119795B4 DE102015119795.2A DE102015119795A DE102015119795B4 DE 102015119795 B4 DE102015119795 B4 DE 102015119795B4 DE 102015119795 A DE102015119795 A DE 102015119795A DE 102015119795 B4 DE102015119795 B4 DE 102015119795B4
Authority
DE
Germany
Prior art keywords
opc
paths
data
encoders
data streams
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.)
Active
Application number
DE102015119795.2A
Other languages
German (de)
Other versions
DE102015119795A1 (en
Inventor
Chris Iatrou
Sebastian Höppner
Leon Urbas
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.)
Technische Universitaet Dresden
Original Assignee
Technische Universitaet Dresden
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 Technische Universitaet Dresden filed Critical Technische Universitaet Dresden
Priority to DE102015119795.2A priority Critical patent/DE102015119795B4/en
Publication of DE102015119795A1 publication Critical patent/DE102015119795A1/en
Application granted granted Critical
Publication of DE102015119795B4 publication Critical patent/DE102015119795B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

Verfahren zum Austausch von Datenströmen zwischen mindestens einem ersten Gerät (1, 2, 3) und einem zweiten Gerät (8), wobei die Datenströme mittels eines Kommunikationsprotokolls über eine Schnittstelle nach dem OPC UA Standard übertragen werden, die auszutauschenden Datenströme in unabhängig voneinander verarbeitbare Teildatenströme aufgeteilt werden, wobei eine Verarbeitungszeit der Teildatenströme deterministisch festgelegt wird und über dynamisch allokierte Pfade zwischen dedizierten und hierarchisch angeordneten Kodierern (4) an diese geleitet und mittels programmierbarer Datenstromprozessoren in Echtzeit verarbeitet werden, dadurchgekennze ichnet, dass für den Austausch von Datenströmen nicht benötigte Kodierer (8) einer Hierarchieebene (5) deaktiviert werden und damit der Energieverbrauch minimiert wird und die Minimierung des Energieverbrauchs durch eine Skalierung der Spannungs- und/oder Taktdomänen erfolgt.Method for exchanging data streams between at least a first device (1, 2, 3) and a second device (8), the data streams being transmitted using a communication protocol via an interface according to the OPC UA standard, the data streams to be exchanged being divided into partial data streams that can be processed independently of one another divided, with a processing time of the partial data streams being determined deterministically and routed to them via dynamically allocated paths between dedicated and hierarchically arranged encoders (4) and processed in real time by means of programmable data stream processors, characterized in that encoders not required for the exchange of data streams ( 8) a hierarchical level (5) are deactivated and thus the energy consumption is minimized and the energy consumption is minimized by scaling the voltage and/or clock domains.

Description

Die Erfindung betrifft ein Verfahren zum Austausch von Datenströmen zwischen mindestens einem ersten Gerät und einem zweiten Gerät, wobei die Datenströme mittels eines Kommunikationsprotokolls über eine Schnittstelle nach dem OPC UA Standard übertragen werden, die auszutauschenden Datenströme in unabhängig voneinander verarbeitbare Teildatenströme aufgeteilt werden, wobei eine Verarbeitungszeit der Teildatenströme deterministisch festgelegt wird und über dynamisch allokierte Pfade zwischen dedizierten und hierarchisch angeordneten Kodierern an diese geleitet und mittels programmierbarer Datenstromprozessoren in Echtzeit verarbeitet werden.The invention relates to a method for exchanging data streams between at least a first device and a second device, the data streams being transmitted using a communication protocol via an interface according to the OPC UA standard, the data streams to be exchanged being divided into partial data streams that can be processed independently of one another, with a processing time of the partial data streams is determined deterministically and routed to them via dynamically allocated paths between dedicated and hierarchically arranged encoders and processed in real time by means of programmable data stream processors.

Die Erfindung betrifft weiterhin einen echtzeitfähigen OPC UA Server umfassend eine OPC UA spezifische, hierarchische Kodiererstruktur, sowie ein Entwurfsverfahren zur Zusammenstellung leistungsspezifischer Systemkonfigurationen, welches die strukturellen Merkmale der OPC UA spezifischen, hierarchischen Kodiererstruktur nutzt.The invention further relates to a real-time capable OPC UA server comprising an OPC UA specific, hierarchical coder structure, and a design method for assembling performance-specific system configurations, which uses the structural features of the OPC UA specific, hierarchical coder structure.

Das OPC UA (OPC Unified Architecture, IEC62541) ist ein industrielles Maschine-to-Maschine (M2M)-Kommunikationsprotokoll, wobei die OPC UA-Spezifikation für den Austausch objektorientierter Datenmodelle und Informationsinhalte konzipiert ist, die das in der Automatisierung weit verbreitete OPC in der kommenden Generation von Industrienetzwerken ablösen soll. Das OPC UA erweitert OPC um wesentliche Eigenschaften und ermöglicht einen standardisierten und herstellerübergreifenden Datenaustausch zwischen verschiedenen Komponenten, unabhängig von Programmiersprache und Betriebssystem. Es ist vor allem durch die Fähigkeit gekennzeichnet, Maschinendaten (z.B. Regelgrößen, Messwerte, Parameter, usw.) nicht nur transportieren zu können, sondern auch maschinenlesbar semantisch zu beschreiben. Das OPC UA Protokoll gemäß der Spezifikation (in Software und Hardware) kann beispielsweise als ein OPC UA Kommunikationsstack realisiert werden. OPC UA verwendet, im Gegensatz zu seinem Vorgänger, nicht die proprietäre COM/DCOM-Schnittstellen. Das OPC UA Standardprotokoll ermöglicht somit eine Herstellerunabhängige Kommunikation zwischen OPC UA Clients (kurz: Clients) und OPC UA Servern (kurz: Server).The OPC UA (OPC Unified Architecture, IEC62541) is an industrial machine-to-machine (M2M) communication protocol, whereby the OPC UA specification is designed for the exchange of object-oriented data models and information content that uses the OPC in the automation, which is widely used in automation to replace the next generation of industrial networks. The OPC UA expands OPC with essential properties and enables standardized and manufacturer-independent data exchange between different components, independent of the programming language and operating system. It is primarily characterized by the ability not only to transport machine data (e.g. controlled variables, measured values, parameters, etc.), but also to describe it semantically in a machine-readable manner. The OPC UA protocol according to the specification (in software and hardware) can be implemented as an OPC UA communication stack, for example. Unlike its predecessor, OPC UA does not use the proprietary COM/DCOM interfaces. The OPC UA standard protocol thus enables manufacturer-independent communication between OPC UA clients (in short: clients) and OPC UA servers (in short: servers).

In der OPC UA Spezifikation werden die grundlegenden Mechanismen und die Gliederung von Modellelementen anhand objektorientierter Ansätze (Basistypen, Typisierung, Vererbung, Objektrelationen) beschrieben, die ein graphenbasiertes Datenmodell (Namensraum) zur Laufzeit bilden. Die Selbstmodellierung der OPC UA Spezifikationsinhalte wird dabei als „Namensraum 0“ bezeichnet, demgegenüber werden anwendungsspezifische Modelle, durch höhere Namensraumnummern gekennzeichnet. Der Namensraum ist ein Begriff aus der Programmierung und wird vor allem in der objektorientierten Programmierung verwendet, wobei innerhalb eines solchen Namensraumes jeder Name eindeutig ein Objekt bezeichnet. In einem anderen Namensraum kann der gleiche Name wieder frei zur Bezeichnung eines anderen Objektes benutzt werden. Gleichzeitig definiert die OPC UA Spezifikation mehrere Server-Client Schnittstellen (Dienste), um Namensräume über gängige Netzwerktechnologien (z.B. TCP/IP) zwischen Kommunikationsendpunkten untersuchen, beobachten und manipulieren zu können. Dem Client wird durch diese Schnittstellen (also mittels dem spezifizierten Kommunikationsstack) ermöglicht, mit Knoten bzw. Objekten im Namensraum des Servers bzw. deren einzelnen Attributen zu interagieren.The basic mechanisms and the structure of model elements are described in the OPC UA specification using object-oriented approaches (basic types, typing, inheritance, object relations), which form a graph-based data model (namespace) at runtime. The self-modeling of the OPC UA specification content is referred to as "namespace 0", in contrast, application-specific models are identified by higher namespace numbers. The namespace is a term from programming and is mainly used in object-oriented programming, with each name uniquely designating an object within such a namespace. In a different namespace, the same name can be freely used to designate another object. At the same time, the OPC UA specification defines several server-client interfaces (services) in order to be able to examine, monitor and manipulate namespaces via common network technologies (e.g. TCP/IP) between communication endpoints. These interfaces (i.e. using the specified communication stack) enable the client to interact with nodes or objects in the server’s namespace or their individual attributes.

Zusammenfassend definiert OPC UA ein generisches Objektmodell inklusive dem zugehörigen Typsystem. Zusätzlich zu diesem Datenmodell wurden Regeln definiert, die beschreiben wie man jedes physikalische System in ein UAkonformes Modell transformiert, um es im OPC Server zu repräsentieren. Mit diesem Metamodell kann jede Art von Geräte-, Funktions- oder Systeminformation beschrieben werden. Das Basistypsystem unterstützt Beziehungen zwischen Objekten, sogenannte Referenzen, und es wird Mehrfachvererbung unterstützt. Es ist somit vergleichbar mit einer modernen objektorientierten Programmiersprache. Das Basismodell bietet Objekt- und Variablentypen, genauso wie Referenz- und Datentypen. Mit dieser Basis kann OPC UA jede Art von Daten inklusive ihrer Metadaten und Semantik abbilden. Das OPC-UA-Datenmodell bildet also die Grundlage für die UA-Informationsmodelle, die als spezialisierte Modelle die Basis erweitern und bestimmte Funktionalitäten ergänzen, wie beispielsweise Data Access, Alarms und Conditions, Historical Access oder Programs.In summary, OPC UA defines a generic object model including the associated type system. In addition to this data model, rules have been defined that describe how to transform each physical system into a UA-compliant model in order to represent it in the OPC server. Any type of device, function or system information can be described with this meta model. The base type system supports relationships between objects, called references, and multiple inheritance is supported. It is thus comparable to a modern object-oriented programming language. The base model provides object and variable types, as well as reference and data types. With this basis, OPC UA can map any type of data including its metadata and semantics. The OPC UA data model thus forms the basis for the UA information models, which, as specialized models, extend the basis and supplement certain functionalities, such as data access, alarms and conditions, historical access or programs.

Die objektorientierte Darstellung von Knoten des Namensraums wird zur Laufzeit der individuellen Serverimplementation überlassen. Der hohe Abstraktionsgrad der Daten führt jedoch dazu, dass für deren Darstellung große Mengen von dynamischem Laufzeitspeicher auf der Rechenplattform des Servers vorhanden sein müssen, wobei allein für die Modellierung des Namensraums 0 bereits mehrere hundert KiloByte Speicher benötigt werden. Für das Hinterlegen der Ausgangsdaten des Namensraums 0 in der Form einer XML Datei werden zusätzlich 2.5 MB persistenter Speicher benötigt. Während der notwendige Speicher auf modernen Rechenplattformen mit mehreren MB/GB Speicher vernachlässigbar erscheint, ist sie jedoch von hardwarenahen, eingebetteten Mikrorechenplattformen nicht erfüllbar.The object-oriented representation of nodes in the namespace is left to the individual server implementation at runtime. However, the high degree of abstraction of the data means that large amounts of dynamic runtime memory must be available on the server's computing platform for its representation, with several hundred kilobytes of memory being required just for modeling the namespace 0. An additional 2.5 MB of persistent memory is required to store the output data of namespace 0 in the form of an XML file. While the necessary memory appears negligible on modern computing platforms with several MB/GB memory, it cannot be met by hardware-related, embedded micro-computing platforms.

Zusätzlich ist weder OPC UA noch TCP/IP in der von der Spezifikation detaillierten Form für die Kommunikation mit harten Echtzeitanforderungen, wie dies aber von feldnahen Systemen gefordert wird, ausgelegt.In addition, neither OPC UA nor TCP/IP in the form detailed by the specification is designed for communication with hard real-time requirements, as is required by systems close to the field.

Gegenwärtig werden, um ausreichend Laufzeitspeicher für den Betrieb eines OPC UA Servers bereitzustellen, in der Praxis leistungsstarke System-on-a-Chip (SoC) Rechensysteme mit externen Speicheranbindungen für SDRAM und Flash verwendet. Solche Systeme sind im Consumer-Markt weit verbreitet (z.B. bei Mobiltelefonen, Tablets, usw.) und greifen auf eingebettete Betriebssysteme wie Linux, eCos, FreeRTOS, u.ä. zurück, um Speicherallokation und Netzwerkstacks zur Verfügung zu stellen. Die gegebenen Rechensysteme sind jedoch im Allgemeinen nicht für hardwarenahe Steueraufgaben ausgelegt und damit beispielsweise für industrielle Anwendungen nicht geeignet.In order to provide sufficient runtime memory for the operation of an OPC UA server, powerful system-on-a-chip (SoC) computing systems with external memory connections for SDRAM and flash are currently used in practice. Such systems are widespread in the consumer market (e.g. mobile phones, tablets, etc.) and access embedded operating systems such as Linux, eCos, FreeRTOS, etc. back to provide memory allocation and network stacks. However, the given computing systems are generally not designed for hardware-related control tasks and are therefore not suitable for industrial applications, for example.

Um OPC UA Server dennoch auf üblichen Mikrorechenplattformen in hardwarenahen Applikationen betreiben zu können, muss der Funktionsumfang des OPC UA Servers im Sinne der verfügbaren Dienste reduziert werden - derartige gegebene Serverimplementationen werden als Nano- oder Mikroprofile von OPC UA bezeichnet. Da grundsätzlich nur die Funktionen des Servers, nicht aber die Anforderung an die Datenmodelle reduziert werden, bleiben die beschriebenen Speicherrestriktionen bestehen. Auch hier sind externe Speicherbausteine notwendig, um einen OPC UA Server zu betreiben.In order to still be able to operate the OPC UA server on conventional micro-computing platforms in hardware-related applications, the functional scope of the OPC UA server must be reduced in terms of the available services - such given server implementations are referred to as nano or micro profiles of OPC UA. Since only the functions of the server are reduced, but not the requirements for the data models, the storage restrictions described remain in place. External memory modules are also required here to operate an OPC UA server.

Akademische Versuche, On-Chip OPC UA Server auf üblichen Mikrorechenplattformen umzusetzen, zeichnen sich durch extreme Einschränkungen der Funktionalität bis hin zum Bruch der Spezifikationskonformität aus. Beide Fälle schließen deshalb eine industrielle Nutzung der OPC UA Serverimplementationen aus.Academic attempts to implement on-chip OPC UA servers on standard micro-computing platforms are characterized by extreme limitations in functionality up to and including breach of specification conformity. Both cases therefore rule out industrial use of the OPC UA server implementations.

Auf für hardwarenahe Steuer- und Datenerfassungsaufgaben ausgelegte Mikrocontroller, die nicht über externe Busschnittstellen verfügen, ist der Einsatz von OPC UA derzeit nicht möglich. Trotzdem sind es genau diese Systeme, die für industrielle Anwendungen eine Reihe von aufgabenspezifischen Vorteilen mit sich bringen. Denn die in Aktoren und Sensoren weit verbreiteten, äußerst preisgünstigen Architekturen mit hohem Integrationsgrad analoger Funktionsblöcke spielen auch in zukünftigen Industrieapplikationen eine kritische Rolle.The use of OPC UA is currently not possible on microcontrollers designed for hardware-related control and data acquisition tasks that do not have external bus interfaces. Nevertheless, it is precisely these systems that bring a number of task-specific advantages to industrial applications. Because the extremely inexpensive architectures with a high degree of integration of analog function blocks, which are widespread in actuators and sensors, will also play a critical role in future industrial applications.

Da für OPC UA Server gegenwärtig nur leistungsstarke SoCs eingesetzt werden können, wird die mangelnde Echtzeitfähigkeit der Kommunikationsstacks notdürftig durch die ohnehin hohen Taktraten dieser Systeme kompensiert. Es wird explizit von „Best-Effort“ und nicht harter Echtzeitfähigkeit gesprochen.Since only high-performance SoCs can currently be used for OPC UA servers, the lack of real-time capability of the communication stacks is poorly compensated for by the already high clock rates of these systems. It is explicitly spoken of "best effort" and not hard real-time capability.

Im Folgenden werden die Nachteile der bisher umgesetzten Lösungen für die vorstehend genannten Probleme erläutert.In the following, the disadvantages of the previously implemented solutions to the problems mentioned above are explained.

Die für OPC UA Server geeigneten SoCs entspringen überwiegend dem Consumer-Markt. Diese zeichnen sich primär durch kurze Lebenszyklen von 2-5 Jahren und niedrigen Zuverlässigkeitsanforderungen aus. Allein die hohe Produktionszahl der Chips ermöglicht geringe Preise. Für industrielle Applikationen mit Lebenszeiten von 10-20 Jahren sind die gegebenen Systeme aber ungeeignet. Ein Wechsel des Chips in einer Produktreihe würde einen Neuentwurf der betroffenen Systeme (Software und Hardware) erfordern sowie eine erneute Verifikation der elektrischen und programmatischen Eigenschaften nach jeder Änderung am Entwurf.The SoCs suitable for OPC UA servers mainly come from the consumer market. These are primarily characterized by short life cycles of 2-5 years and low reliability requirements. The high production number of the chips alone enables low prices. However, the given systems are unsuitable for industrial applications with lifetimes of 10-20 years. Changing the chip in a product line would require a redesign of the affected systems (software and hardware) and reverification of the electrical and programmatic properties after each design change.

Gegebene SoCs aber auch leistungsstarke Mikrocontroller werden mit Taktraten von mehr als 100 MHz (bis hin zu 1-2 GHz) betrieben. Die gegebenen hohen Taktraten führen zu erheblichen elektromagnetischen Abstrahlungen, die einen Einsatz solcher Chips in abstrahlungssensitiven Applikationen mit strengen EMI/EMV-Anforderungen, beispielsweise in der Automobilbranche, verbieten.Given SoCs but also high-performance microcontrollers are operated with clock rates of more than 100 MHz (up to 1-2 GHz). The given high clock rates lead to considerable electromagnetic emissions, which prohibit the use of such chips in applications sensitive to emissions with strict EMI/EMC requirements, for example in the automotive industry.

Kritisch ist auch der Energieverbrauch der derzeit bekannten Systeme zu sehen. Maßgebend für den Energieverbrauch eines Chips ist neben der Anzahl der Takte/Operation auch die Menge der Pins, deren Signalpegel verändert werden muss. SoCs mit externem Speicher und hoher Taktrate benötigen daher inherent mehr Energie für Speichertransaktionen als Mikrocontroller mit niedriger Pinzahl und internem Speicher. Externe Speicherbausteine führen zusätzlich zu erheblich komplexeren Schaltungen und höheren Produktionskosten. Zusätzlich sind Microcontroller durch den geringen Flächenbedarf wesentlich günstiger produzierbar als SoCs.The energy consumption of the currently known systems is also critical. In addition to the number of clocks/operations, the number of pins whose signal level has to be changed is decisive for the energy consumption of a chip. Therefore, SoCs with external memory and high clock speeds inherently require more energy for memory transactions than microcontrollers with low pin count and internal memory. External memory modules also lead to significantly more complex circuits and higher production costs. In addition, microcontrollers can be produced much more cheaply than SoCs due to the small space requirement.

Die Eigenschaften des OPC UA Kommunikationsprotokolls macht es zusätzlich notwendig, für den Empfang und das Versenden von Nachrichten (mehrere) große Empfangspuffer zu alloziieren. Der Zeitbedarf solcher Speicheroperationen ist in einem dynamischen System nicht deterministisch ableitbar und wirkt sich dementsprechend auf die Echtzeitfähigkeit des Gesamtsystems aus.The properties of the OPC UA communication protocol also make it necessary to allocate (several) large receive buffers for receiving and sending messages. The time required for such storage operations cannot be derived deterministically in a dynamic system and accordingly affects the real-time capability of the overall system.

Daher ist als weiterer Nachteil der bisherigen Lösungen die fehlende Echtzeitfähigkeit der softwarebasierten Serverimplementationen von OPC UA zu nennen. Aktuelle Bemühungen im Rahmen der OPC UA Real Time Working Groups gehen in die Richtung, diesen Mangel durch die Verwendung von TSN-Technologien (Time-Sensitive Networking - ein in der Industrie nutzbarer Echtzeit-Ethernet-Standard) aufzuheben, z.B. in MARVELL: IEEE TSN Standards Overview & Update. USA, Oktober 2015-Firmenschrift, und KUKA: Requirements for Time-Senitive Networks in Manufacturing. Deutschland, 22.05.2015. 44 Seiten.-Firmenschrift. Dies ist beispielsweise in der WO 2011/147652 A1 oder WO 2016/155856 A1 dargestellt.Therefore, another disadvantage of the previous solutions is the lack of real-time capability of the software-based server implementations of OPC UA. Current efforts within the framework of the OPC UA Real Time Working Groups are aimed at remedying this deficiency by using TSN technologies (Time-Sensitive Networking - a real-time Ethernet standard that can be used in industry), for example in MARVELL: IEEE TSN Standards Overview & Update. USA, October 2015 company publication, and KUKA: Requirements for Time-Senitive Networks in Manufacturing. Germany, 05/22/2015. 44 pages.-Company typeface. This is for example in the WO 2011/147652 A1 or WO 2016/155856 A1 shown.

Es ist daher eine Aufgabe der Erfindung, den notwendigen Speicherbedarf beispielsweise für hardwarenahe Steuer- und Datenerfassungsaufgaben ausgelegte Mikrocontroller zu reduzieren, um das OPC UA Kommunikationsprotokoll auch in feldnahen Systemen, d.h. industriellen Anwendungen einsetzen zu können.It is therefore an object of the invention to reduce the necessary memory requirements, for example for microcontrollers designed for hardware-related control and data acquisition tasks, in order to also be able to use the OPC UA communication protocol in systems close to the field, i.e. industrial applications.

Eine weitere Aufgabe der vorliegenden Erfindung ist es, eine speichereffiziente Abbildungsstrategie für OPC UA Datenstrukturen auf serielle Speicherbausteine zur Verfügung zu stellen.A further object of the present invention is to provide a memory-efficient mapping strategy for OPC UA data structures on serial memory chips.

Weiterhin ist es Aufgabe der Erfindung, Systemreaktionszeiten derart zu garantieren, dass eine harte Echtzeitfähigkeit des Systems gewährleistet werden kann.Furthermore, it is the object of the invention to guarantee system reaction times in such a way that hard real-time capability of the system can be guaranteed.

Eine weitere Aufgabe der Erfindung ist es, den Energiebedarf des Gesamtsystems zu reduzieren und die strengen EMI/EMV-Anforderungen für spezielle Applikationen, beispielsweise in der Automobilbranche, zu gewährleisten.A further object of the invention is to reduce the energy requirement of the overall system and to ensure the strict EMI/EMC requirements for special applications, for example in the automotive industry.

Die Aufgabe der Erfindung wird verfahrensseitig gemäß dem Hauptanspruch 1 gelöst. Für den Austausch von Datenströmen werden nicht benötigte Kodierer einer Hierarchieebene deaktiviert und damit wird der Energieverbrauch minimiert und die Minimierung des Energieverbrauchs erfolgt durch eine Skalierung der Spannungs- und/oder Taktdomänen.The object of the invention is achieved according to the main claim 1 in terms of the method. Coders of a hierarchy level that are not required are deactivated for the exchange of data streams, and the energy consumption is thus minimized and the energy consumption is minimized by scaling the voltage and/or clock domains.

Dies kann auf einem Chip erfolgen, beispielsweise in der Form einer synthetisierbaren konfigurierbaren Intellectual Property (IP) für FPGAs oder ASIC Implementationen.This can be done on a chip, for example in the form of a synthesizable, configurable Intellectual Property (IP) for FPGAs or ASIC implementations.

Mehrere nutzerseitige erste Geräte, z.B. Clients senden ihre Daten beispielsweise über eine Ethernet-Verbindung und versuchen eine Interaktion mit einem nutzerfernen zweiten Gerät, z.B. einem OPC UA Server durchzuführen. Dabei werden die Daten der Clients in Teildatenströme, auch als Teilnachrichten bezeichnet, aufgeteilt und verschiedenen Kodierern einer ersten Hierarchieebene zugeführt. Die Kodierer enthalten Datenstromprozessoren, die die empfangenen Daten verarbeiten. In Anhängigkeit von der Größe der empfangenen Teilnachricht und der Taktrate des Datenstromprozessors ist es möglich eine deterministische Festlegung der Verarbeitungszeit einer Nachricht zu treffen und damit die Echtzeitfähigkeit des Systems zu gewährleisten.Several user-side first devices, e.g. clients, send their data, for example, via an Ethernet connection and try to interact with a user-remote second device, e.g. an OPC UA server. The data from the clients is divided into partial data streams, also referred to as partial messages, and fed to different encoders of a first hierarchical level. The encoders contain data stream processors that process the received data. Depending on the size of the partial message received and the clock rate of the data stream processor, it is possible to determine the processing time of a message in a deterministic manner and thus ensure the real-time capability of the system.

Die Weiterleitung der Daten von einem Kodierer einer Hierarchieebene zu einem Kodierer in einer nächsten Hierarchieebene erfolgt über bidirektionale Kommunikationspfade (kurz: Pfade), wobei die Kodierer benachbarter Hierarchieebenen über eine Busleitung miteinander verbunden sind. Der gleichberechtigte Zugriff auf die Kommunikationsbusse erlaubt die Ableitung von harten Grenzen für den minimalen Datendurchsatz (unter der Annahme der maximalen Busauslastung durch die bilaterale Kommunikation aller Busteilnehmer, d.h. der Kodierer).The data is forwarded from an encoder on one hierarchical level to an encoder on the next hierarchical level via bidirectional communication paths (paths for short), with the encoders on adjacent hierarchical levels being connected to one another via a bus line. Equal access to the communication buses allows the derivation of hard limits for the minimum data throughput (assuming maximum bus utilization through the bilateral communication of all bus participants, i.e. the coders).

Die Kodierer verarbeiten die Teildatenströme unabhängig voneinander, wobei die Verarbeitung in Empfangsreihenfolge sequentiell und mit determiniertem Zeitaufwand erfolgt. Der Vorteil der deterministischen Datenverarbeitung ist die Ableitung harter Echtzeitcharakteristiken in Abhängigkeit von der Anzahl und Anordnung der hierarchischen Kodierer. Wie zuvor erläutert, kann damit die Verarbeitung der Daten in Echtzeit gewährleistet werden.The coders process the partial data streams independently of one another, with the processing taking place sequentially in the order in which they were received and with a determined expenditure of time. The advantage of deterministic data processing is the derivation of hard real-time characteristics depending on the number and arrangement of hierarchical encoders. As previously explained, this ensures that the data is processed in real time.

In einer Ausgestaltung des vorgeschlagenen Verfahrens werden die Pfade zwischen den Kodierern in aneinandergrenzenden Hierarchieebenen dienstspezifisch zusammengeschaltet. Das bedeutet, dass die Anordnung der Kodierer innerhalb und zwischen den Hierarchieebenen der Struktur und dem Funktionsumfang der OPC UA Spezifikation (OPC UA Facets) entnommen wird.In one refinement of the proposed method, the paths between the coders in adjacent hierarchical levels are interconnected in a service-specific manner. This means that the arrangement of the encoders within and between the hierarchical levels of the structure and the scope of functions is taken from the OPC UA specification (OPC UA Facets).

In einer weiteren Ausgestaltung des Verfahrens werden für den Austausch von Datenströmen nicht benötigte Kodierer einer Hierarchieebene deaktiviert. Damit kann der Energieverbrauch minimiert werden. Die Kodierer können durch eine Skalierung der Spannungs- und Taktdomänen, d.h. durch eine Spannungsminderung oder eine Taktreduktion der Kodierer in eine Art Wartezustand versetzt werden, wobei sie nach Bedarf jederzeit wieder aktiviert werden können. Eine dynamische Skalierung der Spannungs- und Taktdomäne (Dynamic FrequencyäVoltage Scaling) erfolgt durch die Zieltechnologie in Abhängigkeit von den Leistungsanforderungen und Auslastungscharakteristiken der konkreten Implementation. Damit kann der Energiebedarf des Gesamtsystems reduziert werden, weil dadurch nur tatsächlich verwendete Kommunikationsstufen Energie verbrauchen.In a further refinement of the method, coders of a hierarchy level which are not required for the exchange of data streams are deactivated. In this way, the energy consumption can be minimized. The coders can be put into a kind of waiting state by scaling the voltage and clock domains, i.e. by reducing the voltage or reducing the coder clock, and they can be activated again at any time as required. Dynamic scaling of the voltage and clock domains (dynamic frequency-voltage scaling) is carried out by the target technology depending on the performance requirements and utilization characteristics of the specific implementation. In this way, the energy requirement of the overall system can be reduced because this means that only the communication stages that are actually used consume energy.

In einer Ausgestaltung des Verfahrens werden die dynamisch allokierten Pfade zwischen den Kodierern in benachbarten Hierarchieebenen anhand von Merkmalen des Kommunikationsprotokolls in der aktuellen Hierarchieebene bestimmt. Das Kommunikationsprotokoll enthält u.a. Merkmale, die die Art der zu übertragenden Nachricht, die Systemeigenschaften, sowie die Priorisierung der Datenverarbeitung kennzeichnen. Anhand dieser Merkmale können jeweils automatisch die geeignetsten Pfade für den Datenaustausch bestimmt und dynamisch angepasst werden.In one embodiment of the method, the dynamically allocated paths between the coders in adjacent hierarchical levels are determined on the basis of features of the communication protocol in the current hierarchical level. The communication protocol contains, among other things, features that characterize the type of message to be transmitted, the system properties and the prioritization of data processing. Based on these characteristics, the most suitable paths for data exchange can be automatically determined and dynamically adjusted.

In einer Ausgestaltung des Verfahrens können mittels Priorisierungsmechanismen auch Pfade für die hochpriore Datenverarbeitung dediziert werden. Mögliche Priorisierungsmechanismen sind beispielsweise die Reservierung von Kodiererpfaden für einen bestimmten Client, die Zuweisung eines Prioritätswertes zu einem Client entweder während der Verbindungsaufnahme oder durch einen bestimmten OPC UA Dienst, oder die bevorzugte Behandlung von Nachrichten eines Clients auf der Grundlage einer solchen Priorität oder die Unterbrechung aktueller Dekodierungsvorgänge eines Kodierers, um eine höher priorisierte Nachricht bevorzugt zu verarbeiten. Unter Priorisierungsmechanismen werden demnach Vorkehrungen verstanden, die dazu dienen, Nachrichten einer bestimmten Gegenstelle gegenüber anderen bevorzugt zu verarbeiten oder eine solche Verarbeitung innerhalb eines vordefinierten Zeitraums gewährleisten zu können. Damit können die Anzahl und die Fähigkeiten priorisierbarer Pfade sowie die Stufen der Priorisierung automatisch gemäß den vorgegebenen Anforderungsspezifikationen bestimmt werden.In one embodiment of the method, paths for the high-priority data processing can also be dedicated by means of prioritization mechanisms. Possible prioritization mechanisms include reserving encoder paths for a specific client, assigning a priority value to a client either during connection establishment or by a specific OPC UA service, or preferentially handling messages from a client based on such a priority, or interrupting current ones Decoding processes of a coder in order to preferentially process a higher-priority message. Prioritization mechanisms are therefore understood to mean precautions that serve to process messages from a specific remote station in preference to others or to be able to guarantee such processing within a predefined period of time. In this way, the number and the capabilities of prioritized paths and the levels of prioritization can be determined automatically according to the given requirement specifications.

Ein wesentlicher Vorteil dieser dynamischen Pfadallokation ist es, das damit eine Datenübertragung sowie -anpassung in Echtzeit erfolgen kann, weil damit die Übertragungszeiten der Daten über die Pfade garantiert werden kann. Dies wird dadurch unterstützt, dass bei der Pfadauswahl und damit der Art der Kodiererwahl zur Laufzeit Optimierungskriterien, wie der Energieverbrauch, die Verarbeitungszeit und die aktuelle Systemauslastung berücksichtigt werden.A major advantage of this dynamic path allocation is that data can be transmitted and adapted in real time because the transmission times of the data can be guaranteed via the paths. This is supported by the fact that optimization criteria such as energy consumption, processing time and the current system load are taken into account when selecting the path and thus the type of coder selected at runtime.

Die Aufgabe der Erfindung wird anordnungsseitig durch einen echtzeitfähigen OPC UA Server gemäß dem nebengeordneten Anspruch 5 gelöst. Ein echtzeitfähiger OPC UA Server umfasst eine protokollübergreifende, hierarchische Kodiererstruktur zum Austausch von Daten zwischen mindestens einem ersten Gerät und einem zweiten Gerät mittels eines Kommunikationsprotokolls über eine Schnittstelle nach dem OPC UA Standard , wobei Kodierer in mindestens zwei Hierarchieebenen angeordnet und Kodierer aus benachbarten Hierarchieebenen durch Pfade über jeweils eine Busleitung zwischen den benachbarten Hierarchieebenen verbunden ausgebildet sind, wobei die Kodierer als spezielle Hardware in einem Chip implementiert ausgebildet sind, wobei die Pfade als bidirektionale Kommunikationskanäle ausgebildet sind, wobei die Pfade durch on-Chip Netzwerkstrukturen ausgebildet sind.The object of the invention is achieved on the arrangement side by a real-time capable OPC UA server according to independent claim 5 . A real-time capable OPC UA server includes a cross-protocol, hierarchical encoder structure for exchanging data between at least a first device and a second device using a communication protocol via an interface according to the OPC UA standard, with encoders being arranged in at least two hierarchy levels and encoders from adjacent hierarchy levels through paths are connected via a respective bus line between the adjacent hierarchical levels, the coders being implemented as special hardware in a chip, the paths being bidirectional communication channels, the paths being formed by on-chip network structures.

Durch den hierarchischen Aufbau können unterschiedliche Protokolldatenströme in dedizierten, parallel betreibbaren, deaktivierbaren Hardwarekodierern verarbeitet werden. Damit wird es auch möglich sprachspezifische, programmierbare OPC UA Datenstromprozessoren mit integrierter Speicherverwaltung nach den jeweils vorliegenden Systemanforderungen zu implementieren. Der Speicherbedarf kann dadurch eingeschränkt werden, da umfangreiche Speicher (>512 Byte) nur in Kodierern eingebaut werden müssen, die Nachrichten aus separat empfangenen Teilströmen assemblieren müssen. Ein weiterer Vorteil besteht darin, dass Nachfolgekodierer durch einen verbindungsorientierten Bus bei Bedarf auf Daten zugreifen oder zu sendende Daten in den Speicher der vorangestellten Kodierer schreiben können. Dabei können Daten des Namensraums als statischer Bestandteil auf nicht flüchtigem Speicher hinterlegt werden, während dynamische Inhalte (z.B. veränderte Variablen, Knotenrelationen, etc.) durch einen adressorientierten Cache transparent an Kodierer weitervermittelt werden.Due to the hierarchical structure, different protocol data streams can be processed in dedicated hardware encoders that can be operated in parallel and can be deactivated. This also makes it possible to implement language-specific, programmable OPC UA data stream processors with integrated memory management according to the respective system requirements. The memory requirement can be limited as a result, since extensive memories (>512 bytes) only have to be installed in coders that have to assemble messages from separately received partial streams. Another advantage is that downstream encoders can access data on demand through a connection-oriented bus or write data to be sent into the memory of the upstream encoders. Data from the namespace can be stored as a static component on non-volatile memory, while dynamic content (e.g. changed variables, node relations, etc.) is passed on transparently to the coder via an address-oriented cache.

In einer Ausgestaltung der vorgeschlagenen Kodiererstruktur sind die Kodierer in einer Hierarchieebene aktivierbar und deaktivierbar ausgebildet. Damit kann der Energiebedarf des Gesamtsystems reduziert werden, weil nur die tatsächlich verwendete Kommunikationsstufen Energie verbrauchen.In one refinement of the proposed coder structure, the coders are configured such that they can be activated and deactivated in a hierarchy level. The energy requirement of the overall system can thus be reduced because only the communication stages that are actually used consume energy.

In einer weiteren Ausgestaltung der Kodiererstruktur werden die Kodierer als spezielle Hardware auf einem Chip implementiert, um die Verarbeitungsgeschwindigkeit und Energieeffizienz zu erhöhen. In einer anderen Ausgestaltung können die Kodierer auch als protokollspezifische, programmierbare Verarbeitungseinheiten ausgelegt werden oder als generische, general-purpose Rechenkerne ausgelegt werden.In a further refinement of the encoder structure, the encoders are implemented as special hardware on a chip in order to increase processing speed and energy efficiency. In another embodiment, the coders can also be designed as protocol-specific, programmable processing units or as generic, general-purpose computing cores.

In einer anderen Ausgestaltung der vorgeschlagenen Kodiererstruktur sind die Pfade als bidirektionale Kommunikationskanäle ausgebildet, wobei die Pfade durch on-Chip Netzwerkstrukturen ausgebildet sind. Die Pfade können aber auch derart ausgebildet sein, dass sie zwei Chips koppelnd verbinden oder aber die Pfade können mehrere diskrete on-Board Kodierer miteinander verbinden. Die bidirektionalen Kommunikationskanäle erlauben es, dass die Kodierer aus benachbarten Hierarchieebenen in beide Richtungen Daten austauschen können. So kann ein Nachfolgekodierer einer nachfolgenden Hierarchieebene auf Daten eines vorangestellten Kodierers zugreifen oder auch Daten in den Speicher von vorangestellten Kodierern schreiben, wobei dadurch der Speicherbedarf signifikant reduziert werden kann.In another embodiment of the proposed coder structure, the paths are in the form of bidirectional communication channels, with the paths being in the form of on-chip network structures. However, the paths can also be designed in such a way that they connect two chips in a coupling manner, or the paths can connect several discrete on-board encoders to one another. The bidirectional communication channels allow the encoders from neighboring hierarchical levels to exchange data in both directions. A subsequent coder of a subsequent hierarchical level can thus access data from a preceding coder or also write data to the memory of preceding coders, where this can significantly reduce the memory requirement.

Um sicherzustellen, dass die Funktionalität des Entwurfs gewährleistet werden kann, wird der Entwurf nach der Generierung durch definierte Testmethoden auf Akzeptanzkriterien geprüft.In order to ensure that the functionality of the design can be guaranteed, the design is checked for acceptance criteria after generation using defined test methods.

Die der Erfindung zugrundeliegende Aufgabe wird verfahrensseitig ebenfalls gemäß dem nebengeordneten Anspruch 11gelöst. Dabei werden die Anzahl der Kodierer und mindestens ein Kodierertyp in einer Hierarchieebene sowie die die Kodierer verbindenden Pfade, sowie die Topologie der Pfade mittels softwarebasierter, parametrisierter Werkzeugketten gemäß vorgegebenen Anforderungsspezifikationen des Systems ausgewählt und zusammengeschaltet. Die parametrisierte Werkzeugkette ermöglicht damit eine automatische Herleitung der notwendigen Kodierer- und Pfadstrukturen, um eine leistungsfähige Systemkonfiguration zusammenzustellen bzw. zu konzipieren. Unter einer Werkzeugkette wird eine Reihe von unterstützender Software verstanden, die systemrelevante, implementationsabhängige Konfigurationen und Daten gemäß Nutzervorgaben erzeugen kann, verstanden.The object on which the invention is based is also achieved in terms of the method in accordance with the independent claim 11 . The number of encoders and at least one encoder type in a hierarchical level and the paths connecting the encoders, as well as the topology of the paths are selected and interconnected using software-based, parameterized tool chains according to the system's specified requirement specifications. The parameterized tool chain thus enables an automatic derivation of the necessary coder and path structures in order to compile or design an efficient system configuration. A tool chain is understood to mean a series of supporting software that can generate system-relevant, implementation-dependent configurations and data according to user specifications.

In einer Ausgestaltung dieses Verfahrens optimieren die Werkzeugketten die zu übertragenden OPC UA Daten auf 8-Bit serielle Speicher, wobei die Daten statische Inhalte, die auf nicht flüchtigen Speichern hinterlegt werden und dynamische Inhalte, die durch einen adressorientierten Cache transparent an die Kodierer weitervermittelt werden, umfassen. Die Darstellung der Daten durch softwarebasierte Werkzeugketten auf 8-Bit serielle Speicher ermöglicht es, durch eine statische binäre Namensraumkodierung für OPC UA Informationsmodelle den dafür erforderlichen Speicherbedarf zu minimieren und zu optimieren. Der Speicherbedarf kann auch dadurch reduziert werden, dass nicht verwendete Komponenten des OPC UA Objektmodells entfernt werden.In one embodiment of this method, the tool chains optimize the OPC UA data to be transmitted on 8-bit serial memory, with the data containing static content stored on non-volatile memory and dynamic content transparently passed on to the coder by an address-oriented cache. include. The representation of the data by software-based tool chains on 8-bit serial memory makes it possible to minimize and optimize the memory requirements required for OPC UA information models through static binary namespace coding. The memory requirement can also be reduced by removing unused components of the OPC UA object model.

Des Weiteren können die statischen binären Daten des Namensraums off-Chip in nicht flüchtigem Speicher hinterlegt werden. Es ist aber auch möglich, die statischen binären Daten des Namensraums on-Chip in nicht flüchtigem Speicher zu hinterlegen. Eine weitere Ausführungsvariante des Verfahrens besteht darin, dass die statischen binären Daten zum Systemstart in flüchtigen Speicher übertragen werden, um die Verarbeitung der Daten zu beschleunigen.Furthermore, the static binary data of the namespace can be stored off-chip in non-volatile memory. However, it is also possible to store the static binary data of the on-chip namespace in non-volatile memory. A further embodiment variant of the method consists in the static binary data being transferred to volatile memory at system start in order to speed up the processing of the data.

In einer weiteren Ausgestaltung des Entwurfsverfahrens werden beliebige Inhalte eines OPC UA Informationsmodells in Echtzeit in einem on-Chip Speicher für dynamische Daten erweitert. Damit können Daten auch dynamisch dargestellt werden. Die Aufteilung der Daten in einen statischen Speicher und einen dynamischen Anteil minimiert die Menge an notwendigem Speicher für die Abbildung der OPC UA Informationsmodelle.In a further embodiment of the design method, any content of an OPC UA information model is expanded in real time in an on-chip memory for dynamic data. This means that data can also be displayed dynamically. The division of the data into a static memory and a dynamic part minimizes the amount of memory required for mapping the OPC UA information models.

In einer anderen Ausgestaltung des erfindungsgemäßen Verfahrens werden die OPC UA Daten komprimiert und zur Laufzeit dekomprimiert, um die Informationsdichte zu erhöhen.In another embodiment of the method according to the invention, the OPC UA data is compressed and decompressed at runtime in order to increase the information density.

In einer Ausgestaltung des vorgeschlagenen Verfahrens wird die Werkzeugkette zur Übersetzung von OPC UA Informationsmodellen in eine binäre Darstellung unter Berücksichtigung von Randparametern einer Hardwareausführung eines Anwendungssystems genutzt.In one embodiment of the proposed method, the tool chain is used to translate OPC UA information models into a binary representation, taking into account boundary parameters of a hardware version of an application system.

Die Werkzeugkette zur direkten Erstellung synthetisierbarer Hardwarebeschreibungen kann zum einen herstellerseitig zur Verfügung gestellt werden, zum anderen kann die Werkzeugkette aber auch kundenseitig zur Anforderungsbeschreibung und Testgenerierung erstellt werden, wobei dann Schlüsselparametern an den Hersteller zur Weiterentwicklung der Spezifikationsanforderungen übermittelt werden. Eine weitere Möglichkeit besteht darin, die kundenseitige Werkzeugkette zur Anforderungsbeschreibung und Generierung von synthetisierbarer Hardware basierend auf lizenzierbaren, verschlüsselter Teilhardwarebeschreibungen zu erstellen, um mittels dem vorgeschlagenen Verfahren echtzeitfähige OPC UA Server mit der vorgeschlagenen Kodiererstruktur für Mikrorechenplattformen in hardwarenahen Systemen der Feldebene einsetzen zu können.On the one hand, the tool chain for the direct creation of synthesizable hardware descriptions can be provided by the manufacturer, on the other hand, the tool chain can also be created by the customer for the description of requirements and test generation, with key parameters then being transmitted to the manufacturer for further development of the specification requirements. Another possibility is to create the customer-side tool chain for the description of requirements and the generation of synthesizable hardware based on licensable, encrypted partial hardware descriptions in order to be able to use real-time-capable OPC UA servers with the proposed coder structure for microcomputer platforms in hardware-related systems at the field level using the proposed method.

Der Funktionsumfang, d.h. die Zahl der verfügbaren Dienste und die Leistungsfähigkeit, d.h. die Anzahl der verfügbaren Datenstromprozessoren/Dienst) können automatisch in synthetisierbaren Hardwarebeschreibungen festgelegt werden. Die einfache Skalierung des Entwurfs durch die dynamische Pfadallokation zwischen den Kodierern an Bussegmenten erlaubt den einfachen Anschluss zusätzlicher Kodierer an den Bus, um damit spezifische Applikationsszenarien abzudecken.The range of functions, i.e. the number of services available and the performance, i.e. the number of available data stream processors/service) can be defined automatically in synthesizable hardware descriptions. The simple scaling of the design through dynamic path allocation between encoders on bus segments allows additional encoders to be easily connected to the bus to cover specific application scenarios.

Die Erfindung soll nachfolgend anhand von Ausführungsbeispielen näher erläutert werden.The invention will be explained in more detail below using exemplary embodiments.

In den zugehörigen Zeichnungen zeigen

  • 1 Eine erfindungsgemäße Kodiererstruktur;
  • 2 das Prinzip der dynamischen Kodierersuche, d.h. der dynamischen allokierten Pfade zwischen den Kodierern.
Show in the accompanying drawings
  • 1 An encoder structure according to the invention;
  • 2 the principle of the dynamic encoder search, ie the dynamically allocated paths between the encoders.

1 zeigt eine OPC UA Hardwarearchitektur 100 mit mehreren redundanten Kodierern 4 pro Hierarchieebene 5, wobei die Bezugszeichen 5.1, 5.2, 5.3, usw. verschiedene Hierarchieebenen kennzeichnen. Mindestens ein Kodierer 4, jedoch bevorzugt mehrere Kodierer 4 sind in jeweils einer Hierarchieebene 5 (bspw. 5.1, 5.2, 5.3, ...) angeordnet, wobei die Kodierer 4 in benachbarten Hierarchieebenen 5 (z.B. 5.3 und 5.4) durch eine Busleitung 6 miteinander verbunden ausgebildet sind, jedoch sind die einzelnen Anbindungen der Kodierer an die Busleitung der Übersichtshalber nicht dargestellt. Dabei kommunizieren die Kodierer 4 der einzelnen Hierarchieebenen 5 (5.1, 5.2, 5.3, ...) über bidirektionale Pfade 7 miteinander. In 1 sind die Pfade 7 der Nachrichten der beispielhaft dargestellten Clients 1 bis 3 durch unterschiedliche Linienarten (gepunktet; strich-punkt; und strich-punkt-punkt) gekennzeichnet. Feste Linien zeigen im vorliegenden Ausführungsbeispiel aktive (parallele) Datenübertragungen. 1 shows an OPC UA hardware architecture 100 with multiple redundant encoders 4 per hierarchy level 5, wherein the reference numerals 5.1, 5.2, 5.3, etc. indicate different hierarchical levels. At least one encoder 4, but preferably several encoders 4 are each in a hierarchy level 5 (e.g. 5.1, 5.2, 5.3, ...) arranged, the encoder 4 in adjacent hierarchy levels 5 (e.g. 5.3 and 5.4) connected by a bus line 6 with each other are connected, but the individual connections of the encoder to the bus line are not shown for the sake of clarity. The coders 4 of the individual hierarchical levels 5 (5.1, 5.2, 5.3, . . . ) communicate with one another via bidirectional paths 7. In 1 the paths 7 of the messages of the clients 1 to 3 shown by way of example are characterized by different types of lines (dotted; dash-dot; and dash-dot-dot). Solid lines show active (parallel) data transmissions in the present exemplary embodiment.

Die grau hinterlegten Kodierer 4 sind inaktiv und können bei Bedarf aktiviert werden.The encoders 4 with a gray background are inactive and can be activated if required.

Client 3 hat den mit kleinen Kreisen markierten Kodiererpfad reserviert, so dass diese Kodierer 4 nur für Nachrichten des entsprechenden Clients (im Beispiel also Client 3) verwendet werden. Die Übertragung der Teilnachrichten von Client 3 hat auf allen Bussen 7 Priorität. Die Kodiererstruktur kann beispielsweise auf einem Chip 11, in der Form einer synthetisierbaren konfigurierbaren Intellectual Property (IP) für FPGAs oder ASIC Implementation realisiert sein.Client 3 has reserved the encoder path marked with small circles, so that encoder 4 is only used for messages from the corresponding client (ie client 3 in the example). The transmission of the partial messages from client 3 has priority on all buses 7. The coder structure can, for example, be implemented on a chip 11 in the form of a synthesizable, configurable intellectual property (IP) for FPGAs or ASIC implementation.

Die Anzahl der Hierarchieebene ist nicht auf die in 1 dargestellte Anzahl begrenzt.The number of hierarchy levels is not limited to the in 1 number shown is limited.

2 zeigt das Prinzip bzw. Verfahren der dynamischen Kodierersuche, d.h. wie die zwischen einem Client 1,2,3 und einem Server 8 auszutauschenden Datenströme in unabhängig voneinander verarbeitbare Teildatenströme 9.1-9.3 aufgeteilt werden und über dynamisch allokierte Pfade 7 zwischen dedizierten und hierarchisch angeordneten Kodierern 4 an diese geleitet und mittels programmierbarer Datenstromprozessoren in Echtzeit verarbeitet werden. Dabei zeigt 2a wie beispielsweise der Kodierer H3 einen Nachfolgekodierer für die von ihm verarbeitete Nachricht anhand eines ihm bekannten Schlüsselmerkmals des Nachfolgeprotokolls (Zeichenkette „052“) sucht. Alle am Nachfolgebus befindliche Kodierer 4 werden per Broadcast angefragt. 2 shows the principle or method of dynamic encoder search, i.e. how the data streams to be exchanged between a client 1,2,3 and a server 8 are divided into partial data streams 9.1-9.3 that can be processed independently of one another and via dynamically allocated paths 7 between dedicated and hierarchically arranged encoders 4 forwarded to them and processed in real time by means of programmable data stream processors. while showing 2a for example the encoder H3 searches for a successor coder for the message it is processing using a key feature of the successor protocol (character string “052”) that is known to it. All encoders 4 located on the subsequent bus are queried by broadcast.

2b zeigt, wie die Kodierer JO und Jl der nachfolgenden Hierarchieebene 5 das in der Nachricht enthaltene Protokoll verarbeiten und welche Antworten sie an den Kodierer H3 auf die Anfrage geben. JO lehnt eine Verbindungsaufnahme ab, da er bereits eine Nachricht für den Kodierer H2 verarbeitet. Der Kodierer J1 lässt eine Verbindungsaufnahme mit dem Kodierer H3 zu. 2 B shows how the coders JO and Jl of the subsequent hierarchical level 5 process the protocol contained in the message and what answers they give to the coder H3 to the query. JO refuses to connect because it is already processing a message for encoder H2. The encoder J1 allows a connection to the encoder H3.

In 2c ist schematisch dargestellt, wie der Kodierer H3 seine Nachricht an den Nachfolgekodierer Jl der nächsten Hierarchieebene 5 sendet. Der Kodierer Jl wird dadurch automatisch aktiviert. Der Kodierer H3 kann nach vollendeter Übertragung deaktiviert werden, um Energie zu sparen.In 2c is shown schematically how the encoder H3 sends its message to the next encoder Jl the next hierarchical level 5. This automatically activates the encoder J1. The H3 encoder can be disabled after transmission is complete to save power.

In einem Ausführungsbeispiel zur Umsetzung der erfindungsgemäßen Kodiererstruktur 10 und der Nutzung des erfindungsgemäßen Verfahrens zum Austausch von Datenströmen zwischen mindestens einem Client 1 und einem Server 8, wobei die Datenströme mittels eines Kommunikationsprotokolls über eine Schnittstelle nach dem OPC UA Standard übertragen werden, ist es besonders vorteilhaft, wenn eine binäre Abbildungsstrategie für OPC UA Datenstrukturen auf 8-Bit Datenfelder definiert wird. Dabei erfolgt die Komprimierung von Zeichenketten (also Strings, Bytestrings) durch die hardwarebasierte Huffmannkodierung beim Zugriff auf entsprechende Datenfelder, wobei bei dieser Kodierungsmethode eine zweckmäßige Datengröße berücksichtigt werden kann. Um die Daten redundanzfrei darzustellen, werden bei der Huffmannkodierung die Quellsymbole mit Codewörtern unterschiedlicher Wortlängen kodiert. Die Länge der Codewörter entspricht dabei idealerweise ihrem Informationsgehalt. Besonders vorteilhaft ist es, einen Compiler für XML-basierte Namensraummodelle in die gegebene Darstellungsform zu implementieren.In an exemplary embodiment for implementing the encoder structure 10 according to the invention and using the method according to the invention for exchanging data streams between at least one client 1 and a server 8, the data streams being transmitted using a communication protocol via an interface according to the OPC UA standard, it is particularly advantageous , if a binary mapping strategy for OPC UA data structures on 8-bit data fields is defined. Character strings (ie strings, byte strings) are compressed by the hardware-based Huffmann coding when accessing the corresponding data fields, with this coding method being able to take into account an appropriate data size. In order to display the data without redundancy, the source symbols are coded with code words of different word lengths in Huffmann coding. The length of the code words ideally corresponds to their information content. It is particularly advantageous to implement a compiler for XML-based namespace models in the given form of representation.

In einem weiterentwickelten Ausführungsbeispiel ist es besonders vorteilhaft, ein nicht blockierendes, paketbasiertes Bussystem on Chip (network on Chip) zur dynamischen Identifikation und für den Datenaustausch zwischen Protokollkodierern verschiedener Kodierungsebenen 5.1, 5.2, usw., d.h. Hierarchieebenen 5 zu implementieren. Dabei kann für den gleichberechtigten Zugriff aller Kommunikationsteilnehmer auf den Datenbus ein Round-Robin-Scheduler verwendet werden. Durch dieses Scheduling-Verfahren werden die begrenzten Ressourcen, die üblicherweise die größten Schwierigkeiten bei der Verwendung von OPC UA Servern in hardwarenahen Steueraufgaben für industrielle Anwendungen bereiten, mehreren konkurrierenden Prozessen zugeordnet. Durch die Implementation der erfindungsgemäßen dynamischen Suche nach Nachfolgekodierern durch Broadcast-Anfragen mit Schlüsselparametern der aktuellen Dateninhalte und einem bidirektionalen, verbindungsorientierten Datenaustausch zwischen Verbindungsendstellen lässt sich der Speicherbedarf solcher Systeme signifikant reduzieren und eine Verarbeitung der Daten in Echtzeit realisieren.In a further developed exemplary embodiment, it is particularly advantageous to implement a non-blocking, packet-based bus system on chip (network on chip) for dynamic identification and for data exchange between protocol coders of different coding levels 5.1, 5.2, etc., i.e. hierarchy levels 5. A round-robin scheduler can be used for equal access of all communication participants to the data bus. With this scheduling method, the limited resources, which usually cause the greatest difficulties when using OPC UA servers in hardware-related control tasks for industrial applications, are allocated to several competing processes. The implementation of the inventive dynamic search for successor encoders using broadcast requests with key parameters of the current data content and a bidirectional, connection-oriented data exchange between connection terminals can significantly reduce the memory requirements of such systems and implement data processing in real time.

Der erfindungsgemäße echtzeitfähige OPC UA Server 8 kann mit für Mikrorechenplattformen in hardwarenahen Systemen der Feldebene eingesetzt werden. Die Herleitung der Echtzeitfähigkeit wird z.B. nicht auf die Verwendung einer TSN/IRTE Spezifikationen wie IEEE802.1Q gestützt, sondern durch die Architektur der Protokolldekodierungshierarchie sichergestellt. Die hoch- und niederpriorären Pfade der Applikation sind immer inherent echtzeitfähig, und es werden weder Anforderungen an die Gestaltung des Kommunikationskanals oder der Netzwerktopologie gestellt. Insbesondere ist diese Fähigkeit nicht an die Auslegung einer Server/Client oder Master/Slave Kommunikation gekoppelt.The real-time capable OPC UA server 8 according to the invention can also be used for micro-computing platforms in hardware-related systems at the field level will. The derivation of the real-time capability is not based, for example, on the use of a TSN/IRTE specification such as IEEE802.1Q, but is ensured by the architecture of the protocol decoding hierarchy. The high- and low-priority paths of the application are always inherently real-time capable, and there are no requirements for the design of the communication channel or the network topology. In particular, this ability is not linked to the design of a server/client or master/slave communication.

In einem weiteren Ausführungsbeispiel der Erfindung sind der Funktionsumfang, d.h. die Zahl der verfügbaren Dienste und die Leistungsfähigkeit, d.h. die Anzahl der verfügbaren Datenstromprozessoren/Dienst automatisch in synthetisierbaren Hardwarebeschreibungen festgelegt. Die einfache Skalierung des Entwurfs durch die dynamische Pfadallokation zwischen den Kodierern an Bussegmenten erlaubt den einfachen Anschluss zusätzlicher Kodierer 4 an den Bus 6, um damit spezifische Applikationsszenarien abzudecken.In a further embodiment of the invention, the range of functions, i.e. the number of available services, and the performance, i.e. the number of available data stream processors/service are automatically defined in synthesizable hardware descriptions. The simple scaling of the design through the dynamic path allocation between the encoders on bus segments allows additional encoders 4 to be easily connected to the bus 6 in order to cover specific application scenarios.

In einem weiteren Ausführungsbeispiel erfolgt die Abbildung von objektorientierten Datenmodellen mit gängigen grafischen Umgebungen dritter Anbieter in XML Beschreibungen, wobei die Datenmodelle daraufhin auf 8-Bit serielle Speicherbausteine (on-Chip oder on-Board) einfach übersetzt werden können. Es sind keine weiteren Implementationsprozesse für die Inbetriebnahme des Servers notwendig, insbesondere keine Kenntnisse zu OPC UA Serverprozessen.In a further exemplary embodiment, object-oriented data models are mapped using common graphical environments from third parties in XML descriptions, with the data models then being able to be easily translated to 8-bit serial memory modules (on-chip or on-board). No further implementation processes are necessary for the commissioning of the server, in particular no knowledge of OPC UA server processes.

BezugszeichenlisteReference List

11
erstes Gerät, z.B. Client 1first device, e.g. client 1
22
erstes Gerät, z.B. Client 2first device, e.g. client 2
33
erstes Gerät, z.B. Client 3first device, e.g. client 3
44
Kodiererencoder
55
Hierarchieebene, jeweils 5.1, 5.2 usw.Hierarchy level, each 5.1, 5.2 etc.
66
Busleitungbus line
77
Bidirektionale PfadeBidirectional Paths
88th
zweites Gerät, z.B. Serversecond device, e.g. server
99
Datenströme der jeweiligen Clients (hier bspw. 9.1, 9.2, 9.3)Data streams of the respective clients (here e.g. 9.1, 9.2, 9.3)
1010
OPC UA HardwarearchitekturOPC UA hardware architecture
1111
Chip mit OPC UA spezifizierter HardwareChip with OPC UA specified hardware

Claims (14)

Verfahren zum Austausch von Datenströmen zwischen mindestens einem ersten Gerät (1, 2, 3) und einem zweiten Gerät (8), wobei die Datenströme mittels eines Kommunikationsprotokolls über eine Schnittstelle nach dem OPC UA Standard übertragen werden, die auszutauschenden Datenströme in unabhängig voneinander verarbeitbare Teildatenströme aufgeteilt werden, wobei eine Verarbeitungszeit der Teildatenströme deterministisch festgelegt wird und über dynamisch allokierte Pfade zwischen dedizierten und hierarchisch angeordneten Kodierern (4) an diese geleitet und mittels programmierbarer Datenstromprozessoren in Echtzeit verarbeitet werden, dadurchgekennze ichnet, dass für den Austausch von Datenströmen nicht benötigte Kodierer (8) einer Hierarchieebene (5) deaktiviert werden und damit der Energieverbrauch minimiert wird und die Minimierung des Energieverbrauchs durch eine Skalierung der Spannungs- und/oder Taktdomänen erfolgt.Method for exchanging data streams between at least a first device (1, 2, 3) and a second device (8), the data streams being transmitted using a communication protocol via an interface according to the OPC UA standard, the data streams to be exchanged being divided into partial data streams that can be processed independently of one another divided, with a processing time of the partial data streams being determined deterministically and routed to them via dynamically allocated paths between dedicated and hierarchically arranged encoders (4) and processed in real time by means of programmable data stream processors, characterized in that encoders not required for the exchange of data streams ( 8) a hierarchical level (5) are deactivated and thus the energy consumption is minimized and the energy consumption is minimized by scaling the voltage and/or clock domains. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Pfade (7) zwischen Kodierern (4) in aneinandergrenzenden Hierarchieebenen (5) dienstspezifisch zusammengeschaltet werden.procedure after claim 1 , characterized in that the paths (7) between coders (4) in adjacent hierarchical levels (5) are interconnected in a service-specific manner. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die dynamisch allokierten Pfade (7) zwischen den Kodierern (4) in benachbarten Hierarchieebenen (5) anhand von Merkmalen des Kommunikationsprotokolls in der aktuellen Hierarchieebene bestimmt werden.procedure after claim 1 , characterized in that the dynamically allocated paths (7) between the coders (4) in adjacent hierarchical levels (5) are determined on the basis of features of the communication protocol in the current hierarchical level. Verfahren nach einem der Ansprüche 1, 2 oder 3, dadurch gekennzeichnet, dass die Pfade mittels Priorisierungsmechanismen für eine hochpriore Datenverarbeitung dediziert werden.Procedure according to one of Claims 1 , 2 or 3 , characterized in that the paths are dedicated by means of prioritization mechanisms for high-priority data processing. Echtzeitfähiger OPC UA Server umfassend eine OPC UA spezifische, hierarchische Kodiererstruktur zum Austausch von Daten zwischen mindestens einem ersten Gerät (1, 2, 3) und einem zweiten Gerät (8) mittels eines Kommunikationsprotokolls über eine Schnittstelle nach dem OPC UA Standard, wobei serverseitige Kodierer (4) in mindestens zwei Hierarchieebenen (5.1, 5.2) angeordnet und Kodierer (4) aus benachbarten Hierarchieebenen durch Pfade (7) über jeweils eine Busleitung (6) zwischen den benachbarten Hierarchieebenen (5) verbunden ausgebildet sind, wobei die Kodierer (4) als spezielle Hardware in einem Chip (11) implementiert ausgebildet sind, wobei die Pfade (7) als bidirektionale Kommunikationskanäle ausgebildet sind, wobei die Pfade durch on-Chip Netzwerkstrukturen ausgebildet sind.Realtime-capable OPC UA server comprising an OPC UA-specific, hierarchical coder structure for exchanging data between at least a first device (1, 2, 3) and a second device (8) using a communication protocol via an interface according to the OPC UA standard, with server-side coders (4) arranged in at least two hierarchical levels (5.1, 5.2) and encoders (4) from adjacent hierarchical levels are connected by paths (7) via a respective bus line (6) between the adjacent hierarchical levels (5), the encoders (4) are implemented as special hardware in a chip (11), the paths (7) being in the form of bidirectional communication channels, the paths being in the form of on-chip network structures. Echtzeitfähiger OPC UA Server nach Anspruch 5, dadurch gekennzeichnet, dass die Kodierer (4) in einer Hierarchieebene (5) aktivierbar und deaktivierbar ausgebildet sind.Real-time capable OPC UA server claim 5 , characterized in that the coders (4) are designed to be activated and deactivated in a hierarchical level (5). Echtzeitfähiger UPC UA Server nach einem der Ansprüche 5 oder 6, dadurch gekennzeichnet, dass die Kodierer (4) als protokollspezifische, programmierbare Verarbeitungseinheiten ausgebildet sind.Real-time capable UPC UA server according to one of the Claims 5 or 6 , characterized in that the coders (4) are designed as protocol-specific, programmable processing units. Echtzeitfähiger OPC UA Server nach einem der Ansprüche 5 oder 6, dadurch gekennzeichnet, dass die Kodierer (4) als generische, general-purpose Rechenkerne ausgebildet sind.Real-time capable OPC UA server according to one of the Claims 5 or 6 , characterized in that the coders (4) are designed as generic, general-purpose computing cores. Echtzeitfähiger OPC UA Server nach Anspruch 5, dadurch gekennzeichnet, dass die Pfade zwei Chips koppelnd ausgebildet sind oder die Pfade mehrere diskrete on-Board Kodierer (4) verbindend ausgebildet sind.Real-time capable OPC UA server claim 5 , characterized in that the paths are designed to couple two chips or the paths are designed to connect a plurality of discrete on-board encoders (4). Entwurfsverfahren zur Zusammenstellung leistungsspezifischer Systemkonfigurationen, welches die strukturellen Merkmale der Ansprüche 5 bis 9 nutzt, dadurch gekennzeichnet, dass die Anzahl der Kodierer (4) und mindestens ein Kodierertyp in einer Hierarchieebene (5) sowie die die Kodierer (4) verbindenden Pfade (7), sowie die Topologie der Pfade mittels softwarebasierter, parametrisierter Werkzeugketten gemäß vorgegebenen Anforderungsspezifikationen des Systems ausgewählt und zusammengeschaltet werden.Design method for compiling performance-specific system configurations, which takes into account the structural features of the Claims 5 until 9 uses, characterized in that the number of encoders (4) and at least one encoder type in a hierarchy level (5) and the encoders (4) connecting paths (7), and the topology of the paths by means of software-based, parameterized tool chains according to predetermined requirement specifications of the systems can be selected and interconnected. Entwurfsverfahren zur Zusammenstellung leistungsspezifischer Systemkonfigurationen nach Anspruch 10, dadurch gekennzeichnet, dass die Werkzeugketten die zu übertragenden OPC UA Daten auf 8-Bit serielle Speicher optimieren, wobei die Daten statische Inhalte, die auf nicht flüchtige Speicher hinterlegt werden und dynamische Inhalte, die durch einen adressorientierten Cache transparent an die Kodierer (4) weitervermittelt werden, umfassen.Design methods for compiling performance-specific system configurations claim 10 , characterized in that the tool chains optimize the OPC UA data to be transmitted on 8-bit serial memory, the data being static content that is stored on non-volatile memory and dynamic content that is transparent to the encoders (4) through an address-oriented cache be passed on include. Entwurfsverfahren zur Zusammenstellung leistungsspezifischer Systemkonfigurationen nach einem der vorherigen Ansprüche 10 oder 11, dadurch gekennzeichnet, dass beliebige Inhalte eines OPC UA Informationsmodells in Echtzeit in einem on-Chip Speicher für dynamische Daten erweitert werden.Design method for assembling performance-specific system configurations according to any of the preceding Claims 10 or 11 , characterized in that any contents of an OPC UA information model are expanded in real time in an on-chip memory for dynamic data. Entwurfsverfahren zur Zusammenstellung leistungsspezifischer Systemkonfigurationen nach einem der vorherigen Ansprüche 10 bis 12, dadurch gekennzeichnet, dass die OPC UA Daten komprimiert und zur Laufzeit dekomprimiert werden.Design method for assembling performance-specific system configurations according to any of the preceding Claims 10 until 12 , characterized in that the OPC UA data is compressed and decompressed at runtime. Entwurfsverfahren zur Zusammenstellung leistungsspezifischer Systemkonfigurationen nach einem der vorherigen Ansprüche 10 bis 13, dadurch gekennzeichnet, dass die Werkzeugkette zur Übersetzung von OPC UA Informationsmodellen in eine binäre Darstellung unter Berücksichtigung von Randparametern einer Hardwareausführung eines Anwendungssystems genutzt wird.Design method for assembling performance-specific system configurations according to any of the preceding Claims 10 until 13 , characterized in that the tool chain is used to translate OPC UA information models into a binary representation, taking into account boundary parameters of a hardware version of an application system.
DE102015119795.2A 2015-11-16 2015-11-16 OPC UA specific, hierarchical coder structure for exchanging data and associated procedures Active DE102015119795B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102015119795.2A DE102015119795B4 (en) 2015-11-16 2015-11-16 OPC UA specific, hierarchical coder structure for exchanging data and associated procedures

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102015119795.2A DE102015119795B4 (en) 2015-11-16 2015-11-16 OPC UA specific, hierarchical coder structure for exchanging data and associated procedures

Publications (2)

Publication Number Publication Date
DE102015119795A1 DE102015119795A1 (en) 2017-05-18
DE102015119795B4 true DE102015119795B4 (en) 2022-04-28

Family

ID=58640411

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015119795.2A Active DE102015119795B4 (en) 2015-11-16 2015-11-16 OPC UA specific, hierarchical coder structure for exchanging data and associated procedures

Country Status (1)

Country Link
DE (1) DE102015119795B4 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108873847B (en) * 2018-07-13 2020-11-20 北京工业大学 Data acquisition method for die forging production line

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011147652A1 (en) 2010-05-25 2011-12-01 Siemens Aktiengesellschaft Method and apparatus for interchanging data, and network
WO2016155856A1 (en) 2015-03-27 2016-10-06 Bühler AG Method and system for process controlling of plants in an opc-ua based machine-to-machine network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011147652A1 (en) 2010-05-25 2011-12-01 Siemens Aktiengesellschaft Method and apparatus for interchanging data, and network
WO2016155856A1 (en) 2015-03-27 2016-10-06 Bühler AG Method and system for process controlling of plants in an opc-ua based machine-to-machine network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KUKA: Requirements for Time Sensitive Networks in Manufacturing. Deutschland, 22.5.2015. 44 Seiten. - Firmenschrift
MARVELL: IEEE TSN Standards Overview & Update. USA, Oktober 2015. - Firmenschrift

Also Published As

Publication number Publication date
DE102015119795A1 (en) 2017-05-18

Similar Documents

Publication Publication Date Title
DE102020125219A1 (en) END-TO-END SERVICE QUALITY IN EDGE COMPUTING ENVIRONMENTS
DE102006058818B4 (en) Apparatus and method for converting text messages
DE60033529T2 (en) NETWORK PROCESSOR, STORAGE ORGANIZATION AND METHOD
DE102019106669A1 (en) METHOD AND ARRANGEMENTS FOR MANAGING STORAGE IN CASCADED NEURONAL NETWORKS
DE112017006557T5 (en) BIMODAL PHY FOR LOW LATENCY IN HIGH-SPEED CONNECTION PATHS
DE102005060085B4 (en) Method, communication network and control unit for the cyclic transmission of data
WO2016045863A1 (en) Device with communication interface and method for controlling database access
DE102015102871A1 (en) Distributed routing table lookup technologies
DE102004010180A1 (en) Methods and devices for accessing distributed data for process control systems
Großmann et al. OPC UA server aggregation—The foundation for an internet of portals
DE102015117019A1 (en) Serial peripheral interface chain communication with frame bound response
CN109245980A (en) Modbus communication protocol analytic method, system and equipment and storage medium
DE112004002043B4 (en) Method, system and program for building a package
CN108829884A (en) data mapping method and device
CN111556074A (en) Communication protocol configuration method and device based on OPC UA
DE112018005507T5 (en) MULTI-CRITERIA ENERGY MANAGEMENT SCHEME FOR POOLED ACCELERATOR ARCHITECTURES
DE102015119795B4 (en) OPC UA specific, hierarchical coder structure for exchanging data and associated procedures
DE102017200456A1 (en) Arithmetic unit and operating method for this
EP1653308A1 (en) Method and apparatus for providing and storing information
EP3213266A1 (en) Method for integration of semantic data processing
DE102006025133A1 (en) Storage and storage communication system
EP1370952B1 (en) Communication method for establishing event channels in a timed communication system
DE19850469A1 (en) Automation system and method for accessing the functionality of hardware components
CN108173948A (en) A kind of Distributed Experiment data real-time exchange method
DE102022119909A1 (en) REDUCED NETWORK LOAD WITH COMBINED PUT OR GET AND RECEIVER MANAGED OFFSET

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012725000

Ipc: H04L0012893000

R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012893000

Ipc: H04L0047400000

R018 Grant decision by examination section/examining division
R020 Patent grant now final
R082 Change of representative