Lessen von Fehlern mittels ADS

adwaf

Level-1
Beiträge
13
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich will Fehler von TwinCAT auslesen mittels IndexGroup = 0x2100 und IndexOffset 0x00000012.
In meinen C# Programm verwende ich diesen Code:
Code:
TcAdsClient tcAds501;
tcAds501 = new TcAdsClient();
tcAds501.Connect(501);
AdsStream dataStream = new AdsStream(2000);
BinaryReader binRead = new BinaryReader(dataStream);
tcAds501.Read(0x2100, 0x00000012, dataStream);
dataStream.Position = 0;
byte[] test = new byte[2000];
binRead.Read(test, 0, 1990);
label4.Text = test.ToString();
Jedoch bekomme ich beim ausführen diesen Fehler
TwinCAT.Ads.AdsErrorException: 'Ads-Error 0x701 : Service is not supported by server. (Ads-Error 0x701 : Service is not supported
 
Auf dem NC-Port (501) gibt es wenn nur die 0x2100 + Achs-ID. Dort stehen bei diesem Offset aber keine Fehler sondern Satz Informationen der NC.
Du liest einfach falsch. Ich kenne auch keine Indexgroup wo man die Fehler auslesen kann. Ich habe kurz nachgesehen, dokumentiert scheint das auch nicht zu sein.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich würde hier auf den Eventlogger zurückgreifen. Die ganzen NC-Fehlermeldungen sind alle schon vorbereitet und warten nur auf die Abholung durch einen Evenlogger-Client.
Suche im C:\TwinCAT mal die Eventbar.exe und starte diese. Das ist ein einfacher Eventlogger-Client. Der ist außerdem schnell in C# integrierbar.

Was mich an Deinem Code oben sehr stört, ist die Tatsache, dass Du offensichtlich für nur eine Abfrage einen neuen TC-Ads-Client erzeugst und den nicht mal aus dem Speicher wieder entfernst.
 
IG: 0x2100: IO: 0x12 gibt es tatsächlich. // Abfrage des Filenamens und der aktuellen Position des G-Codes. Also das was du auch im SystemManager irgendwo angezeigt bekommst.
@adwaf: Nimm Port 500. Du hast zudem Privatpost.

Guga
 
Zuletzt bearbeitet:
Zurück
Oben