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

Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 27

Thread: libnodave timeout Problem

  1. #11
    Join Date
    03.09.2008
    Posts
    50
    Danke
    7
    Erhielt 2 Danke für 2 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Sorry Zottel, aber damit funktioniert es auch nicht. Sicher die neue Version??? Oder doch noch etwas anderes?

  2. #12
    Join Date
    19.06.2003
    Posts
    2,299
    Danke
    85
    Erhielt 274 Danke für 179 Beiträge

    Default

    Womit testest du? Mir fällt gerade ein, daß testISO_TCP die dll gar nicht nutzt. Es ist statisch gelinkt. Daher hänge ich es hier an.
    Attached Files Attached Files

  3. #13
    Join Date
    03.09.2008
    Posts
    50
    Danke
    7
    Erhielt 2 Danke für 2 Beiträge

    Default

    Nene ich nutze das SourceBeispiel für C#.NET "simpleISO_TCP.cs" also nimmt er schon die richtige DLL.

    Edit: Ich lese bei mir im Original einen Block von ca. 3k Bytes. In der Test lasse ich es in iner Schleife laufen.

    Code:
    for (int i = 0; i < 1000; i++)
    {
    res = dc.readBytes(libnodave.daveDB, 702, 0, 200, buffer);
     
    
    if (res == 0)
    {
    a = dc.getS32();
    Console.WriteLine("FD0: " + a);
    }
    else
    {
    Console.WriteLine("error " + res + " " + libnodave.daveStrerror(res));
    }
    }
    Last edited by Key; 28.01.2009 at 14:30.

  4. #14
    Join Date
    19.06.2003
    Posts
    2,299
    Danke
    85
    Erhielt 274 Danke für 179 Beiträge

    Default

    Wie unterbrichst du die Verbindung?

  5. #15
    Join Date
    03.09.2008
    Posts
    50
    Danke
    7
    Erhielt 2 Danke für 2 Beiträge

    Default

    Stecker ziehen^^. Ne spass bei Seite. Wie schon ganz vorn beschrieben kommt die Timeoutmeldung -1025 nur wenn ich das LAN Kabel auf PC seite ziehe. Also Kein Netz. Wenn ich das hinter dem Switch auf SPS Seite mache hat der PC ja noch Netz aber der Griff geht ins leere. Und genau da kommt keine Meldung zurück. Er bleibt im Read bzw. Write stecken und kommt nicht mehr raus.

  6. #16
    Join Date
    27.10.2005
    Location
    Schwäbisch Gmünd
    Posts
    5,629
    Danke
    698
    Erhielt 996 Danke für 809 Beiträge

    Default

    Quote Originally Posted by Zottel View Post
    Wie unterbrichst du die Verbindung?
    Hallo Zottel,
    schön wieder mehr von Dir zu lesen.
    Bei meinen Versuchen habe ich festgestellt, dass bei Ziehen des Kabels jenseits des nächsten Überganges (in der Regel Switch) der Line Break nicht erkannt wird (wie auch). Wird das direkte Kabel gezogen, kommt sofort eine Fehlermeldung vom TCP/IP-Stack zurück.
    Rainer Hönle
    DELTA LOGIC GmbH

    Die Kritik an anderen hat noch niemandem die eigene Leistung erspart (Noël Coward)

  7. #17
    Join Date
    03.09.2008
    Posts
    50
    Danke
    7
    Erhielt 2 Danke für 2 Beiträge

    Default

    Kann man das überhaupt richtig abfragen außer mit einem Timer. Weil eine Meldung kommt doch sicher nicht. Oder hat das was mit dem TTL usw. zu tun und ist es darüber evtl. steuerbar? Hab da nicht so die Ahnung

  8. #18
    Join Date
    19.06.2003
    Posts
    2,299
    Danke
    85
    Erhielt 274 Danke für 179 Beiträge

    Default

    Quote Originally Posted by Key View Post
    Habe es gerade mit einem Timer implementiert der das ElapsedEvent feuert wenn er abgelaufen ist. Funktioniert so einwanfrei. Nur schade dass es nicht direkt von der Lib so kommt.
    Sehe ich nicht so. Ich meine, die Bibliothek sollte sich auf das Wesentliche beschränken. Wenn du C programmierst, bekommst du auch zwischen
    openSocket und daveNewInterface das socket handle "in die Hand" und kannst mit setsockopt() timeout oder O_NONBLOCK einstellen. Ob es in deinem Fall nützen würde und ob es aus Dot.NET funktioniert, weiß ich gerade nicht...
    Was passiert aber in einem "fetten" Programm wie EXCEL, wenn ein VBA Makro eine C-Funktion ruft, die einen timer startet und zurückkehrt, bevor er abläuft?
    Und: Je weniger Betriebssystemfunktionen einen Bibliothek nutzt, desto leichter ist sie portierbar und desto eher läuft sie auf neuen Versionen.

  9. #19
    Join Date
    03.09.2008
    Posts
    50
    Danke
    7
    Erhielt 2 Danke für 2 Beiträge

    Default

    Den Timer hab ich in C#.NET

    An der Lib selbst habe ich nichts geändert. Möchte ich ja auch nicht. Es soll auch keine Kritik sein. Meine Frage war nur ob ich in so einem Fall nicht etwas von dem Read bzw. Write zurückerhalten sollte.

    ich mache im grunde bei mir nichts anderes als

    Code:
    m_Timer.Start();
    res = dc.readManyBytes(area, areaNumber, startByte, length, buffer);
    m_Timer.Stop();
    läuft der Timer ab wird das Event gefeuert. Bin mir aber sicher das es noch eleganter geht^^
    Last edited by Key; 28.01.2009 at 15:07.

  10. #20
    Join Date
    19.06.2003
    Posts
    2,299
    Danke
    85
    Erhielt 274 Danke für 179 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Quote Originally Posted by Key View Post
    Kann man das überhaupt richtig abfragen außer mit einem Timer. Weil eine Meldung kommt doch sicher nicht. Oder hat das was mit dem TTL usw. zu tun und ist es darüber evtl. steuerbar? Hab da nicht so die Ahnung
    TTL ist nur dafür da, zu verhindern, daß Pakete ewig im Netz zirkulieren: Bei komplizierten Wegen über Gateways/Router oder wenn während des Pakettransports die Routingtabellen eines Teilnehmers/Gateways/Routers verändert werden, könnten geschlossene Kreise enstehen.
    Daher zählt jeder Knoten, der ein Paket weiterreicht, TTL herunter und wenn es 0 erreicht, schmeißt er es weg.

    Das Verhalten deines TCP/IP-Stacks läßt sich eventuell über setsockopt() beeinflussen.

Similar Threads

  1. HY-TTC 50 Timeout Problem mit CODESYS V2.3
    By kanabe in forum CODESYS und IEC61131
    Replies: 2
    Last Post: 02.02.2015, 08:55
  2. Problem mit CU240E-2PN F08501 Profinet: Sollwert Timeout
    By Wagginator in forum Antriebstechnik
    Replies: 0
    Last Post: 22.10.2013, 10:08
  3. Replies: 0
    Last Post: 09.09.2010, 00:27
  4. libnodave und Timeout
    By HeizDuese in forum Simatic
    Replies: 3
    Last Post: 06.01.2009, 15:06
  5. Libnodave Timeout
    By Lazarus™ in forum Hochsprachen - OPC
    Replies: 7
    Last Post: 16.10.2005, 00:41

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •