[0001] Die gegenständliche Erfindung betrifft ein Verfahren und eine Vorrichtung zur Verarbeitung
von Daten oder Signalen mit unterschiedlichen Synchronisationsquellen in einer Verarbeitungseinrichtung.
[0002] In einer Verarbeitungseinrichtung, insbesondere in einem Mess-, Prüf- oder Steuergerät
für den Antriebstrang oder Komponenten davon, wie z.B. ein Automatisierungssystem,
eine Steuerungseinrichtung oder eine Messdatenauswerte- oder-aufzeichnungseinheit,
ist es oftmals erforderlich Messdaten aus unterschiedlichen Quellen miteinander zu
verknüpfen. Messdaten aus unterschiedlichen Quellen können dabei zu unterschiedlichen
Taktquellen synchronisiert sein, z.B. durch eine Abtastung und Digitalisierung. Um
unterschiedlich synchronisierte Messdaten nun in einer übergeordneten Verarbeitungseinrichtung
untereinander oder miteinander verknüpfen zu können, ist es erforderlich, den zeitlichen
Bezug der Messdaten beizubehalten oder die jeweiligen Messdaten zeitlich miteinander
in Bezug zu setzen. Das kann also z.B. bedeuten, ein Messdatum einer Quelle mit einer
ersten Taktquelle mit dem zeitlich zugehörigen Messdatum einer Quelle mit einer zweiten
Taktquelle miteinander zu verknüpfen. Stimmt der zeitliche Bezug der beiden Messdaten
nicht, so wird die Verknüpfung dieser beiden Messdaten ein falsches Ergebnis liefern,
da Messdaten verknüpft werden, die nicht zum gleichen Zeitpunkt (von einer globalen
Absolutzeit betrachtet) entstanden sind. Weiters muss der zeitliche Bezug von Messdaten
einer Quelle mit einer Taktquelle auch in der übergeordneten Verarbeitungseinrichtung
beibehalten werden, um zu gewährleisten, dass diese untereinander zeitlich korrekt
verknüpft werden können. Bisher wurden solche Messdaten so miteinander in Bezug gesetzt,
dass die Messdaten einer Quelle zur anderen Quelle synchronisiert worden sind, wobei
aber der Bezug zur ursprünglichen Synchronisationsquelle verloren ging. Eine andere
bekannte Möglichkeit ist, die Quelle selbst zu synchronisieren, z.B. ein Bussystem
auf das andere zu synchronisieren, was aber nicht immer möglich ist.
[0003] Um z.B. die dynamischen Vorgänge verstehen zu können, die für die emissionsoptimierte
Auslegung von motorischen Funktionen, z.B. auf einem Motorprüfstand, notwendig sind,
ist es z.B. erforderlich, Messdaten aus unterschiedlichen, getrennten Geräten, ausgestattet
mit unterschiedlichen Datenerfassungseinrichtungen und Bussystemen, zusammenzufassen,
zu synchronisieren und mit genauer zeitlicher Zuordnung auszuwerten. Das gelingt zurzeit
nur unvollkommen und macht insbesondere bei der Emissionsoptimierung dynamischer Vorgänge
erhebliche Schwierigkeiten. Eine besondere Bedeutung kommt dabei den Daten aus Motorsteuerungen
(ECU) zu, die mit anderen hochgenau erfassten Prüfstandsdaten zeitlich in Einklang
gebracht werden müssen. Die Problematik liegt dabei in den bei ECU Systemen durch
die eingesetzten Bussysteme auftretenden Zeitverzögerungen, die nicht reduziert werden
können.
[0004] Auch sind aktuelle Automatisierungssysteme den zukünftigen Anforderungen moderner
Prüfstände in Bezug auf die Vereinheitlichung mehrerer Zeit-Server (z.B. Active-Directory
Time Server, mehrere Prüfstandsysteme als Time-Master, oder Datenbusse mit zueinander
asynchronen Taktquellen) nur bedingt gewachsen.
[0005] Beispiel: Ein synchrones System, genannt System A, umfasst unter Anderem mehrere
elektronische Control-Units (ECU) an einem Flexray-Netzwerk. System A könnte z.B.
zur Steuerung eines Powerpacks (Motor + Getriebe) dienen. Knoten (also z.B. Komponenten,
die in diesem Netzwerk hängen) in diesem System sind zueinander streng synchronisiert
und die Taktquelle ist meist eine bestimmte ECU. Ein Synchronisieren dieses Systems
auf einen anderen Takt, z.B. eine externe Taktquelle, ist unerwünscht oder gar unmöglich.
Ein zweites System, genannt System B, wäre beispielsweise ein Echtzeit-Ethernet-Netzwerk
mit Mess- und Regeltechnik am Prüfstand. Dieses System B ist wiederum in sich streng
synchronisiert, aber mit keinerlei zeitlichem Zusammenhang zum Flexray-Netzwerk von
System A. Eine Quer-Synchronisation der Takte zwischen diesen Systemen ist daher nicht
möglich. Trotzdem müssen unter Umständen Daten oder Signale aus den verschiedenen,
zueinander nicht synchronen Systemen miteinander zeitlich korrekt (also z.B. bezogen
auf eine absolute Zeit) verknüpft werden. Dabei muss aber das ursprüngliche Signal
oder Datum im zugehörigen System natürlich auch mit der ursprünglichen Synchronisation
bestehen bleiben, da es auch in diesem System benötigt werden kann.
[0006] Es ist daher eine Aufgabe, ein Verfahren und eine Vorrichtung zur Verarbeitung von
Signalen mit unterschiedlichen Synchronisationsquellen in einer Verarbeitungseinrichtung
anzugeben, mit dem problemlos Daten oder Signale unterschiedlicher Synchronisationsquellen
verarbeitet werden können, ohne den ursprünglichen zeitlichen Bezug zu verlieren.
[0007] Diese Aufgabe wird für das Verfahren und die Vorrichtung erfindungsgemäß dadurch
gelöst, dass in der Verarbeitungseinrichtung für jede Synchronisationsquelle eine
Zeitebene eingeführt wird, wobei in jeder Zeitebene als Quelltakt der Takt der Synchronisationsquelle
verwendet wird und die dieser Synchronisationsquelle zugeordneten Daten oder Signale
in der zugehörigen Zeitebene synchron mit dem Quelltakt der Synchronisationsquelle
behandelt werden, also eingelesen und/oder verarbeitet und/oder ausgegeben werden.
Im Gegensatz zu herkömmlichen Methoden wird hier nun nicht versucht, verschiedene
unabhängige Systeme zueinander oder auf eine bestimmte Taktquelle zu synchronisieren.
Dies wäre aufgrund der Eigenständigkeit dieser Systeme auch nicht gewünscht und nicht
möglich. Die zeitlichen Bezüge der Daten und Signale bleiben in der zugehörigen Zeitebene
vielmehr erhalten und können innerhalb der Zeitebene ebenfalls unter Beibehaltung
des zeitlichen Bezugs auch einfach miteinander verknüpft werden. Es ist mit diesem
Verfahren auch möglich, Signale mit unterschiedlich starkem zeitlichen Jitter, oder
sogar Echtzeit- und Nicht-Echtzeit-Signale in einer Verarbeitungseinrichtung zu integrieren,
ohne den zeitlichen Ursprungsbezug zu verlieren. Dieses Verfahren ist dabei auch unabhängig
von der jeweiligen Taktrate des betrachteten Systems und kann damit (auch gleichzeitig)
sowohl azyklisch als auch zyklisch synchrone Systeme verarbeiten. Man könnte das Konzept
daher auf eine beliebige Anzahl in sich synchroner, aber zu den anderen Systemen asynchroner
Systeme erweitern.
[0008] Neben zyklischer Synchronität (d.h. gleichbleibende Taktzeiten der Taktquelle) ist
es beim erfindungsgemäßen Verfahren auch denkbar, zeitlich gesehen azyklische, aber
trotzdem in sich synchronisierte Systeme zu verwenden. In diesem Fall wäre die Zykluszeit
variabel, sie wäre aber wiederum für alle Knoten innerhalb eines Systems gleich. Ein
Anwendungsbeispiel wäre eine Messdatenerfassung basierend auf einer vom Kurbelwinkel
eines Verbrennungsmotors abhängigen Synchronisation, bei der abhängig von der Drehzahl
also unterschiedliche Taktzeiten auftreten.
[0009] Zwei Signale unterschiedlicher Zeitebenen können erfindungsgemäß aber auch miteinander
verknüpft werden, indem ein Signal in die Zeitebene des anderen Signals importiert
wird und damit der zeitliche Bezug zur Zeitebene, in die importiert wird, hergestellt
wird. Die beiden Signale, die nach dem Importieren dieselbe Zeitbasis haben, können
einfach und zeitlich korrekt verknüpft werden. Das Importieren kann vorteilhaft entweder
durchgeführt werden, indem das zu importierende Signal im Quelltakt der Zeitebene,
in die es importiert werden soll, abgetastet wird oder indem das zu importierende
Signal auf den Quelltakt der Zeitebene, in die es importiert werden soll, interpoliert
wird.
[0010] Bevorzugt wird in einer Zeitebene eine lokale Absolutzeit gebildet, um zeitabhängige
Funktionen, wie z.B. eine Integration, durchführen zu können. Eine lokale Absolutzeit
lässt sich einfach gemäß der Beziehung TZ = t
0 + TCM * CMT bilden, wobei TZ die lokale Absolutzeit, t
0 eine Startzeit, T
CM eine Zeitkonstante und CMT die Anzahl der seit dem Startzeitpunkt vergangen Takte
angibt.
[0011] Daten oder Signale einer ersten Zeitebene können besonders einfach und vorteilhaft
in eine zweite Zeitebene importiert werden, indem die lokale Absolutzeit der ersten
Zeitebene in die lokale Absolutzeit der zweiten Zeitebene konvertiert wird.
[0012] Die lokale Absolutzeit der ersten Zeitebene wird bevorzugt in die lokale Absolutzeit
der zweiten Zeitebene konvertiert, indem die Zeitkonstante der ersten Zeitebene an
die lokale Absolutzeit der zweiten Zeitebene angepasst wird. Damit erreicht man eine
laufende Anpassung und es ergibt sich daraus eine adaptive Umrechnung der lokalen
ersten Absolutzeit in eine zweite Absolutzeit. Diese Umrechnung ist damit auch in
der Lage, mit Unstetigkeiten, wie z.B. Zeitsprünge, in der Absolutzeit fertig zu werden,
da in einem solchen Fall die Umrechnung durch die Anpassung einfach nachgezogen wird.
Besonders einfach und vorteilhaft erfolgt die Anpassung gemäß der Beziehung T
CM = (TZ
TL2 - t
0)/CMT.
[0013] Eine besonders einfache Konvertierung erhält man bereits, indem die Startzeit der
Absolutzeit zu Beginn auf die aktuelle lokale Absolutzeit der Zeitebene, in die importiert
wird, gesetzt wird. Diese Konvertierung funktioniert zwischen Zeitebenen mit gleichen
Zeitkonstanten besonders gut. Für Zeitebenen mit ungleichen Zeitkonstanten funktioniert
diese Umrechnung zumindest für kurze Zeiträume. Ansonsten kann in diesem Fall auch
die Anpassung der Zeitkonstanten zusätzlich durchgeführt werden.
[0014] Die gegenständliche Erfindung wird im nachfolgenden anhand der schematischen und
ein vorteilhaftes Ausführungsbeispiel zeigenden Figur 1 beschrieben.
[0015] Fig. 1 zeigt eine Verarbeitungseinrichtung 1, die über bestimmte Eingabeschnittstellen
2 eine Reihe von Signalen oder Daten von unterschiedlichen Signal- oder Datenquellen
20, 21 empfängt, z.B. von einer ersten Signal- oder Datenquelle 20, z.B. ein Netzwerk
mit einer Reihe von Steuereinrichtungen, die Signale oder Daten S1.1, S1.2 bis S1.m
senden, und von einer zweiten Signal- oder Datenquelle 21, z.B. ein Netzwerk mit Mess-
und Regeltechnik, die Signale oder Daten Sn.1 bis Sn.m senden, z.B. Messdaten. Jede
Signal- oder Datenquelle 20, 21 hat dabei eine eigene interne (wie z.B. ein Taktgeber)
oder externe (wie z.B. der Takt eines Datenbus) Synchronisationsquelle SS1, SSn, wie
z.B. eine Taktquelle, auf die sämtliche Signale oder Daten, die von dieser Signal-
oder Datenquelle 20, 21 erzeugt werden, synchronisiert sind. Diese Synchronisationsquellen
SS1, SSn stehen dabei in der Regel in keinem zeitlichen Bezug zueinander. Für die
Anwendung der Erfindung können natürlich beliebig viele solcher Signal- oder Datenquellen
20, 21 mit zugehöriger Synchronisationsquelle SS1, SSn vorhanden sein. Auch ist es
denkbar, dass mehrere Signal- oder Datenquelle 20, 21 dieselbe Synchronisationsquelle
haben, womit die Signale oder Daten dieser Signal- oder Datenquellen 20, 21 in der
Verarbeitungseinrichtung 1 bzgl. der zeitlichen Synchronisation gleich behandelt werden
können.
[0016] Die Verarbeitungseinrichtung kann z.B. ein Steuergerät für den Motor (ECU), das Getriebe,
den Antriebstrang oder das gesamte Fahrzeug sein, oder auch ein Prüfstandsmessgerät
oder ein Prüfstandsautomatisierungssystem oder-regelungssystem, das Daten oder Signale
von unterschiedlichen Quellen mit unterschiedlicher Synchronität erhält.
[0017] Um die Signale bzw. Daten der unterschiedlichen Signal- oder Datenquellen 20, 21
in der Verarbeitungseinrichtung 1 unter Beibehaltung der jeweiligen zeitlichen Synchronisation
zur eigenen Synchronisationsquelle SS1, SSn verarbeiten zu können, wird in der Verarbeitungseinrichtung
1 für jede Synchronisationsquelle SS1 ... SSn eine eigene Zeitebene TL1, TLn in der
Verarbeitungseinrichtung 1 eingeführt. Alle Daten bzw. Signale S1, Sn einer bestimmten
Synchronisationsquelle SS1, SSn werden in der zugehörigen Zeitebene TL1, TLn synchron
mit dem "Quell-Takt" der Synchronisationsquelle SS1, SSn der dazugehörigen Signal-
oder Datenquelle 20, 21 eingelesen, verarbeitet und/oder ausgegeben. Dazu erfolgt
der Signal- oder Datenfluss zwischen der Signal- oder Datenquelle 20, 21 und der Verarbeitungseinrichtung
1 vorteilhaft zeitlich synchron mit der jeweiligen Signal- oder Datenquelle 20, 21,
um hier keinen Zeitfehler zu generieren.
[0018] Selbstverständlich kann auch eine Zeitebene mit der Synchronisationsquelle SSv der
Verarbeitungseinrichtung 1 gebildet werden. Damit können z.B. Daten und Signale S1,
Sn auch bezogen auf die Synchronisationsquelle SSv der Verarbeitungseinrichtung 1
behandelt werden, also eingelesen, aufgezeichnet, verarbeitet oder ausgegeben werden.
[0019] Die unterschiedlichen Zeitebenen TL1, TLn existieren in der Verarbeitungseinrichtung
1 zueinander parallel und idealerweise ohne Abhängigkeiten. In der Praxis können jedoch
Querabhängigkeiten entstehen, z.B. wenn die Hardware (HW) und Software (SW) in der
Verarbeitungseinrichtung 1 nicht beliebig parallelisierbar ist. Z.B. durch entsprechende
Priorisierung der bearbeitenden Threads in der SW, sowie durch performante Implementierung
oder durch multipler Verarbeitungseinrichtungen (Multiprozessor-/Multicore-Systeme)
kann diese Querabhängigkeit jedoch klein und innerhalb erlaubter Toleranzen gehalten
werden. Eine Querabhängigkeit fällt dann als zeitlicher (vernachlässigbarer) Jitter
in der jeweiligen Zeitebene auf.
[0020] Daten und Signale S1, Sn bleiben in der Verarbeitungseinrichtung 1 stets auf der
Zeitebene TL1, TLn ihrer zugehörigen Synchronisationsquelle SS1, SSn und damit stets
synchron mit ihrem Herkunftssystem. Der zeitliche Bezug der Daten und Signale S1,
Sn bleibt daher immer erhalten. Die Verarbeitungen in der Verarbeitungseinrichtung
1, z.B. Filterung, oder Verknüpfung innerhalb der Zeitebene, erfolgt in der Verarbeitungseinrichtung
1 wiederum synchron in der jeweiligen Zeitebene TL1, TLn. Damit können die Ergebnissignale
oder-daten auch wieder synchron zur zugehörigen Synchronisationsquelle SS1, SSn zurück
ausgegeben werden. Z.B. werden in Fig. 1 die Signal S1.2 und S1.n gemäß einer bestimmten
Funktion f(S1.2, S1.n) miteinander zu einem neuen Signal S1.k verknüpft. Die Funktion
f(S1.2, S1.n) kann dabei eine beliebige mathematische Funktion oder Berechnung sein,
die zur Erzeugung des neuen Signals S1.k benötigt wird. Die Daten S1.1 werden z.B.
in einem Filter 10 gefiltert (z.B. ein Tiefpass) und werden als neues Signal S1.j
ausgegeben. Die neuen Signale S1.k und S1.j sind damit ebenfalls wieder zeitlich synchron
zur zugehörigen Synchronisationsquelle SS1 der Zeitebene TL1. Zusätzliche Latenzzeit
wird damit völlig vermieden, was einen wesentlichen Vorteil in der Regelungstechnik
darstellt. Auch wird ein Phasenfehler durch unterschiedliche Zeitpunkte von Signalabtastung
durch die vollständig synchrone Verarbeitung ausgeschlossen.
[0021] Die gewünschten Manipulationen an den Daten und Signalen S1, Sn kann dabei vorteilhaft
in einer Berechnungseinheit 12 der Verarbeitungseinrichtung 1, z.B. ein Mikroprozessor
oder eine DSP (Digital Signal Processing) -Einheit erfolgen.
[0022] Die Ausgabe von verarbeiteten Signalen oder Daten S1, Sn kann dabei über eine entsprechende
Ausgabeschnittstelle 3 der Verarbeitungseinrichtung 1 erfolgen.
[0023] Bei einer Verknüpfung von Daten oder Signalen S1, Sn unterschiedlicher Signal- oder
Datenquellen 20, 21, also unterschiedlicher Zeitebenen TL1, TLn, innerhalb der Verarbeitungseinrichtung
1 wird erfindungsgemäß die unterschiedliche Synchronität (Phasenlage, Zykluszeit)
der Daten und Signale S1, Sn beachtet und erhalten. Eine solche Verknüpfung erfolgt
dabei wieder vorteilhaft in der Berechnungseinheit 12.
Beispiel:
[0024] Eine Verarbeitung in der Verarbeitungseinrichtung 1 wäre z.B. eine Verknüpfung bzw.
Verrechnung der allgemeinen Form y = f (a, b). Dabei kommt Datum bzw. Signal "a" von
einer ersten Signal- oder Datenquelle A (ist also synchron zu A), und "b" von einer
zweiten Signal- oder Datenquellen B (und damit synchron zu B). Datum oder Signal "y"
kann nun sowohl zu System A zurückgespielt werden (und damit zu A synchronisiert)
als auch zu B, aber auch zu einer dritten Signal- oder Datenquelle C. Die Anzahl der
Signal- oder Datenquellen 20, 21 und der Daten und Signale ist dabei nicht beschränkt.
[0025] Die Verknüpfung von Daten oder Signalen S1, Sn unterschiedlicher Zeitebenen TL1,
TLn geschieht, in dem ein Signal von einer in die andere Zeitebene importiert wird,
aber in der ursprünglichen Zeitebene gleichzeitig weiter existiert. Dieser Import
kann nach verschiedenen Kriterien erfolgen, z.B. durch Abtastung des Ausgangs Signals
oder Datums im Takt der Zielzeitebene, oder aufwändiger durch z.B. Interpolation vom
Quelltakt auf einen Zieltakt und damit Vorausschätzung des neuen Wertes. Bei einer
solchen Interpolation wird z.B. zum Taktzeitpunkt der Zielebene der zeitlich letzte
(jüngste) Wert der Quellebene sowie eine Anzahl k vorherliegender Werte hergenommen,
und daraus über die Zeitdifferenz, die zwischen dem letzten Abtastschritt der Quellebene
und der Erfassungszeit durch die Zielebene liegt, interpoliert.
[0026] Der Import kann in einer Importeinheit erfolgen, die entweder in der Berechnungseinheit
12 implementiert ist, z.B. als Mikroprozessor oder DSP oder auch in Hardware, oder
die Berechnungseinheit 12 selbst ist.
[0027] Die Entscheidung, welches Signal wohin importiert wird, kann von der Verarbeitungseinrichtung
1 automatisch getroffen werden. Maßgeblich kann dabei sein, in welcher Zeitebene die
Ausgabe des Ergebnisses erfolgt. In dieser Zeitebene kann dann auch die Verknüpfung
erfolgen - die Verknüpfung wird also von der dieser Zeitebene zugeordneten Synchronisationsquelle
getriggert.
[0028] In Fig. 1 wird z.B. das Signal S1.k durch die Importeinheit von einer ersten Zeitebene
TL1 in ein Signal Sn.k einer anderen Zeitebene TLn importiert, wie in Fig. 1 durch
den Pfeil von Zeitebene TL1 zur Zeitebene TLn angedeutet. Ab dem Import existiert
das zu importierende Signal S1.k und das importierte Signal Sn.k parallel in beiden
Zeitebenen TL1, TLn, jeweils zeitlich auf die Synchronisationsquelle SS1, SSn bezogen.
In der Zeitebene TLn kann das importierte Signal Sn.k z.B. wieder gemäß einer Funktion
f(Sn.1, Sn.k) zu einem neuen Signal Sn.j verknüpft, das wiederum zur Synchronisationsquelle
SSn der zugehörigen Zeitebene TLn synchronisiert ist.
[0029] Es kann aber natürlich auch sein, dass eine Ausgabe in mehreren Zeitebenen notwendig
ist. In diesem Fall gibt es in jeder dieser Zeitebenen eine Verknüpfung, die jeweils
in der Zeitebene getriggert ist. Die Signale oder Daten werden dabei jeweils in die
andere Zeitebene importiert.
Beispiel:
[0030] y = f(a,b) muss in A und B ausgegeben werden. In der Zeitbene für A wird also 'a'
direkt, 'b' importiert herangezogen und mit einer Rechenfunktion f(a,b) verknüpft.
In der Zeitebene für B wird 'b' direkt, 'a' importiert herangezogen und in einem weiteren
Rechenfunktion f(a,b) ebenfalls verknüpft, nun allerdings synchron zu B.
[0031] Ein Import von Daten oder Signalen S1, Sn von einer Zeitebene in eine andere Zeitebene
kann z.B. auch zur Signaldarstellung, -diagnose oder -logging von Signalen auf oder
zwischen den Zeitebenen erforderlich sein,
[0032] Das Aufzeichnen oder die Anzeige von Werten in der Verarbeitungseinrichtung 1 kann
dabei jeweils synchron zur zugehörigen Zeitebene, oder aber auch "absolut", also bezogen
auf einen absoluten Takt, z.B. einer Synchronisationsquelle SSv der Verarbeitungseinrichtung
1, erfolgen.
[0033] Jede der Zeitebenen TL1, TLn der Verarbeitungseinrichtung 1 kann in sich auch lokale
Absolutzeiten TZ1, TZn bilden, wie in Fig, 1 durch die Zeitstrahlen angedeutet. Das
heißt, dass jede Zeitebene TL1, TLn sozusagen eine lokale Uhr hat. Die lokale Absolutzeit
TZ1, TZn kann dabei z.B. gemäß der Beziehung

gebildet werden. Wobei t
0 eine Startzeit zu Beginn der Taktung der Zeitebene durch Synchronisationsquelle,
CMT die Anzahl der Takte seit Beginn der Taktung und T
CM eine Zeitkonstante der Taktung der Synchronisationsquelle ist. Eine solche Berechnung
ist z.B. für zeitlich zyklische Systeme sinnvoll. Die lokale Absolutzeit TZ kann aber
auch natürlich beliebig anders berechnet werden.
[0034] Jede dieser lokalen Absolutzeiten TZ1, TZn kann aber jederzeit auch in eine andere
lokale Absolutzeit konvertiert werden, z.B. durch eine geeignete Projektion. Durch
eine solche Konvertierung kann natürlich ebenfalls ein Signal oder Datum S1, Sn einer
Zeitebene TL1, TLn in eine andere Zeitebene importiert werden.
[0035] Die Konvertierung der lokalen Absolutzeiten TZ1, TZn ist z.B. bei einer Verbindung
eines Echtzeitsystems, wie z.B. die Datenerfassung eines Prüfstandes in einem Automatisierungssystem
(=Signal- oder Datenquelle), mit einem Nicht-Echtzeitsystem, wie z.B. ein Betriebssystem
(wie z.B. Windows) unter dem die Automatisierungs-SW läuft (=Verarbeitungseinrichtung),
erforderlich. Der Echtzeittakt darf dabei natürlich nicht beeinflusst werden, um eine
korrekte Datenerfassung zu gewährleisten. Andererseits lässt das Betriebssystem unter
Umständen nicht zu, dass die Systemzeit, z.B. ein PC interner Taktgeber oder eine
externe Netzwerk-Zeit, z.B. von einem Windows Active Directory Service, geändert wird.
Trotzdem sind die Signale bzw. Daten dieser beiden Systeme zeitlich miteinander zu
verknüpfen.
[0036] Die lokale Absolutzeit TZ
RT im Echtzeitsystem wird wieder gemäß der obigen Beziehung gebildet, TZ
RT = t
0 + T
CM*CMT. Dabei ist t
0 wieder eine Startzeit zu Beginn der Taktung der zugehörigen Zeitebene durch die zugehörige
Synchronisationsquelle, CMT die Anzahl der Takte seit Beginn der Taktung (z.B. ein
Zählerstand eines Zählers) und T
CM die Zeitkonstante der Taktung des Echtzeitsystems, mit der CMT inkrementiert wird.
[0037] Zur Konvertierung dieser Echtzeit TZ
RT in eine Nicht-Echtzeit TZ
NRT der Nicht-Echtzeit-Zeitebene, wird t
0 zu Beginn auf den aktuellen Wert der Nicht-Echtzeit TZ
NRT gesetzt, also t
0 = TZ
NRT. Die Zeitreferenz für das ganze System (Verarbeitungseinrichtung) ist nun die Nicht-Echtzeit
TZ
NRT. Um die unterschiedlichen Synchronisationsquellen der Echtzeit-Zeitebene und der
Nicht-Echtzeit-Zeitebene zu berücksichtigen, die auch auseinander laufen können, ist
nun auch noch die Zeitkonstante T
CMRT der Echtzeit-Zeitebene an die lokale Absolutzeit der Nicht-Echtzeit-Zeitebene TZ
NRT anzupassen. Diese Anpassung erfolgt z.B. gemäß der Beziehung T
CMRT = (TZ
NRT - t
0) / CMT. Damit kann nun laufend ein Zeitpunkt der Echtzeit-Zeitebene in einen entsprechenden
Zeitpunkt der Nicht-Echtzeit-Zeitebene umgerechnet werden, wobei die Ausgangsdaten
in der Verarbeitungseinrichtung natürlich weiterhin auch in der Echtzeit-Zeitebene,
also synchron mit der Synchronisationsquelle der Echtzeit-Zeitquelle, bestehen bleiben.
[0038] Die Anpassung der Zeitkonstante T
CM erfolgt dabei laufend und es ergibt sich daraus eine adaptive Umrechnung der lokalen
Echtzeit TZ
RT in eine Nicht-Echtzeit TZ
NRT. Diese Umrechnung ist damit auch in der Lage, mit Unstetigkeiten, wie z.B. Zeitsprünge
(z.B. durch die Umstellung von Sommer- auf Winterzeit), der Nicht-Echtzeit TZ
NRT fertig zu werden, da in einem solchen Fall die Umrechnung durch die Anpassung einfach
nachgezogen wird. Die durch die Umrechnung resultierende Zeit steigt dabei trotzdem
streng monoton.
[0039] Die oben beschriebene Konvertierung funktioniert natürlich zwischen jeden beliebigen
Zeitebenen, also nicht nur zwischen einer Echtzeit-Zeitebene und einer Nicht-Echtzeit-Zeitebene,
analog. Dazu muss in den obigen Beziehungen lediglich zur Verallgemeinerung TZ
RT mit dem allgemeinen TZ1 und TZ
NR mit dem allgemeinen TZn, wobei TZ1 und TZn für die Absolutzeit einer beliebigen ersten
und zweiten Zeitebene TL1 und TLn steht, ausgetauscht werden.
[0040] Die obigen Ausführungen zum Konvertieren und Importieren wurden immer nur bezüglich
zwei Zeitebenen gemacht. Selbstverständlich kann das erfindungsgemäße Verfahren aber
auf eine beliebige Anzahl von Zeitebenen erweitert werden. In jede Zeitebene kann
eine beliebige Anzahl von Signalen oder Daten beliebiger anderer Zeitebenen importiert
und verarbeitet werden.
1. Verfahren zur Verarbeitung von Daten oder Signalen mit unterschiedlichen Synchronisationsquellen
in einer Verarbeitungseinrichtung (1), insbesonders in einem Mess-, Prüf- oder Steuergerät
für den Antriebstrang oder Komponenten davon, dadurch gekennzeichnet, dass in der Verarbeitungseinrichtung (1) für jede Synchronisationsquelle (SS1, SSn) eine
Zeitebene (TL1, TLn) eingeführt wird, wobei in jeder Zeitebene (TL1, TL2) als Quelltakt
der Takt der Synchronisationsquelle (SS1, SSn) verwendet wird und die dieser Synchronisationsquelle
(SS1, SSn) zugeordneten Daten oder Signale (S1, Sn) in der zugehörigen Zeitebene (TL1,
TL2) synchron mit dem Quelltakt der Synchronisationsquelle (SS1, SSn) behandelt werden.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass zwei Signale oder Daten (S1, Sn) unterschiedlicher Zeitebenen (TL1, TLn) miteinander
verknüpft werden, indem das Signal oder Datum (S1, Sn) einer ersten Zeitebene (TL1)
in eine zweite Zeitebene (TLn) importiert wird und die Signale oder Daten in dieser
zweiten Zeitebene (TL1, TLn) verknüpft werden.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass das zu importierende Signal oder Datum (S1, Sn) im Quelltakt der Zeitebene (TLn),
in die es importiert werden soll, abgetastet wird.
4. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass das zu importierende Signal oder Datum (S1, Sn) auf den Quelltakt der Zeitebene (TLn),
in die es importiert werden soll, interpoliert wird.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass in einer Zeitebene (TL1, TLn) eine lokale Absolutzeit (TZ1, TZn) gebildet wird.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass eine lokale Absolutzeit (TZ1, TZn) gemäß der Beziehung TZ = t0 + TCM * CMT gebildet wird, wobei TZ die lokale Absolutzeit, t0 eine Startzeit, TCM eine Zeitkonstante der Taktung und CMT die Anzahl der seit dem Startzeitpunkt vergangen
Takte angibt.
7. Verfahren nach Anspruch 5 oder 6, dadurch gekennzeichnet, dass Daten oder Signale (S1, Sn) einer ersten Zeitebene (TL1) in eine zweite Zeitebene
(TLn) importiert werden, indem die lokale Absolutzeit (TZ1) der ersten Zeitebene (TL1)
in die lokale Absolutzeit (TZn) der zweiten Zeitebene (TZn) konvertiert wird.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die lokale Absolutzeit (TZ1) der ersten Zeitebene (TL1) in die lokale Absolutzeit
(TZ2) der zweite Zeitebene (TL2) konvertiert wird, indem die Zeitkonstante (TCM) der ersten Zeitebene (TL1) an die lokale Absolutzeit (TZ2) der zweiten Zeitebene
(TL2) angepasst wird.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass die Anpassung gemäß der Beziehung TCM = (TZ2 - t0)/CMT durchgeführt wird.
10. Verfahren nach einem der Ansprüche 7 bis 9, dadurch gekennzeichnet, dass die Startzeit (t0) zu Beginn auf die aktuelle lokale Absolutzeit (TZ2) der zweiten Zeitebene (TL2)
gesetzt wird.
11. Verarbeitungseinrichtung zur Verarbeitung von Daten oder Signalen von Signal- oder
Datenquellen 20, 21 mit unterschiedlichen Synchronisationsquellen, insbesonders ein
Mess-, Prüf- oder Steuergerät für den Antriebstrang oder Komponenten davon, dadurch gekennzeichnet, dass eine Eingabeschnittstelle (2), über die die Daten oder Signale zuführbar sind, und
eine Berechnungseinheit (12), in der für jede Synchronisationsquelle (SS1, SSn) eine
Zeitebene (TL1, TLn) vorgesehen ist, in der Verarbeitungseinrichtung (1) vorgesehen
sind, wobei in jeder Zeitebene (TL1, TL2) als Quelltakt der Takt der Synchronisationsquelle
(SS1, SSn) verwendet wird und die dieser Synchronisationsquelle (SS1, SSn) zugeordneten
Daten oder Signale (S1, Sn) in der zugehörigen Zeitebene (TL1, TL2) der Berechnungseinheit
(12) synchron mit dem Quelltakt der Synchronisationsquelle (SS1, SSn) behandelbar
sind.
12. Verarbeitungseinrichtung nach Anspruch 11, dadurch gekennzeichnet, dass in der Berechnungseinheit (12) zwei Signale oder Daten (S1, Sn) unterschiedlicher
Zeitebenen (TL1, TLn) miteinander verknüpfbar sind, indem das Signal oder Datum (S1,
Sn) einer ersten Zeitebene (TL1) in eine zweite Zeitebene (TLn) importiert wird und
die Signale oder Daten in dieser zweiten Zeitebene (TL1, TLn) verknüpft werden.
13. Verarbeitungseinrichtung nach Anspruch 12, dadurch gekennzeichnet, dass in der Berechnungseinheit (12) eine Importeinrichtung vorgesehen ist, mit der das
zu importierende Signal oder Datum (S1, Sn) im Quelltakt der Zeitebene (TLn), in die
es importiert werden soll, abgetastet wird.
14. Verarbeitungseinrichtung nach Anspruch 12, dadurch gekennzeichnet, dass in der Berechnungseinheit (12) eine Importeinheit vorgesehen ist, mit der das zu
importierende Signal oder Datum (S1, Sn) auf den Quelltakt der Zeitebene (TLn), in
die es importiert werden soll, interpoliert wird.
15. Verarbeitungseinrichtung nach einem der Ansprüche 12 bis 14, dadurch gekennzeichnet, dass in der Berechnungseinheit (12) in einer Zeitebene (TL1, TLn) eine lokale Absolutzeit
(TZ1, TZn) bildbar ist.
16. Verarbeitungseinrichtung nach Anspruch 15, dadurch gekennzeichnet, dass in der Berechnungseinheit (12) eine lokale Absolutzeit (TZ1, TZn) gemäß der Beziehung
TZ = t0 + TCM * CMT bildbar ist, wobei TZ die lokale Absolutzeit, t0 eine Startzeit, TCM eine Zeitkonstante der Taktung und CMT die Anzahl der seit dem Startzeitpunkt vergangen
Takte angibt.
17. Verarbeitungseinrichtung nach Anspruch 15 oder 16, dadurch gekennzeichnet, dass in der Berechnungseinheit (12) eine Importeinheit vorgesehen ist, mit der Daten oder
Signale (S1, Sn) einer ersten Zeitebene (TL1) in eine zweite Zeitebene (TLn) importiert
werden, indem die lokale Absolutzeit (TZ1) der ersten Zeitebene (TL1) in die lokale
Absolutzeit (TZn) der zweiten Zeitebene (TZn) konvertiert wird.
18. Verarbeitungseinrichtung nach Anspruch 17, dadurch gekennzeichnet, dass die lokale Absolutzeit (TZ1) der ersten Zeitebene (TL1) in der Importeinheit in die
lokale Absolutzeit (TZ2) der zweite Zeitebene (TL2) konvertiert wird, indem die Zeitkonstante
(TCM) der ersten Zeitebene (TL1) an die lokale Absolutzeit (TZ2) der zweiten Zeitebene
(TL2) angepasst wird.
19. Verarbeitungseinrichtung nach Anspruch 18, dadurch gekennzeichnet, dass die Anpassung in der Importeinheit gemäß der Beziehung TCM = (TZ2 - t0)/CMT durchführbar ist.
20. Verarbeitungseinrichtung nach einem der Ansprüche 17 bis 19, dadurch gekennzeichnet, dass die Startzeit (t0) in der Berechnungseinheit (12) zu Beginn auf die aktuelle lokale Absolutzeit (TZ2)
der zweiten Zeitebene (TL2) setzbar ist.