Hilfsfunktionen

Folgende Hilfsfunktionen werden als Standardverhalten von bestimmten Controls genutzt oder um Interoperabilität mit PLC-Datentypen zu gewährleisten.

BoxColorConverter

Die Funktion BoxColorConverter ist in der Kategorie Vision gelistet. Sie wird als Standard-Wert für das BoxColorConversion Attribut des Color Controls verwendet. Sie konvertiert zwischen dem RGB und dem durch den format-Parameter angegebenen Farbformat.

Parameter

Datentyp

Beschreibung

Color

Vector4

Der zu konvertierende Farbwert.

Reverse

Boolean

Richtung der Konvertierung:

false: format zu RGBa true: RGBa zu format

Format

ColorSpace

Format für Konvertierung:

Gray, RGB, HSV, HLS, RGBa, HSV FULL, HLS FULL, Lab, YUV, YCrCb

PixelType

ElementType

Skalierung der Farbwerte:
8-Bit (USINT),
16-Bit (UINT)

Die Funktion gibt die konvertierte Farbe als ColorValue zurück.

ConvertColor

Die Funktion ConvertColor ist in der Kategorie Vision gelistet. Sie konvertiert ein Farbarray zwischen den Formaten Gray, RGB, RGBa, HSV, HSV FULL, und HLS, HLS FULL, Lab, YUV und YCrCb.

Parameter

Datentyp

Beschreibung

ctx

SelectableRequired<TcHmi.Context, 'success' | 'error'> | null

Wird HMI-intern verwendet, um asynchrone Rückgaben zu empfangen. Kann bei Aufrufen in Javascript aber auf null gesetzt werden.

Color

Vector4

Der zu konvertierende Farbwert.

SrcFormat

ColorSpace

Format des eingehenden Farbwerts:

Gray, RGB, HSV, HLS, RGBa, HSV FULL, HLS FULL, Lab, YUV, YCrCb

DestFormat

ColorSpace

Format, in das konvertiert wird:

Gray, RGB, HSV, HLS, RGBa, HSV FULL, HLS FULL, Lab, YUV, YCrCb

Precision

Precision

Legt fest, auf wie viele Dezimalstellen gerundet werden soll. Bei Unrounded wird nicht gerundet.

SrcPixelType

ElementType

Skalierung der eingehenden Farbwerte:

8-Bit (USINT),
16-Bit (UINT)

DestPixelType

ElementType

Skalierung der konvertierten Farbwerte:

8-Bit (USINT),
16-Bit (UINT)

Fehler bei der Konvertierung führen dazu, dass null zurückgegeben wird. Da die Funktion asynchron ist, gibt sie die konvertierte Farbe als zukünftigen Wert, also als Promise<ColorValue | null> zurück.

Um z.B. die Farbe Rot im RGB-Format in das HLS-Format zu konvertieren, kann folgender Funktionsaufruf verwendet werden:

let rgb = [255, 0, 0];
let promise = TcHmi.Functions.Beckhoff.Vision.ConvertColor(null, rgb, "RGB", "HLS", "2 Decimals", "8-Bit (USINT)", "8-Bit (USINT)");
promise.then(hls => console.log(hls.toString()));

//console output
//0,127.5,255
//console output with DestPixelType "16-Bit (UINT)"
//0,32640,65280

Um den zukünftigen ColorValue weiterverarbeiten zu können, kann dieser mit await abgewartet werden. Alternativ, wie in diesem Beispiel gezeigt, kann mit der Funktion then eine anonyme Funktion z.B. hls übergeben werden. Diese bekommt den ColorValue nach Abschluss der Konvertierung dann übergeben. Anschließend wird der ColorValue als string in der Konsole ausgegeben.

PixelColorFormatter

Die Funktion PixelColorFormatter ist in der Kategorie Formatting gelistet. Sie ist der Standardwert für das PixelColorFormat-Eigenschaft des Image Watch Controls. Sie konvertiert den PixelColor-Wert in einen per HTML darstellbaren String. Konkret werden die Farbwerte der einzelnen Kanäle aneinandergehangen und bei bestimmten Farbformaten auch farblich markiert:

Hilfsfunktionen 1:

Parameter

Datentyp

Beschreibung

PixelColor

Vector4

Der zu konvertierende Farbwert.

Format

ColorSpace

Format für Konvertierung:

Gray, RGB, HSV, HLS, RGBa, HSV FULL, HLS FULL, Lab, YUV, YCrCb

Precision

Precision

Legt fest, auf wie viele Dezimalstellen gerundet werden soll. Bei „Unrounded“ wird nicht gerundet.

PixelType

ElementType

Skalierung der Farbwerte:

8-Bit (USINT),
16-Bit (UINT)

Die Funktion gibt einen als HTML codierten String zurück.

ShapeValueFormatter

Die Funktion ShapeValueFormatter ist in der Kategorie Formatting gelistet. Sie ist der Standardwert für die ShapeValueFormat-Eigenschaft des Image Watch Controls. Sie konvertiert den ShapeValue-Wert in einen per HTML darstellbaren String. Konkret wird z. B. bei einem Rechteck die Fläche in Pixeln berechnet und als String zurückgegeben:

Hilfsfunktionen 2:

Parameter

Datentyp

Beschreibung

ShapeData

Any

Die zu konvertierenden Shape Daten.

ShapeType

ShapeType

Typ des übergebenen Shapes.

Die Funktion gibt einen als HTML codierten String zurück.

ToRotatedRectangle

Die Funktion ToRotatedRectangle ist in der Kategorie Data Conversion gelistet. Sie konvertiert ein UprightRectangle in ein RotatedRectangle mit Winkel 0.

Parameter

Datentyp

Beschreibung

rectangle

TcVnRectangle

Das zu konvertierende Rechteck.

Die Funktion gibt das konvertierte Rechteck als TcVnRotatedRectangle zurück und kann wie folgt angewandt werden:

let upright = {
    nWidth: 100,
    nHeight: 60,
    nX: 200,
    nY: 100,
}
let rotated = TcHmi.Functions.Beckhoff.Vision.ToRotatedRectangle(upright);
console.log(rotated);

//console output
// {
//     aCenter: [250, 130],
//     fAngle: 0,
//     stSize: { fWidth: 100, fHeight: 60 },
// }

ToUprightRectangle

Die Funktion ToUprightRectangle ist in der Kategorie Data Conversion gelistet. Sie konvertiert ein RotatedRectangle in ein UprightRectangle und verwirft dabei den Winkel.

Parameter

Datentyp

Beschreibung

rectangle

TcVnRotatedRectangle

Das zu konvertierende Rechteck.

Die Funktion gibt das konvertierte Rechteck als TcVnRectangle zurück und kann wie folgt angewandt werden:

let rotated = {
    aCenter: [250, 130],
    fAngle: 0,
    stSize: { fWidth: 100, fHeight: 60 },
}
let upright = TcHmi.Functions.Beckhoff.Vision.ToUprightRectangle(rotated);
console.log(upright);

//console output
// {
//     nWidth: 100,
//     nHeight: 60,
//     nX: 200,
//     nY: 100,
// }