Hallo Jochen,
> Laut Dokumentation,...
Welche Dokumentation meinst du, bzw. welche hast du ?
> ist jedoch die Implementierung von libnodave nicht richtig ...
Das habe ich auch schon mal von jemandem gehört, er konnte oder wollte mir aber nicht konkret sagen was da nicht stimmt.
Fakt ist, wenn Step7 z.B. eine VAT online hat und du machst was mit Libnodave über S7online, dann fliegt die VAT Verbindung raus.
Das müsste so nicht sein, es könnten sicher mehrere Verbindungen über S7online gleichzeit offen sein. Step7 schaft das ja auch.
> da unter Windows nur im Asynchronen Modus gearbeitet werden darf.
Dass glaube ich so nicht, ich denke auch synchron sollte gehen.
Frage:
Hast du die die Header Datei fdl_rb.h ?
Wenn nein könnte ich die dir zukommen lassen.
INT WINAPI SCP_open ( CHAR *);
INT WINAPI SCP_close ( INT );
INT WINAPI SCP_send ( INT, USHORT, char *);
INT WINAPI SCP_receive ( INT, SHORT, SHORT *, SHORT, CHAR *);
INT WINAPI SetSinecHWndMsg( INT, HANDLE, ULONG );
INT WINAPI SetSinecHWnd( INT,HANDLE);
INT WINAPI SCP_get_errno( VOID );
Darin sind die o.g. DLL Aufrufe definiert. In neueren DLL gibt es allerdings auch noch andere Aufrufe.
Wie soll die DLL wissen, dass du auf eine WM_SINEC Message wartest ?
Ich vermute da müsste die "Session" anders geöffnet werden ...
Aber wenn du irgendwas rausfindest wäre das natürlich interessant.
Speziell ein C# Treiber direkt für S7online wäre interessant.
mfG. klaly