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 |
---|---|---|
|
| Der zu konvertierende Farbwert. |
|
| Richtung der Konvertierung:
|
|
| Format für Konvertierung:
|
|
| Skalierung der Farbwerte: |
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 |
---|---|---|
|
| Wird HMI-intern verwendet, um asynchrone Rückgaben zu empfangen. Kann bei Aufrufen in Javascript aber auf |
|
| Der zu konvertierende Farbwert. |
|
| Format des eingehenden Farbwerts:
|
|
| Format, in das konvertiert wird:
|
|
| Legt fest, auf wie viele Dezimalstellen gerundet werden soll. Bei |
|
| Skalierung der eingehenden Farbwerte: 8 |
|
| Skalierung der konvertierten Farbwerte: 8 |
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:

Parameter | Datentyp | Beschreibung |
---|---|---|
|
| Der zu konvertierende Farbwert. |
|
| Format für Konvertierung:
|
|
| Legt fest, auf wie viele Dezimalstellen gerundet werden soll. Bei „Unrounded“ wird nicht gerundet. |
|
| Skalierung der Farbwerte: 8 |
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:
Parameter | Datentyp | Beschreibung |
---|---|---|
|
| Die zu konvertierenden Shape Daten. |
| 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 |
---|---|---|
| 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 |
---|---|---|
| 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,
// }