Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 3 von 3

Thema: libnodave & Access violation

  1. #1
    Registriert seit
    21.11.2006
    Beiträge
    1
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Rotes Gesicht


    Zuviel Werbung?
    -> 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:

    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();
                     .
                     .
                     .
                 }
            }
    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" ?
    Zitieren Zitieren libnodave & Access violation  

  2. #2
    Registriert seit
    22.11.2006
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich habe genau das gleiche Problem. Benutze ebenfalls VS2005. Dies ist die Fehlermeldung:

    System.AccessViolationException wurde nicht behandelt.
    Message="Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist."
    Source="libnodave.net"
    StackTrace:
    bei libnodave.pseudoPointer.daveFree(IntPtr p)
    bei libnodave.pseudoPointer.Finalize()
    bei libnodave.resultSet.Finalize()




    Hat da jemand eine Ahnung?



    Grüße Benjamin

  3. #3
    Registriert seit
    22.11.2006
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Meine Vermutung ist, dass es irgentwas damit zu tun hat, dass der Befehl FreeResult nicht funktioniert...

Ähnliche Themen

  1. PC Access + Excel2007
    Von veritas im Forum HMI
    Antworten: 1
    Letzter Beitrag: 17.01.2009, 20:05
  2. S7-200 mit PC Access abfragen
    Von e_huellen im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 24.01.2008, 19:08
  3. Access (VBA) auf OPC Server
    Von ernestol im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 03.04.2006, 15:20
  4. S7-200 PC Access
    Von Unregistriert im Forum PC- und Netzwerktechnik
    Antworten: 2
    Letzter Beitrag: 17.02.2006, 08:14

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •