# Asynchrone Abfrage mit IAGLink4 löst Event OnReadDataBytesCompleted nicht aus



## stheet00 (9 März 2011)

Hallo zusammen,

hoffe dass mir hierzu jemand weiterhelfen kann.

Ich möchte über die Schnittstelle IAGLink4 eine asynchrone Kommunikation zur SPS aufbauen. Zum Lesen der Daten verwende ich die Funktion ReadDataBytes. Als Rückgabewert erhalte ich die Jobnummer und im Buffer stehen nach einiger Zeit auch die gelesenen Daten drin.

Nun zu meinem Problem:
Ich habe das Event

```
_IAgLink4.OnReadDataBytesCompleted += new AsyncDataBytesEventHandler(OnReadDataBytesCompleted);
```
entsprechend registriert. Nach dem Aufruf der Funktion

```
byte[] Buffer = new byte[1000];
int ret = _IAgLink4.ReadDataBytes(1110, 0, 1000, Buffer);
```
bekomme ich die Jobnummer zurück, das Event wird aber nicht ausgelöst.
Der Timeout 
	
	



```
_IAgLink4.Timeout = 0
```
 habe ich für asynchrones Lesen entsprechend gesetzt.

Vielen Dank im Voraus


----------



## Rainer Hönle (9 März 2011)

Timeout 0 verwendet den Standardtimeoutwert aus der Konfiguration. Wie ist dieser eingestellt? Mit welcher SPS (MLFB-Nummer) wird über welchen Verbindungsweg kommuniziert? Funktionieren andere asnychrone Funktionen oder gehen alle nicht?


----------



## Rainer Hönle (9 März 2011)

Hab das noch einmal im Hause getestet. Bei mir kommt der Event. Unser bei uns funktionierendes Demoprojekt ist im Anhang.


----------



## stheet00 (9 März 2011)

Hallo Hr. Hönle,

vielen Dank für die schnelle Antwort. Werde Ihr Demoprojekt morgen im Büro ausprobieren. Der Timeout aus dem Konfigurationsfile ist 30000. Die Events OnConnected und OnDisconnected werden ausgeführt. Verbindungsweg ist S7_TCP/IP.


----------



## Rainer Hönle (9 März 2011)

Und welche SPS ist im Einsatz (MLFB-Nummer)? Dies ist auch leicht über den API-Guide ermittelbar.


----------



## stheet00 (10 März 2011)

Mlfb: 6es7 317-2aj10-0ab0


----------



## stheet00 (10 März 2011)

Ich denke, dass ich den Fehler gefunden habe. Ihr Demoprojekt funktioniert bei mir solange, wie ich mit Ihrer mitgelieferten AGL4DotNET.dll vom 31.03.2010 teste.

Ich habe dann mal meine Version vom 26.10.2010 in Ihr Demoprojekt kopiert und hatte dann ebenfalls den Effekt, dass das Event nicht ausgelöst wird. Diese Version wird auf Ihrer Homepage zum Download angeboten.

Vielen Dank für Ihre Unterstützung.


----------

