(19)
(11) EP 1 967 859 A1

(12) EUROPÄISCHE PATENTANMELDUNG

(43) Veröffentlichungstag:
10.09.2008  Patentblatt  2008/37

(21) Anmeldenummer: 08151797.1

(22) Anmeldetag:  22.02.2008
(51) Internationale Patentklassifikation (IPC): 
G01R 31/00(2006.01)
G06F 1/12(2006.01)
(84) Benannte Vertragsstaaten:
AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MT NL NO PL PT RO SE SI SK TR
Benannte Erstreckungsstaaten:
AL BA MK RS

(30) Priorität: 06.03.2007 AT 1362007 U

(71) Anmelder: AVL List GmbH
8020 Graz (AT)

(72) Erfinder:
  • Peinsipp, Dietmar
    8020, Graz (AT)
  • Priller, Peter
    8111, Judendorf-Strassengel (AT)

(74) Vertreter: Weiss, Christian 
Pinter, Laminger & Weiss OG Patentanwälte Prinz-Eugen-Strasse 70
1040 Wien
1040 Wien (AT)

   


(54) Verfahren und Vorrichtung zur Verarbeitung von Daten oder Signalen mit unterschiedlichen Synchronisationsquellen


(57) In Verarbeitungseinrichtungen, insbesondere in Mess-, Prüf- oder Steuergeräten für den Antriebstrang oder Komponenten davon, ist es oftmals erforderlich, Signale oder Daten unterschiedlicher Synchronisationsquellen miteinander zu verknüpfen oder unter Beibehaltung des ursprünglichen zeitlichen Bezugs zu verarbeiten. Um dies zu erreichen wurden die Signale oder Daten bisher häufig auf eine bestimmte Taktquelle synchronisiert, was aber oftmals nicht möglich ist. Es wird daher ein Verfahren und eine Vorrichtung angegeben, das die Verarbeitung von Daten oder Signalen mit unterschiedlichen Synchronisationsquellen in einer Verarbeitungseinrichtung 1 ermöglicht, indem in der Verarbeitungseinrichtung 1 für jede Synchronisationsquelle eine eigene Zeitebene TL1, TLn eingeführt wird, in denen der zeitliche Bezug der zugehörigen Daten und Signale erhalten bleibt. Die Signale und Daten werden in diesen Zeitebenen unter Beibehaltung des zeitlichen Ursprungsbezugs verarbeitet.




Beschreibung


[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 = t0 + TCM * CMT bilden, wobei TZ die lokale Absolutzeit, t0 eine Startzeit, TCM 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 TCM = (TZTL2 - t0)/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 t0 eine Startzeit zu Beginn der Taktung der Zeitebene durch Synchronisationsquelle, CMT die Anzahl der Takte seit Beginn der Taktung und TCM 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 TZRT im Echtzeitsystem wird wieder gemäß der obigen Beziehung gebildet, TZRT = t0 + TCM*CMT. Dabei ist t0 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 TCM die Zeitkonstante der Taktung des Echtzeitsystems, mit der CMT inkrementiert wird.

[0037] Zur Konvertierung dieser Echtzeit TZRT in eine Nicht-Echtzeit TZNRT der Nicht-Echtzeit-Zeitebene, wird t0 zu Beginn auf den aktuellen Wert der Nicht-Echtzeit TZNRT gesetzt, also t0 = TZNRT. Die Zeitreferenz für das ganze System (Verarbeitungseinrichtung) ist nun die Nicht-Echtzeit TZNRT. 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 TCMRT der Echtzeit-Zeitebene an die lokale Absolutzeit der Nicht-Echtzeit-Zeitebene TZNRT anzupassen. Diese Anpassung erfolgt z.B. gemäß der Beziehung TCMRT = (TZNRT - t0) / 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 TCM erfolgt dabei laufend und es ergibt sich daraus eine adaptive Umrechnung der lokalen Echtzeit TZRT in eine Nicht-Echtzeit TZNRT. 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 TZNRT 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 TZRT mit dem allgemeinen TZ1 und TZNR 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.


Ansprüche

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.
 




Zeichnung







Recherchenbericht