Also Ich habe auf jeden Fall was geändert, das wenn du DisconnectPLC aufrufst, beim S7Online Protokoll auch was gesendet wird!
Rufst du bei dir auch sicher DisconnectPLC auf?
Jup, wird auch jedes mal ins Debugfile geloggt. Hier mal ein Beispiel wenn nach wiederholten Lesefehler automatisch die Verbindung abgebaut wird. Der Lesefehler kommt hier zustande, da die S7Online Verbindung nach dem ersten Reconnect nicht wirklich funktioniert, da die Schnittstelle zuvor von wem auch immer (Programm, .NET, OS...) nicht wieder freigegeben wurde. Die S7Online Verbindung gibt interessanter Weise jedoch wie man im Log erkennen kann beim connectPLC grünes Licht...:
11.06.2010 07:19:06:906 Start Connection via S7Online ...
11.06.2010 07:19:06:921 S7Online Local Address: 0
11.06.2010 07:19:06:921 S7Online Remote Address: 2
11.06.2010 07:19:06:921 S7Online Baudrate: 187.5k
11.06.2010 07:19:06:921 S7Online CPU rack: 0
11.06.2010 07:19:06:921 S7Online CPU slot: 2
11.06.2010 07:19:06:937 S7Online Reconnecting after: 5 read errors
11.06.2010 07:19:06:937 S7Online Reconnecting Interval: 20000 ms
11.06.2010 07:19:06:953 Open S7Online Connection (PG/PC Interface) - Used Adapter: CP5611(Auto)
11.06.2010 07:19:06:953 Open S7Online Connection (PG/PC Interface) - Local Address: 0
11.06.2010 07:19:06:953 Open S7Online Connection (PG/PC Interface) - Timeout: 1sec (L4_TIMEOUT = 18)
11.06.2010 07:19:06:968 Open S7Online Connection (GetForegroundWindow)... hWnd=328754
11.06.2010 07:19:06:968 Open S7Online Connection (before 1st call of libnodave.openS7online)... fds.rfd=1
11.06.2010 07:19:06:968 Open S7Online Connection (libnodave.openS7online)... fds.rfd=1
11.06.2010 07:19:06:984 Open S7Online Connection (libnodave.openS7online)... S7Online intern=Kein Fehler
11.06.2010 07:19:06:984
Open S7Online Connection (di.initAdapter)... res=0 - ok
11.06.2010 07:19:07:750 Open S7Online Connection (di.listReachablePartners) ... Result: 126
11.06.2010 07:19:07:781 Open S7Online Connection - detected MPI/Profibus device addresses: 0 2
11.06.2010 07:19:08:578
Open S7Online Connection (dc.connectPLC)... res=0 - ok
11.06.2010 07:19:08:593 Open S7Online Connection successfull
11.06.2010 07:19:10:421 Datalogger: Starting without Trigger
11.06.2010 07:19:10:421 Datalogger: Preparing Poll data...
11.06.2010 07:19:10:578 Datalogger: Logfile started...
11.06.2010 07:19:10:578 Datalogger: Polling data started...
11.06.2010 07:19:10:781 Error from dc.execReadRequest: -128 = Unexpected function code in answer
11.06.2010 07:19:10:984 Error from dc.execReadRequest: -128 = Unexpected function code in answer
11.06.2010 07:19:11:187 Error from dc.execReadRequest: -128 = Unexpected function code in answer
11.06.2010 07:19:12:796 Error from dc.execReadRequest: -128 = Unexpected function code in answer
11.06.2010 07:19:12:812 Error from dc.execReadRequest: -128 = Unexpected function code in answer
11.06.2010 07:19:12:812
Close Connection (dc.disconnectPLC)... res=0 - ok
11.06.2010 07:19:12:812
Close Connection (di.disconnectAdapter)... IntPtr=0
11.06.2010 07:19:12:828 Close Connection (closeS7online)... fds.rfd=1
11.06.2010 07:19:12:828
Close Connection (closeS7online)... res=0 - ok
Habe grad mal versucht Dein TestVB Programm zu starten nachdem ich das erforderliche .NET Framework 4.0 auf meinem Rechner installiert habe (mein Programm basiert der Kompatibilität halber noch auf .NET Framework 2.0 auf, kann das ggf. das Problem sein?) bekam ich nachdem ich das TestVB Programm geöffnet hatte leider 17 Fehlermeldungen und musste feststellen, dass die ConnectionLibrary bei den Projekt-Verweisen nicht gefunden werden konnte. Ich hab dann versucht diese per Link auf die DLL (per Durchsuchen und Auswählen der LibNoDaveConnectionLibrary.dll) neu einzubinden, es kam jedoch beim Pfad immer wieder die selbe Meldung "<System kann den angegebenen Verweis nicht finden>". Was mache ich hier falsch?
Bin wie gesagt VB.NET bzw. hochsprachentechnisch noch am einsteigen, vor allem was "komplexere" Projektverlinkungen anbelangt.
Danke schon mal im voraus für jeden Tipp.
Gruss,
bool