NC_SynchronizeTime

Die Funktion berechnet die zeitliche Verschiebung zwischen zwei Datendateien, die über der Zeit aufgenommen worden sind. Beispielsweise um die Daten von zwei Messgeräte zu synchronisieren, die von Hand ausgelöst wurden.

Beide Dateien müssen jeweils einen Zeitkanal sowie eine Messgröße enthalten, die in beiden Dateien vorhanden ist, z. B. Motordrehzahl oder Fahrzeuggeschwindigkeit.

Die Zeitachse muss in der gleichen Einheit, z. B. Sekunde gemessen worden sein. Die Auflösung der Zeitachse darf unterschiedlich sein. Die Zeitachse muss aber mit konstanter Abtastfrequenz erzeugt worden sein.

Der Zeit-Offset wird über eine Kreuzkorrelation berechnet. Die dafür verwendeten Signale, z. B. die Motordrehzahl darf nicht konstant sein. Fall die Berechnung des Zeit-Offsets nicht möglich ist, kann der Offset vorgegeben werden.

Die Funktion berücksichtigt nur die ersten 250000 Punkte der Signale für die Berechnung der zeitlichen Verschiebung.

ssNCNewFile = NC_SynchronizeTime(ssNCFile1, ssTime1, ssSyncChannel1, ssNCFile2, ssTime2, ssSyncChannel2)
ssNCNewFile = NC_SynchronizeTime(ssNCFile1, ssTime1, ssSyncChannel1, ssNCFile2, ssTime2, ssSyncChannel2, bMerge)
ssNCNewFile = NC_SynchronizeTime(ssNCFile1, ssTime1, ssSyncChannel1, ssNCFile2, ssTime2, ssSyncChannel2, bMerge, bInterpolate)
ssNCNewFile = NC_SynchronizeTime(ssNCFile1, ssTime1, ssSyncChannel1, ssNCFile2, ssTime2, ssSyncChannel2, bMerge, bInterpolate, bUseOffset)
ssNCNewFile = NC_SynchronizeTime(ssNCFile1, ssTime1, ssSyncChannel1, ssNCFile2, ssTime2, ssSyncChannel2, bMerge, bInterpolate, bUseOffset, rsOffset)
ssNCNewFile = NC_SynchronizeTime(ssNCFile1, ssTime1, ssSyncChannel1, ssNCFile2, ssTime2, ssSyncChannel2, bMerge, bInterpolate, bUseOffset, rsOffset, nUseTimeChannel)
ssNCNewFile = NC_SynchronizeTime(ssNCFile1, ssTime1, ssSyncChannel1, ssNCFile2, ssTime2, ssSyncChannel2, oParameter)

Returnwert

Ist der Name der synchronisierten NC-Datei oder ein leerer String, falls ein Fehler aufgetreten ist.

Parameter

ssNCFile1

ssNCFile1 ist der Name einer NC-Datei.

ssTime1

ssTime1 ist der Name des Zeitkanals von Datei 1.

ssSyncChannel1

ssSyncChannel1 ist der Name des Signals von Datei 1.

ssNCFile2

ssNCFile2 ist der Name einer NC-Datei.

ssTime2

ssTime2 ist der Name des Zeitkanals von Datei 2.

ssSyncChannel2

ssSyncChannel2 ist der Name des Signals von Datei 2.

oParameter

Ist ein Objekt mit den folgenden optionalen Elementen:

Element Default Wert Beschreibung
bMerge TRUE (1) Falls bMerge TRUE (1) ist, werden die Kanäle der beiden Dateien in ein Datei kopiert.
bInterpolate TRUE (1) Falls bInterpol TRUE (1) ist, werden alle Kanäle auf ein Zeitraster interpoliert.
bUseOffset FALSE (0) Falls bUseOffset TRUE (1) ist, kann die zeitliche Verschiebung zwischen den beiden Zeitkanälen im Parameter rsOffset in der Einheit der Zeitkanäle angegeben werden. Falls bUseOffset FALSE (0) ist, wird die zeitliche Verschiebung mit Hilfe einer Kreuzkorrelation berechnet.
rsOffset kein Defaultwert Ist der zeitliche Offset. Wird verwendet, wenn bUseOffset gleich TRUE (1) ist. Dann erfolgt keine Berechnung der Verschiebung.
nUseTimeChannel 0 Der Parameter nUseTimeChannel legt fest, auf welchen Zeitkanal die Daten interpoliert werden sollen. Für den Wert 0 wird ein Dialogfeld angezeigt, in dem der Zeitkanal ausgewählt werden kann. Beim Wert 1 wird der Zeitkanal1 ssTime1 und beim Wert 2 der Zeitkanal2 ssTime2 verwendet.
rsXStartSync nicht definiert Der Parameter soll nur angegeben werden, wenn nur ein Ausschnitt der Daten für die Berechnung der zeitlichen Verschiebung berücksichtigt werden soll. Der Wert so angegeben, als og die Daten bei 0 beginnen.
rsXEndSync nicht definiert Der Parameter soll nur angegeben werden, wenn nur ein Ausschnitt der Daten für die Berechnung der zeitlichen Verschiebung berücksichtigt werden soll. Der Wert so angegeben, als og die Daten bei 0 beginnen. Wenn ein Ausscnitt definiert werden soll, müssen beide Parameter angegeben werden.
bMerge

Falls bMerge TRUE (1) ist, werden die Kanäle der beiden Dateien in ein Datei kopiert. Default-Wert ist TRUE (1).

bInterpolate

Falls bInterpol TRUE (1) ist, werden alle Kanäle auf ein Zeitraster interpoliert. Default-Wert ist TRUE (1).

bUseOffset

Falls bUseOffset TRUE (1) ist, kann die zeitliche Verschiebung zwischen den beiden Zeitkanälen im Parameter rsOffset in der Einheit der Zeitkanäle angegeben werden. Falls bUseOffset FALSE (0) ist, wird die zeitliche Verschiebung mit Hilfe einer Kreuzkorrelation berechnet. Default-Wert ist FALSE (0).

rsOffset

Ist der zeitliche Offset. Wird verwendet, wenn bUseOffset gleich TRUE (1) ist. Default-Wert ist 0.

nUseTimeChannel

Der Parameter nUseTimeChannel legt fest, auf welchen Zeitkanal die Daten interpoliert werden sollen. Für den Wert 0 wird ein Dialogfeld angezeigt, in dem der Zeitkanal ausgewählt werden kann. Beim Wert 1 wird der Zeitkanal1 ssTime1 und beim Wert2 der Zeitkanal2 ssTime2 verwendet. Default-Wert ist 0.

Beispiel

bMerge = TRUE
bInterpolate = TRUE
bUseOffset = FALSE
rsOffset = 0
nUseTimeChannel = 1;

ssNC1 = auto_ImportData("c:/a.xls")
ssNC2 = auto_ImportData("c:/b.xls")
ssNCNew = NC_SynchronizeTime(ssNC1, "Zeit", "nmot", ...
                             ssNC2, "Zeitstempel_QP1", "Drehzahl", ...
                             bMerge, bInterpolate, bUseOffset, rsOffset, nUseTimeChannel);

if (ssNCNew == "") {
    // Fehler
}

Beispiel2

oParameter = [.];
oParameter.bMerge = TRUE;
oParameter.bInterpolate = FALSE;
oParameter.bUseOffset = FALSE;
oParameter.rsOffset = 0;
oParameter.nUseTimeChannel = 1;
oParameter.rsXStartSync = 0.0;
oParameter.rsXEndSync = 100.0;

ssNC1 = auto_ImportData("c:/a.xls")
ssNC2 = auto_ImportData("c:/b.xls")
ssNCNew = NC_SynchronizeTime(ssNC1, "Zeit", "nmot", ...
                             ssNC2, "Zeitstempel_QP1", "Drehzahl", ...
                             oParameter);

if (ssNCNew == "") {
    // Fehler
}

History

Version Beschreibung
R2014.3 Neuer Parameter oParameter
5.14.8 Neu.

id-653736