PixelColorFormatting Funktion

Alternativ zur PixelColorFormatter Funktion kann eine benutzerdefinierte Formatter-Funktion erstellt werden, um die Farbe des ausgewählten Pixels anders zu formatieren. Die Funktion erhält den Farbwert des Pixels und gibt einen String zurück, der in der Infobar angezeigt wird. Das folgende Beispiel zeigt, wie eine solche Funktion angelegt wird und welche Schnittstellen diese haben muss.

PixelColorFormatting Funktion 1:

Die allgemeine Verwendung von Funktionen wird in der HMI-Dokumentation erklärt.

Nach dem Erstellen der TypeScript Funktion muss ein Parameter angelegt werden. Dieser bekommt analog zur PixelColor-Eigenschaft des Controls, den Farbwert als Array übergeben und muss daher vom Typ Array angelegt werden. Es ist zu beachten, dass sich der übergebene Parameter zum Zeitpunkt der Funktionsausführung aus Timing-Gründen vom Wert der entsprechenden Control-Eigenschaften unterscheiden kann.

Die Funktion muss einen Wert vom Typ String zurückgeben, der dann in der Infobar angezeigt wird. Die Funktion wird immer aufgerufen, wenn sich der Wert der PixelColor-Eigenschaft ändert und somit der String in der Infobar aktualisiert werden muss.

PixelColorFormatting Funktion 2:

Im folgenden Codebeispiel werden 3 Farbwerte in rot, grün und blau zurückgegeben, sofern mindestens 3 Elemente in PixelColor vorhanden sind:

module TcHmi {
    export module Functions {
        export module TcHmiProject {
            export function Formatter(PixelColor: number[]) {
                if (PixelColor.length >= 3) {
                    return `<span style="color:red;">${PixelColor[0]}</span>, ` +
                        `<span style="color:green;">${PixelColor[1]}</span>, ` +
                        `<span style="color:blue;">${PixelColor[2]}</span>`;
                }
                return '';
            }
        }
        registerFunctionEx(‘Formatter’, ‘TcHmi.Functions.TcHmiProject’, TcHmiProject.Formatter);
    }
}

Alternativ kann auch nur 1 Kanal mit color:black zur Anzeige als Grauwert zurückgegeben werden. Für die Umrechnung in 16-Bit Werte müssen die einzelnen PixelColor Elemente mit 256 multipliziert werden.

Um eine selbst erstellte Formatter-Funktion zu benutzen, klicken Sie bei der PixelColorFormat-Eigenschaft auf den Auswahl-Button und wählen in dem Function Editor ihre soeben erstellte Funktion aus.

PixelColorFormatting Funktion 3: