Verbindungsproblem zw. Excel und S7 mit libnodave über TCP/IP

808heiko

Level-1
Beiträge
7
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

habe folgendes Problem, steuere eine S7 über Excel VBA (TCP/IP, Firmennetz, Router und WLan) mit libnodave. Ich möchte alle 200 ms einen DB lesen und nach Bedarf schreiben dies klappt auch aber nur eine gewisse Zeit, bis openSocket 0 liefert und ich nicht mehr auf die S7 zugreifen kann. Würde dies nur 1-2 Sekunden der Fall sein, weil z.B. das Netz überlastet ist wäre dies ja kein Problem aber das dauert dann Minuten oder erfordert sogar einen Neustart bevor ich wieder auf die Steuerung zugreifen kann. :-(
Vielleicht hatte ja mal jemand ein ähnliches Problem und kann mir sagen was ich tun könnte, da ich keine Ahnung habe was ich da machen kann.
Bin für jede Hilfe oder Anregung dankbar.

gruß heiko
 
habe folgendes Problem, steuere eine S7 über Excel VBA (TCP/IP, Firmennetz, Router und WLan) mit libnodave. Ich möchte alle 200 ms einen DB lesen und nach Bedarf schreiben dies klappt auch aber nur eine gewisse Zeit, bis openSocket 0 liefert und ich nicht mehr auf die S7 zugreifen kann. Würde dies nur 1-2 Sekunden der Fall sein, weil z.B. das Netz überlastet ist wäre dies ja kein Problem aber das dauert dann Minuten oder erfordert sogar einen Neustart bevor ich wieder auf die Steuerung zugreifen kann. :-(
Vielleicht hatte ja mal jemand ein ähnliches Problem und kann mir sagen was ich tun könnte, da ich keine Ahnung habe was ich da machen kann.
Bin für jede Hilfe oder Anregung dankbar.

Wenn ich das richtig verstehe, öffnest und schliesst du bei jedem lese- und Schreibvorgang die Verbindung. Das sollte man eigendlich vermeiden, denn die Verbindung kann ja dauerhaft offen bleiben, allerdings weis ich nicht ob das beim Excel VBA überhaupt geht.

Wenn du die Verbindung schliesst nutzt du dort "closeport" oder "closesocket" ? (Closesocket musst du bei Verbindungen über TCP/IP verwenden)

Bin mir jetzt nicht sicher, aber glaub dein Phänomen tritt auf wenn man den Socket nicht schliesst, denn irgendwann sind dadurch alle verfügbaren Sockets belegt und es dauert ne weile bis die wieder freigegeben werden, dass würde zumindest erklären warum es nach einer Weile bzw. nach einem neustart wieder geht.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Super MW,

vielen, vielen Dank auch für deine schnelle Antwort. Habe doch tatsächlich closePort verwendet. Hätte ich auch selber darauf kommen können, dass openSocket und closePort nicht wirklich zusammenpasst. Habe jetzt closePort durch openSocket ersetzt und jetzt läufts. :D
Werde aber auch noch probieren die Verbindung offen zu halten.
Also nochmals besten Dank und wer das Beispiel von vierlagig verwendet:
http://www.sps-forum.de/showpost.php...5&postcount=39
sollte dies noch korrigieren.

gruß heiko
 
S7 -> Excel

Ich habe eine PC Testanwendung geschrieben, die S7 Daten über den MPI Adapter einliest und in Excel Files schreibt.

Das System benötigt .NET 3.5 oder neuer und braucht KEIN installiertes Excel auf dem PC. Es werden die kostenlosen Libnodave und NPOI Libs verwendet.

Bei Interesse bitte PN.
 

Anhänge

  • davedemo.JPG
    davedemo.JPG
    61,7 KB · Aufrufe: 87
Zurück
Oben