UAHADataValue

Dieser Funktionsbaustein agiert als Datenobjekt. Eine Instanz repräsentiert einen Wert für die OPC-UA-Historical-Access-Funktionalität. Dem Funktionsbaustein UA_HistoryUpdate wird ein ganzes Feld dieser Werte beim Aufruf übergeben.

Syntax

aDataValues : ARRAY [1..50] OF UAHADataValue(ValueSize:=SIZEOF(LREAL));

Jedes Datenobjekt wird mit der zu erwartenden Größe (in Bytes) des Wertes initialisiert.

UAHADataValue 1: Eigenschaften

Name

Typ

Zugriff

Initialwert

Beschreibung

Value

PVOID

Set

-

Gibt die Adresse einer Variablen an, welche den gewünschten Wert beinhaltet. Typischerweise wird diese mithilfe des Operators ADR() zugewiesen. Hiermit wird zugleich intern der Wert selbst zugewiesen und in das Datenobjekt kopiert.

StatusCode

UAHAUpdateStatusCode

Get, Set

UAHAUpdateStatusCode.HistorianRaw

Gibt den Statuscode des Wertes an.

SourceTimeStamp

ULINT

Get, Set

0

Gibt den Zeitstempel der Quelle im UTC-Format an. Dieser kann mit der Funktion F_GetSystemTime (Tc2_System SPS Bibliothek) ermittelt werden.

ServerTimeStamp

ULINT

Get, Set

0

Gibt den Zeitstempel des OPC UA Servers im UTC-Format an. Diese Funktionalität wird aktuell nicht unterstützt.

UAHADataValue 2:

Datentypgröße des Wertes

Die Größe des verwendeten Datentyps wird bereits bei der Deklaration des Datenobjektes angegeben und damit festgelegt. Bei späterer Zuweisung eines Wertes wird diese Größe zugrunde gelegt.

Werte vom Typ STRING werden demnach ebenso mit fest initialisierter Größe abgespeichert und übertragen. Es kann keine Angabe über die aktuelle Textlänge gemacht werden.

Beispiel

{attribute 'OPC.UA.DA' := '1'}
fMyValue    : LREAL;       // Variable for HistorcalAccess
aDataValues : ARRAY [1..50] OF UAHADataValue(ValueSize:=SIZEOF(LREAL));
fMyValue := 27.75;
aDataValues[1].Value           := ADR(fMyValue);
aDataValues[1].StatusCode      := UAHAUpdateStatusCode.HistorianRaw;
aDataValues[1].SourceTimeStamp := F_GetSystemTime();

In diesem Beispiel wird ein Feld von 50 Werten definiert, welche jeweils durch ein Datenobjekt repräsentiert werden. Dem ersten Wert wird der aktuelle Inhalt der Variablen fMyValue (= 27.75) zugewiesen.

Das Feld kann nun mittels weiterer Zuweisungen in späteren SPS-Zyklen gefüllt werden.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS Bibliotheken

TwinCAT 3.1 >= 4024.1

Win32, Win64, WinCE-x86

Tc3_PLCopen_OpcUa

>= v3.1.9.0