IBH Link UA:Benutzerdefinierte Variablen: Unterschied zwischen den Versionen
Axel (Diskussion | Beiträge) (→Konfiguration der Variablen) |
Axel (Diskussion | Beiträge) (→Verbinden von Variablen mit externen OPCUA Server Variablen) |
||
(9 dazwischenliegende Versionen des gleichen Benutzers werden nicht angezeigt) | |||
Zeile 53: | Zeile 53: | ||
Eine Struktur wird mit <struct> </struct> aufgebaut. Es sind beliebige Verschachtelungen möglich. | Eine Struktur wird mit <struct> </struct> aufgebaut. Es sind beliebige Verschachtelungen möglich. | ||
+ | == Verbinden von Variablen mit externen OPCUA Server Variablen == | ||
+ | |||
+ | Beispiel: | ||
+ | <Object> | ||
+ | <OPCUAServer> | ||
+ | <BoilerExample uri="urn:DELL-XPS:UnifiedAutomation:UaServerCpp" EndpointUrl="opc.tcp://10.0.12.72:48011"/> | ||
+ | <S7-1500 uri="urn:SIMATIC.S7-1500.OPC-UAServer:CPU1500-Demo" EndpointUrl="opc.tcp://10.0.13.6:4840"/> | ||
+ | </OPCUAServer> | ||
+ | <Objectname> | ||
+ | <Structurename> | ||
+ | <BoilerTemperature type="Double" OPCUAServer="BoilerExample" opcvar="ns=3;s=AirConditioner_1.Temperature"/> | ||
+ | <WertVon_S7-1500 type="UInt32" OPCUAServer="S7-1500" opcvar="ns=3;s="All-Scalar"."Var_UInt32""/> | ||
+ | </Structurename> | ||
+ | </Objectname> | ||
+ | </Object> | ||
+ | |||
+ | Achtung ! Die Variablen müssen in einer Struktur organisiert sein ! | ||
+ | |||
+ | Der OPCUa Server muss mit der Client Funktion eingerichtet werden siehe: [[IBH_Link_UA:Client_Funktionen#Server_hinzufügen]] |
Aktuelle Version vom 30. Januar 2018, 09:43 Uhr
Benutzerdefinierte Variablen
Konfiguration der Variablen
Die Konfiguration erfolgt über eine XML Datei, die über einen OPC UA Client (z.B. UaExpert) eingelesen wird. Hierzu ruft man unter "Server.Generic" die Methode "WriteConfiguration" auf.
Beispiel:
<Object> <Struktur> <UnterStruktur name="untere Struktur"> <diesel type="UInt16" opcvar="ns=4;s=IBH_OPCUA.PLC.Programs.Diesel.Tank" name="Diesel/Kraftstoff"/> <struct1> <struct11> <E10 type="UInt32" opcvar="ns=4;s=IBH_OPCUA.PLC.Programs.E10.Tank"/> <u2 type="UInt32" const="12345678"/> </struct11> <u1 type="UInt32"/> <u2 type="UInt32"/> </struct1> </UnterStruktur> </Struktur> </Object>
Eine Varible wird folgendermassen definiert:
<variablenname type="Variablentype" opcvar="OPC UA Knotendefinition" name="Ersatzname"/>
Der Variablenname kann frei gewählt werden. Die Variable erscheint dann im OPC UA Server under einem eigenen Namespace. Unter dem optionalen Parameter "name" kann man einen Variablenname angeben, der Sonderzeichen wie z.B. '/' enthält.
Als Variblentype sind folgende Angaben möglich:
- "Boolean"
- "SByte"
- "Byte"
- "Int16"
- "Uint16"
- "Int32"
- "UInt32"
- "Float"
- "Double"
- "DateTime"
- "String"
- "SByteArray"
- "ByteArray"
- "Int16Array"
- "Uint16Array"
- "Int32Array"
- "UInt32Array"
- "FloatArray"
- "DoubleArray"
- "StringArray"
Falls keine opcvar angegeben wird, wird die Variable nicht automatisch besprieben. Die Variable kann jedoch mit der Client Funktion beschrieben werden. Eine Variable kann auch eine Konstante enthalten. In diesem Fall wird anstelle opcvar const angegeben. Bei Feldern ist keine Konstante möglich. Beispiel:
<u2 type="UInt32" const="12345678"/>
Eine Struktur wird mit <struct> </struct> aufgebaut. Es sind beliebige Verschachtelungen möglich.
Verbinden von Variablen mit externen OPCUA Server Variablen
Beispiel:
<Object> <OPCUAServer> <BoilerExample uri="urn:DELL-XPS:UnifiedAutomation:UaServerCpp" EndpointUrl="opc.tcp://10.0.12.72:48011"/> <S7-1500 uri="urn:SIMATIC.S7-1500.OPC-UAServer:CPU1500-Demo" EndpointUrl="opc.tcp://10.0.13.6:4840"/> </OPCUAServer> <Objectname> <Structurename> <BoilerTemperature type="Double" OPCUAServer="BoilerExample" opcvar="ns=3;s=AirConditioner_1.Temperature"/> <WertVon_S7-1500 type="UInt32" OPCUAServer="S7-1500" opcvar="ns=3;s="All-Scalar"."Var_UInt32""/> </Structurename> </Objectname> </Object>
Achtung ! Die Variablen müssen in einer Struktur organisiert sein !
Der OPCUa Server muss mit der Client Funktion eingerichtet werden siehe: IBH_Link_UA:Client_Funktionen#Server_hinzufügen