Datenquellen
Schreiben nach OPC UA
Mit folgendem Statement kann mit einem Skript der Wert einer Variablen auf einem OPC UA Server geändert werden.
-- Datenquellenname.writevaule(NodeID, Value)
connections.getfromid('EncodedConnectionKey').writevalue('ns=3;s="Data_block_2"."IntegersWords"."int1"', toint16(12))
Achtung
Hierzu muss mindestens eine zuvor angelegte OPC UA Datenquelle vorhanden sein!
Die NodeID findet sich im Durchsuchen-Dialog der OPC UA Datenquelle im Feld “NodeID” der Variablen.
Hinweis
Die NodeID kann auch mit Hilfe von UaExpert oder einem ähnlichen Tool erstellt werden.
Für die Peakboard Skript Engine sind alle Zahlen gleichwertig. Daher werden alle Zahlen als “double” verarbeitet. Dies führt dazu, dass diese Zahlen nicht ohne weiteres auf einem OPC UA Server gespeichert werden können.
Hinweis
Die Peakboard Skript Engine kennt lediglich drei Datentypen: bool, number und string! Daher ist eine Konvertierung anhand nachfolgender Tabelle notwendig!
Mit Hilfe nachfolgender Tabelle liefert eine Übersicht über die OPC UA Datentypen und deren entsprechende Konvertierunsfunktionen:
OPC UA Datatype | Konvertierungsfunktion |
---|---|
byte | tobyte() |
sbyte | tosbyte() |
float/single | tofloat()/tosingle() |
int16/short | toint16()/toshort() |
int32 | toint32() |
int64/long | toint64()/tolong() |
uint16/ushort | touint16()/toushort() |
uint32 | touint32() |
uint64/ulong | touint64()/toulong() |
datetime | todatetime() |
guid | toguid() |