Komponente Berechnung

Die Komponente Berechnung erhält Eingangsdaten (entweder aus einer Tabelle oder einer vorgelagerten Berechnung), führt einen hinterlegten JavaScript-Code aus und gibt Daten weiter. Die Berechnung hat definierte Eingangs- und Ausgangsgrößen, auf welche das JavaScript zugreifen kann.

Eingangs- und Ausgangsgrößen

Für jede Berechnung können Inputs (Eingangsgrößen) und Outputs (Ausgangsgrößen) definiert werden. Die hier festgelegte Schreibweise wird auch im JavaScript verwendet.
Wichtig: Auf exakte Groß- und Kleinschreibung achten!

Folgende Datentypen stehen zur Auswahl:

  • Listen: Arrays von Werten eines festgelegten Typs (Text, Kommazahl, Ganzzahl, Datum)
  • Einzelwerte: Einzelwerte aus vorherigen Berechnungen
  • Strukturen: Übergabe von Tabellen

Beispiel Berechnung

Beispiel: Es soll gezählt werden, wie viele Messungen der Prüfung "T90" in einem Intervall durchgeführt werden und welcher Durchschnittswert sich daraus ergibt.

function main(inputs) {
let count_t90 = 0;
let sum_t90 = 0;
let average_t90 = 0;

// Example for T90 -> inputs.t90 = [2.3, 2.5, 2.5]
count_t90 = inputs.t90.length;

// Iterate over all values in inputs.t90
for (let i = 0; i<inputs.t90.length;i++){
  sum_t90 = sum_t90 + inputs.t90[i];
}

average_t90 = sum_t90 / count_t90;

  return {
    anzahl_t90: count_t90,
    mittelwert_t90: average_t90
  };
}

Testen einer Berechnung

Zum Testen einer Berechnung, kann die Debugging-Funktion verwendet werden. Diese prüft verschiedene Standard-Cases wie "Leere Daten", "Ein Wert", "Drei Werte" und "Null-Werte" als Eingabe in die Berechnung und berechnet die zugehörigen Outputs. Damit werden sowohl der Code als auch die Ausführungslogik überprüft.

So führen Sie die Tests aus:

  1. Öffnen Sie das Bearbeitungsfenster der Berechnungskomponente.
  2. Wechseln Sie auf den Tab Debugging.
  3. Klicken Sie auf Tests ausführen.

Hinweis: Obwohl ein Test einen Fehler wirft - muss dies nicht einer fehlerhaften Berechnung entsprechen. Hier wird mit Testdaten gearbeitet, nicht mit realen Werten. Das Feedback hilft jedoch grundsätzliche Fehler zu erkennen.

Übergabe von Informationen aus dem Trigger

In dem Tab "Trigger" können verschiedene Einstellungen wie der Zyklus in den Zeitplänen oder Gruppierungen (z.B. nach Maschine) eingestellt werden. Mit Hilfe der folgenden Skriptausdrücken können diese Informationen in einer Berechnung verwendet werden.

// Spezifische Skriptausdrücke in einem Job
 
let start = inputs._start; // Gibt den Start des aktuellen Zeitabschnitts als Datum zurück
let end = inputs._end; // Gibt das Ende des aktuellen Zeitabschnitts als Datum zurück
let current_group = inputs._group; // Gibt den aktuellen Wert der Gruppierung als string zurück