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

Seite 5 von 7 ErsteErste ... 34567 LetzteLetzte
Ergebnis 41 bis 50 von 61

Thema: libnodave via S7Online macht Probleme nach Verbindungstrennung und erneuten Verbinden

  1. #41
    bool ist offline Benutzer
    Themenstarter
    Registriert seit
    26.03.2010
    Beiträge
    94
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Jochen Kühner Beitrag anzeigen
    Hab nun das verworfen die LibNodave zu ändern, hab nun in meiner erweiterten libnodave.net.dll die funktion libnodave.daveStrS7onlineError definiert.

    Ruf die mal auf wenn dir S7Online -1 als Handle zurückgibt, oder wenn die Kommunikation nicht mehr funzt, um zu sehen ob der S7 Online Treiber einen fehler wirft.

    Die Dll lade Ich in den anderen Thread wo Ich bereits die vorige Version hab!

    Libnodave.dll kannst du dann wieder die orginale verwenden!
    so, habe nun die neue libnodave.net.dll von Dir compiliert und eingebunden. Da wie erwähnt der Verbindungsaufbau an sich bei S7Online fehlerfrei durchläuft gibt auch die openS7online Funktion "0" zurück und damit die libnodave.daveStrS7onlineError auch "Kein Fehler".

    Dass das mit dem nicht zurückgesetzten fds.rfd vermutlich nicht das Problem ist, konnte ich mich nun auch bei einem getesten MPI Adapter von PI überzeugen. Nach einem Disconnect war fds.rfd immer noch auf dem alten Wert, es konnte jedoch danach wieder erfolgreich verbunden und gelesen werden.

    Das Problem vermute ich aber immer noch beim Verbindungsabbau des S7ONLINE und nicht unbedingt bei der Funktion "openS7online", da ich beobachtet hatte, dass der Adapter in "PG/PC Schnittstelle einstellen" nach dem Verbindungsabbau nicht umgestellt werden konnte, da sie noch immer reserviert war. Erst nach dem Beenden des Programmes konnte ich diese wieder umstellen. Das Problem liegt also wahrscheinlich eher bei der Funktion "res = libnodave.closeS7online(fds.rfd)"

    Es ist aber natürlich trotzdem nicht korrekt, dass openS7online "0" zurück gibt und vorgibt es sei alles in Ordnung.

    Gruss,

    bool

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

    Standard

    Aber Ich sehe nicht was LibNoDave da falsch machen sollte am Close?? Wenn ich die Doku der FDL Programmierschnittstelle anschaue, macht es LibNoDave eigendlich richtig!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren Jo...  

  3. #43
    Registriert seit
    28.10.2005
    Ort
    Ottweiler, Saar
    Beiträge
    940
    Danke
    259
    Erhielt 124 Danke für 109 Beiträge

    Standard

    Zitat Zitat von bool Beitrag anzeigen
    ,
    Es ist aber natürlich trotzdem nicht korrekt, dass openS7online "0" zurück gibt und vorgibt es sei alles in Ordnung.
    Ich les mir jetzt nicht extra den Quellcode von LibNoDave durch. Jochen meint, dass hier alles korrekt läuft, das wird wohl stimmen.

    Also dann, bool:

    Woher, denkst Du, kommt diese 0 ? Sicherlich hat doch die S7Online-Komponente, in die man leider nicht reinschauen kann, gemeldet, dass alles OK ist. Auch LibNoDave muss sich darauf verlassen können, dass angesprochene Unterprogramme (viel mehr sind ja die sogenannten Treiber auch nicht) korrekte Rückgabewerte liefern.

    Würde mich wundern, wenn sich andere Bibliothen in der selben Umgebung wesentlich anders verhielten.

    Und da ist noch die alte Geschichte mit der Bedenkzeit der S7. Je nachdem an welche man gerät, braucht die eine gewisse Zeit, bevor sie nach einem erfolgreichen Verbindungsabbau einen erneuten Aufbau wieder akzeptiert.

    In der Hoffnung, nicht allzusehr daneben zu liegen, wünsche ich allen einen schönen Vatertag.

    Gruß
    argv_user

  4. #44
    bool ist offline Benutzer
    Themenstarter
    Registriert seit
    26.03.2010
    Beiträge
    94
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    habe soeben ein bischen im Archiv gestöbert und festgestellt, dass das Problem mit dem Freigeben des Adapters unter S7ONLINE bereits schon länger existiert, siehe http://www.sps-foren.de/showthread.php?t=10908

    Dort wurde damit experimentiert closeport statt closeS7online zu verwenden. Ich habe dies probiert jedoch feststellen müssen, dass aucn damit der in PG/PC Schnittstelle eingestellte Adapter nicht wirklich wieder frei gegeben wird. Es kann nach dem ?Verbindungsabbau? und erneutem Aufbau zwar wieder kommuniziert werden, jedoch gehen dem Adaptertreiber nach spätestens dem achten Verbindungsabbau und Wiederaufbau die Resourcen aus, denn openS7online bringt dann Error "-202" und die Funktion libnodave.daveStrS7onlineError bringt dann "Resourcenengpaß im Treiber oder in der Lirary".

    Gruss,

    bool
    Geändert von bool (13.05.2010 um 22:53 Uhr)

  5. #45
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Zitat Zitat von bool Beitrag anzeigen
    habe soeben ein bischen im Archiv gestöbert und festgestellt, dass das Problem mit dem Freigeben des Adapters unter S7ONLINE bereits schon länger existiert, siehe http://www.sps-foren.de/showthread.php?t=10908

    Dort wurde damit experimentiert closeport statt closeS7online zu verwenden. Ich habe dies probiert jedoch feststellen müssen, dass aucn damit der in PG/PC Schnittstelle eingestellte Adapter nicht wirklich wieder frei gegeben wird. Es kann nach dem ?Verbindungsabbau? und erneutem Aufbau zwar wieder kommuniziert werden, jedoch gehen dem Adaptertreiber nach spätestens dem achten Verbindungsabbau und Wiederaufbau die Resourcen aus, denn openS7online bringt dann Error "-202" und die Funktion libnodave.daveStrS7onlineError bringt dann "Resourcenengpaß im Treiber oder in der Lirary".

    Gruss,

    bool

    Das mit closeport kann nicht funktionieren, da in der libnodave mit closeport nichts aus der s7onlinx.dll aufgerufen wird, und diese dll ist für dieses Protokoll zuständig. und closes7online ruft einfach nur scp_close der s7onlinx.dll auf, genau so ist es auch in der von mir verlinkten pdf beschrieben, deshalb sehe ich nicht was da falsch sein soll!

    Aber probier mal ob mit accon aglink das gleiche problem besteht, so wie ich das gesehn habe nutzen die auch die s7onlinx.dll...
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  6. #46
    Registriert seit
    07.07.2004
    Beiträge
    3.285
    Danke
    38
    Erhielt 584 Danke für 382 Beiträge

    Standard

    Hallo,

    Zitat Zitat von Jochen Kühner
    Aber probier mal ob mit accon aglink das gleiche problem besteht, so wie ich das gesehn habe nutzen die auch die s7onlinx.dll...
    Beim AGLink besteht dieses Problem nicht, das kann ich Dir versichern ..

    Gruß

    Question_mark
    Zitieren Zitieren ...  

  7. #47
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    @bool
    Hab mal noch an der S7Online Schnittstelle der LibNodave rumgeschraubt und hie rund da was verändert, vielleicht magst du ja meine Änderungen mal testen... (vielleicht Helfen Sie ja bei deinem problem) Bei mir macht das testen im Moment probleme, das die S7Onlinx welche von libnodave verwendet wird mit meinem Netlink Treiber unter .net wohl abstürzt (macht accon aglink aber auch!, daher tippe ich auch auf ein treiberprob)
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren So...  

  8. #48
    bool ist offline Benutzer
    Themenstarter
    Registriert seit
    26.03.2010
    Beiträge
    94
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Jochen Kühner Beitrag anzeigen
    @bool
    Hab mal noch an der S7Online Schnittstelle der LibNodave rumgeschraubt und hie rund da was verändert, vielleicht magst du ja meine Änderungen mal testen... (vielleicht Helfen Sie ja bei deinem problem) Bei mir macht das testen im Moment probleme, das die S7Onlinx welche von libnodave verwendet wird mit meinem Netlink Treiber unter .net wohl abstürzt (macht accon aglink aber auch!, daher tippe ich auch auf ein treiberprob)
    Hallo Jochen,

    Danke für die Info, werde ich gerne die Tage ausprobieren.
    Sind die Libnodave.dll und libnodave.net.cs im Anhang Deines Posts http://sps-forum.de/showpost.php?p=262280&postcount=1 noch die aktuelle/letzte Version? Ich frage, da ich die libnodave.net.cs ja dann für mein VB.net Projekt in libnodave.net.dll compilieren muss. Welche Anpassungen bezüglich der S7Online Verbindungsaufbau und Abbau wurden dort vorgenommen? Gibt es eigentlich inzwischen auch eine closeS7online() Variante bei welcher ich beim Schliessen der Verbindung das FensterHandle übergeben kann welche zuvor bei openS7online() angegeben wurde?

    Gruss,

    bool

  9. #49
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Zitat Zitat von bool Beitrag anzeigen
    Hallo Jochen,

    Danke für die Info, werde ich gerne die Tage ausprobieren.
    Sind die Libnodave.dll und libnodave.net.cs im Anhang Deines Posts http://sps-forum.de/showpost.php?p=262280&postcount=1 noch die aktuelle/letzte Version? Ich frage, da ich die libnodave.net.cs ja dann für mein VB.net Projekt in libnodave.net.dll compilieren muss. Welche Anpassungen bezüglich der S7Online Verbindungsaufbau und Abbau wurden dort vorgenommen? Gibt es eigentlich inzwischen auch eine closeS7online() Variante bei welcher ich beim Schliessen der Verbindung das FensterHandle übergeben kann welche zuvor bei openS7online() angegeben wurde?

    Gruss,

    bool
    ich stell am monatag wenn ichs getestet habe nochmal ne version online. nein , eine close variante mit handle gibt es nicht (und denke ich wird es auch nie geben). Das handle in den funktionen ist eigendlich dazu da, wenn man die asynchrone scp_send funktion der s7onlinex.dll verwendet, das das fenster mit der hwnd die nachrichten in die winproc bekommt!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren jo...  

  10. #50
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    So hab nun meine geänderte libnodave hochgeladen. Probiers mal mit der...

    http://www.sps-forum.de/showthread.php?t=36363

    Kannst auch mein Beispiel Programm zum testen nehmen (Ist in meinem ConnectionLibrary enthalten)
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren So..  

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 01.02.2011, 11:27
  2. Libnodave und S7online
    Von adi im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 05.01.2011, 16:31
  3. LibNoDave + S7Online
    Von Lazarus™ im Forum Hochsprachen - OPC
    Antworten: 14
    Letzter Beitrag: 05.05.2009, 19:56
  4. LibNoDave - S7Online - TCP/IP
    Von Jochen Kühner im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 09.03.2009, 12:33
  5. Libnodave und S7Online
    Von Ralle im Forum Hochsprachen - OPC
    Antworten: 14
    Letzter Beitrag: 02.02.2007, 13:49

Lesezeichen

Berechtigungen

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