IBH Link UA:Benutzerdefinierte Variablen: Unterschied zwischen den Versionen
Axel (Diskussion | Beiträge) (→Verbinden von Variablen mit externen OPCUA Server Variablen) |
Axel (Diskussion | Beiträge) (→Verbinden von Variablen mit externen OPCUA Server Variablen) |
||
Zeile 56: | Zeile 56: | ||
Beispiel: | Beispiel: | ||
− | + | <Object> | |
<OPCUAServer> | <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"/> | <S7-1500 uri="urn:SIMATIC.S7-1500.OPC-UAServer:CPU1500-Demo" EndpointUrl="opc.tcp://10.0.13.6:4840"/> | ||
</OPCUAServer> | </OPCUAServer> | ||
− | < | + | <Objectname> |
− | <WertVon_S7-1500 type="UInt32" OPCUAServer="S7-1500" opcvar="ns=3;s="All-Scalar"."Var_UInt32""/> | + | <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> | ||
Der OPCUa Server muss mit der Client Funktion eingerichtet werden siehe: [[IBH_Link_UA:Client_Funktionen#Server_hinzufügen]] | Der OPCUa Server muss mit der Client Funktion eingerichtet werden siehe: [[IBH_Link_UA:Client_Funktionen#Server_hinzufügen]] |
Version vom 30. Januar 2018, 09:37 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>
Der OPCUa Server muss mit der Client Funktion eingerichtet werden siehe: IBH_Link_UA:Client_Funktionen#Server_hinzufügen