Skip to content

Messdatenformat

Messkanal

Messdaten werden kanalweise verarbeitet. Ein Messkanal ist dabei im folgenden Schema anzugeben:

  • channel_name* Bezeichnung des aufgezeichneten Kanals
  • data* Messdaten als Array aus Gleitkommazahlen von beliebiger Länge
  • attributes*
    • unit* Physikalische Einheit der gemessenen Größe
    • sample_rate_hz* Zur Messung des Signals verwendete Abtastrate in Hz
    • history Alle bisher auf den Kanal angewendeten Korrekturen chronologisch dokumentiert. Jeder Eintrag hat dabei ein Feld type, das die Art der Korrektur angibt; die weiteren Felder sind je nach Art der Korrektur unterschiedlich.
    • description : Eine Beschreibung des Kanals, die beim Export als Messdaten als Kommentar zu dem Kanal abgespeichert wird.
    • beliebige weitere Attribute als Key-Value-Paare
Messkanal
{
    "channel_name": "F_BaHR",
    "data": [1.0, 2.4, 3.2, 4.7, 5.3],
    "attributes": {
        "unit": "kN",
        "sample_rate_hz": 500,
        "description": "Kraft Hinterachse rechts",
        "history": [
            {...}
        ]
    }
}

Data Provider

Ein Messkanal wird in JSON-Anfragen über einen Data Provider beschrieben. Aktuell sind drei Arten verfügbar.

Explicit Data Provider

Der Explicit Data Provider enthält die Daten seines Messkanals direkt.

Explicit Data Provider
{
    "type": "explicit",
    "data": {
        "channel_name": "F_BaHR",
        "data": [1.0, 2.4, 3.2, 4.7, 5.3],
        "attributes": {
            "unit": "kN",
            "sample_rate_hz": 500,
            "history": []
        }
    }
}

MinIO Data Provider

Der MinIO Data Provider referenziert einen auf einem MinIO-Server abegelegten Messkanal. Im nachfolgenden Schema wird der in der Datei measurement_x/A_BaHR.json abgelegte Kanal referenziert.

MinIO Data Provider
{
    "type": "minio",
    "path": "measurement_x/A_BaHR.json"
}

Implicit Data Provider

Der Implicit Data Provider beschreibt einen linearen Kanal durch Startwert, Schrittweite und Anzahl der Datenpunkte.

Implicit Data Provider
{
    "type": "implicit",
    "channel_name": "t500",
    "start": 0,
    "step": 0.002,
    "size": 5000,
    "attributes": {
        "unit": "s",
        "sample_rate_hz": 2
    }
}

Wöhlerlinie

Die zur Berechnung eines Messkanals verwendete Wöhlerlinie wird im folgenden JSON-Format angegeben.

Wöhlerlinie
{
    "A_D": 0.01324,
    "N_D": 2000000,
    "k": 5,
    "k'": 9
}

\(A_D\), \(N_D\) und \(k\) sind Pflichtparameter, \(k'\) ist optional. Falls \(k'\) nicht explizit angegeben ist, wird die Schädigung nach Miner mit \(k'=k\) berechnet.

Klassifizierungs-Konfiguration

Die für die bei der Kollektivberechnung durchgeführte Rainflow-Zählung verwendete Klassifizierungs-Konfiguration wird im folgenden JSON-Format angegeben.

Klassifizierungs-Konfiguration
{
    "classes": 128,
    "min": -12,
    "max": 24
}

Der Signalbereich wird für die Rainflow-Zählung gleichmäßig in Klassen eingeteilt. Die Parameter min und max geben die Unter- und Obergrenze der äußersten Klassen an, classes legt fest, in wie viele Klassen das Signal eingeteilt wird.