Misc

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)
data.opcua.writevalue('ns=3;s="Data_block_2"."IntegersWords"."int1"', toint16(12))

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()