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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: An Libnodave eigenen Socket aus .NET übergeben?

  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 müsste mehr Kontrolle über den Socket, mit dem libnodave mit der S7 kommuniziert, haben. Z.B. muss ich die lokale IP-Adresse angeben können, da es öfter mal vorkommt, dass im PC 2 Netzwerkkarten gesteckt sind. Evtl. ließe sich damit auch mein Problem mit dem Schließen des Sockets lösen:

    http://www.spsforum.de/showthread.ph...bnodave+socket

    Frage also: Ist es möglich einen in .NET erzeugten Socket an libnodave zu übergeben? Wenn ja, wie muss dieser parametriert werden?

    Ich hatte es so schon mal probiert, hat aber leider nicht funktioniert:
    Code:
    Me.Socket = New Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.IP)
    Dim Ep As IPEndPoint = New IPEndPoint(IPAddress.Parse(Me.LocalIpAddress), Me.LocalPort)
    Me.Socket.Bind(Ep)
    Me.Socket.Connect(IPAddress.Parse(Me.PlcIpAddress), 102)
    Me.daveFds.rfd = Me.Socket.Handle.ToInt32
    
    Leider kommt die Funktion 'ConnectPlc' dann nicht mehr zurück.

    Vielen Dank für Eure Hinweise,

    Manni
    Wenn die Klügeren immer nachgeben, geschieht nur das, was die Dummen wollen
    Zitieren Zitieren An Libnodave eigenen Socket aus .NET übergeben?  

  2. #2
    Registriert seit
    01.03.2007
    Beiträge
    262
    Danke
    26
    Erhielt 33 Danke für 28 Beiträge

    Standard

    Zitat Zitat von Manni01 Beitrag anzeigen
    ...Z.B. muss ich die lokale IP-Adresse angeben können, da es öfter mal vorkommt, dass im PC 2 Netzwerkkarten gesteckt sind. Evtl. ließe sich damit auch mein Problem mit dem Schließen des Sockets lösen...
    Ich verstehe dein Problem nicht ganz. Windows sucht doch von sich selbst die Karte aus, an der die SPS dran ist. Wenn du einen Ping von Windows losschickst musst du ja auch keine Karte, lokale IP oder sonst was einstellen!

    Ich selbst habe auch Programme, die libnodave verwenden, auf Rechnern laufen, die 2 oder mehr Netzwerkkarten haben!

  3. #3
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.235
    Danke
    634
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Zitat Zitat von Human Beitrag anzeigen
    Ich verstehe dein Problem nicht ganz. Windows sucht doch von sich selbst die Karte aus, an der die SPS dran ist. Wenn du einen Ping von Windows losschickst musst du ja auch keine Karte, lokale IP oder sonst was einstellen!

    Ich selbst habe auch Programme, die libnodave verwenden, auf Rechnern laufen, die 2 oder mehr Netzwerkkarten haben!
    Im Normalfall ja. Wenn alles korrekt parametriert ist. Aber was, wenn an den Karten unterschiedliche Default-Gateways eingestellt sind, die nicht alles erreichen? Dann hängt es davon ab, wer als erstes vom System bedient wird. Und wenn der gewünschte Teilnehmer darüber nicht erreichbar ist => PG (Kurzform für: Pech gehabt)
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  4. #4
    Registriert seit
    01.03.2007
    Beiträge
    262
    Danke
    26
    Erhielt 33 Danke für 28 Beiträge

    Standard

    Zitat Zitat von Rainer Hönle Beitrag anzeigen
    Im Normalfall ja. Wenn alles korrekt parametriert ist. Aber was, wenn an den Karten unterschiedliche Default-Gateways eingestellt sind, die nicht alles erreichen? Dann hängt es davon ab, wer als erstes vom System bedient wird. Und wenn der gewünschte Teilnehmer darüber nicht erreichbar ist => PG (Kurzform für: Pech gehabt)
    Wieso ist das ein Problem wenn er nicht erreichbar ist, ist es nicht ehr ein Problem, wenn dann 2 erreichbar sind?

  5. #5
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.235
    Danke
    634
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Zitat Zitat von Human Beitrag anzeigen
    Wieso ist das ein Problem wenn er nicht erreichbar ist, ist es nicht ehr ein Problem, wenn dann 2 erreichbar sind?
    Zwei sind definitiv nicht erreichbar, da das System eine Karte auswählt (nach welchen Kriterien auch immer).
    Wenn beide Gateways Zugriff auf alle Netzteilnehmer haben dann ist das ja in Ordnung. Dann spielt es auch keine Rolle, welche Karte verwendet wird. Wenn aber eine nur am LAN hängt und die andere am WAN. Dann macht es schon einen Unterschied, wen ich frage bzw. wohin die Telegramme geschickt werden. Kommt bei zusätzlichen WLAN-Sticks gerne vor.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

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

    Standard

    Zitat Zitat von Human Beitrag anzeigen
    Ich selbst habe auch Programme, die libnodave verwenden, auf Rechnern laufen, die 2 oder mehr Netzwerkkarten haben!
    Dann ist das reiner Zufall (!) das es funktioniert oder die Netzwerkkarten befinden sich physikalisch alle im gleichen Netz. Dann machen allerdings mehrere Netzwerkkarten wenig Sinn.

    Woher soll Windows wissen, an welchem Netz die SPS hängt, bzw. über welche Netzwerkkarte kommuniziert werden soll? Windows verwaltet intern eine Listen der gesteckten Netzwerkkarten. Wenn man einen Socket nicht explizit an einen IP-Endpoint (also an eine Karte) bindet, wird immer die erste in der Liste stehende Karte genommen. Das funktioniert solange bis jemand eine Karte wechselt, tauscht o.ä. dann kann sich die Reihenfolge in dieser Liste ändern und Du hast plötzlich keine Verbindung mehr zur SPS.

    Wenn ich meine Socket selbst erzeugen und an libnodave übergebe, dann habe ich volle Kontrolle darüber (auch was das korrekte Zerstören angeht).

    Hat jemand einen Vorschlag diesbezüglich?

    Danke, und viele Grüße,

    Manni
    Wenn die Klügeren immer nachgeben, geschieht nur das, was die Dummen wollen

  7. #7
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.235
    Danke
    634
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Zufall würde ich das nicht unbedingt nennen. Wenn die eine Karte am LAN hängt (nur ein Segment, ohne Gateway) und die andere am WAN dann geht das problemlos. Problematisch wird es, wenn das interne Netzwerk aus mehreren Segmenten besteht und ein Gateway benötigt.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

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

    Standard

    Dann tausch mal die beiden Karten von den Steckplätzen her, und schon geht's nicht mehr. Habe ich alles schon gehabt. Zufall ist vielleicht ein bisschen übertrieben, aber sicher ist es nicht....
    Wenn die Klügeren immer nachgeben, geschieht nur das, was die Dummen wollen

  9. #9
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.235
    Danke
    634
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Zitat Zitat von Manni01 Beitrag anzeigen
    Dann tausch mal die beiden Karten von den Steckplätzen her, und schon geht's nicht mehr.
    Und wie waren danach die Einstellungen der Karten? Wer hatte dann das Gateway und war mit welchem Strang verbunden? Oder hat das System neue Karten (da anderer Slot) erkannt und selbst Werte vergeben?
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Das weiß ich leider nicht mehr. Ich habe den Fall bei einem Kunden gehabt, die ein Maschinennetzwerk und ein Büronetzwerk hatten. Um diese beiden Netzwerke nicht zu vermischen, hat man 2 Netzwerkkarten in den PC eingebaut. Nachdem eine Karte defekt war, hat man die ausgebaut, den Rechner zwischendurch nochmal neu gestartet, dann die neue Karte eingebaut und den Rechner nochmal gestartet. Danach ging es nicht mehr, weil in der internen Liste von Windows die Karten den Platz getauscht hatten.

    Da sowas natürlich immer am Wochenende Samstagnacht passiert, versuche ich solche Situationen zu vermeiden...
    Wenn die Klügeren immer nachgeben, geschieht nur das, was die Dummen wollen

Ähnliche Themen

  1. Eigenen FC erstellen
    Von Blade81 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 19.09.2010, 15:26
  2. Rechte an Abbildungen der eigenen Person
    Von AUDSUPERUSER im Forum Stammtisch
    Antworten: 4
    Letzter Beitrag: 10.07.2008, 16:09
  3. eigenen FC in die Bibliothek einfügen
    Von BastiMG im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 29.08.2007, 10:32
  4. Timer in eigenen FC`s
    Von Keeper im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 15.03.2007, 07:42
  5. Antworten: 5
    Letzter Beitrag: 13.04.2005, 14:18

Stichworte

Lesezeichen

Berechtigungen

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