write
[ Funktion ]
Version 1.10
public write(
value: any,
callback?: (
(data: Symbol.IWriteResultObject | TcHmi.Symbol.IServerWriteResultObject) => void
)
): void;
Version 1.12
public write<T = ST>(
value: T,
callback?: (
(data: Symbol.IWriteResultObject<T> | TcHmi.Symbol.IServerWriteResultObject<T>) => void
)
): DestroyFunction;
Schreibt den Wert des Symbols.
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 |
Version 1.12: Wird die API in TypeScript-Code benutzt, so kann beim Erstellen eines Symbols dem TypeScript-Compiler mitgeteilt, welchen Typ das Symbol (ST: SymbolType) hat. Dieser muss dann beispielsweise bei Nutzung dieser Funktion nicht mehr angegeben werden. Dies kann jedoch auch hier überschrieben werden. |
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 leider nur von begrenztem Nutzen. Siehe Beispiele.
Parameter
Name | Typ | Beschreibung |
---|---|---|
value | 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: | Kein Rückgabewert Ab Version 1.12: |
Verfügbar ab Version 1.8 |
Beispiel - JavaScript
var symbol = new TcHmi.Symbol('%s%PLC1.MAIN.sTest%/s%');
symbol.write('Test', function (data) {
if (data.error === TcHmi.Errors.NONE) {
// Handle success...
} else {
// Handle error...
}
});
Beispiel 1 - TypeScript
let symbol = new TcHmi.Symbol('%s%PLC1.MAIN.sTest%/s%');
// TS does not know the variable type
symbol.write('Test', function (data) {
if (data.error === TcHmi.Errors.NONE) {
// Handle success...
} else {
// Handle error...
}
});
Beispiel 2 - TypeScript
let symbol = new TcHmi.Symbol<string>('%s%PLC1.MAIN.sTest%/s%');
// TS accepts the wrong datatype
symbol.write(42, function (data) {
if (data.error === TcHmi.Errors.NONE) {
// Handle success...
} else {
// Handle error...
}
});
Beispiel 3 - TypeScript
let symbol = new TcHmi.Symbol ('%s%PLC1.MAIN.sTest%/s%');
// TS prevents compile!
symbol.write<string>(42, function (data) {
if (data.error === TcHmi.Errors.NONE) {
// Handle success...
} else {
// Handle error...
}
});