-> Hier kostenlos registrieren
Guten Tag,
ich habe ein Problem bei dem ich nicht mehr weiter komme.
Ich möchte mit C# und TwinCAT ADS die FSoE Adresse einer EL1904 Karte auslesen und diese in einer Windows Form Textbox ausgeben.
Die Basis ist eine CX9020 mit TC3 Lizenz.
Der Versuch über Port 851 auf GroupIndex : 0x03020011 (Objekt Id der Karte), Offset :0xF9800001 (CoE-Online, Ort der FSoE Adresse) zu zugreifen schlug mit dem Fehler "Ads-Error 0x701 : Service is not supported by server" fehl.
Auch der Zugriff über den ADS Server (Prozessabbild) des EtherCAT Masters brachte keine Erfolg ("5.28.212.205.2.1" 27905 ).
Nun habe ich über eine Sync Unit Zuordnung die EL1904 Karte meinem PlcTask zugeordnet und versucht dort über den im Task hinterlegten Port 350 zu zugreifen.
Hier nimmt er den Groupindex an aber bringt mir beim Offset einen "Ads-Error 0x703 : IndexOffset is invalid" Fehler.
Nun bin ich ratlos und hoffe dass mir jemand etwas unter die Arme greifen kann.
Hinzu kommt noch dass ich nicht viel Erfahrung mit Beckhoff TwinCAT oder C# habe.
Hierzu noch folgender Programmausschnitt:
ich habe ein Problem bei dem ich nicht mehr weiter komme.
Ich möchte mit C# und TwinCAT ADS die FSoE Adresse einer EL1904 Karte auslesen und diese in einer Windows Form Textbox ausgeben.
Die Basis ist eine CX9020 mit TC3 Lizenz.
Der Versuch über Port 851 auf GroupIndex : 0x03020011 (Objekt Id der Karte), Offset :0xF9800001 (CoE-Online, Ort der FSoE Adresse) zu zugreifen schlug mit dem Fehler "Ads-Error 0x701 : Service is not supported by server" fehl.
Auch der Zugriff über den ADS Server (Prozessabbild) des EtherCAT Masters brachte keine Erfolg ("5.28.212.205.2.1" 27905 ).
Nun habe ich über eine Sync Unit Zuordnung die EL1904 Karte meinem PlcTask zugeordnet und versucht dort über den im Task hinterlegten Port 350 zu zugreifen.
Hier nimmt er den Groupindex an aber bringt mir beim Offset einen "Ads-Error 0x703 : IndexOffset is invalid" Fehler.
Nun bin ich ratlos und hoffe dass mir jemand etwas unter die Arme greifen kann.
Hinzu kommt noch dass ich nicht viel Erfahrung mit Beckhoff TwinCAT oder C# habe.
Hierzu noch folgender Programmausschnitt:
Code:
private void CoE_Load(object sender, EventArgs e)
{
TcAdsClient tcClient = new TcAdsClient();
try
{
AdsStream ds = new AdsStream(31);
BinaryReader br = new BinaryReader(ds);
tcClient.Connect("5.28.212.205.1.1", 350);
tcClient.Read(0x03020011, 0xF9800001, ds);
ds.Position = 0;
textBox1.Text = br.ReadInt32().ToString();
tcClient.Dispose();
Console.WriteLine("getrennt");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
tcClient.Dispose();
Console.WriteLine("getrennt");
}
}
}
}