So lesen Sie einen komplexen Typ mit ua-.netstandard

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: So lesen Sie einen komplexen Typ mit ua-.netstandard

by Anonymous » 24 Dec 2024, 06:57

Ich verwende UA-.NETStandard, um einen OPC UA-Client/Server mit .NET zu entwickeln, stehe aber vor einigen Herausforderungen. Hier ist mein Code:
var session = Session.Create(
config,
new ConfiguredEndpoint(null, selectedEndpoint, EndpointConfiguration.Create(config)),
false, "", 60000, null, null
).GetAwaiter().GetResult();

InitializeComplexTypeSystem(session);

var result = session.ReadValue("ns=3;s=\"H35dispenser\".\"ID\"");

public static ComplexTypeSystem InitializeComplexTypeSystem(Session session)
{
Console.WriteLine("Initializing ComplexTypeSystem");
ComplexTypeSystem complexTypeSystem = new ComplexTypeSystem(session);
complexTypeSystem.Load().Wait();
Console.WriteLine("Initialized ComplexTypeSystem");
return complexTypeSystem;
}

Der Code liest den angegebenen Knoten auf der SPS erfolgreich, aber der Knoten verwendet einen benutzerdefinierten UDT. Obwohl ich die Antwort manuell analysieren könnte, um sie an die Datenstruktur anzupassen, hoffe ich, dass es eine bessere Möglichkeit gibt, mit benutzerdefinierten UDTs umzugehen. Ich habe die Beispiele auf dem UA-.NETStandard GitHub überprüft, aber keine Lösung gefunden. Gibt es eine Anleitung? Der Knoten selbst sieht wie folgt aus:
Image

Top