DE102017127947A1 - Method for operating a real-time simulation network having a plurality of network nodes for calculating a simulation model and computer program product in this regard and computer-readable storage medium - Google Patents
Method for operating a real-time simulation network having a plurality of network nodes for calculating a simulation model and computer program product in this regard and computer-readable storage medium Download PDFInfo
- Publication number
- DE102017127947A1 DE102017127947A1 DE102017127947.4A DE102017127947A DE102017127947A1 DE 102017127947 A1 DE102017127947 A1 DE 102017127947A1 DE 102017127947 A DE102017127947 A DE 102017127947A DE 102017127947 A1 DE102017127947 A1 DE 102017127947A1
- Authority
- DE
- Germany
- Prior art keywords
- network node
- event
- data bus
- network
- bus message
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
Abstract
Beschrieben und dargestellt ist ein Verfahren (1) zum Betreiben eines echtzeitfähigen Simulationsnetzwerks (2) mit mehreren Netzknoten (3, 3.1, 3.2, 3.3. 3.4) zur Berechnung eines Simulationsmodells (4, 4.1, 4.2), wobei die Netzknoten (3, 3.1, 3.2, 3.3" 3.4) mittels eines seriellen Datenbusses (5) untereinander verbunden sind und die Netzknoten (3, 3.1, 3.2, 3.3, 3.4) mittels Datenbusnachrichten (6) Daten austauschen, wobei auf einem ersten Netzknoten (3.1) wenigstens eine ereignisgetriebene Task (7) des Simulationsmodells (4, 4.1, 4.2) implementiert ist, wobei von einem zweiten Netzknoten (3.2) ein nicht-deterministisches, auslösendes Ereignis (8) detektiert wird, wobei der zweite Netzknoten (3.2) das detektierte auslösende Ereignis (8) dem ersten Netzknoten (3.1) durch Übermittlung eines Detektionssignals (9) mitteilt, und der erste Netzknoten (3.1) nach Empfangen des Detektionssignals (9) die ereignisgetriebene Task (7) berechnet.Eine schnelle Reaktionszeit wird dadurch erzielt, dass von dem zweiten Netzknoten (3.2) das Detektionssignal (9) in Form einer Multicast-Datenbusnachricht (6) oder einer Broadcast-Datenbusnachricht (6) an mehrere Netzknoten (3) des Simulationsnetzwerks (2) oder an alle Netzknoten (3) des Simulationsnetzwerks (2) über den seriellen Datenbus (5) verschickt wird.A method (1) for operating a real-time capable simulation network (2) having a plurality of network nodes (3, 3.1, 3.2, 3.3, 3.4) for calculating a simulation model (4, 4.1, 4.2) is described and illustrated, wherein the network nodes (3, 3.1 , 3.2, 3.3 "3.4) are interconnected by means of a serial data bus (5) and the network nodes (3, 3.1, 3.2, 3.3, 3.4) exchange data by means of data bus messages (6), at least one event-driven one on a first network node (3.1) Task (7) of the simulation model (4, 4.1, 4.2) is implemented, wherein from a second network node (3.2), a non-deterministic, triggering event (8) is detected, wherein the second network node (3.2) the detected triggering event (8 ) tells the first network node (3.1) by transmitting a detection signal (9), and the first network node (3.1), after receiving the detection signal (9), calculates the event-driven task (7). that of the second network node (3.2) the detection signal (9) in the form of a multicast data bus message (6) or a broadcast data bus message (6) to several network nodes (3) of the simulation network (2) or to all network nodes (3) of the simulation network (2) via the serial data bus (5) is sent.
Description
Die Erfindung betrifft ein Verfahren zum Betreiben eines echtzeitfähigen Simulationsnetzwerks mit mehreren Netzknoten zur Berechnung eines Simulationsmodells, wobei die Netzknoten mittels eines seriellen Datenbusses untereinander verbunden sind und die Netzknoten mittels Datenbusnachrichten Daten austauschen, wobei auf einem ersten Netzknoten wenigstens eine ereignisgetriebene Task des Simulationsmodells implementiert ist, wobei von einem zweiten Netzknoten ein nicht-deterministisches, auslösendes Ereignis detektiert wird, wobei der zweite Netzknoten das detektierte auslösende Ereignis dem ersten Netzknoten durch Übermittlung eines Detektionssignals mitteilt, und der erste Netzknoten nach Empfangen des Detektionssignals die ereignisgetriebene Task berechnet.The invention relates to a method for operating a real-time simulation network having a plurality of network nodes for calculating a simulation model, wherein the network nodes are interconnected by means of a serial data bus and the network nodes exchange data by means of data bus messages, wherein at least one event-driven task of the simulation model is implemented on a first network node, wherein a non-deterministic triggering event is detected by a second network node, wherein the second network node notifies the detected triggering event to the first network node by transmitting a detection signal, and the first network node, upon receiving the detection signal, calculates the event-driven task.
Verfahren der vorbeschriebenen Art zum Betreiben eines echtzeitfähigen Simulationsnetzwerks sind seit einigen Jahren im Einsatz, insbesondere in der Steuergeräteentwicklung für verteilte Systeme. Anwendungsfelder liegen typischerweise im Bereich sehr komplexer technischer Systeme, wie beispielsweise bei automotiven Anwendungen, in der Luft- und Raumfahrt sowie in anderen anspruchsvollen industriellen Bereichen mit massivem Einsatz von Regelungs- und Steuerungstechnik.Methods of the type described above for operating a real-time capable simulation network have been in use for several years, especially in distributed ECU development. Applications are typically in the area of very complex technical systems, such as in automotive applications, aerospace and other demanding industrial sectors with massive use of control technology.
Bei den hier in Rede stehenden Anwendungen stehen mehrere - nicht selten einige zehn oder mehr - Netzknoten über einen seriellen Datenbus - oder auch mehrere serielle Datenbusse - miteinander in Verbindung und lösen gemeinschaftlich eine im weitesten Sinne regelungstechnische Aufgabe. Die Netzknoten stehen typischerweise mit einem technisch-physikalischen Prozess in Verbindung, sie erhalten über Sensoren Informationen über Zustände des Prozesses und nehmen über angeschlossene Aktoren Einfluss auf den angeschlossenen technisch-physikalischen Prozess.In the applications in question here several - often a few tens or more - network nodes via a serial data bus - or more serial data buses - with each other and jointly solve a broadly technical control task. The network nodes are typically associated with a technical-physical process, they receive information about states of the process via sensors and influence the connected technical-physical process via connected actuators.
Die Netzknoten sind meist unterschiedlich ausgestaltet, sie können aber auch identische Eigenschaften haben; üblicherweise sind die Netzknoten jedoch für bestimmte schwerpunktmäßige Aufgaben hergerichtet. Manche Netzknoten stellen im Wesentlichen eine massive Rechenleistung bereit, um Regelungsalgorithmen zu berechnen und um die Verarbeitung größerer Datenmengen zu beherrschen, wobei dies meist unter Echtzeitanforderungen zu geschehen hat. Die Echtzeitanforderung ergibt sich einfach dadurch, dass die hier betrachteten Netzwerke zumindest teilweise in unmittelbarem Einsatz mit einem realen technisch-physikalischen Prozess stehen. Als Recheneinheiten derartiger Netzknoten kommen Mikroprozessoren, Mikrocontroller oder auch hart verdrahtete Funktionskomponenten zum Einsatz, wie zum Beispiel FPGAs (Field Programmable Gate Arrays).The network nodes are usually designed differently, but they can also have identical properties; Usually, however, the network nodes are prepared for specific tasks. Some network nodes essentially provide a massive amount of computational power to compute control algorithms and to handle the processing of larger amounts of data, usually with real-time requirements. The real-time requirement results simply from the fact that the networks considered here are at least partially directly involved with a real technical-physical process. As computing units of such network nodes, microprocessors, microcontrollers or even hard-wired functional components are used, such as FPGAs (Field Programmable Gate Arrays).
Andere Netzknoten implementieren einen eher messtechnischen oder aktuatorischen Schwerpunkt, bei dem es weniger auf eine besondere Rechenleistung ankommt, sondern vielmehr auf die Bereitstellung entsprechender I/O-Schnittstellen, beispielsweise in Form von analogen Schnittstellen mit entsprechenden Analog/Digital-Wandlern bzw. Digital/Analog-Wandlern, PWM Aus- bzw. Eingängen, digitalen Ein- und Ausgängen sowie ggf. Schnittstellen für bestimmte Busprotokolle. Die Trennlinie zwischen den verschiedenen Netzknoten mit unterschiedlichen Schwerpunkten ist fließend, schwerpunktmäßig rechentechnische Netzknoten können auch über I/O-Schnittstellen verfügen, genauso wie Netzknoten mit sensorischem oder aktuatorischen Schwerpunkt üblicherweise über entsprechende Recheneinheiten verfügen.Other network nodes implement a more metrological or actuarial focus, which is less important to a particular computing power, but rather on the provision of appropriate I / O interfaces, for example in the form of analog interfaces with corresponding analog / digital converters or digital / analog Converters, PWM outputs or inputs, digital inputs and outputs as well as interfaces for certain bus protocols. The dividing line between the different network nodes with different emphases is fluent, mainly computational network nodes can also have I / O interfaces, just as network nodes with sensory or actuatoric center of gravity usually have corresponding computing units.
Insgesamt bilden die zuvor beschriebenen Netzwerke verteilte, zeitdiskrete Abtastsysteme.Overall, the networks described above form distributed discrete-time sampling systems.
Um derartige Netzwerke und Komponenten der Netzwerke zu entwickeln, werden einzelne Netzknoten oder auch große Teile des Netzwerks mit mehreren Netzknoten in Echtzeit simuliert. Dabei werden im Wesentlichen die Anwendungsfälle des Rapid-Control-Prototyping (RCP) und der Hardware-in-the-Loop-Simulation (HIL-Simulation) unterschieden. Beim Rapid-Control-Prototyping werden mehrere - oder auch alle - Netzknoten des tatsächlichen Netzwerks durch eine Entwicklungshardware ersetzt, die zumeist leistungsfähiger ist als die später tatsächlich zum Einsatz kommenden Serien-Netzknoten. Die Netzknoten sind dann üblicherweise mittels einer grafischen Programmierumgebung und einer angeschlossenen automatisierten Codegenerierung programmierbar, sodass in kürzester Zeit verschiedene Funktionalitäten implementiert und in der echten physikalischen Umgebung erprobt werden können.In order to develop such networks and components of the networks, individual network nodes or even large parts of the network are simulated with multiple network nodes in real time. Here, a distinction is made between the use cases of rapid control prototyping (RCP) and hardware-in-the-loop simulation (HIL simulation). In the case of rapid control prototyping, several - or even all - network nodes of the actual network are replaced by development hardware, which is usually more powerful than the series network nodes actually used later. The network nodes are then usually programmable by means of a graphical programming environment and a connected automated code generation, so that various functionalities can be implemented in a very short time and tested in the real physical environment.
Bei Hardware-in-the-Loop-Simulationen wird genau der umgekehrte Anwendungsfall getestet, d. h. die am Ende der Entwicklung stehenden Serien-Steuergeräte in Form von Netzknoten werden in einer simulierten Umgebung erprobt, wobei die simulierte Umgebung einen Teil des Netzwerks mit simulierten Netzknoten und zumindest einen Teil des angeschlossenen physikalischen Prozesses umfasst. Das hier betrachtete Verfahren zum Betreiben eines echtzeitfähigen Simulationsnetzwerks betrifft beide Anwendungsfälle gleichermaßen.In hardware-in-the-loop simulations, exactly the reverse use case is tested, i. H. the final development serial node controllers are tested in a simulated environment, the simulated environment comprising part of the simulated network node network and at least part of the attached physical process. The method considered here for operating a real-time capable simulation network concerns both applications equally.
Wie ausgeführt, bildet das Netzwerk mit seinen Netzknoten ein zeitdiskretes, verteiltes Abtastsystem. Von einem zeitlichen Gesichtspunkt aus betrachtet, gibt es zwei Arten von Aufgaben, die von den verschiedenen Netzknoten zu bearbeiten sind. Es gibt solche Aufgaben, die gleichsam im Takt mit dem Abtastsystem und daher vollkommen deterministisch ablaufen, und es gibt andere Aufgaben, die zeitlich unvorhersehbar, also nicht-deterministisch zu bearbeiten sind, und die in keinem zeitlichen Raster einplanbar sind. Aufgaben der ersten Kategorie werden oft als „Timer-Tasks“ bezeichnet, die periodisch bearbeitet werden. Es kann beispielsweise Aufgaben geben, die in jeder Millisekunde oder auch nur alle 50 Millisekunden ausgeführt werden oder eben auch mit anderen Periodendauern, die ein ganzzahliges Vielfaches der kleinsten Abtast-Periodendauer sind. Beispiele für derartige Timer-Tasks, also „zeitgetriebene“ Tasks, sind die periodische Berechnung von Regeldifferenzen und Stellgrößen sowie die Erfassung von Messdaten aus dem Prozess und die Ausgabe von Stellgrößen in den angeschlossenen Prozess.As stated, the network with its network nodes forms a time-discrete, distributed sampling system. From a temporal point of view, there are two types of tasks to be performed by the various network nodes are to be processed. There are such tasks, which run as it were in time with the scanning system and therefore completely deterministic, and there are other tasks that are temporally unpredictable, so non-deterministic to edit, and which can be scheduled in any temporal grid. First-tier tasks are often referred to as "timer tasks" that are periodically edited. For example, there may be tasks that are executed every millisecond or even every 50 milliseconds, or even with other periods that are an integer multiple of the smallest sample period. Examples of such timer tasks, ie "time-driven" tasks, are the periodic calculation of control differences and manipulated variables as well as the acquisition of measurement data from the process and the output of manipulated variables in the connected process.
Nicht-deterministische Anwendungen, die also nicht-periodisch und daher nicht vorhersehbar ausgeführt bzw. berechnet werden können, werden auch als „ereignisgetriebene“ Tasks oder nicht-periodische Tasks bezeichnet. Die Berechnung derartiger Tasks wird ausgelöst durch ebenso nicht-deterministische Ereignisse (Beeinflussung des physikalischen Prozesses durch Bedienpersonal, Änderung von Randbedingungen usw.). Um die Handhabung derartiger nicht-deterministischer Ereignisse, die die Berechnung einer damit verbundenen, ereignisgetriebenen Tasks auslösen, geht es im vorliegenden Fall.Non-deterministic applications, which can thus be executed non-periodically and therefore unpredictably, are also referred to as "event-driven" tasks or non-periodic tasks. The calculation of such tasks is triggered by equally non-deterministic events (manipulation of the physical process by operating personnel, change of boundary conditions, etc.). In the present case, the handling of such non-deterministic events that trigger the calculation of an associated, event-driven task is important.
Aus der Praxis ist der Anmelderin bekannt, dass von dem zweiten Netzknoten ein nicht-deterministisches Ereignis erkannt wird und das detektierte auslösende Ereignis zunächst dem ersten Netzknoten gemeldet wird, der eine mit diesem detektierten auslösenden Ereignis verknüpfte ereignisgetriebene Task aufweist. Der erste Netzknoten benachrichtigt dann wiederum alle anderen Netzknoten, von denen er zur Berechnung der ereignisgetriebenen Task zwingend Daten benötigt, woraufhin diese Netzknoten diese Daten erfassen (Messen, Berechnen) und die erfassten Daten dann wieder zurück an den meldenden ersten Netzknoten übermitteln. So wird dann die Berechnung der ereignisgetriebenen Task auf dem ersten Netzknoten ermöglicht. Durch das direktadressierte Hin- und Herschicken von Detektionssignalen, Informationsanfragen und Informationen an sich wird erreicht, dass nur involvierte Netzknoten beteiligt sind. Auf der anderen Seite ist diese Vorgehensweise recht zeitintensiv. Andere Verfahren, bei denen separate physikalische Signalisierungsleitungen zur Übermittlung von auslösenden Ereignissen bzw. der diesbezüglichen Detektionssignale vorgesehen werden, bringen einen erheblichen Mehraufwand mit sich (Verkabelung, kompliziertere Steckverbinder etc.).From the practice, the Applicant is aware that a non-deterministic event is detected by the second network node and the detected triggering event is first reported to the first network node having an event-driven task associated with that detected triggering event. The first network node then notifies in turn all other network nodes from which it necessarily needs data for calculating the event-driven task, whereupon these network nodes acquire this data (measuring, calculating) and then transmit the acquired data back to the reporting first network node. Thus, the calculation of the event-driven task on the first network node is then enabled. The direct addressed switching of detection signals, information requests and information itself ensures that only involved network nodes are involved. On the other hand, this procedure is quite time consuming. Other methods in which separate physical signaling lines for the transmission of triggering events or the relevant detection signals are provided, bring a significant overhead (cabling, more complicated connectors, etc.).
Aufgabe der vorliegenden Erfindung ist es, das eingangs vorgestellte Verfahren zum Betreiben eines echtzeitfähigen Simulationsnetzwerks mit mehreren Netzknoten anzugeben, bei dem die zuvor geschilderten Nachteile zumindest teilweise behoben werden.Object of the present invention is to provide the initially presented method for operating a real-time simulation network with multiple network nodes, in which the disadvantages described above are at least partially resolved.
Die zuvor hergeleitete Aufgabe wird erfmdungsgemäß bei dem zuvor dargestellten Verfahren zunächst und im Wesentlichen dadurch gelöst, dass von dem zweiten Netzknoten das Detektionssignal in Form einer Multicast-Datenbusnachricht oder einer Broadcast-Datenbusnachricht an mehrere Netzknoten des Simulationsnetzwerks oder an alle Netzknoten des Simulationsnetzwerks über den seriellen Datenbus verschickt wird. Das Detektionssignal wird hier also - anders als im Stand der Technik - nicht nur an den ersten Netzknoten mit der auszuführenden ereignisgetriebenen Task versendet, sondern zeitgleich an mehrere Netzknoten (Multicast-Datenbusnachricht) oder an alle Netzknoten (Broadcast- Datenbusnachricht).According to the invention, the previously derived object is initially and essentially achieved in that the second network node sends the detection signal in the form of a multicast data bus message or a broadcast data bus message to several network nodes of the simulation network or to all network nodes of the simulation network via the serial network Data bus is sent. The detection signal is here - unlike in the prior art - not only sent to the first network node with the event-driven task to be executed, but at the same time to several network nodes (multicast data bus message) or to all network nodes (broadcast data bus message).
Bei dem Versenden des Detektionssignals mittels einer Broadcast-Datenbusnachricht erfahren alle Netzknoten praktisch gleichzeitig von der Detektion des auslösenden Ereignisses, sodass die Möglichkeit eröffnet wird, dass alle an der Berechnung der ereignisgetriebenen Task teilhabenden Netzknoten auch praktisch zeitgleich die erforderlichen Maßnahmen auslösen können. Bei der Versendung des Detektionssignals mittels einer Multicast-Datenbusnachricht wird die Datenbusnachricht beispielsweise an alle Netzknoten versendet, die mit der ereignisgetriebenen Task in Zusammenhang stehen, die durch das nicht-deterministische, auslösende Ereignis angestoßen wird. Eine Aufgabe der ereignisgetriebenen Task kann bspw. das Aussenden von Signalen über IO-Schnittstellen sein. Die IO-Schnittstellen können dabei direkt an einen an der ereignisgetriebenen Task teilhabenden Netzknoten angeschlossen sein. Optional können zusätzlich zu dem Detektionssignal Kontextinformationen in derselben Nachricht oder einer zusätzlichen Broadcast- oder Multicastnachricht versendet werden. Kontextinformationen umfassen Informationen in Zusammenhang mit dem auslösenden Ereignis stehen. Kontextinformationen können bspw. der Zustand des zweiten Netzknotens zum Zeitpunkt der Detektion des auslösenden Ereignisses oder der aktuelle Messwert einer IO-Schnittstelle des zweiten Netzknotens sein. Kontextinformationen können von den Netzknoten bei der Bearbeitung der ereignisgetriebene Task berücksichtigt werden.When sending the detection signal by means of a broadcast data bus message, all network nodes learn practically simultaneously from the detection of the triggering event, so that the possibility is opened that all participating in the calculation of the event-driven task network nodes can trigger the necessary measures practically at the same time. When sending the detection signal by means of a multicast data bus message, the data bus message is sent, for example, to all network nodes that are related to the event-driven task triggered by the non-deterministic triggering event. One task of the event-driven task may be, for example, the transmission of signals via IO interfaces. The IO interfaces can be connected directly to a participating in the event-driven task network node. Optionally, context information in the same message or an additional broadcast or multicast message may be sent in addition to the detection signal. Context information includes information related to the triggering event. Context information can be, for example, the state of the second network node at the time of detection of the triggering event or the current measured value of an IO interface of the second network node. Context information can be taken into account by the network nodes when processing the event-driven task.
Bei einer bevorzugten Ausgestaltung des Verfahrens ist vorgesehen, dass die Netzknoten, die ein zur Berechnung der ereignisgetriebenen Task erforderliches Datum aufweisen, mit einer Korrespondenzinformation ausgestattet werden, wobei die Korrespondenzinformation das auslösende Ereignis, die Quelle des Datums und - mittelbar oder unmittelbar - den ersten Netzknoten, auf dem die ereignisgetriebene Task berechnet wird, umfasst. Die Korrespondenzinformation ermöglicht es den Netzknoten, die ein zur Berechnung der ereignisgetriebenen Task erforderliches Datum aufweisen, anhand des empfangenen Detektionssignals zu ermitteln, welches in ihrem Einflussbereich befindliche Datum bereitzustellen ist und wohin das interessierende Datum zu verschicken ist.In a preferred embodiment of the method, it is provided that the network nodes, which have a date required for calculating the event-driven task, be provided with correspondence information, wherein the correspondence information contains the triggering event, the Source of the date and - directly or indirectly - the first network node on which the event-driven task is calculated includes. The correspondence information makes it possible for the network nodes, which have a date required for calculating the event-driven task, to determine, based on the received detection signal, which datum in their area of influence is to be provided and where the datum of interest is to be sent.
Das Versenden des erforderlichen Datums kann dabei unmittelbar zu dem ersten Netzknoten erfolgen, auf dem ja die ereignisgetriebene Task berechnet wird. Die Versendung des Datums kann aber auch mittelbar erfolgen, also über den Umweg über wenigstens einen anderen Netzknoten. Die Korrespondenzinformation umfasst jedenfalls eine Beschreibung des „Weges zum Ziel“, der über Netzknoten des Simulationsnetzwerks genommen werden soll, bis das erforderliche Datum - in seiner ursprünglichen Form oder über den Weg hinweg modifiziert - sein Ziel in Form des ersten Netzknotens erreicht. Das Verfahren ist demnach mit anderen Worten so ausgestaltet, dass die Netzknoten, die ein zur Berechnung der ereignisgetriebenen Task erforderliches Datum aufweisen, beim Empfang der Multicast-Datenbusnachricht oder der Broadcast-Datenbusnachricht dieses erforderliche Datum bereitstellen und mit einer an einen anderen Netzknoten gerichteten Datenbusnachricht senden. Bei diesem anderen Netzknoten muss es sich nicht zwingend um den ersten Netzknoten handeln, das erforderliche Datum kann also vielmehr auch einen Umweg über weitere Netzknoten zu dem ersten Netzknoten nehmen.The sending of the required date can be done directly to the first network node on which the event-driven task is calculated. However, the date can also be sent indirectly, ie via the detour via at least one other network node. In any case, the correspondence information comprises a description of the "path to the destination" which is to be taken via network nodes of the simulation network until the required date, modified in its original form or across the path, reaches its destination in the form of the first network node. In other words, the method is configured such that the network nodes having a data required for calculating the event-driven task, when receiving the multicast data bus message or the broadcast data bus message, provide this required data and send it with a data bus message directed to another network node , This other network node does not necessarily have to be the first network node, but rather the required date can also take a detour via further network nodes to the first network node.
Eine Weiterbildung des dargestellten Verfahrens zeichnet sich dadurch aus, dass als nicht-deterministisches, auslösendes Ereignis ein lokales Ereignis des zweiten Netzknotens und/oder ein externes Ereignis des zweiten Netzknotens detektiert wird. Bei einem lokalen Ereignis kann es sich beispielsweise um einen Fehler oder um einen sich einstellenden Zustandswechsel handeln. Die Detektion eines externen Ereignisses geschieht vorzugsweise mittels einer I/O-Schnittstelle des zweiten Netzknotens, es kann sich hier beispielsweise um ein Ereignis aus dem in Verbindung befindlichen technischen Prozess handeln, das über die I/O-Schnittstelle detektiert wird. Bei der I/O-Schnittstelle kann es sich auch um eine - weitere - Kommunikationsschnittstelle handeln, das Ereignis kann also auch in dem Empfang einer bestimmten Datenbusnachricht bestehen.A development of the illustrated method is characterized in that a local event of the second network node and / or an external event of the second network node is detected as a non-deterministic triggering event. A local event may, for example, be an error or a change of state that occurs. The detection of an external event is preferably done by means of an I / O interface of the second network node, it may be, for example, an event from the related technical process, which is detected via the I / O interface. The I / O interface can also be a - further - communication interface, ie the event can also consist of receiving a specific data bus message.
Es ist zuvor gesagt worden, dass die Netzknoten, die ein zur Berechnung der ereignisgetriebenen Task erforderliches Datum aufweisen, dieses erforderliche Datum bereitstellen. In einer Ausgestaltung des Verfahrens umfasst das Bereitstellen des erforderlichen Datums das Auslesen der vorgenannten I/O-Schnittstelle des zweiten Netzknotens oder auch der I/O-Schnittstelle eines weiteren Netzknotens, über den der erste Netzknoten mittelbar informiert wird. Alternativ oder zusätzlich kann vorgesehen sein, dass das Bereitstellen des erforderlichen Datums die Ermittlung des erforderlichen Datums durch eine Vorverarbeitung weiterer Daten umfasst. So kann beispielsweise in einem Netzknoten ein mehrdimensionales Kennlinienfeld abgelegt sein, das mehrere Größen miteinander in Zusammenhang setzt, wobei alle Größen bis auf eine Größe beispielsweise durch Auslesen von Messwerten oder auch internen Berechnungsgrößen ermittelt werden und die verbleibende Größe aus dem Kennlinienfeld ermittelt wird.It has previously been said that the network nodes having a date required to calculate the event-driven task provide this required date. In one embodiment of the method, the provision of the required date comprises the reading out of the aforementioned I / O interface of the second network node or of the I / O interface of another network node via which the first network node is indirectly informed. Alternatively or additionally, it can be provided that the provision of the required date comprises the determination of the required date by preprocessing further data. Thus, for example, a multi-dimensional characteristic field can be stored in a network node, which sets several variables in relation to each other, all sizes are determined except one size, for example by reading readings or internal calculation sizes and the remaining size is determined from the characteristic field.
Eine bevorzugte Ausgestaltung des Verfahrens zeichnet sich dadurch aus, dass das Bereitstellen des erforderlichen Datums und/oder das Versenden der an einen Netzknoten - insbesondere den ersten Netzknoten - gerichteten Datenbusnachricht mit höherer Priorität erfolgt als die Berechnung anderer Vorgänge oder das Versenden anderer Datenbusnachrichten. Um möglichst geringe Latenzen zu erleiden, ist insbesondere vorgesehen, dass das Bereitstellen und/oder das Versenden mit höchster Priorität erfolgt. Dadurch wird sichergestellt, dass mögliche Verzögerungen in der Reaktion auf das nicht-deterministische, auslösende Ereignis minimiert werden. Dazu müssen natürlich sowohl das Betriebssystem auf den Netzknoten wie auch das dem Austausch der Datenbusnachrichten zugrunde liegende Protokoll eine entsprechende Priorisierung erlauben.A preferred embodiment of the method is characterized in that the provision of the required date and / or the sending of the data bus message addressed to a network node, in particular the first network node, takes place with a higher priority than the calculation of other processes or the sending of other data bus messages. In order to suffer the least possible latencies, it is provided in particular that the provision and / or the sending takes place with the highest priority. This ensures that possible delays in the response to the non-deterministic, triggering event are minimized. Of course, both the operating system on the network nodes and the protocol underlying the exchange of the data bus messages must permit a corresponding prioritization.
Des Weiteren ist in einer besonderen Ausgestaltung des Verfahrens vorgesehen, dass die Korrespondenzinformation eine Information über die ereignisgetriebene Task umfasst, insbesondere wobei die an den berechnenden ersten Netzknoten gerichtete Datenbusnachricht auch eine Information umfasst, anhand derer der erste Netzknoten das Datum der ereignisgetriebenen Task zuordnen kann. Bei der Information handelt es sich also gewissermaßen um einen Identifier zur eindeutigen Identifizierung. Bei dieser Information kann es sich beispielsweise um eine Speicheradresse handeln, in der die Daten im ersten Netzknoten gespeichert werden. Die jeweilige ereignisgetriebene Task kann die jeweils aktuellen Daten von dieser Adresse aus dem lokalen Speicher des ersten Netzknotens auslesen und für die Taskberechnung nutzen.Furthermore, it is provided in a particular embodiment of the method that the correspondence information comprises information about the event-driven task, in particular wherein the data bus message directed to the calculating first network node also includes information by means of which the first network node can assign the date of the event-driven task. The information is, so to speak, an identifier for unambiguous identification. This information may, for example, be a memory address in which the data is stored in the first network node. The respective event-driven task can read the respective current data from this address from the local memory of the first network node and use it for the task calculation.
Eine weitere Ausgestaltung des Verfahrens ist dadurch gekennzeichnet, dass die Korrespondenzinformation zumindest teilweise automatisiert aus einem Simulationsmodell ermittelt wird und vor Start der Berechnung des Simulationsmodells in den Netzknoten abgelegt wird. Zusätzlich oder alternativ kann die Korrespondenzinformation auch dynamisch zur Simulationslaufzeit verändert werden.A further embodiment of the method is characterized in that the correspondence information is at least partially determined automatically from a simulation model and stored in the network node before the start of the calculation of the simulation model. Additionally or alternatively, the correspondence information can also be changed dynamically to the simulation runtime.
Bei einer besonders bevorzugten Weiterbildung des Verfahrens beginnt die ereignisgetriebene Task auf dem ersten Netzknoten bereits nach Erhalt der Multicast-Datenbusnachricht oder der Broadcast-Datenbusnachricht mit der Verarbeitung eines weiteren zugehörigen Datums. Damit ist insbesondere ein Datum gemeint, das bereits auf dem ersten Netzknoten vorhanden ist und hinreichend aktuell ist. All jene weiteren zugehörigen Daten, die schon aktuell verfügbar sind, können bereits in die Berechnung der ereignisgetriebenen Task Eingang finden, ohne dass dies zu Ungenauigkeiten führt. Darüber hinaus verringert diese Vorgehensweise die Gesamt-Reaktionszeit bzw. Verarbeitungszeit der ereignisgetriebenen Task. Um sicherzustellen, das stets auch nur ein aktuelles erforderliches Datum, das von einem anderen Netzknoten als dem ersten Netzknoten stammt, verwendet wird, werden alle jenen empfangenen erforderlichen Daten bzw. Speicherplätze, in denen sie hinterlegt sind, mit einem Flag gekennzeichnet, das zunächst signalisiert, dass das Datum seit Aufruf der ereignisgetriebenen Task noch nicht aktuell erhalten worden ist. Erst nach Zusendung des erforderlichen Datums oder der erforderlichen Daten von anderen Netzknoten als dem ersten Netzknoten wird jedes entsprechende Flag so umgesetzt, dass es valide Daten signalisiert. Bevor die ereignisgetriebene Task auf dem ersten Netzknoten entsprechende Speicherstellen von extern zugesandten erforderlichen Daten ausliest, wird jeweils überprüft, ob die Daten tatsächlich valide - also aktuell - sind. Nach Abschluss der Berechnung der ereignisgetriebenen Task werden die entsprechende Flags wieder umgesetzt, sodass die dort abgelegten Speicherinhalte als invalide - also nicht-aktuell - gekennzeichnet sind. In a particularly preferred embodiment of the method, the event-driven task on the first network node begins to receive the processing of another associated date already after receiving the multicast data bus message or the broadcast data bus message. This means in particular a date that is already present on the first network node and is sufficiently up-to-date. All those additional data that are already available can already be included in the calculation of the event-driven task without causing inaccuracies. In addition, this approach reduces the overall response time or processing time of the event-driven task. To ensure that only a current required date, which originates from a network node other than the first network node, is always used, all those received data or memory locations in which they are stored are marked with a flag which initially signals in that the date has not yet been updated since the event-driven task was called. Only after sending the required date or data from other network nodes than the first network node, each corresponding flag is implemented so that it signals valid data. Before the event-driven task reads out corresponding memory locations of externally sent required data on the first network node, it is in each case checked whether the data is actually valid - ie current. After completion of the calculation of the event-driven task, the corresponding flags are converted again so that the memory contents stored there are marked as invalid - ie not up-to-date.
Eine besonders bevorzugte Ausgestaltung des Verfahrens sieht vor, dass die Zeit, die ein erforderliches Datum nach Erhalt der Multicast-Datenbusnachricht oder der Broadcast-Datenbusnachricht vom zweiten Netzknoten bis zum ersten Netzknoten benötigt, ermittelt wird, dass ferner die Zeit, die der erste Netzknoten benötigt, um nach Erhalt der Multicast-Datenbusnachricht oder der Broadcast-Datenbusnachricht die Berechnung der ereignisgetriebenen Task zu starten und an die Ausführungsstelle der ereignisgetriebenen Task zu gelangen, die auf das bereitgestellte erforderliche Datum zugreift, ermittelt wird, und dass die Berechnung der ereignisgetriebenen Task auf dem ersten Netzknoten unter Berücksichtigung der ermittelten Zeiten so gestartet wird, dass die ereignisgetriebene Task ohne weiteres Warten auf ein erforderliches Datum auf das erforderliche Datum zugreifen kann. Durch diese Vorgehensweise wird durch Verwendung von Vorwissen über bestimmte Ausführungszeiten sichergestellt, dass bei der Berechnung der ereignisgetriebenen Task automatisch nur aktuelle und von extern erhaltene Daten verwendet werden. Dies könnte jedenfalls ein Validierungssystem zur Sicherstellung der Aktualität von empfangenen Daten entbehrlich machen.A particularly preferred embodiment of the method provides that the time required for a required date after receiving the multicast data bus message or the broadcast data bus message from the second network node to the first network node is determined that further the time required by the first network node to start the calculation of the event-driven task upon receipt of the multicast data bus message or the broadcast data bus message and to reach the execution point of the event-driven task that accesses the provided required date, and that the event-driven task is computed on the the first network node is started taking into account the determined times so that the event-driven task can easily access the required date waiting for a required date. By using this knowledge in certain execution times, this procedure ensures that only current and externally obtained data are automatically used in the calculation of the event-driven task. In any case, this could dispel a validation system for ensuring the up-to-dateness of received data.
Eine weitere Variante zur Sicherstellung einer aktuellen Datengrundlage bei der Berechnung der ereignisgetriebenen Task besteht darin, dass der erste Netzknoten ermittelt, ob alle zur Berechnung einer ereignisgetriebenen Task erforderlichen Daten eingegangen sind und die Berechnung der ereignisgetriebenen Task auf dem ersten Netzknoten erst dann gestartet wird, wenn alle erforderlichen Daten eingegangen sind. Durch dieses Verfahren wird zwar nicht die kürzeste Reaktionszeit realisiert, das Verfahren lässt sich aber mit sehr einfachen Mitteln umsetzen.Another variant for ensuring a current data basis in the calculation of the event-driven task is that the first network node determines whether all data required for calculating an event-driven task have been received and the calculation of the event-driven task on the first network node is only started if all required data has been received. Although this process does not realize the shortest reaction time, the process can be implemented with very simple means.
Eine weitere Maßnahme zur Verringerung von Latenzen besteht darin, dass die Multicast-Datenbusnachricht oder die Broadcast-Datenbusnachricht mit einer höheren Priorität versendet und/oder weitergeleitet wird als alle anderen Datenbusnachrichten. Dazu muss der verwendete serielle Datenbus auch entsprechende Instrumente zur Priorisierung von Nachrichten aufweisen.Another measure for reducing latencies is that the multicast data bus message or the broadcast data bus message is sent with a higher priority and / or forwarded than all other data bus messages. For this purpose, the serial data bus used must also have corresponding instruments for prioritizing messages.
Die Erfindung umfasst ferner ein Computerprogrammprodukt, umfassend Befehle, die bei der Ausführung der Programme durch mehrere Netzknoten eines echtzeitfähigen Simulationsnetzwerks zur Berechnung eines Simulationsmodells diese veranlassen, die Schritte des zuvor beschriebenen Verfahrens auszuführen. Genauso umfasst die Erfindung auch ein computerlesbares Speichermedium, auf dem das zuvor beschriebene Computerprogrammprodukt gespeichert ist.The invention further comprises a computer program product comprising instructions which, when the programs are executed by a plurality of network nodes of a real-time simulation network for calculating a simulation model, cause them to carry out the steps of the previously described method. Likewise, the invention also includes a computer-readable storage medium on which the computer program product described above is stored.
Im Einzelnen gibt es nun eine Vielzahl von Möglichkeiten, das erfindungsgemäße Verfahren zum Betreiben eines echtzeitfähigen Simulationsnetzwerks mit mehren Netzknoten auszugestalten und weiter, zu bilden. Dazu wird verwiesen einerseits auf die den Patentanspruch 1 nachgeordneten Patentansprüche, andererseits auf die folgende Beschreibung von Ausführungsbeispielen in Verbindung mit der Zeichnung. In der Zeichnung zeigen
-
1 ein aus dem Stand der Technik bekanntes Verfahren zum Betreiben eines echtzeitfähigen Simulationsnetzwerks mit mehreren Netzknoten, -
2 ein Verfahren zum Betreiben eines echtzeitfähigen Simulationsnetzwerks mit mehreren Netzknoten unter Verwendung einer Broadcast-Datenbusnachricht zur Mitteilung eines Detektionssignals, -
3 ein Verfahren zum Betreiben eines echtzeitfähigen Simulationsnetzwerks unter Verwendung von Multicast-Datenbusnachrichten zur Mitteilung eines Detektionssignals, -
4 die Konfiguration eines Netzknotens mit Korrespondenzinformationen zur direkten Adressierung eines ersten Netzknotens, -
5 die Konfiguration eines weiteren Netzknotens mit Korrespondenzinformationen mit einer mittelbaren Zuleitung eines Datums zu dem ersten Netzknoten über den Umweg eines weiteren Netzknotens, -
6 ein Zeitdiagramm zur Verdeutlichung der Abstimmung von Übertragungs- und Berechnungszeiten und -
7 ein weiteres Zeitdiagramm zur Verdeutlichung der Abstimmung von Übertragungs- und Berechnungszeiten.
-
1 a known from the prior art method for operating a real-time simulation network with multiple network nodes, -
2 a method for operating a real-time capable simulation network with a plurality of network nodes using a broadcast data bus message for the notification of a detection signal, -
3 a method of operating a real-time capable simulation network using multicast data bus messages to notify a detection signal, -
4 the configuration of a network node with correspondence information for the direct addressing of a first network node, -
5 the configuration of another network node with correspondence information with an indirect forwarding of a datum to the first network node via the detour of another network node, -
6 a time chart to clarify the coordination of transmission and calculation times and -
7 another time chart to clarify the vote of transmission and calculation times.
In den verschiedenen Figuren sind jeweils Verfahren
In
Dargestellt ist hier, dass das Simulationsmodell
Von dem zweiten Netzknoten
Bei dem in
In
In den dargestellten Beispielen wird als nicht-deterministisches, auslösendes Ereignis
In
Das Verhalten in den ab
Das Senden des erforderlichen Datums muss nicht immer unmittelbar mit einer Datenbusnachricht
In den dargestellten Ausgestaltungen erfolgt das Bereitstellen des erforderlichen Datums mit höchster Priorität, d. h. dass der weitere Netzknoten
In den
Bei dem Verfahren gemäß
BezugszeichenlisteLIST OF REFERENCE NUMBERS
- 11
- Verfahrenmethod
- 22
- SimulationsnetzwerkSimulation Network
- 33
- Netzknotennode
- 44
- DatenbusnachrichtenDatenbusnachrichten
- 55
- serieller Datenbusserial data bus
- 66
- DatenbusnachrichtenDatenbusnachrichten
- 6mult 6 mult
- Multicast-DatenbusnachrichtMulticast data bus message
- 6broad 6 broad
- Broadcast-DatenbusnachrichtBroadcast data bus message
- 77
- ereignisgetriebene Taskevent-driven task
- 88th
- auslösendes EreignisTriggering Event
- 99
- Detektionssignaldetection signal
- 1010
- I/O-SchnittstelleI / O interface
- 1111
- Korrespondenzinformationcorrespondence information
Claims (15)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102017127947.4A DE102017127947A1 (en) | 2017-11-27 | 2017-11-27 | Method for operating a real-time simulation network having a plurality of network nodes for calculating a simulation model and computer program product in this regard and computer-readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102017127947.4A DE102017127947A1 (en) | 2017-11-27 | 2017-11-27 | Method for operating a real-time simulation network having a plurality of network nodes for calculating a simulation model and computer program product in this regard and computer-readable storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102017127947A1 true DE102017127947A1 (en) | 2019-05-29 |
Family
ID=66442257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102017127947.4A Pending DE102017127947A1 (en) | 2017-11-27 | 2017-11-27 | Method for operating a real-time simulation network having a plurality of network nodes for calculating a simulation model and computer program product in this regard and computer-readable storage medium |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102017127947A1 (en) |
-
2017
- 2017-11-27 DE DE102017127947.4A patent/DE102017127947A1/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2685382B1 (en) | Method and device for producing and testing a control device program | |
EP2486464A2 (en) | Method for operating a field bus interface | |
DE112004000223T5 (en) | Interface module for use with a Modbus device network and Fieldbus device network | |
DE102004011162A1 (en) | Automatic linking of process event data to a data archive system | |
DE102013213040B4 (en) | Transmission device for a measuring device and method for transmitting raw data with a transmission device | |
DE102005008517A1 (en) | Method and system for integrating alarms into a process control system | |
DE102016124348A1 (en) | System and microservice for monitoring a process automation system | |
DE102016124350A1 (en) | Method and system for monitoring a process automation system | |
WO2016141998A1 (en) | Device and method for providing a digital representation of a physical entity | |
DE102007045926A1 (en) | Interface between a production management system and an automation system | |
EP2707999B1 (en) | Signal processing system and method for processing signals in a bus node | |
DE102009046041A1 (en) | Field device e.g. level indicator, operating arrangement for use in process automation system, has controlling unit and field devices performing cyclic or acyclic data communication, where field devices include extended functionality | |
EP3125053B1 (en) | Method and peripheral module for the transmission of hart variables and cpu unit for reading the hart variables | |
EP2557464B1 (en) | Method for operating an automation system | |
EP3652595B1 (en) | Method and system for monitoring an automation system | |
EP3699704B1 (en) | System and method for validating system requirements of cyber-physical systems | |
WO2017093001A1 (en) | Method and system for optimizing the operation of at least one of a plurality of field devices from automation technology | |
EP3391158A1 (en) | Method for providing a generic diagnosis model | |
EP1814002A1 (en) | Data acquisition in a distributed automation system | |
EP3761166A1 (en) | Method for administering a field device and automation system | |
DE102017127947A1 (en) | Method for operating a real-time simulation network having a plurality of network nodes for calculating a simulation model and computer program product in this regard and computer-readable storage medium | |
EP2965157B1 (en) | Method and apparatus for operating a process and/or production installation | |
DE10394242T5 (en) | Method and instrument for allocating computational resources in a distributed control system | |
DE102014119515A1 (en) | Method for operating a field device and arrangement comprising a field device | |
WO2011042258A2 (en) | Method for operating a field bus interface |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04L0012701000 Ipc: H04L0045000000 |
|
R081 | Change of applicant/patentee |
Owner name: DSPACE GMBH, DE Free format text: FORMER OWNER: DSPACE DIGITAL SIGNAL PROCESSING AND CONTROL ENGINEERING GMBH, 33102 PADERBORN, DE |