DE102005039450A1 - Verfahren und Netzwerk zur synchronen Bearbeitung und Bereitstellung von Daten - Google Patents

Verfahren und Netzwerk zur synchronen Bearbeitung und Bereitstellung von Daten Download PDF

Info

Publication number
DE102005039450A1
DE102005039450A1 DE102005039450A DE102005039450A DE102005039450A1 DE 102005039450 A1 DE102005039450 A1 DE 102005039450A1 DE 102005039450 A DE102005039450 A DE 102005039450A DE 102005039450 A DE102005039450 A DE 102005039450A DE 102005039450 A1 DE102005039450 A1 DE 102005039450A1
Authority
DE
Germany
Prior art keywords
extrapolation
data
master device
slave device
network
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.)
Granted
Application number
DE102005039450A
Other languages
English (en)
Other versions
DE102005039450B4 (de
Inventor
Magnus Asplund
Andreas Hostmann
Robert Leinfellner
Robert Polnau
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.)
Dspace GmbH
Original Assignee
Dspace GmbH
Dspace Digital Signal Processing and Control Engineering GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dspace GmbH, Dspace Digital Signal Processing and Control Engineering GmbH filed Critical Dspace GmbH
Priority to DE102005039450A priority Critical patent/DE102005039450B4/de
Publication of DE102005039450A1 publication Critical patent/DE102005039450A1/de
Application granted granted Critical
Publication of DE102005039450B4 publication Critical patent/DE102005039450B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes
    • H04W56/0015Synchronization between nodes one node acting as a reference for the others
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0421Multiprocessor system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/22Pc multi processor system
    • G05B2219/2231Master slave
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23446HIL hardware in the loop, simulates equipment to which a control module is fixed
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25049Master processor gives timing information to slaves
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25482Synchronize several sequential processes, adjust

Abstract

Dargestellt und beschrieben ist ein Verfahren zur synchronen Bereitstellung von Daten ((x¶netz¶) auf verteilten Geräten eines Netzwerks (1), insbesondere auf Geräten eines verteilten Echtzeitsystems, wobei das Netzwerk (1) mindestens ein Master-Gerät (2), mindestens ein dem Master-Gerät (2) zugeordnetes Slave-Gerät (3) und einen das Master-Gerät (2) und das Slave-Gerät (3) verbindenden Datenkanal (4) aufweist und wobei das Master-Gerät (2) und das Slave-Gerät (3) eine gemeinsame synchrone Systemzeit (t) aufweisen. DOLLAR A Der Lehre der Erfindung liegt die Aufgabe zugrunde, den Datentransfer über den Datenkanal und die synchrone Bereitstellung von Daten zu optimieren. DOLLAR A Das erfindungsgemäße Verfahren, bei dem die aufgezeigte Aufgabe gelöst ist, ist zunächst und im wesentlichen dadurch gekennzeichnet, daß ein Extrapolationsdatensatz mit zumindest einem in der Zukunft liegenden Aktualisierungszeitpunkt (t¶up,i¶), der den Beginn eines Extrapolationsintervalls (5) kennzeichnet, von dem Master-Gerät (2) gespeichert und an das Slave-Gerät (3) übermittelt wird, daß ab dem Aktualisierungszeitpunkt (t¶up,i¶) separat auf dem Master-Gerät (2) und dem Slave-Gerät (3) neue Daten (x¶netz,i¶(t)) durch Extrapolation mit Hilfe des sowohl auf dem Master-Gerät (2) als auch auf dem Slave-Gerät (3) vorliegenden Extrapolationsdatensatzes berechnet werden und daß die voranstehenden Verfahrensschritte für anschließende Extrapolationsintervalle (5) wiederholt werden.

Description

  • Die Erfindung betrifft ein Verfahren zur synchronen Bereitstellung von Daten (xnetz) auf verteilten Geräten eines Netzwerks, insbesondere auf Geräten eines verteilten Echtzeitsystems, wobei das Netzwerk mindestens ein Master-Gerät, mindestens ein dem Master-Gerät zugeordnetes Slave-Gerät und einen das Master-Gerät und das Slave-Gerät verbindenden Datenkanal aufweist und wobei das Master-Gerät und das Slave-Gerät eine gemeinsame synchrone Systemzeit aufweisen. Die Erfindung betrifft ferner ein Netzwerk zur synchronen Bereitstellung von Daten mit einem Master-Gerät, wenigstens einem Slave-Gerät und wenigstens einem das Master-Gerät und das Slave-Gerät verbindenden Datenkanal, wobei das Master-Gerät und das Slave-Gerät jeweils eine synchronisierte Systemuhr zur Bereitstellung einer gemeinsamen synchronen Systemzeit aufweisen.
  • Verfahren und Netzwerke der in Rede stehenden Art sind seit längerem bekannt, insbesondere aus solchen technischen Anwendungsfeldern, bei denen nicht nur grundsätzlich die Verteilung und Bereitstellung von Daten auf verschiedenen Geräten eines Netzwerks notwendig ist, sondern bei denen zusätzlich die gleichzeitige Verfügbarkeit der Daten auf den verteilten Geräten von besonderer Wichtigkeit ist.
  • Naturgemäß sind derartige zeitkritische Anforderungen insbesondere im Bereich verteilter Echtzeit-Anwendungen zu finden, bei denen es nicht in erster Linie auf eine möglichst schnelle Datenverarbeitung im weitesten Sinne ankommt, sondern auf die zeitgenaue und synchrone Erledigung bestimmter vorgegebener Datenverarbeitungsaufgaben auf den Geräten des Netzwerks. Typische Anwendungsfelder, in denen die synchrone Bereitstellbarkeit und Verarbeitbarkeit von Daten auf verteilten Netzwerkgeräten notwendige Voraussetzungen sind, sind die Programmierung, der Test und die nachgelagerte Beeinflussung von Steuergeräten im Rahmen des Rapid-Control-Prototyping, der Hardware-in-the-Loop-Simulation und der Steuergeräte-Kalibrierung.
  • Zur technischen Durchführung der vorgenannten Prozesse wird häufig ein Netzwerk aus miteinander über einen Datenkanal verbundenen Geräten einge setzt, wobei diese Geräte beispielsweise I/O-Geräte und Rechen-Geräte sind und wobei die I/O-Geräte mit dem zu beeinflussenden bzw. dem zu beobachtenden Prozeß in Verbindung stehen und die zeitliche Koordinierung der von den I/O-Geräten durchzuführenden Aufgaben von den Rechen-Geräten vorgenommen wird. Bei komplexeren technischen Prozessen ist eine Vielzahl von verschiedenen I/O-Geräten mit ein und demselben Prozeß verbunden, um gleichzeitig Zustände des Prozesses meßtechnisch zu erfassen und aktiv zu beeinflussen. Üblicherweise sind die Zustandsgrößen eines technischen Prozesses – zumindest teilweise – aneinander gekoppelt und stehen deshalb auch in einer zeitlichen Abhängigkeit zueinander.
  • Ein Beispiel, an dem sich eine solche Abhängigkeit leicht veranschaulichen läßt, ist ein mehrzylindriger Verbrennungsmotor, bei dem die Kolben über die Kurbelwelle und die Ventile über die Nockenwelle miteinander gekoppelt sind und diese beiden Bereiche wiederum über das Zünd- und Einspritzsystem eine mittelbare physikalische Kopplung erfahren. Werden nun beispielsweise die Zündsignale für verschiedene Kolben von verschiedenen I/O-Geräten des Netzwerks generiert und erfolgt die Generierung der Zündsignale in Abhängigkeit von dem Drehwinkel der Kurbelwelle, so leuchtet unmittelbar ein, daß die Information über den Drehwinkel der Kurbelwelle auf allen verteilten I/O-Geräten identisch – und damit synchron zueinander verlaufend – sein muß, damit die zeitliche Ansteuerung der verschiedenen Komponenten des Motors so fein aufeinander abgestimmt erfolgen kann, wie es die physikalische Kopplung des Motors erfordert.
  • Die gleiche Problematik, die bei dem geschilderten Beispiel dem Bereich des Rapid-Conrol-Prototyping entstammt, entsteht analog bei sogenannten Hardware-in-the-Loop-Simulationen, bei denen nicht die Regelung bzw. das Steuergerät simuliert wird, sondern – zumindest teilweise – die reale Umgebung des Steuergeräts, welches selbst in der simulierten Umgebung getestet wird. Im Falle eines Motor-Steuergeräts wird das Steuergerät folglich mit den Daten eines simulierten Verbrennungsmotors gespeist (beispielsweise Nockenwellen- und Kurbelwellenwinkelgeschwindigkeiten, Zylinder- und Ventilpositionen, Klopfsensor-Signal etc.), wobei diese Signale von verschiedenen I/O-Geräten generiert und bereitgestellt werden, so daß sich in gleicher Weise die Anforderung der synchronen Generierung und Bereitstellung dieser Daten ergibt.
  • Aus der Praxis ist bekannt, das Problem der synchronen Bereitstellung von Daten auf verschiedenen Geräten eines Netzwerks derart zu lösen, daß ein Gerät als Master-Gerät bestimmt und ausgestattet wird, das sich dadurch auszeichnet, daß es in der Lage ist, die bereitzustellenden Daten in Abhängigkeit von einer auf dem Master-Gerät verfügbaren Systemzeit zu generieren. Die auf dem Master-Gerät generierten Daten werden dann über einen parallelen Datenkanal an die anderen Geräte, die sogenannten Slave-Geräte, verteilt und die von den Slave-Geräten empfangenen Daten werden dann auf den Slave-Geräten unmittelbar wirksam, d. h. zur weiteren Verwendung bereitgestellt (dSPACE GmbH: "Solutions for Control", 2004, Seiten 210–215).
  • Je nach technischem Anwendungsgebiet werden dabei an den das Master-Gerät und das Slave-Gerät verbindenden Datenkanal erhebliche Anforderungen hinsichtlich der erzielbaren Übertragungsraten und hinsichtlich der Verzögerungsfreiheit der Übertragung gestellt. Für den zuverlässigen Test von Motor-Steuergeräten, wie er zuvor bezüglich der Hardware-in-the-Loop-Simulation beschrieben worden ist, ist es beispielsweise erforderlich, entsprechende Winkelsignale im Mikrosekunden- (10–6 s) und sogar im Sub-Mikrosekunden-Bereich auf allen Geräten des Netzwerks zu ändern und Bereitzustellen. Das Beispiel verdeutlicht, welche immensen Datenmengen ein Datenkanal übertragen können muß, der nach dem aus dem Stand der Technik bekannten Verfahren die Verbindung zwischen einem Master-Gerät und einem Slave-Gerät herstellt. Gleichzeitig sind damit auch erhebliche Einschränkungen verbunden, was die anderweitige Nutzung des Datenkanals, die Sensitivität gegenüber der Ein- und Abstrahlung von Signalen und die Verwendbarkeit von Fehlererkennungs- und -korrekturmechanismen angeht.
  • Auch ist aus dem Stand der Technik bekannt, ein Master-Gerät und ein Slave-Gerät zeitlich zu synchronisieren, indem auf beiden Geräten die gleiche Systemzeit zur Verfügung gestellt wird. Wie verteilte Uhren-Systeme synchronisiert werden können, ist nicht Gegenstand der vorliegenden Erfindung, vielmehr soll davon ausgegangen werden, daß unter Anwendung einer der vielen bekannten Methoden zur Uhrensynchronisation auch auf den hier in Rede ste henden Geräten des Netzwerkes, vorliegend auf dem Master-Gerät und dem zugeordneten Slave-Gerät, eine einheitliche synchrone Systemzeit vorgebbar ist. Hierzu wird verwiesen auf die einschlägige Literatur, beispielsweise auf Nissanke, N.: "Realtime Systems", Kapitel 16 "Systems of Clocks", Prentice Hall, Series in Computer Science, 1997.
  • Aufgabe der vorliegenden Erfindung ist es, die aufgezeigten Probleme bei der synchronen Bereitstellung von Daten auf verteilten Geräten eines Netzwerks – zumindest teilweise – zu vermeiden.
  • Die zuvor aufgezeigte Aufgabe ist erfindungsgemäß zunächst bei einem Verfahren zur synchronen Bereitstellung von Daten auf verteilten Geräten eines Netzwerks dadurch gelöst, daß ein Extrapolationsdatensatz mit zumindest einem in der Zukunft liegenden Aktualisierungszeitpunkt, der den Beginn eines Extrapolationsintervalls kennzeichnet, von dem Master-Gerät gespeichert und an das Slave-Gerät übermittelt wird, daß ab dem Aktualisierungszeitpunkt separat auf dem Master-Gerät und dem Slave-Gerät neue Daten durch Extrapolation mit Hilfe des sowohl auf dem Master-Gerät als auch auf dem Slave-Gerät vorliegenden Extrapolationsdatensatzes berechnet werden und daß die voranstehenden Verfahrensschritte für anschließende Extrapolationsintervalle wiederholt werden.
  • Im Unterschied zu dem aus dem Stand der Technik bekannten Verfahren werden bei dem erfindungsgemäßen Verfahren nicht mehr einzelne, synchron breitzustellende Daten von dem Master-Gerät zu dem Slave-Gerät übermittelt, sondern ein Extrapolationsdatensatz, der einen Aktualisierungszeitpunkt und andere zur Durchführung einer Extrapolation notwendige Daten enthält. Da sowohl das Master-Gerät als auch das Slave-Gerät über eine synchrone Systemzeit verfügen, ist es beiden Geräten bei Erreichen des Aktualisierungszeitpunktes möglich, mit der Berechnung der synchron bereitzustellenden Daten durch Extrapolation auf Basis der Extrapolationsdaten zu beginnen. Die Durchführung der Extrapolation kann dabei ebenfalls synchron auf dem Master-Gerät und dem Slave-Gerät in Abhängigkeit von der Systemzeit durchgeführt werden.
  • Mit der Extrapolation auf dem Master-Gerät und dem Slave-Gerät ist es folglich möglich, eine Vielzahl von Einzeldaten auf den verteilten Geräten zu berechnen, ohne daß – wie bei dem vorbekannten Verfahren – jedesmal Informationen zwischen dem Master-Gerät und dem Slave-Gerät über den Datenkanal ausgetauscht werden müssen. Damit wird das Volumen der über den Datenkanal zwischen dem Master-Gerät und dem Slave-Gerät zu übermittelnden Daten erheblich reduziert, so daß über den Datenkanal nunmehr auch andere zusätzliche Daten zwischen den Geräten des Netzwerks übertragen werden könnten und genügend Zeit verbleibt, um beispielsweise auf dem Master-Gerät und dem Slave-Gerät Protokolle zur Erkennung und Behebung von Übertragungsfehlern auszuführen.
  • Die Zeitspanne zwischen zwei aufeinanderfolgenden Aktualisierungszeitpunkten kennzeichnet ein Extrapolationsintervall. Innerhalb eines Extrapolationsintervalls ist folglich ein und derselbe Extrapolationsdatensatz Grundlage für die Berechnung und synchrone Bereitstellung der Daten auf den Geräten des Netzwerks.
  • Nach einer ersten vorteilhaften Ausgestaltung der Erfindung wird das Verfahren derart ausgeführt, daß die Extrapolation auf dem Master-Gerät und/oder dem Slave-Gerät jeweils ausgeht von dem letzten von dem jeweiligen Gerät berechneten Wert der bereitzustellenden Daten, der innerhalb des vorangegangenen Extrapolationsintervalls berechnet worden ist. Dadurch wird erreicht, daß die Verläufe der auf dem Master-Gerät und dem Slave-Gerät berechneten Daten an Extrapolationsintervall-Grenzen – im anschaulichen Sinne – weitestgehend "glatt" sind; von Stetigkeit läßt sich – jedenfalls im allgemeinen Fall – nicht reden, da die Berechnung der Extrapolation in einem Extrapolationsintervall zeitdiskret erfolgt, sei es, weil eine zeitkontinuierliche Funktion zu diskreten Zeitpunkten berechnet wird, oder weil die Extrapolationsvorschrift an sich schon zeitdiskret formuliert ist. Nachteilig ist jedoch, daß einmal aufgetretene Fehler sich über beliebig viele Extrapolationsintervalle hinweg fortpflanzen können.
  • In einem anderen bevorzugten Ausführungsbeispiel des erfindungsgemäßen Verfahrens enthält der Extrapolationsdatensatz ein Soll-Datum für die von dem Master-Gerät und/oder dem Slave-Gerät zu berechnenden Daten im Ak tualisierungszeitpunkt. Im Gegensatz zu der zuvor geschilderten Ausführung des erfindungsgemäßen Verfahrens wird das Soll-Datum auf dem Master-Gerät und/oder dem Slave-Gerät im Aktualisierungszeitpunkt zur Berechnung der Extrapolation herangezogen, so daß die Extrapolation von dem Vorgabewert ausgeht. Hierdurch wird zu Beginn eines jeden Extrapolationsintervalls erreicht, daß möglicherweise auf verschiedenen Geräten des Netzwerks auseinanderlaufende Berechnungen der Daten, z. B. aufgrund unterschiedlicher Datenformate oder fehlerhafter Übertragung von Extrapolationsdatensätzen, wieder auf einen einheitlichen Wert gesetzt und damit Abweichungen korrigiert werden. Nachteilig ist dabei, daß möglicherweise erhebliche Sprünge der berechneten Daten an den Extrapolationsintervall-Grenzen resultieren.
  • Um möglicherweise auftretende Sprünge an Extrapolationsintervall-Grenzen zu vermeiden, ohne auf den Vorteil der Korrekturmöglichkeit zu verzichten, die der Übertragung eines absoluten Soll-Datums im Aktualisierungszeitpunkt inne wohnt, sieht eine besonders bevorzugte Ausgestaltung des erfindungsgemäßen Verfahrens vor, daß auf dem Master-Gerät und/oder dem Slave-Gerät zum Aktualisierungszeitpunkt zunächst überprüft wird, ob ein Abweichung zwischen dem auf dem jeweiligen Gerät am Ende des vorangegangenen Extrapolationsintervalls berechneten Datum und dem vorgegebenen Soll-Datum vorliegt.
  • Wird eine solche Abweichung festgestellt, wird auf dem Master-Gerät bzw. dem Slave-Gerät auf Grundlage des aktualisierten Extrapolationsdatensatzes berechnet, welches – fehlerfreie – Datum am Ende des aktuellen Extrapolationsintervalls vorliegen müßte. Dieser Wert kann exakt berechnet werden, wenn dem Master-Gerät bzw. dem Slave-Gerät der Zeitpunkt bekannt ist, an dem das aktuelle Extrapolationsintervall endet. Dies ist beispielsweise dann gegeben, wenn die Extrapolationsintervalle in ein festes Zeitraster mit äquidistanten Intervallgrenzen eingebettet ist. Andernfalls ist die Länge des aktuellen Extrapolationsintervalls zu schätzen, beispielsweise durch den Mittelwert der Längen einiger vorangegangener Extrapolationsintervalle.
  • Wenn schließlich der voraussichtliche – fehlerfreie oder mit geringen Schätzungenauigkeiten versehene – Wert des Datums am Ende des aktuellen Extrapolationsintervalls bekannt ist, wird der Extrapolationsdatensatz so angepaßt, daß das am Ende des aktuellen Extrapolationsintervalls berechnete Datum – ausgehend von dem letzten innerhalb des vorangegangenen Extrapolationsintervalls berechneten Wert der Daten! – im wesentlichen dem zuvor berechneten fehlerfreien Wert entspricht, also dem Wert, der bei regulärer Berechnung im abweichungsfreien Fall ohne Anpassung der Extrapolationsdaten zu erwarten gewesen wäre.
  • In einem bevorzugten Ausführungsbeispiel des erfindungsgemäßen Verfahrens ist der Funktionstyp – beispielsweise ein Polynom – vorgegeben, anhand dessen die Extrapolation auf dem Master-Gerät bzw. dem Slave-Gerät durchgeführt wird, so daß von dem Extrapolationsdatensatz nur Parameter umfaßt sind, die in Zusammenhang mit dem festgelegten Funktionstyp eine eindeutige Extrapolationsfunktion bestimmen. Diese Extrapolationsfunktion kann in Abhängigkeit von der Systemzeit berechenbar sein, sie kann aber auch iterativ oder rekursiv formuliert sein, wie es insbesondere aus der Darstellung von zeitdiskreten Gleichungen in einem festen Zeitraster bekannt ist.
  • In einem weiteren bevorzugten Ausführungsbeispiel des erfindungsgemäßen Verfahrens enthält der Extrapolationsdatensatz auch in allgemeiner Form Angaben über den Funktionstyp, so daß eine weitestmögliche Anpassungsfähigkeit zur Gestaltung der Extrapolation auf dem Master-Gerät bzw. dem Slave-Gerät gegeben ist. In einem besonders bevorzugten Ausführungsbeispiel werden als Funktionstyp Polynome verwendet, insbesondere auch solche Polynome, die an die Übergängen zu benachbarten Extrapolationsintervallen stetig sind in bezug auf die Extrapolationsfunktion selbst oder auch zusätzlich in bezug auf eine oder mehrere ihrer zeitlichen Ableitungen; Polynome, die unter der Maßgabe solcher Voraussetzungen bestimmt werden, sind auch als Splines bekannt.
  • Nach einer weiteren Lehre der Erfindung ist die oben aufgezeigte Aufgabe ferner mit einem Netzwerk zur synchronen Bereitstellung von Daten dadurch gelöst, daß das Master-Gerät und das Slave-Gerät jeweils umfassen einen Extrapolationsdatensatz-Speicher zur Speicherung eines Extrapolationsdatensatzes mit zumindest einem Aktualisierungszeitpunkt (tup,i), eine Extrapolations-Durchführungseinheit zur synchronen Berechnung und Bereitstellung von Daten xnetz,i(t) auf Grundlage des Extrapolationsdatensatzes im Extrapolati onsdatensatz-Speicher, eine Aktualisierungseinheit zur Auslösung der Verwendung des Extrapolationsdatensatzes aus dem Extrapolationsdatensatz-Speicher durch die Extrapolations-Durchführungseinheit ab dem Aktualisierungszeitpunkt (tup,i) – Start des aktuellen Extrapolationsintervalls – und daß das Master-Gerät zusätzlich umfaßt eine Extrapolations-Planungseinheit zur – zumindest teilweisen – Berechnung des Extrapolationsdatensatzes und/oder zur Bereitstellung des Extrapolationsdatensatzes im Extrapolationsdatensatz-Speicher des Master-Geräts und des Slave-Geräts, wobei der Extrapolationsdatensatz vom Master-Gerät zum Slave-Gerät über den Datenkanal übermittelbar ist.
  • Gegenüber den vorbekannten Netzwerken mit einem Master-Gerät und einem Slave-Gerät sind das erfindungsgemäße Master-Gerät und das erfindungsgemäße Slave-Gerät mit einer größeren Funktionalität versehen, die die selbständige und abschnittsweise Berechnung von synchron bereitzustellenden Daten gestattet. Das erfindungsgemäße Master-Gerät unterscheidet sich von dem erfindungsgemäßen Slave-Gerät durch die zusätzlich vorhandene Extrapolations-Planungseinheit, die der Berechnung des Extrapolationsdatensatzes dienen kann.
  • In einer bevorzugten Ausführungsform des erfindungsgemäßen Netzwerks erhält das Master-Gerät den Extrapolationsdatensatz jedoch – zumindest teilweise – von einem weiteren externen elektronischen Gerät entweder über den Datenkanal oder/und über eine weitere externe Schnittstelle von einem weiteren Datenkanal.
  • In einem bevorzugten Ausführungsbeispiel ist das weitere externe elektronische Gerät ein über den weiteren Datenkanal an das Master-Gerät angeschlossener Simulationsrechner, der das Master-Gerät teilweise von der Berechnung des Extrapolationsdatensatzes befreit, so daß die Extrapolations-Planungseinheit nur einen geringfügigen funktionellen Zusatz gegenüber dem Slave-Gerät darstellt. In einer bevorzugten Ausgestaltung des erfindungsgemäßen Netzwerks können deshalb das Master-Gerät und das Slave-Gerät hardwaremäßig identisch aufgebaut werden, wobei ein solches universelles Master-Slave-Gerät hardware- oder softwaremäßig als ausschließliches Master-Gerät bzw. ausschließliches Slave-Gerät konfigurierbar ist; übliche Maß nahmen der hardwaremäßigen Konfiguration bestehen beispielsweise in der Verwendung von DIP- oder Drehschaltern oder durch Register auf der Platine des universellen Master-Slave-Geräts, wobei die Register mit entsprechenden Konfigurationsinformationen geladen werden.
  • In einem weiteren bevorzugten Ausführungsbeispiel des erfindungsgemäßen Netzwerks ist die Extrapolations-Durchführungseinheit des Master-Geräts bzw. des Slave-Geräts so ausgestaltet, daß die von dem Master-Gerät bzw. dem Slave-Gerät vornehmbare Extrapolation jeweils ausgeht von dem letzten innerhalb des vorangegangenen Extrapolationsintervalls in der jeweiligen Extrapolations-Durchführungseinheit berechneten Wert der synchron bereitzustellenden Daten. Durch diese Ausgestaltung der Extrapolations-Durchführungs-Einheit ist gewährleistet, daß Sprünge der Daten im Übergangsbereich von zwei aneinandergrenzenden Extrapolationsintervallen jedenfalls nicht zurückgehen auf die Nichtbeachtung alter Berechnungsergebnisse. Nachteilig ist dabei gegebenenfalls, daß ein einmal erworbener Fehler in der Extrapolation über viele Extrapolationsintervalle hinweg unkorrigiert fortgesetzt wird.
  • Um diesem Problem entgegenzuwirken, ist in einer weiteren bevorzugten Ausgestaltung des erfindungsgemäßen Netzwerks vorgesehen, daß in dem Extrapolationsdatensatz-Speicher des Master-Geräts und/oder des Slave-Geräts auch ein Soll-Datum der Daten im Aktualisierungszeitpunkt gespeichert ist. In einer bevorzugten Ausgestaltung der erfindungsgemäßen Extrapolations-Durchführungseinheit des Master-Geräts bzw. des Slave-Geräts geht die Extrapolation im Aktualisierungszeitpunkt von dem gespeicherten Soll-Datum aus. Durch diese Ausgestaltung der Extrapolations-Durchführungseinheiten ist gewährleistet, daß zu Beginn eines jeden Extrapolationsintervalls alle von dem Master-Gerät mit dem Extrapolationsdatensatz gespeisten Slave-Geräte von einem einheitlichen Soll-Datum ausgehen und damit eine mögliche Abweichung zwischen dem Master-Gerät und den Slave-Geräten bzw. den Slave-Geräten untereinander korrigiert wird.
  • Jedoch ist bei der vorstehend dargestellten Ausgestaltung des erfindungsgemäßen Netzwerks eine sehr sprunghafte Änderung der von der Extrapolations- Durchführungseinheit berechneten Daten beim Übergang zwischen benachbarten Extrapolationsintervallen möglich.
  • In einem besonders bevorzugten Ausführungsbeispiel des erfindungsgemäßen Netzwerks ist die Abweichung zwischen dem von der Extrapolations-Durchführungseinheit des Master-Geräts am Ende des vorangeggangenen Extrapolationsintervalls berechneten Datum und dem im Extrapolationsdatensatz-Speicher für das aktuelle Extrapolationsintervall des Master-Geräts abgelegten Soll-Datum detektierbar. Im Falle des Vorliegens einer solchen Abweichung nimmt die Extrapolations-Durchführungseinheit des Master-Geräts eine Anpassung des Extrapolationsdatensatzes vor. Die Anpassung des Extrapolationsdatensatzes geschieht dabei unter der Maßgabe, daß das mit dem angepaßten Extrapolationsdatensatz berechnete Datum am Ende des aktuellen Extrapolationsintervalls im wesentlichen dem Wert entspricht, der bei Berechnung der Extrapolation im abweichungsfreien Fall ohne Anpassung der Extrapolationsdaten zu erwarten gewesen wäre. Entsprechend werden auch die Slave-Geräte ausgestaltet.
  • Nach einer letzten Lehre der Erfindung ist die oben aufgezeigte Aufgabe durch Verwendung des zuvor aufgezeigten Verfahrens bzw. durch Verwendung des zuvor beschriebenen erfindungsgemäßen Netzwerks zur winkelsynchronen Bereitstellung und/oder Messung von Daten gelöst. In einer besonders bevorzugten Verwendung handelt es sich bei den Winkeln um Positionsinformationen eines realen und/oder simulierten Motors, wobei die Verwendung insbesondere im Rahmen des Rapid-Control-Prototyping, einer Hardware-in-the-Loop-Simulation oder der Steuergeräte-Kalibrierung erfolgt.
  • Im einzelnen gibt es nun eine Vielzahl von Möglichkeiten, das erfindungsgemäße Verfahren, das erfindungsgemäße Netzwerk und die erfindungsgemäße Verwendung auszugestalten und weiterzubilden. Dazu wird verwiesen einerseits auf die den Patentansprüchen 1, 13 und 27 nachgeordneten Patentansprüche, andererseits auf die folgende Beschreibung von Ausführungsbeispielen in Verbindung mit der Zeichnung. In der Zeichnung zeigen
  • 1 die synchrone Berechnung und Bereitstellung von Daten nach dem bevorzugten Ausführungsbeispiel eines erfindungsgemäßen Verfahrens bzw. eines erfindungsgemäßen Netzwerks,
  • 2 die synchrone Berechnung und Bereitstellung von Daten nach einem weiteren bevorzugten Ausführungsbeispiel eines erfindungsgemäßen Verfahrens bzw. eines erfindungsgemäßen Netzwerks,
  • 3 eine weitere synchrone Berechnung und Bereitstellung von Daten nach einem bevorzugten Ausführungsbeispiel eines erfindungsgemäßen Verfahrens bzw. eines erfindungsgemäßen Netzwerks und
  • 4 eine letzte synchrone Berechnung und Bereitstellung von Daten nach einem bevorzugten Ausführungsbeispiel des erfindungsgemäßen Verfahrens bzw. des erfindungsgemäßen Netzwerks,
  • 5 einen Ausschnitt aus einem erfindungsgemäßen Netzwerk mit einem Master-Gerät und einem Slave-Gerät und
  • 6 ein bevorzugtes Ausführungsbeispiel eines erfindungsgemäßen Netzwerks in der Verwendung im Rahmen einer Hardware-in-the-Loop-Simulation.
  • Im folgenden werden das erfindungsgemäße Verfahren und das erfindungsgemäße Netzwerk gemeinsam anhand von Berechnungsergebnissen (1 bis 4) erläutert, die mit bevorzugten Ausführungsbeispielen des erfindungsgemäßen Verfahrens bzw. des erfindungsgemäßen Netzwerks erzielt worden sind. Die 5 und 6 sind hauptsächlich auf die bevorzugte Ausgestaltung und das funktionale Zusammenwirken eines Master-Geräts und eines Slave-Geräts in einem erfindungsgemäßen Netzwerks gerichtet.
  • 5 zeigt den grundliegenden Aufbau eines Netzwerkes 1 mit einem Master-Gerät 2, einem Slave-Gerät 3 und einem Datenkanal 4, über den das Master-Gerät 2 und das Slave-Gerät 3 verbunden sind. Es ist angedeutet, daß über den Datenkanal 4 weitere Slave-Geräte 3 mit dem Master-Gerät 2 verbindbar sind.
  • Der Datenkanal 4 ist grundsätzlich funktional aufzufassen, unabhängig von der tatsächlichen physikalischen Realisierung; wichtig ist einzig und allein, daß über den Datenkanal 4 Daten übertragbar sind. Dies kann beispielsweise über eine drahtlose Funkverbindung oder über Lichtwellenleiter erfolgen, in dem dargestellten Ausführungsbeispiel nach den 5 und 6 ist der Datenkanal 4 jedoch als ein serieller Datenbus realisiert, der eine elektrische Verbindung zwischen dem Master-Gerät 2 und den angeschlossenen Slave-Geräten 3 herstellt. In dem dargestellten bevorzugten Ausführungsbeispiel werden zur Realisierung des Datenkanals 4 Standard-Technologien verwendet, vorliegend Schnittstellen basierend auf dem Ethernet-Standard. Genausogut können jedoch – je nach Anforderungen an den Datenkanal 4 – andere Schnittstellen-Standards verwendet werden, beispielsweise IEEE-1394 oder USB; selbstverständlich kann zur Realisierung des Datenkanals 4 auch das Ausweichen auf eine proprietäre Lösung erforderlich sein.
  • Voraussetzung zur Durchführung des erfindungsgemäßen Verfahrens zur synchronen Bereitstellung von Daten ist die Verfügbarkeit einer gemeinsamen synchronen Systemzeit auf den Geräten 2, 3.
  • Über den Datenkanal 4 wird von dem Master-Gerät 2 ein Extrapolationsdatensatz an alle Slave-Geräte 3 übertragen und dort abgespeichert, wobei der Extrapolationsdatensatz einen – bezogen auf die Systemzeit – in der Zukunft liegenden Aktualisierungszeitpunkt tup,i umfaßt. Der Aktualisierungszeitpunkt tup,i definiert den Beginn eines Extrapolationsintervalls 5, ab dem der Extrapolationsdatensatz für Berechnungen gültig ist, die in gleicher Weise sowohl auf dem Master-Gerät 2 als auch dem Slave-Gerät 3 durchgeführt werden.
  • Bei den Berechnungen handelt es sich um Extrapolationen auf Grundlage des sowohl auf dem Master-Gerät 2 als auch auf dem Slave-Gerät 3 abgelegten Extrapolationsdatensatzes. Ergebnis der auf dem Master-Gerät 2 und auf dem Slave-Gerät 3 unbeeinflußt voneinander aber synchron zueinander durchgeführten Extrapolationen sind neue Daten xnetz,i(t), die von dem Master-Gerät 2 und dem Slave-Gerät 3 synchron bereitgestellt werden können. Das aktuelle Extrapolationsintervall 5 endet zu dem Zeitpunkt, zu dem der nachfolgende Aktualisierungszeitpunkt tup,i+1 erreicht wird.
  • In den 1 bis 4 ist jeweils der Verlauf der auf dem Master-Gerät 2 bzw. der auf dem Slave-Gerät 3 durch Extrapolation berechneten Daten xnetz(t) über der synchronen Systemzeit t aufgetragen. Die synchronen Daten xnetz(t) werdenabschnittsweise in jedem Extrapolationsintervall 5 berechnet. Die Ergebnisse der Extrapolation sind in den 1 bis 4 jeweils bezeichnet mit xnetz,i-1(t), xnetz,i(t) und xnetz,i+1(t). Diese Extrapolationsergebnisse werden erzielt in den Extrapolationsintervallen 5, die zu den korrespondierenden Zeitpunkten tup,i-1, tup,i und tup,i+1 beginnen. In den 1 bis 4 sind ebenfalls kenntlich gemacht die Zeitpunkte tsend,i-1, tsend,i und tsend,i+1 zu denen vom Master-Gerät 2 jeweils ein Extrapolationsdatensatz an die Slave-Geräte 3 verschickt wird, wobei die Extrapolationsdatensätze jeweils erst zu zukünftigen Aktualisierungszeitpunkten tup,i, und tup,i+1 zur Extrapolation herangezogen werden.
  • In 1 ist das Ergebnis der synchronen Bereitstellung von Daten xnetz dargestellt, die auf einer Extrapolation auf dem Master-Gerät 2 und dem Slave-Gerät 3 basiert, die jeweils ausgeht von dem letzten innerhalb des vorangegangenen Extrapolationsintervalls 5 berechneten Wert der Daten xnetz,i-1(tup,i). Daraus resultiert der scheinbar stetige Verlauf der Daten xnetz(t) in den 1, 3 und 4; "scheinbar stetig" deshalb, weil es sich bei dem Verlauf der Daten xnetz(t) tatsächlich um viele, zu diskreten Systemzeitpunkten berechnete Werte handelt und der Verlauf der Daten xnetz(t) tatsächlich eine zeitdiskrete Wertefolge darstellt, auf die der Begriff der Stetigkeit im mathematischen Sinne nicht anwendbar ist. Stetig ist hier vielmehr im Sinne von "an den zuletzt berechneten Wert des vorangehenden Extrapolationsintervalls 5 anknüpfend bzw. von diesem Wert ausgehend" zu verstehen. Vorteil des Verfahrens, dessen Ergebnisse in den 1 und 4 dargestellt sind, ist ein glatter Verlauf der berechneten Daten xnetz(t), der an den Übergangsstellen zwischen benachbarten Extrapolationsintervallen 5 keine Sprünge aufweist. Nachteilig ist jedoch, daß sich ein in einem Extrapolationsintervall vorgefallener Berechnungsfehler in allen nachfolgenden Extrapolationsintervallen 5 fortpflanzt.
  • 2 zeigt die Ergebnisse der Extrapolation gemäß einem Ausführungsbeispiel des erfindungsgemäßen Verfahrens, bei dem mit dem Extrapolationsda tensatz ein Soll-Datum xsoll,i der Daten xnetz,i(t) im Aktualisierungszeitpunkt tup,i von dem Master-Gerät 2 zu dem Slave-Gerät 3 übertragen und der Extrapolation auf dem Master-Gerät 2 und dem Slave-Gerät 3 derart zugrundegelegt wird, daß diese im Aktualisierungszeitpunkt tup,i von dem Soll-Datum xsoll,i ausgeht. Bei dieser Ausgestaltung des Verfahrens ist es dann – wie in 2 dargestellt – grundsätzlich möglich, daß im Aktualisierungszeitpunkt tup,i, das Soll-Datum xsoll,i von dem im vorangehenden Extrapolationsintervall 5 zum Aktualisierungszeitpunkt tup,i berechneten Datum xnetz,i-1(tup,i) abweicht. In 2 ist als Grund für eine solche Abweichung 6 die fehlgeschlagene Übertragung des Extrapolationsdatensatzes angedeutet, der zum Aktualisierungszeitpunkt tup,i-1 hätte wirksam werden sollen. Der fehlerfreie Verlauf der Daten xnetz,i-1(t) ist in 2 gestrichelt dargestellt. Da diese Extrapolationsdaten zum Aktualisierungszeitpunkt tup,i-1 nicht vorgelegen haben, ist die Extrapolation auf Grundlage des ab dem Aktualisierungszeitpunkt tup,i-2 geltende Extrapolationsdatensatzes weitergeführt worden.
  • 3 zeigt das Ergebnis der Extrapolation, das mit einem weiteren besonders bevorzugten Ausführungsbeispiel des erfindungsgemäßen Verfahrens erzielt worden ist. Dieses Ausführungsbeispiel des Verfahrens kombiniert die Vorteile der "stetigen" Fortsetzung der berechneten Daten xnetz(t) an Extrapolationsintervall-Grenzen und der Fehlerkorrektur durch die Vorgabe eines Soll-Datums xsoll,i zu einem Aktualisierungszeitpunkt tup,i. Das dargestellte Ausführungsbeispiel des Verfahrens zeichnet sich dadurch aus, daß bei Erkennung einer Abweichung 6 zwischen dem auf dem Master-Gerät 2 und/oder auf dem Slave-Gerät 3 berechneten Datum xnetz,i-1(tup,i) und dem auf dem Master-Gerät 2 und/oder dem Slave-Gerät 3 vorgegebenen Soll-Datum xsoll,i auf dem betreffenden Gerät 2, 3 eine Anpassung des Extrapolationsdatensatzes vorgenommen wird, so daß das am Ende des aktuellen Extrapolationsintervalls 5 berechnete Datum xnetz,i(tup,i+1) im wesentlichen dem Wert entspricht, der bei regulärer Berechnung im abweichungsfreien Fall ohne Anpassung der Extrapolationsdaten zu erwarten gewesen wäre.
  • In 3 ist der gleiche Fehlerfall angedeutet, der bereits in bezug auf 2 erläutert worden ist. Der gestrichelt dargestellte Verlauf der Daten xnetz,i(t) in dem zum Aktualisierungszeitpunkt tup,i beginnenden Extrapolationsintervall 5 resultierte bei Berechnung der Daten xnetz,i(t) unter Zugrundelegung der auf dem Master-Gerät 2 bzw. dem Slave-Gerät 3 zum Aktualisierungszeitpunkt tup,i verfügbaren Extrapolationsdatensatzes. Dieser gestrichelte Verlauf ist von dem Master-Gerät 2 bzw. dem Slave-Gerät 3 ohne weiteres berechenbar, so daß auch der sich im fehlerfreien Fall ergebende Wert xnetz,i(tup,i+1) exakt berechenbar oder unter vernünftiger Schätzung des Aktualisierungszeitpunktes tup,i+1 in guter Näherung berechenbar ist. Um ausgehend von dem zuletzt berechneten Datum xnetz,i-1(tup,i) zum Zieldatum xnetz,i(tup,i+1) zu gelangen, ist eine Anpassung des ab dem Aktualisierungszeitpunkt tup,i wirksamen Extrapolationsdatensatzes auf dem Master-Gerät 2 bzw. auf dem Slave-Gerät 3 notwendig. Das zuvor beschriebene Ausführungsbeispiel des Verfahrens ist dann besonders einfach umsetzbar, wenn die Extrapolation linear, also durch eine Geradengleichung beschreibbar, erfolgt.
  • Die vorstehend beschriebenen Ausführungsbeispiele des erfindungsgemäßen Verfahrens lassen sich selbstverständlich auch kombinieren, indem beispielsweise nicht zu jedem Aktualisierungszeitpunkt tup,i ein Soll-Datums xsoll,i vorgegeben wird, sondern nur in bestimmten zeitlichen Abständen.
  • In den 1 bis 3 sind die von dem Master-Gerät 2 und dem Slave-Gerät 3 synchron bereitgestellten Daten xnetz(t) durch lineare Extrapolation erzielt worden.
  • In dem Ausführungsbeispiel des Verfahrens gemäß 1 umfaßt der Extrapolationsdatensatz eine Soll-Datenänderungsgeschwindigkeit x'soll,i, durch die die Steigung der dargestellten Geradenabschnitte festgelegt ist. Dadurch, daß die Extrapolation zu Beginn eines neuen Extrapolationsintervalls 5 immer von dem zuletzt berechneten Datum xnetz,i-1(tup,i) ausgeht, resultiert der dargestellte Verlauf der berechneten Daten xnetz(t) nach Art eines Polygonzuges.
  • 2 stellt eine die lineare Extrapolation anwendende Verfahrensvariante dar, bei der der Extrapolationsdatensatz neben dem Aktualisierungszeitpunkt tup,i und der Soll-Datenänderungsgeschwindigkeit x'soll,i auch das Soll-Datum xsoll,i(tup,i) im Aktualisierungszeitpunkt tup,i umfaßt, wobei die lineare Extrapolation ausgeht von dem vorgegebenen Soll-Datum xsoll,i, zum Aktualisierungszeitpunkt tup,i.
  • Die zuvor allgemein beschriebene Anpassung des Extrapolationsdatensatzes zur Erzielung des Kurvenverlaufs der Daten xnetz,i(t) gemäß 3 besteht im Falle der linearen Extrapolation in der einfachen Berechnung einer Geradengleichung, die durch die beiden Punkte xnetz,i-1 zum Aktualisierungszeitpunkt (tup,i) und xnetz,i zum Zeitpunkt tup,i+1 verläuft. Die Anpassung des Extrapolationsdatensatzes besteht also in der Berechnung einer neuen Soll-Datenänderungsgeschwindigkeit x ~'soll,i , die von dem Master-Gerät 2 bzw. dem Soll-Gerät 3 berechnet, gespeichert und mit Beginn des Extrapolationsintervalls 5 verwendet wird.
  • Die Herkunft des Extrapolationsdatensatzes auf dem Master-Gerät 2 – vor Versendung des Extrapolationsdatensatzes zu dem Slave-Gerät 3 – kann sehr unterschiedlich sein; beispielsweise kann der Extrapolationsdatensatz für das nächste Extrapolationsintervall vollständig auf dem Master-Gerät berechnetwerden, genauso kann der Extrapolationsdatensatz dem Master-Gerät 2 – zumindest teilweise – von extern mitgeteilt werden.
  • Bei den den 1 bis 3 zugrundeliegenden Verfahren wird dem Master-Gerät 2 die Soll-Datenänderungsgeschwindigkeit x'soll,i von extern mitgeteilt, was grundsätzlich vor den Sendezeitpunkten tsend,i geschieht. Daraufhin berechnet das Master-Gerät 2 den nächsten Aktualisierungszeitpunkt tup,i. Dies ist dann besonders einfach, wenn die Aktualisierungszeitpunkte tup,i wie in den 1 bis 3 dargestellt, gleichmäßig beabstandet sind. Bei der Berechnung des nächsten Aktualisierungszeitpunktes tup,i können jedoch auch Faktoren einfließen wie die maximale/geschätzte Zeitdauer zur Berechnung des Extrapolationsdatensatzes und die maximale/geschätzte Latenzzeit bis zur Übertragung des Extrapolationsdatensatzes und die maximale/geschätzte Übermittlungsdauer des Extrapolationsdatensatzes inklusive einer möglicherweise notwendigen Fehlerkorrektur. Wenn das Master-Gerät 2 den nächsten Aktualisierungszeitpunkt tup,i bestimmt hat, kann das Master-Gerät 2 durch einfache Berechnung einer Geradengleichung das nächste Soll-Datum xsoll,i für die Daten xnetz,i im nächsten Aktualisierungszeitpunkt tup,i berechnen und so den Extrapolationsdatensatz vervollständigen.
  • 4 zeigt das mit einem Ausführungsbeispiel des Verfahrens gewonnene Ergebnis für die Berechnung und synchrone Bereitstellung der Daten xnetz, die nicht auf linearer Extrapolation beruht. Die Extrapolation gemäß 4 beruht auf der Verwendung von Polynomen höherer Ordnung als Extrapolationsfunktionen, wobei die Polynome hier abschnittsweise so berechnet werden, daß sie an den Übergängen zu benachbarten Extrapolationsintervallen stetig sind in bezug auf die Funktion selbst und auch zusätzlich in bezug auf ihre erste und zweite zeitliche Ableitung; solche Polynome werden üblicherweise als Splines bezeichnet.
  • In 5 ist ein Netzwerk 1 dargestellt, mit dem grundsätzlich alle zuvor beschriebenen Ausführungsbeispiele des erfindungsgemäßen Verfahrens ausführbar sind.
  • Zur Bereitstellung einer gemeinsamen synchronen Systemzeit t auf dem Master-Gerät 2 und dem Slave-Gerät 3 weisen beide Geräte jeweils eine Systemuhr 7 auf, die beide miteinander synchronisiert sind. Das Master-Gerät 2 und das Slave-Gerät 3 umfassen je einen Extrapolationsdatensatz-Speicher 8 zur Speicherung eines Extrapolationsdatensatzes mit zumindest einem Aktualisierungszeitpunkt tup,i, eine Extrapolations-Durchführungseinheit 9 zur synchronen Berechnung und Bereitstellung von Daten xnetz,i(t) auf Grundlage des Extrapolationsdatensatzes und eine Aktualisierungseinheit 10, die der Extrapolations-Durchführungseinheit 9 signalisiert, wann ein neues Extrapolationsintervall beginnt und daher der aktuelle, im Extrapolationsdatensatz-Speicher 8 vorgehaltene Extrapolationsdatensatz der weiteren Extrapolation zugrundegelegt werden soll. Neben diesen Komponenten umfaßt das Master-Gerät 2 zusätzlich eine Extrapolations-Planungseinheit 11 zur – zumindest teilweisen – Berechnung des Extrapolationsdatensatzes und/oder zur Bereitstellung des Extrapolationsdatensatzes im Extrapolationsdatensatz-Speicher 8 des Mastergeräts 2 und des Slave-Geräts 3, wobei der Extrapolationsdatensatz vom Master-Gerät 2 zum Slave-Gerät 3 über den Datenkanal 4 übermittelbar ist. In dem Ausführungsbeispiel gemäß 5 werden auch die Systemuhren 7 über den Datenkanal 4 synchronisiert.
  • In dem Ausführungsbeispiel gemäß den 5 und 6 weist das Master-Gerät 2 ferner eine weitere externe Schnittstelle 12 auf, über die es über einen weiteren Datenkanal 13 Daten von einem weiteren elektronischen Gerät 14 emp fangen kann, im vorliegenden Fall Extrapolationsdaten für den Extrapolationsdatensatz.
  • Die Extrapolations-Durchführungseinheit 9 des Master-Geräts 2 und/oder des Slave-Geräts 3 sind jeweils so ausgestaltet, daß die im Rahmen der zuvor geschilderten Ausführungsbeispiele des erfindungsgemäßen Verfahrens durchgeführten Extrapolationen auf dem Master-Gerät 2 und/oder dem Slave-Gerät 3 durchführbar sind (Verfahren gemäß 1 und 4). Folglich ist die Extrapolations-Durchführungseinheit 9 in einem Ausführungsbeispiel so ausgestaltet, daß die von ihr vornehmbare Extrapolation ausgeht von dem letzten zuvor von ihr berechneten Datum xnetz,i-1(tup,i) im vorangehenden Extrapolationsintervall 5. In einem weiteren Ausführungsbeispiel umfaßt der im Extrapolationsdatensatz-Speicher 8 des Master-Geräts 2 und/oder des Slave-Geräts 3 ablegbare Extrapolationsdatensatz ein Soll-Datum xsoll,i der Daten xnetz,i,(t) im Aktualisierungszeitpunkt tup,i, wobei die von der Extrapolations-Durchführungseinheit 9 des Master-Geräts 2 und/oder des Slave-Geräts 3 vornehmbarer Extrapolation im Aktualisierungszeitpunkt tup,i von dem Soll-Datum xsoll,i ausgeht (Verfahren gemäß 2).
  • Zur Durchführung des Verfahrens gemäß 3 ist die Extrapolations-Durchführungseinheit 9 des Master-Geräts 2 und/oder des Slave-Geräts 3 so ausgestaltet, daß eine Abweichung 6 zwischen dem berechneten Datum xnetz,i-1 (tup,i) und dem im Extrapolationsdatensatz-Speicher 8 des Master-Geräts 2 und/oder des Slave-Geräts 3 abgelegten Soll-Datum xsoll,i erkannt wird und daß bei einer erkannten Abweichung 6 eine Anpassung des Extrapolationsdatensatzes derart vornehmbar ist, daß das am Ende des aktuellen Extrapolationsintervalls 5 berechnete Datum xnetz,i(tup,i+1) im wesentlichen dem Wert entspricht, der bei regulärer Berechnung im abweichungsfreien Fall ohne Anpassung der Extrapolationsdaten zu erwarten gewesen wäre.
  • In dem in 5 dargestellten Ausführungsbeispiel ist die Extrapolationsdurchführungs-Einheit 9 des Master-Geräts 2 und/oder des Slave-Geräts 3 auf einen bestimmten Funktionstyp für die Durchführung der Extrapolation fest gelegt. Mit dem im Extrapolationsdatensatz enthaltenen Angaben wird die Extrapolationsfunktion daher lediglich parametriert. In einem anderen Ausführürungsbeispiel ist die Extrapolations-Durchführungseinheit 9 hinsichtlich der in jedem neuen Extrapolationsintervall 5 zu verwendenden Extrapolationsfunktion frei programmierbar, so daß die Extrapolationsfunktion über geeignete Angaben im Extrapolationsdatensatz frei vorgebbar ist.
  • In einem weiteren Ausführungsbeispiel ist das Netzwerk gemäß 5 bzw. die Extrapolations-Durchführungseinheiten 9 des Master-Geräts 2 und/oder des Slave-Geräts 3 so ausgestaltet, daß als Extrapolationsfunktionstyp Polynome verwendbar sind. In diesem Ausführungsbeispiel werden die Polynome von der Extrapolations-Planungseinheit 11 des Master-Geräts 2 so berechnet und im Extrapolationsdatensatz im Extrapolationsdatensatz-Speicher 8 abgelegt, daß die berechneten Daten xnetz(t) an den Übergängen zu benachbarten Extrapolationsintervallen 5 stetig sind und zwar in bezug auf die Funktion selbst und zusätzlich auch in bezug auf deren erste und zweite zeitliche Ableitung (Extrapolation gemäß 4).
  • Bei weiteren Ausführungsbeispielen des Netzwerks 1 nach den 5 und 6 ist in den Extrapolations-Durchführungseinheiten 9 des Master-Geräts 2 und des Slave-Geräts 3 eine lineare Extrapolation implementiert. In einem ersten Ausführungsbeispiel dieser Kategorie wird mit dem Extrapolationsdatensatz auch ein Soll-Datum xsoll,i für die Daten xnetz,i(t) im Aktualisierungszeitpunkt tup,i in dem Extrapolationsdatensatz-Speicher des Master-Geräts 2 und des Slave-Geräts 3 abgelegt, wobei die von den Extrapolations-Durchführungseinheiten 9 durchgeführte lineare Extrapolation der Daten xnetz,i(t) im Aktualisierungszeitpunkt tup,i von dem vorgegebenen Soll-Datum xsoll,i ausgeht. Mit einem derart ausgestalteten Netzwerk 1 werden Kurvenverläufe der berechneten und synchron bereitgestellten Daten xnetz(t) gemäß der Darstellung in 2 erzielt.
  • In einer weiteren Ausgestaltung des Netzwerks auf Grundlage einer linearen Extrapolation nach den 5 und 6 wird dem Master-Gerät 2 die Soll-Datenänderungsgeschwindigkeit x'soll,i von extern mitgeteilt, so daß der nächste Aktualisierungszeitpunkt tup,i von der Extrapolations-Planungseinheit 11 des Master-Geräts 2 berechenbar ist; wobei die Extrapolations-Planungs einheit 11 des Master-Geräts 2 durch Berechnung einer Geradengleichung das nächste Soll-Datum xsoll,i für die Daten xnetz,i(t) im nächsten Aktualisierungszeitpunkt tup,i aus den voranstehenden Informationen berechnet.
  • In dem in 6 dargestellten Netzwerk erhält das Master-Gerät 2 den Extrapolationsdatensatz – zumindest teilweise – über den weiteren Datenkanal 13 von dem als Simulationsrechner ausgebildeten weiteren externen Gerät 14. Der weitere Datenkanal 13 ist auch mit den Slave-Geräten 3 verbunden; diese Verbindung dient zur Übertragung von Daten, insbesondere von I/O-Daten, die nicht durch die Extrapolations-Planungseinheit 11 und die Extrapolations-Durchführungseinheit 9 aufbereitet werden müssen. Das Master-Gerät 2 und die Slave-Geräte 3 sind ferner mit jeweils einem I/O-Datenkanal 16 ausgestattet, der es erlaubt, die Geräte 2, 3 des Netzwerks 1 mit einem beliebigen technisch-physikalischen Prozeß – hier in Form eines Steuergeräts 15 – zu verbinden. Jeder – hier nur als einzige Linie dargestellte – I/O-Datenkanal 16 kann eine Vielzahl von separaten Kanälen umfassen, wie z. B. mehrere Kanäle eines Digital/Analog-Wandlers, eines Analog/Digital-Wandlers, digitale Ein- und Ausgänge, Ausgänge von Leistungstreiberstufen und andere Schnittstellen. Mit umfaßt ist von den einzelnen I/O-Datenkanälen 16 jedenfalls auch eine Signalleitung, über die die von dem Master-Gerät 2 und den Slave-Geräten 3 berechneten und synchron bereitgestellten Daten xnetz(t) nach außen verfügbar gemacht werden.
  • Der Simulationsrechner 14 berechnet im vorliegenden Fall das mathematische Modell eines Verbrennungsmotors. Die Berechnung des Modells erfolgt auf dem Simulationsrechner 14 durch Anwendung numerischer Verfahren, die in einem festen Zeitraster an äquidistanten Stützstellen die Zustandsgrößen des Modells berechnen. Eine der Zustandsgrößen ist beispielsweise die Winkelgeschwindigkeit der Motor-Kurbelwelle. Neben anderen Werten wird auch diese Winkelgeschwindigkeit über den weiteren Datenkanal 13 in dem festen Simulationszeitraster zu dem Master-Gerät 2 als Bestandteil des Extrapolationsdatensatzes übertragen.
  • Die Extrapolations-Planungseinheit 11 des Master-Geräts 2 berechnet unter Berücksichtigung von Berechnungs- und Übertragungszeiten den nächsten Aktualisierungszeitpunkt tup,i und unter Berücksichtigung der aktuell geltenden Soll-Datenänderungsgeschwindigkeit x'soll,i-1 – die der Winkelgeschwindigkeit der Motor-Kurbelwelle im Extrapolationsintervall 5 entspricht, das zum Aktualisierungszeitpunkt tup,i-1 begonnen hat – das Soll-Datum xsoll,i für den erreichten Winkel der Motor-Kurbelwelle im Zeitpunkt tup,i, wobei Winkelangaben über einen Vollwinkel hinaus sowie auch negative Winkel zulässig sind.
  • Die so berechneten Daten bilden den Extrapolationsdatensatz, der nachfolgend von dem Master-Gerät 2 über den gemeinsamen Datenkanal 4 zu den Slave-Geräten 3 übermittelt und dort zum Aktualisierungszeitpunkt tup,i aktiviert wird.
  • Im Ausführungsbeispiel nach 6 wird das Motormodell auf dem Simulationsrechner 14 mit einem Stützstellenabstand von einer Millisekunde in Echtzeit berechnet. Entsprechend wird die berechnete Winkelgeschwindigkeit der Motor-Kurbelwelle ebenfalls im Abstand von einer Millisekunde über den weiteren Datenkanal 13 zu dem Master-Gerät 2 bzw. zu der Extrapolations-Planungseinheit 11 des Master-Geräts 2 übermittelt. Im gleichen Zeitraster ergänzt die Extrapolations-Planungseinheit 11 des Master-Geräts 2 den Extrapolationsdatensatz und überträgt ihn zu dem Extrapolationsdatensatz-Speicher 8 des Master-Geräts 2 und der Slave-Geräte 3.
  • In dem dargestellten Ausführungsbeispiel erfolgt die Berechnung der Daten xnetz(t) auf dem Master-Gerät 2 und den Slave-Geräten 3 mit einer tausendfach höheren Geschwindigkeit, d. h. mit einer Frequenz von einem MHz, so daß in einem Extrapolationsintervall 5 tausend Winkelwerte xnetz(t) der Motor-Kurbelwelle berechnet und synchron von dem Master-Gerät 2 und den Slave-Geräten 3 zur Verfügung gestellt werden. Dies ist im vorliegenden Fall nötig, um eine ausreichend hohe Winkelauflösung zur Stimulierung des Steuergeräts 15 zu erzielen.
  • In einem weiteren, hier nicht dargestellten Ausführungsbeispiel fallen der Datenkanal 4 und der weitere Datenkanal 13 physikalisch und funktional zu einem einzigen Datenkanal zusammen. In diesem Fall werden alle Daten, also auch die Daten, die nicht durch die Extrapolations-Planungseinheit 11 und die Extrapolations-Durchführungseinheit 9 aufbereitet werden müssen, von dem einzigen Datenkanal übertragen, wobei für das Master-Gerät 2 und das Slave-Gerät 3 durch eine Kennung der Daten unterscheidbar ist, welche der Daten zur Verarbeitung über die Extrapolations-Planungseinheit 11 und die Extra potations-Durchführungseinheit 9 vorgesehen sind und welche Daten gleichsam an diesen Einheiten vorbeigeleitet werden.
  • In den in den 5 und 6 dargestellten Ausführungsbeispielen des Netzwerks 1 ist die Funktionalität des Master-Geräts und/oder des Slave-Geräts – zumindest teilweise – durch Verwendung von Field-Programmable-Arrays (FPGA) realisiert; genauso ist es jedoch möglich die Funktionalität des Master-Geräts 2 und/oder des Slave-Geräts 13 beispielsweise durch eine Mikroprozessorschaltung zu realisieren.

Claims (29)

  1. Verfahren zur synchronen Bereitstellung von Daten (xnetz) auf verteilten Geräten eines Netzwerks (1), insbesondere auf Geräten eines verteilten Echtzeitsystems, wobei das Netzwerk (1) mindestens ein Master-Gerät (2), mindestens ein dem Master-Gerät (2) zugeordnetes Slave-Gerät (3) und einen das Master-Gerät (2) und das Slave-Gerät (3) verbindenden Datenkanal (4) aufweist und wobei das Master-Gerät (2) und das Slave-Gerät (3) eine gemeinsame synchrone Systemzeit (t) aufweisen, dadurch gekennzeichnet, daß ein Extrapolationsdatensatz mit zumindest einem in der Zukunft liegenden Aktualisierungszeitpunkt (tup,i), der den Beginn eines Extrapolationsintervalls (5) kennzeichnet, von dem Master-Gerät (2) gespeichert und an das Slave-Gerät (3) übermittelt wird, daß ab dem Aktualisierungszeitpunkt (tup,i) separat auf dem Master-Gerät (2) und dem Slave-Gerät (3) neue Daten (xnetz,i(t)) durch Extrapolation mit Hilfe des sowohl auf dem Master-Gerät (2) als auch auf dem Slave-Gerät (3) vorliegenden Extrapolationsdatensatzes berechnet werden und daß die vorangehenden Verfahrensschritte für anschließende Extrapolationsintervalle (5) wiederholt werden.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Extrapolation auf dem Master-Gerät (2) und/oder dem Slave-Gerät (3) ausgeht von dem letzten innerhalb des vorangehenden Extrapolationsintervalls (5) auf dem jeweiligen Gerät berechneten Wert der Daten (xnetz,i-1(tup,i)).
  3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Extrapolationsdatensatz ein Soll-Datum (xsoll,i) der Daten (xnetz,i(t)) im Aktualisierungszeitpunkt (tup,i) enthält.
  4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß die Extrapolation auf dem Master-Gerät (2) und/oder dem Slave-Gerät (3) im Aktualisierungszeitpunkt (tup,i) ausgeht von dem Soll-Datum (xsoll,i).
  5. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß bei einer Abweichung (6) zwischen dem auf dem Master-Gerät (2) und/oder auf dem Slave-Gerät (3) berechneten Datum (xnetz,i-1(tup,i)) und dem auf dem Master-Gerät (2) und/oder dem Slave-Gerät (3) vorgegebenen Soll-Datum (xsoll,i) auf dem betreffenden Gerät (2, 3) eine Anpassung des Extrapolationsdatensatzes vorgenommen wird, so daß das am Ende des aktuellen Extrapolationsintervalls (5) berechnete Datum (xnetz,i(tup,i+1)) im wesentlichen dem Wert entspricht, der bei regulärer Berechnung im abweichungsfreien Fall ohne Anpassung der Extrapolationsdaten zu erwarten gewesen wäre.
  6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß mit dem Extrapolationsdatensatz eine Extrapolationsfunktion bestimmt wird, daß die Bestimmung der Extrapolationsfunktion durch Angabe von Parametern eines zuvor auf dem Master-Gerät (2) und/oder dem Slave-Gerät (3) festgelegten Funktionstyps durchgeführt wird oder daß auch der Funktionstyp durch den Extrapolationsdatensatz auf dem Master-Gerät (2) und dem Slave-Gerät (3) vorgegeben wird.
  7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß als Funktionstyp Polynome verwendet werden, insbesondere auch solche Polynome, die an den Übergängen zu benachbarten Extrapolationsintervallen stetig sind in Bezug auf die Funktion selbst oder auch zusätzlich in Bezug auf eine oder mehrere ihrer zeitlichen Ableitungen (Splines).
  8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß mit dem Extrapolationsdatensatz eine Soll-Datenänderungsgeschwindigkeit (x'soll,i) der Daten (xnetz,i(t)) übermittelt wird und daß ab dem Aktualisierungszeitpunkt (tup,i) durch lineare Extrapolation neue Daten (xnetz,i(t)) auf dem Master-Gerät (2) und dem Slave-Gerät (3) ermittelt werden, wobei es sich bei der Soll-Datenänderungsgeschwindigkeit (x'soll,i) insbesondere um eine Winkelgeschwindigkeit und bei den Daten (xnetz,i(t)) insbesondere um Winkel handelt.
  9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß mit dem Extrapolationsdatensatz auch ein Soll-Datum (xsoll,i) für die Daten (xnetz,i(t)) im Aktualisierungszeitpunkt (tup,i) übermittelt wird und daß ab dem Aktualisie rungszeitpunkt (tup,i) durch lineare Extrapolation neue Daten xnetz,i(t) auf dem Master-Gerät (2) und dem Slave-Gerät (3) berechnet werden, wobei die Extrapolation ausgeht von dem vorgegebenen Soll-Datum (xsoll,i) für die Daten (xnetz,i(t)) auf dem Master-Gerät (2) und dem Slave-Gerät (3) zum Aktualisierungszeitpunkt (tup,i).
  10. Verfahren nach den Ansprüchen 5 und 9, dadurch gekennzeichnet, daß die Anpassung der Extrapolationsdaten in der Berechnung einer neuen Soll-Datenänderungsgeschwindigkeit (x ~'soll,i ) auf dem Slave-Gerät (3) und/oder dem Master-Gerät (2) besteht in Kenntnis oder unter geeigneter Annahme der Länge des aktuellen Extrapolationsintervalls (5).
  11. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, daß das Master-Gerät (2) – zumindest teilweise – den Extrapolationsdatensatz für das nächste Extrapolationsintervall (5) berechnet und/oder der Extrapolationsdatensatz dem Master-Gerät (2) von extern mitgeteilt wird.
  12. Verfahren nach den Ansprüchen 9 und 11, dadurch gekennzeichnet, daß dem Master-Gerät (2) die Soll-Datenänderungsgeschwindigkeit (x'soll,i) von extern mitgeteilt wird, daß das Master-Gerät (2) den nächsten Aktualisierungszeitpunkt (tup,i) bestimmt oder von extern übernimmt und daß das Master-Gerät (2) durch Berechnung einer Geradengleichung das nächste Soll-Datum (xsoll,i) für die Daten (xnetz,i(t)) im nächsten Aktualisierungszeitpunkt (tup,i) aus den voranstehenden Informationen berechnet.
  13. Netzwerk zur synchronen Bereitstellung von Daten (xnetz) mit einem Master-Gerät (2), wenigstens einem Slave-Gerät (3) und wenigstens einem das Master-Gerät (2) und das Slave-Gerät (3) verbindenden Datenkanal (4), wobei das Master-Gerät (2) und das Slave-Gerät (3) jeweils eine synchronisierte Systemuhr (7) zur Bereitstellung einer gemeinsamen synchronen Systemzeit (t) aufweisen, dadurch gekennzeichnet, daß das Master-Gerät (2) und das Slave-Gerät (3) jeweils umfassen einen Extrapolationsdatensatz-Speicher (8) zur Speicherung eines Extrapolationsdatensatzes mit zumindest einem Aktualisierungszeitpunkt (tup,i), eine Extrapolati ons-Durchführungseinheit (9) zur synchronen Berechnung und Bereitstellung von Daten (xnetz,i(t)) auf Grundlage des Extrapolationsdatensatzes im Extrapolationsdatensatz-Speicher (8) und eine Aktualisiserungseinheit (10) zur Auslösung der Verwendung des Extrapolationsdatensatzes aus dem Extrapolationsdatensatz-Speicher (8) durch die Extrapolations-Durchführungseinheit (9) ab dem Aktualisierungszeitpunkt (tup,i) – Start des aktuellen Extrapolationsintervalles – und daß das Master-Gerät (2) zusätzlich umfaßt eine Extrapolations-Planungseinheit (11) zur – zumindest teilweisen – Berechnung des Extrapolationsdatensatzes und/oder zur Bereitstellung des Extrapolationsdatensatzes im Extrapolationsdatensatz-Speicher (8) des Master-Geräts (2) und des Slave-Geräts (3), wobei der Extrapolationsdatensatz vom Master-Gerät (2) zum Slave-Gerät (3) über den Datenkanal (4) übermittelbar ist.
  14. Netzwerk nach Anspruch 13, dadurch gekennzeichnet, daß das Master-Gerät (2) den Extrapolationsdatensatz – zumindest teilweise – über den Datenkanal (4) oder/und über eine weitere externe Schnittstelle (12) von einem weiteren Datenkanal (13) von einem weiteren elektronischen Gerät (14) empfängt.
  15. Netzwerk nach Anspruch 13 oder 14, dadurch gekennzeichnet, daß die von der Extrapolations-Durchführungseinheit (9) des Master-Geräts (2) und/oder des Slave-Geräts (3) vornehmbare Extrapolation ausgeht von dem letzten innerhalb des vorangehenden Extrapolationsintervalls (5) in der jeweiligen Extrapolations-Durchführungseinheit (9) berechneten Wert der Daten (xnetz,i-1(tup,i)).
  16. Netzwerk nach Anspruch 13 oder 14, dadurch gekennzeichnet, daß der im Extrapolationsdatensatz-Speicher (8) des Master-Geräts (2) und/oder des Slave-Geräts (3) ablegbare Extrapolationsdatensatz ein Soll-Datum (xsoll,i) der Daten (xnetz,i(t)) im Aktualisierungszeitpunkt (tup,i) enthält.
  17. Netzwerk nach Anspruch 16, dadurch gekennzeichnet, daß die von der Extrapolations-Durchführungseinheit (9) des Master-Geräts (2) und/oder des Slave-Geräts (3) vornehmbare Extrapolation im Aktualisierungszeitpunkt (tup,i) ausgeht von dem Soll-Datum (xsoll,i).
  18. Netzwerk nach Anspruch 16, dadurch gekennzeichnet, daß bei einer Abweichung zwischen dem von der Extrapolations-Dürchführungseinheit (9) des Master-Geräts (2) und/oder des Slave-Geräts (3) berechneten Datum (xnetz,i-1(tup,i)) und dem im Extrapolationsdatensatz-Speicher (8) des Master-Geräts (2) und/oder des Slave-Geräts (3) abgelegten Soll-Datum (xsoll,i) auf dem betreffenden Gerät (2, 3) von der Extrapolationsdurchführungs-Einheit (9) eine Anpassung des Extrapolationsdatensatzes vornehmbar ist, so daß das am Ende des aktuellen Extrapolationsintervalls (5) berechnete Datum (xnetz,i(tup,i+1)) im wesentlichen dem Wert entspricht, der bei regulärer Berechnung im abweichungsfreien Fall ohne Anpassung der Extrapolationsdaten zu erwarten gewesen wäre.
  19. Netzwerk nach einem der Ansprüche 13 bis 18, dadurch gekennzeichnet, daß von dem Extrapolationsdatensatz eine Extrapolationsfunktion umfaßt ist, daß die Extrapolationsfunktion durch Angabe von Parametern eines zuvor auf der Extrapolationsdurchführungs-Einheit (9) des Master-Geräts (2) und/oder des Slave-Geräts (3) festgelegten Funktionstyps bestimmt ist oder daß auch der Funktionstyp durch den Extrapolationsdatensatz auf dem Master-Gerät (2) und dem Slave-Gerät (3) vorgebbar ist.
  20. Netzwerk nach Anspruch 19, dadurch gekennzeichnet, daß als Funktionstyp Polynome verwendbar sind, insbesondere solche Polynome, die an den Übergängen zu benachbarten Extrapolationsintervallen (5) stetig sind in Bezug auf die Funktion selbst oder auch zusätzlich in Bezug, auf eine oder mehrere ihrer zeitlichen Ableitungen (Splines).
  21. Netzwerk nach einem der Ansprüche 13 bis 20, dadurch gekennzeichnet, daß mit dem Extrapolationsdatensatz eine Soll-Datenänderungsgeschwindigkeit (x'soll,i) der Daten (xnetz,i(t)) in dem Extrapolationsdatensatz-Speicher (8) des Master-Geräts (2) und des Slave-Geräts (3) abgelegt ist und daß ab dem Aktualisierungszeitpunkt (tup,i) durch lineare Extrapolation neue Daten (xnetz,i(t)) in der Extrapolations-Durchführungseinheit (9) des Master-Geräts (2) und des Slave-Geräts (3) berechenbar sind.
  22. Netzwerk nach Anspruch 21, dadurch gekennzeichnet, daß mit dem Extrapolationsdatensatz auch ein Soll-Datum (xsoll,i) für die Daten (xnetz,i(t)) im Aktualisierungszeitpunkt (tup,i) in dem Extrapolationsdatensatz-Speicher (8) des Master-Geräts (2) und des Slave-Geräts (3) abgelegt ist und daß ab dem Aktualisierungszeitpunkt (tup,i) durch die Extrapolations-Durchführungseinheit (9) des Master-Geräts (2) und des Slave-Geräts (3) neue Daten xnetz,i(t) durch lineare Extrapolation ausgehend von dem vorgegebenen Soll-Datum (xsoll,i) berechenbar sind.
  23. Netzwerk nach Anspruch 22, dadurch gekennzeichnet, daß dem Master-Gerät (2) die Soll-Datenänderungsgeschwindigkeit (x'soll,i) von extern mitgeteilt wird, daß der nächste Aktualisierungszeitpunkt (tup,i) von der Extrapolations-Planungseinheit (11) des Master-Geräts (2) berechenbar oder von extern übernehmbar ist und daß die Extrapolations-Planungseinheit (11) des Master-Geräts (2) durch Berechnung einer Geradengleichung das nächste Soll-Datum (xsoll,i) für die Daten (xnetz,i(t)) im nächsten Aktualisierungszeitpunkt (tup,i) aus den voranstehenden Informationen berechnet.
  24. Netzwerk nach einem der Ansprüche 13 bis 23, dadurch gekennzeichnet, daß das Master-Gerät (2) den Extrapolationsdatensatz – zumindest teilweise – über die weitere externe Schnittstelle (12) von einem weiteren externen elektronischen Gerät (14), insbesondere von einem Simulationsrechner, in bestimmten – vorzugsweise periodischen – Zeitintervallen empfängt und daß die Extrapolations-Planungseinheit (11) durch Berechnung einer Geradengleichung das nächste Soll-Datum (xsoll,i) im nächsten Aktualisierungszeitpunkt (tup,i) aus den voranstehenden Informationen berechnet.
  25. Netzwerk nach einem der Ansprüche 13 bis 24, dadurch gekennzeichnet, daß die Erneuerungsrate des Extrapolationsdatensatzes zur Berechnungsrate der Daten (xnetz,i(t)) durch die Extrapolations-Durchführungseinheit höchstens im Verhältnis 1 zu 2, vorzugsweise im Verhältnis kleiner als 1 zu 1000 steht.
  26. Netzwerk nach einem der Ansprüche 13 bis 25, dadurch gekennzeichnet, daß das Master-Gerät (2) und/oder das Slave-Gerät (3), insbesondere die Extrapolations-Durchführungseinheit (9) und/oder die Extrapolations-Planungs einheit (11) als Field-Programmable-Arrays (FPGA) oder als Teil einer Mikroprozessorschaltung realisiert sind.
  27. Netzwerk nach einem der Ansprüche 13 bis 26, dadurch gekennzeichnet, daß das Master-Gerät (2) und das Slave-Gerät (3) identisch als universelles Master-Slave-Gerät aufgebaut sind und das universelle Master-Slave-Gerät hardware- und/oder softwaremäßig als Master-Gerät (2) oder Slave-Gerät konfigurierbar ist.
  28. Verwendung des Verfahrens nach Anspruch 1 oder des Netzwerks nach Anspruch 13 zur winkelsynchronen Bereitstellung und/oder Messung von Daten durch ein Master-Gerät (2) und wenigstens ein zugeordnetes Slave-Gerät (3).
  29. Verwendung nach Anspruch 28, dadurch gekennzeichnet, daß es sich bei den Winkeln um Positionsinformationen rotierender Bestandteile eines realen und/oder simulierten Motors handelt, insbesondere im Rahmen des Rapid-Control-Prototyping, einer Hardware-in-the-Loop-Simulation oder der Steuergeräte-Kalibrierung.
DE102005039450A 2005-08-18 2005-08-18 Verfahren und Netzwerk zur synchronen Bearbeitung und Bereitstellung von Daten Active DE102005039450B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102005039450A DE102005039450B4 (de) 2005-08-18 2005-08-18 Verfahren und Netzwerk zur synchronen Bearbeitung und Bereitstellung von Daten

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102005039450A DE102005039450B4 (de) 2005-08-18 2005-08-18 Verfahren und Netzwerk zur synchronen Bearbeitung und Bereitstellung von Daten

Publications (2)

Publication Number Publication Date
DE102005039450A1 true DE102005039450A1 (de) 2007-04-26
DE102005039450B4 DE102005039450B4 (de) 2008-04-30

Family

ID=37905036

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005039450A Active DE102005039450B4 (de) 2005-08-18 2005-08-18 Verfahren und Netzwerk zur synchronen Bearbeitung und Bereitstellung von Daten

Country Status (1)

Country Link
DE (1) DE102005039450B4 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016108569B4 (de) * 2016-05-10 2024-02-22 Dspace Gmbh Verfahren und Vorrichtung zum Austausch von Daten
US11255909B2 (en) 2016-05-30 2022-02-22 Dspace Digital Signal Processing And Control Engineering Gmbh Method for synchronizing a checking apparatus, and a checking apparatus and a composite system comprising at least two checking apparatuses
DE102016006361A1 (de) 2016-05-30 2017-11-30 Dspace Digital Signal Processing And Control Engineering Gmbh Überprüfungsvorrichtung
DE102018127602A1 (de) 2018-11-06 2020-05-07 Dspace Digital Signal Processing And Control Engineering Gmbh Rechnernetz mit einem ersten und einem zweiten Synchronsignalgeber

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19822211A1 (de) * 1998-05-18 1999-11-25 Daimler Chrysler Ag Verfahren zur Reduktion des Datendurchsatzes bei der Übertragung von objektbezogenen Daten zwischen innerhalb von Zeitbedingungen kommunizierenden Rechenelementen
DE10059270A1 (de) * 2000-11-29 2002-06-06 Heidelberger Druckmasch Ag Vorrichtung und Verfahren zur Synchronisation von an mehreren Einheiten ablaufende Prozesse

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19822211A1 (de) * 1998-05-18 1999-11-25 Daimler Chrysler Ag Verfahren zur Reduktion des Datendurchsatzes bei der Übertragung von objektbezogenen Daten zwischen innerhalb von Zeitbedingungen kommunizierenden Rechenelementen
DE10059270A1 (de) * 2000-11-29 2002-06-06 Heidelberger Druckmasch Ag Vorrichtung und Verfahren zur Synchronisation von an mehreren Einheiten ablaufende Prozesse

Also Published As

Publication number Publication date
DE102005039450B4 (de) 2008-04-30

Similar Documents

Publication Publication Date Title
DE102010037221A1 (de) Verfahren und Geräte zum Angleichen einer Regelkreiszeiteinstellung in einem Prozessregelsystem
EP2759096B1 (de) Verfahren und vorrichtung zum koppeln eines ersten sensors mit zumindest einem zweiten sensor
DE102005039450B4 (de) Verfahren und Netzwerk zur synchronen Bearbeitung und Bereitstellung von Daten
EP2544388B1 (de) Verfahren zur Arbeitstakt- und Zeittaktsynchronisation in einem Automatisierungsnetzwerk
EP2299614B1 (de) Vorrichtung und Verfahren zur Zeitsynchronisation in einem Kommunikationsnetz
EP3603010B1 (de) Verfahren und korrespondierendes system zur datenübertragung von einem gerät an ein datenverwaltungsmittel
DE102004010003A1 (de) Automatisierungssystem und Verfahren zur Erkennung und Korrektur von Anschlussfehlern
EP1850195B1 (de) Verfahren und Vorrichtung zum Testen eines Motorsteuergeräts sowie hierfür geeignetes Motorsteuergerät
EP2693280B1 (de) Straßenbaumaschine mit Messsystem und Messverfahren
WO2015139828A1 (de) Verfahren zur erfassung einer zeitlich veränderlichen physikalischen messgrösse und korrespondierende messeinrichtung und messwert-verarbeitungsvorrichtung
DE102005025529A1 (de) Verfahren zur Steuerung der Zugriffszeiten auf einen Systembus und Kommunikationsmodul
EP1185843B1 (de) Messumformer
DE102016205301B4 (de) Verfahren und Vorrichtung zum Regeln einer elektrischen Maschine
EP3244325B1 (de) Verfahren zur zeitlich synchronisierten ausgabe und/oder zeitlich synchronisierten verarbeitung von signalen
DE102004058621B4 (de) Verfahren zum Ermitteln von Größen in einem Motorsteuergerät
DE102019111768A1 (de) Verfahren, elektronische Steuereinheit und System, die eine Sensorschnittstelle verwenden
EP1546658B1 (de) Verfahren zum betrieb einer positionsmesseinrichtung und geeignete positionsmesseinrichtung hierzu
EP3091685B1 (de) Vorrichtung und verfahren zur verarbeitung von seriellen datenrahmen
DE102004012506B4 (de) Verfahren zur Erfassung von Signalen in einer zentralen Erfassungseinheit
EP0831301B1 (de) Schaltungsanordnung und Verfahren zur Erzeugung mehrerer Analogsignale
DE102005061947B4 (de) Synchronisationsverfahren sowie entsprechende Vorrichtung und Digitalschaltung und ein Automat zur Synchronisation einer Digitalschaltung
WO2022263152A1 (de) Einrichtung und verfahren zum rechnergestützten überwachen zweier zeitbasen von zwei kommunikationseinrichtungen
DE102019130642B4 (de) Verfahren zur Notunterbrechung der Generierung eines EPM-Microticks mittels eines direkten Speicherzugriffs
DE102018100427B4 (de) Synchronisationsmechanismus für Hochgeschwindigkeitssensorschnittstelle
EP2169831B1 (de) Verfahren und Korrekturvorrichtung zur Korrektur eines Offsetfehlers eines Signalwandlers

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
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