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

Ergebnis 1 bis 5 von 5

Thema: Problem mit LibNoDave und Zugriff aus verschiedenen Threads

  1. #1
    Registriert seit
    20.05.2009
    Beiträge
    32
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich benutze die LibNoDave.net.dll mit VB.Net 2010. In einem Thread wird der Header (die ersten 32 Byte) aus einem DB ständig gelesen und geschrieben, so das ich in meiner Anwendung quasi ein Abbild habe. nach jedem Lese/Schreib-Zyklus prüfe ich ob im Header ein bestimmtes Bit auf "1" ist. Sollte dies der Fall sein, so wird ein neuer Thread aufgemacht, und damit eine größere Datenmenge (bis zu 32 kByte) aus dem gleichen DB gelesen (ab Byte 33). Parallel läuft natürlich der erste Thread weiter.

    Beide Funktionen laufen für sich einwandfrei. Nur wenn beide Threads gleichzeit laufen, kommt folgender Fehler: Ein Aufrufziel hat einen Ausnahmefehler verursacht.

    Mehr ist leider nicht rauszubekommen.

    Deshalb nun meine Frage: Kann LibNoDave.net.dll überhaupt mehrere Verbindungen auf den gleichen DB handeln oder gibt es da grundsätzliche Probleme?

    Danke für Eure Hinweise...
    Wenn die Klügeren immer nachgeben, geschieht nur das, was die Dummen wollen
    Zitieren Zitieren Problem mit LibNoDave und Zugriff aus verschiedenen Threads  

  2. #2
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.746
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    nutzt du denn als puffer ein eigenes byte array das du übergibts, oder den libnodave internen?
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  3. #3
    Registriert seit
    20.05.2009
    Beiträge
    32
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ja, jeweils ein eigenes Bytearray. Für den zweiten Thread werden auch komplett neue Instanzen aller Dave-Objekte angelegt. Der Fehler tritt um so häufiger auf, je grösser die Datenmenge im zweiten Thread ist oder je schneller ich die Zyklen im ersten Thread mache. Er tritt bei der IB...Soft-SPS genauso auf, wie bei einer S.-Hardware.
    Wenn die Klügeren immer nachgeben, geschieht nur das, was die Dummen wollen

  4. #4
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.746
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Also baust du für den 2ten thread eine komplett neue verbindung auf? Also Ich denke das es mit mehreren threads funktioniert, einige haben meinen protokoller mit Verbindungen zu mehreren SPSen am laufen, und was ich bisher gehört habe läufts. Und Ich nutze in meiner C# Bibliothek (http://siemensplctoolboxlib.codeplex.com) intern auch libnodave und die libnodave.net
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  5. #5
    Registriert seit
    20.05.2009
    Beiträge
    32
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Problem gefunden!
    Fehler lag in meinem Programm: ich hatte versehentlich einen Thread 2 x angestoßen, was zu Dateninkonstistenzen geführt hat (die Tücken des
    Multithreading).

    Danke für die bisherige Mühe....
    Wenn die Klügeren immer nachgeben, geschieht nur das, was die Dummen wollen

Ähnliche Themen

  1. Zugriff auf S5 mit libnodave und ISO over TCP
    Von Thorsten Schier im Forum Hochsprachen - OPC
    Antworten: 0
    Letzter Beitrag: 12.04.2011, 16:08
  2. Merkerwörter mit C# und Libnodave aus SPS lesen und schreiben
    Von Red-Sh4nks im Forum Hochsprachen - OPC
    Antworten: 14
    Letzter Beitrag: 04.06.2010, 15:10
  3. Antworten: 4
    Letzter Beitrag: 17.02.2010, 12:48
  4. Problem mit libnodave und CP243-1
    Von lukas im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 02.09.2007, 20:25
  5. Antworten: 1
    Letzter Beitrag: 01.12.2004, 19:30

Lesezeichen

Berechtigungen

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