Skip to main content
Skip table of contents

OPC UA Publisher Adapter

Dieser Adapter verbindet sich mit einem OPC UA Server zum Lesen und Schreiben von Daten von/zu einer Maschine in einem Technical Process.

Eigenschaften (Properties)

Operation

Vom Adapter ausgeführte Operation

Mögliche Werte:

  • GetServerConfiguration: Ruft die Server-Konfiguration auf

  • ListNodes: Listet die verfügbaren Knoten auf

  • ListNodesAttributtesId: Listet die Attributes für jeden Knoten auf

  • Read: Liest Werte und den Status aus
  • ReadHistory: Liest historische Werte und den Status aus
  • Write: Schreibt die Attribute eines Knotens

Parameter

Adapter

Adapter-Hauptklasse (nicht verändern!)

Mögliche Werte: de.softproject.integration.adapter.opcua.OpcUaPublisherAdapter: Hauptklasse (Standard)

url

Server-URL

Mögliche Werte: Beliebige gültige URL, z. B. opc.tcp://SP-WS-204.softproject.local:53530/OPCUA/SimulationServer

user

Benutzername, um eine Verbindung zum Server aufzubauen

Mögliche Werte: Beliebige Zeichenkette mit dem Benutzernamen, z. B. myUser

password

Passwort, um eine Verbindung zum Server aufzubauen

Mögliche Werte: Beliebige Zeichenkette mit dem Passwort, z. B. myPassword

securityMode

Sicherheits-Modus und Server-Richtlinien

Mögliche Werte:

  • NONE
  • BASIC256_SIGN
  • BASIC256_SIGN_ENCRYPT
  • BASIC128RSA15_SIGN
  • BASIC128RSA15_SIGN_ENCRYPT
  • BASIC256SHA256_SIGN
  • BASIC256SHA256_SIGN_ENCRYPT
autoReconnect

Angabe, ob sich der Client automatisch wieder mit dem Server verbinden soll oder nicht.

nodeIndex

Knoten-Index

Mögliche Werte: Beliebige ganze Zahl mit dem Knoten-Index, z. B. 1234

nodeIdentifier

Knoten-Bezeichner

Mögliche Werte: Beliebige Zeichenkette mit dem Knoten-Bezeichner, z. B. myNode

nodeIdentifierType

Typ des Knoten-Bezeichners

Mögliche Werte:

  • String
  • Numeric

historyOption

Optionen zum Abrufen der Historie eines bestimmten Knotens

Mögliche Werte:

  • AT_TIMES
  • AVERAGE
  • COUNT
  • DELTA
  • END
  • MAXIMUM
  • MAXIMUM_ACTUAL_TIME
  • MINIMUM
  • MINIMUM_ACTUAL_TIME
  • RANGE
  • RAW_DATA
  • START
  • WORST_QUALITY
from

Beginn-Datum mit dem Format yyyy-MM-dd hh:mm:ss

Mögliche Werte: Beliebiges Datum mit dem entsprechenden Format, z. B. 2018-01-01 00:00:00

to

End-Datum mit dem Format yyyy-MM-dd hh:mm:ss

Mögliche Werte: Beliebiges Datum mit dem entsprechenden Format, z. B. 2018-12-31 00:00:00

interval

Intervall-Wert in Sekunden

Mögliche Werte: Beliebige ganze Zeit mit dem Intervall in Sekunden, z. B. 3000

arrayDelimiter

Zeichen zum Trennen der Werte innerhalb eines Arrays

Mögliche Werte: Beliebiges Zeichen (Standard ,)

Statuswerte

1

Die Adapter-Operation wurde erfolgreich ausgeführt

-1Bei der Ausführung des Adapters kam es zu einem Fehler

Input

Für die Operationen Read und Write erwartet der Adapter ein spezifisches XML-Dokument mit folgenden Elementen:

  • nodeIndex (Integer)
  • nodeIdentifier (String)
  • nodeIdentifierType (String , Numeric)
  • attributeId (Integer) 
  • Verwenden Sie die Operation ListNodesAttributtesId, um die Knoten-Attribut-ID aufzurufen.
  • Arrays geben Sie an, indem Sie die Werte in eckigen Klammern angeben, z. B. [997, 998, 999].

Beispiel-Input für die Operation READ

XML
<?xml version="1.0" encoding="UTF-8"
<RootElement>
    <NodeID nodeIndex="5" nodeIdentifier="Counter1" nodeIdentifierType="String" attributeId="13"></NodeID>
    <NodeID nodeIndex="5" nodeIdentifier="Square1" nodeIdentifierType="String" attributeId="13"></NodeID>
    <NodeID nodeIndex="5" nodeIdentifier="Triangle1" nodeIdentifierType="String" attributeId="13"></NodeID>
	<NodeID nodeIndex="0" nodeIdentifier="2256" nodeIdentifierType="Numeric" attributeId="5"></NodeID>
</RootElement>

Beispiel-Input für die Operation WRITE ohne Arrays

XML
<?xml version="1.0" encoding="UTF-8"
<RootElement>
    <NodeID nodeIndex="5" nodeIdentifier="Counter1" nodeIdentifierType="String" attributeId="13">999</NodeID>
    <NodeID nodeIndex="5" nodeIdentifier="Square1" nodeIdentifierType="String" attributeId="13">9636</NodeID>
    <NodeID nodeIndex="5" nodeIdentifier="Triangle1" nodeIdentifierType="String" attributeId="13">TestData</NodeID>
	<NodeID nodeIndex="0" nodeIdentifier="2256" nodeIdentifierType="Numeric" attributeId="5">Testing</NodeID>
</RootElement>

Beispiel-Input für die Operation WRITE mit Arrays

XML
<?xml version="1.0" encoding="UTF-8"?>
<RootElement>
    <NodeID nodeIndex="6" nodeIdentifier="BooleanArray" nodeIdentifierType="String" attributeId="13">[true, true, true, true, true]</NodeID>
    <NodeID nodeIndex="6" nodeIdentifier="ByteArray" nodeIdentifierType="String" attributeId="13">[1, 2, 3, 4, 5]</NodeID>
    <NodeID nodeIndex="6" nodeIdentifier="ByteStringArray" nodeIdentifierType="String" attributeId="13">[[3] 0x010203, [3] 0x040506, [3] 0x070809, [3] 0x010101]</NodeID>
    <NodeID nodeIndex="6" nodeIdentifier="DateTimeArray" nodeIdentifierType="String" attributeId="13">[2021-01-23 09:33:08.0031200 GMT, 2021-02-23 09:33:08.0031200 GMT]</NodeID>
    <NodeID nodeIndex="6" nodeIdentifier="DoubleArray" nodeIdentifierType="String" attributeId="13">[1.0, 2.0, 3.0, 4.0, 5.0]</NodeID>
    <NodeID nodeIndex="6" nodeIdentifier="FloatArray" nodeIdentifierType="String" attributeId="13">[1.0, 2.0, 3.0, 4.0, 5.0]</NodeID>
    <NodeID nodeIndex="6" nodeIdentifier="GUIDArrayArray" nodeIdentifierType="String" attributeId="13">[66c6a6fa-79a8-4a47-b0d4-6416f3836bf5, abdb9e68-dd91-4a85-84a1-54a1620209fd]</NodeID>
    <NodeID nodeIndex="6" nodeIdentifier="Int16Array" nodeIdentifierType="String" attributeId="13">[1, 2, 3, 4, 5]</NodeID>
    <NodeID nodeIndex="6" nodeIdentifier="Int32Array" nodeIdentifierType="String" attributeId="13">[1, 2, 3, 4, 5]</NodeID>
    <NodeID nodeIndex="6" nodeIdentifier="Int64Array" nodeIdentifierType="String" attributeId="13">[1, 2, 3, 4, 5]</NodeID>
    <NodeID nodeIndex="6" nodeIdentifier="LocalizedTextArray" nodeIdentifierType="String" attributeId="13">[(de) Text1, (de) Text2, (de) Text3, (de) Text4, (de) Text5, (de) Text0]</NodeID>
    <NodeID nodeIndex="6" nodeIdentifier="QualifiedNameArray" nodeIdentifierType="String" attributeId="13">[Default Binary, Default XML, Default Binary, Default XML, Default Binary]</NodeID>
    <NodeID nodeIndex="6" nodeIdentifier="SByteArray" nodeIdentifierType="String" attributeId="13">[1, 2, 3, 4, 5]</NodeID>
    <NodeID nodeIndex="6" nodeIdentifier="StringArray" nodeIdentifierType="String" attributeId="13">[testString1, testString2, testString3, testString4, testString5]</NodeID>
    <NodeID nodeIndex="6" nodeIdentifier="UInt16Array" nodeIdentifierType="String" attributeId="13">[1, 2, 3, 4, 5]</NodeID>
    <NodeID nodeIndex="6" nodeIdentifier="UInt32Array" nodeIdentifierType="String" attributeId="13">[1, 2, 3, 4, 5]</NodeID>
    <NodeID nodeIndex="6" nodeIdentifier="UInt64Array" nodeIdentifierType="String" attributeId="13">[1, 2, 3, 4, 5]</NodeID>
    <NodeID nodeIndex="6" nodeIdentifier="VariantArray" nodeIdentifierType="String" attributeId="13">[true, true, true, true, true, true]</NodeID>
    <NodeID nodeIndex="6" nodeIdentifier="XmlElementArray" nodeIdentifierType="String" attributeId="13"><![CDATA[[<?xml version="1.0" encoding="utf-8" standalone="no"?>
<testElement1/>
, <?xml version="1.0" encoding="utf-8" standalone="no"?>
<testElement2/>
, <?xml version="1.0" encoding="utf-8" standalone="no"?>
<testElement3/>
, <?xml version="1.0" encoding="utf-8" standalone="no"?>
<testElement4/>
, <?xml version="1.0" encoding="utf-8" standalone="no"?>
<testElement5/>
]]]></NodeID>
</RootElement>

Output

Der Adapter gibt ein spezifisches XML-Dokument mit dem Ergebnis aus:

Beispiel-Output für die Operation READ

XML
<?xml version="1.0" encoding="UTF-8"
<Result>
    <NodeID statusCode="GOOD" nodeIndex="5" nodeIdentifier="Counter1" nodeIdentifierType="String">999</NodeID>
    <NodeID statusCode="GOOD" nodeIndex="5" nodeIdentifier="Square1" nodeIdentifierType="String">9636.0</NodeID>
    <NodeID statusCode="GOOD" nodeIndex="5" nodeIdentifier="Triangle1" nodeIdentifierType="String">1.5999999955515</NodeID>
	<NodeID statusCode="GOOD" nodeIndex="0" nodeIdentifier="2256" nodeIdentifierType="Numeric">The current status of the server</NodeID>
</Result>

Beispiel-Output für die Operation WRITE

XML
<?xml version="1.0" encoding="UTF-8"
<RootElement>
    <NodeID nodeIndex="5" nodeIdentifier="Counter1" nodeIdentifierType="String">SUCCESS</NodeID>
    <NodeID nodeIndex="5" nodeIdentifier="Square1" nodeIdentifierType="String">SUCCESS</NodeID>
    <NodeID nodeIndex="5" nodeIdentifier="Triangle1">XML malformed - Invalid value format to write into the Node attribute</NodeID>
	<NodeID nodeIndex="0" nodeIdentifier="2256">Bad_NotWritable (0x803B0000) "The access level does not allow writing to the Node</NodeID>
</RootElement>
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.