-> Hier kostenlos registrieren
Hallo,
ich benutze libnodave um aus einer S7 via "ISO over TCP" DB's auszulesen.
Das lesen der DB's erfolgt, nach erfogreichen Connect zur S7, mit folgendem PDU Request:
Diese Abfrage funktioniert eine Zeit lang ohne Probleme (einige Minuten bis Stunden), bis nach einer Zeit ein "Acccess Violation" Fehler (Speicher Zugriffsverletzung) auftritt. Hat jehmand eine Idee was ich falsch machen könnte.
Entstanden ist mein Programm in C# mit VS2005.
Kann es evtl. sein, dass der "Garbage Collector" von .NET sich mit libnodave ab und an nicht "verträgt" ?
ich benutze libnodave um aus einer S7 via "ISO over TCP" DB's auszulesen.
Das lesen der DB's erfolgt, nach erfogreichen Connect zur S7, mit folgendem PDU Request:
Code:
private void read_Settings()
{
//vorbereiten der SPS Anfrage
pdu = dc.prepareReadRequest();
//Teilabfrage 0
pdu.addVarToReadRequest(libno.daveDB, 80, 0, 123);
//SPS auslesen
res = dc.execReadRequest(pdu, rs);
res = dc.useResult(rs, 0); //ersten Antwortblock auswerten
if (res == 0)
{
clDaten_allgemein.dSettingTestVoltage = (double)dc.getFloat();
.
.
.
}
}
Entstanden ist mein Programm in C# mit VS2005.
Kann es evtl. sein, dass der "Garbage Collector" von .NET sich mit libnodave ab und an nicht "verträgt" ?