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: einzelne Werte vom Typ Text, Kommazahl, Ganzzahl oder Datum
- 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“, „Je ein Wert“, „Je drei Werte“ und „Nullwerte“ 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:
- Öffnen Sie das Bearbeitungsfenster der Berechnungskomponente.
- Wechseln Sie in den Reiter Debugging.
- Klicken Sie auf Tests ausführen.

Hinweis: Wirft ein Test einen Fehler, muss das nicht auf eine fehlerhafte Berechnung hindeuten. Hier wird mit Testdaten gearbeitet, nicht mit realen Werten. Das Feedback hilft jedoch, grundsätzliche Fehler zu erkennen.
Übergabe von Informationen aus dem Trigger
Im Reiter „Trigger“ können verschiedene Einstellungen wie der Zyklus in den Zeitplänen oder Gruppierungen (z. B. nach Maschine) eingestellt werden. Mithilfe der folgenden Skriptausdrücke 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




