write

[ Funktion ]

Version 1.10

public static write(
    name: string,
    type: TcHmi.SymbolType,
    value: any,
     (data: Symbol.IWriteResultObject | TcHmi.Symbol.IServerWriteResultObject) => void
): void;

Version 1.12

public static write<T = any>(
    name: string,
    type: TcHmi.SymbolType,
    value: T,
    (data: Symbol.IWriteResultObject<T> | TcHmi.Symbol.IServerWriteResultObject<T>) => void
): DestroyFunction;

Schreibt den Wert eines Symbols adressiert über den Namen und Symboltyp.

write 1:

Ab Version 1.10 erfolgt der Aufruf der Callback Funktion 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

write 2:

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

write 3:

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.

Die Typprüfung ist in dieser Funktion nur von begrenztem Nutzen. Siehe Beispiele.

Parameter

Name

Typ

Beschreibung

name

string

Name des Symbols

type

TcHmi.SymbolType

Typ des Symbols

value

Version 1.8

any

Version 1.12

T

Neuer Wert des Symbols. Kann beliebigen Typ haben.

callback [Optional ]

Version 1.8

(data: TcHmi.IResultObject| TcHmi.Server.IResultObject) => void

Version 1.10

(data: Symbol.IWriteResultObject | Symbol.IServerWriteResultObject) => void

Die Änderung ist abwärtskompatibel.

Version 1.12

(data: Symbol.IWriteResultObject<T> | Symbol.IServerWriteResultObject<T>) => void

Die Änderung ist abwärtskompatibel.

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 Schreibvorgangs von asynchronen Werten.

write 4:

Verfügbar ab Version 1.8

Beispiel – JavaScript

TcHmi.Symbol.write('PLC1.MAIN.sTest', TcHmi.SymbolType.Server, 'Test', function (data) {
    if (data.error === TcHmi.Errors.NONE) {
        // Handle success...
    } else {
        // Handle error...
    }
});

Beispiel 1 – TypeScript

// TS does not know the variable type
TcHmi.Symbol.write('PLC1.MAIN.sTest', TcHmi.SymbolType.Server, 'Test', function (data) {
    if (data.error === TcHmi.Errors.NONE) {
        // Handle success...
    } else {
        // Handle error...
    }
});

Beispiel 2 – TypeScript

TcHmi.Symbol.write<string>('PLC1.MAIN.sTest', TcHmi.SymbolType.Server, 'Test', function (data) {
    if (data.error === TcHmi.Errors.NONE) {
        // Handle success...
    } else {
        // Handle error...
    }
});

Beispiel 3 – TypeScript

// TS prevents compile!
TcHmi.Symbol.write<string>('PLC1.MAIN.sTest', TcHmi.SymbolType.Server, 42, function (data) {
    if (data.error === TcHmi.Errors.NONE) {
        // Handle success...
    } else {
        // Handle error...
    }
});