Beckhoff ADS c# enum Werte

slaud

Level-2
Beiträge
82
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
Weis jemand zufällig wie man die Werte einlesen kann,
bekomme es einfach nicht hin!
Da sind die Werte grundsätzlich.
Enum.png
Code:
// ADS Connenction
            TcAdsClient client = new TcAdsClient(AdsClientSettings.Default);
            client.Connect(AmsNetId.Local, 851);
            Console.WriteLine(client.ReadState().AdsState.ToString());
            Console.WriteLine(client.ReadState().DeviceState.ToString());

            // Symbol loader
            var symbolLoader = SymbolLoaderFactory.Create(client, SymbolLoaderSettings.Default);

            IDataType dataType = client.ReadDataType("E_Diagnosis");
            Console.WriteLine(dataType.Category.ToString());
            Console.WriteLine(dataType.Id.ToString());
            Console.WriteLine(dataType.ToString());
Danke für die Hilfe
 
Wenn Du den Datentyp einliest, bekommst Du nur den Datentyp.
Wenn Du den Wert haben möchtest, ich mache das so:

Code:
Integer nhandle = client.CreateVariableHandle("SPS-Symbol")
Object ReturnVar = client.ReadAny(nhandle, GetType(INT16))
client.DeleteVariableHandle(nhandle)

SPS-Symbol ist dabei die SPS-Variable, die mit dem DatenTyp "E_Diagnosis" deklariert wurde.

Was mir allerdings komisch ist, Du erzeugst einen AdsClient und benutzt dem in der selben Prozedur. Wie viele TCAdsClients pro Sekunde hast Du denn vor zu erzeugen und zu connecten?
Brauchst Du grundsätzliche Hilfe? Ich habe einen recht umfangreichen ADS-Core geschrieben und entsprechend Erfahrung.
 
Zuletzt bearbeitet:
Zurück
Oben