readEx2

[ Funktion ]

Version 1.10

public static readEx2(
    expression: string,
    callback?: (data: Symbol.IReadResultObject) => void
): void;

Version 1.12

public static readEx2<T = any>(
    expression: string,
    callback?: (data: Symbol.IReadResultObject<T>) => void
): DestroyFunction;

Liest den Wert eines Symbols adressiert über den Symbolausdruck.

Der Aufruf der Callback Funktion erfolgt in Abhängigkeit des verwendeten Symbol Typs entweder synchron oder asynchron.

Server

asynchron

Internal

synchron

LocalizedText

synchron

PartialParam

synchron

TemplateParam

synchron

Function

synchron

Control

synchron

readEx2 1:

Version 1.12: Wird die API in TypeScript-Code benutzt, so kann dem TypeScript-Compiler mitgeteilt werden, welchen Typ der Symbolwert hat.

readEx2 2:

Dies ist eine reine Hilfe für die Programmierung. Der Browser kennt diese „Typeannotation“ nicht. Es findet keine Prüfung oder Konvertierung zur Laufzeit statt.

Parameter

Name

Typ

Beschreibung

expression

string

Symbolausdruck

callback [ Optional ]

Version 1.10

(data: Symbol.IReadResultObject) => void

Version 1.12

(data: Symbol.IReadResultObject<T>) => void

Wird ausgelöst wenn die Aktion erfolgreich abgeschlossen oder ein Fehler aufgetreten ist. Details sind dem Parameter data zu entnehmen.

Rückgabewert

Typ

Beschreibung

void

Ab Version 1.12:

DestroyFunction

Kein Rückgabewert

Ab Version 1.12:
Funktion zum Abbruch des Lesevorgangs von asynchronen Werten.

readEx2 3:

Verfügbar ab Version 1.10

Beispiel - JavaScript

TcHmi.Symbol.readEx2('%s%PLC1.MAIN.sTest%/s%', function (data) {
    if (data.error === TcHmi.Errors.NONE) {
        // Handle result value...
        var value = data.value;
        console.log(value);
    } else {
        // Handle error...
    }
});

Beispiel 1 - TypeScript

TcHmi.Symbol.readEx2('%s%PLC1.MAIN.sTest%/s%', function (data) {
    if (data.error === TcHmi.Errors.NONE) {
        // Handle result value...
        var value = data.value; // TS does not know the variable type
        console.log(value);
    } else {
        // Handle error...
    }
});

Beispiel 2 - TypeScript

TcHmi.Symbol.readEx2<string>('%s%PLC1.MAIN.sTest%/s%', function (data) {
    if (data.error === TcHmi.Errors.NONE) {
        // Handle result value...
        let thisIsAString = data.value; // TS knows this is a string
        console.log(thisIsAString);
    } else {
        // Handle error...
    }
});