Merkmale berechnen

Was sind berechnete Merkmale?

Berechnete Merkmale werden über einen Klick auf einen Button ausgefüllt. Im Hintergrund wird ein Skript hinterlegt, was Umrechnungen ausführt. Damit können Validierungen, Umrechnungen oder zum Beispiel Abweichungen zu einem Sollwert umgesetzt werden. Die Berechnung kann dabei auf andere Merkmale zugreifen und ein Merkmalsfeld oder mehrere ausfüllen.

Beispiel

Es werden Stückzahlen in zwei Einheiten eingegeben – Liter und Flaschen. Die Berechnung soll die Anzahl Flaschen in Liter umrechnen, um Eingabefehler direkt aufzudecken.

Ein Prüfgerät gibt einen Wert zurück, der jedoch mit Kalibrationsdaten umgerechnet werden muss. Die Kalibrationsdaten werden in der Berechnung hinterlegt und die Umrechnung automatisiert.

Schritt für Schritt

1) Untervorgang öffnen

Im Modul Pläne den Katalog Untervorgänge und den Untervorgang mit der zu hinterlegenden Berechnung öffnen.

Die Option „Wert berechnen“ anzeigen aktivieren und auf Berechnung bearbeiten klicken.

2) Berechnung hinterlegen

Es öffnet sich nun ein Editorfenster mit der Möglichkeit Code in Java Script zu hinterlegen.

Welche Objekte stehen zur Verfügung?

Die Zur Verfügung stehenden Objekte werden im rechten Bereich des Fensters angezeigt. Diese können über die Objekte „measurements“ und „fields“ abgefragt werden.

  • measurements: Ein Array mit allen Messmerkmalen in dem Untervorgang. Über measurements[„Temperature“] wird der Wert des Merkmals „Temperature“ abgefragt.
  • Fields: Ein Array mit allen ausgefüllten Feldern des Untervorgangs. Über fields[„Compound“] wird der Wert des Felds „Compound“ abgefragt.

Welche Werte können zurückgegeben werden?

Im Return Statement kann entweder ein einzelner Wert oder ein Dictionary zurückgegeben werden. Wird nur ein Wert angegeben wird nur das gewählte Merkmal gefüllt. Wird ein Dictionary angegeben, werden alle erwähnten Merkmale ausgefüllt.

Beispiel für die Rückgabe eines Wertes

function calculate(measurements, fields) {
// Gibt den Wert für ein Merkmal zurück
let temperature_celcius = measurements["Temperature Kelvin"] - 273.15;
    return temperature_celcius;
}

Beispiel für das Befüllen von mehreren Merkmalen

function calculate(measurements, fields) {
// Befüllt die Merkmale Temperatur Celsius und Temperatur Fahreinheit
let temperature_celcius = measurements["Temperature Kelvin"] - 273.15;
let temperature_fahreinheit = temperature_celcius * 9/5 + 32;
    return {
	"Temperatur Celsius": temperature_celcius,
	"Temperatur Fahreinheit": temperature_fahreinheit
};
}

3) Berechnung ausführen

In der Ausführung wird der Button „Berechnung ausführen“ unter dem Merkmal angezeigt. Das Merkmal oder die angegebenen Merkmale werden nach dem Klick befüllt.

Q&A

Kann dem Nutzer auch ein Feedback gegeben werden – zum Beispiel bei Falscheingaben?

Ja über die Java Script Funktion alert() - Zum Beispiel: alert("Achtung: Falscheingabe");

Wie kann ich die Ergebnisse runden?

In Java Script gibt es den Befehl .toFixed(2). Dabei wird die Kommazahl auf z.B. 2 Nachkommastellen – oder natürlich mehr oder weniger wie gewünscht – gerundet.

Können Kalibrationsdaten für eine Berechnung gespeichert werden?

Dazu empfehlen wir das Anlegen eines Merkmals mit dem Datentyp Text. In der Berechnung werden dann die verwendeten Kalibrationsdaten für das Textfeld formatiert und in das Feld zurückgegeben.