Code-Beispiele Opc Ua Sdk

Die Einbindung des PLCcom.Opc.Ua.Sdk ist sehr einfach und benutzerfreundlich.
Die nachfolgenden Beispiele veranschaulichen die wichtigsten Funktionalitäten.

Weiterführende umfangreiche Dokumentationen mit direkt ausführbaren Code-Beispielen finden Sie in der Beispielanwendung in unserem Downloadpaket oder online.

Die bereitgestellten Endpoints eines OPC UA Servers lassen sich mit dem Befehl GetEndpoints(.net) oder discoverEndpoints (Java) ermitteln.

Nachfolgend ein komplettes ausführbares Beispiel:

Example: Discover OPC UA Server

Das Verbinden zu einem OPC UA Server kann auf Wunsch automatisch oder manuell durchgeführt werden.

Per Default-Einstellung verbindet sich ein Client automatisch zum Server wenn eine Verbindung benötigt wird. Auch der Reconnect nach einem Verbindungsabriss findet automatisch statt.

Das Verhalten kann über die AutoConnect Eigenschaft des Clientobjekt eingestellt werden.

DataAccessClient client = new DataAccessClient(„< Enter your UserName here >“, „< Enter your Serial here >“, sessionConfiguration, false);
oder
client.AutoConnect = false;

Nachfolgend ein komplettes ausführbares Beispiel zum manuellen Verbinden:

Example: Connect to endpoint

Die Knoten eines OPC UA Servers lassen sich mit dem Befehl „Browse“ durchsuchen.

Einfaches Beispiel:
ReferenceDescription rd = client.Browse(„Objects.Server.Data.Static“) ;

Nachfolgend ein komplettes ausführbares Beispiel:

Example: Browse nodes

Das Lesen oder Schreiben von Werten kann entweder über die NodeId oder direkt über den kompletten Namen/Pfad des Knotens erfolgen:

Beispiel zum Lesen eines Knotens:
DataValue value = client.ReadValue(„Objects.Server.Data.Static.Scalar.Int64Value“);

Beispiel zum Schreiben des Wertes 123 auf einen Knoten:
StatusCode sc = client.WriteValue(„Objects.Server.Data.Static.Scalar.Int64Value“,123);

Nachfolgend ein komplettes ausführbares Beispiel:

Example: Read or write values

Das Überwachen von Items kann entweder über die NodeId oder direkt über den kompletten Namen/Pfad des Knotens erfolgen:

Beispiel:

//create and register monitoring item
client.StartMonitoringItem(„Objects.Server.Data.Dynamic.Scalar.Int64Value“, Client_MonitorNotification);

//catch the monitoring event
private void Client_MonitorNotification(string Identifier, MonitoredItem monitoredItem, MonitoredItemNotificationEventArgs e)
{
MonitoredItemNotification notification = e.NotificationValue as MonitoredItemNotification;
Console.WriteLine(Identifier + “ “ + monitoredItem.StartNodeId + “ Value: “ + notification.Value + “ Status: “ + notification.Value.StatusCode.ToString());
}

Nachfolgend ein komplettes ausführbares Beispiel:

Example: Monitoring items