-> 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.php?t=27801&highlight=libnodave+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:
Leider kommt die Funktion 'ConnectPlc' dann nicht mehr zurück.
Vielen Dank für Eure Hinweise,
Manni
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.php?t=27801&highlight=libnodave+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:
[COLOR=#0000ff][COLOR=#0000ff]Me[/COLOR][/COLOR].Socket = [COLOR=#0000ff][COLOR=#0000ff]New[/COLOR][/COLOR] Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.IP)
[COLOR=#0000ff][COLOR=#0000ff]Dim[/COLOR][/COLOR] Ep [COLOR=#0000ff][COLOR=#0000ff]As[/COLOR][/COLOR] IPEndPoint = [COLOR=#0000ff][COLOR=#0000ff]New[/COLOR][/COLOR] IPEndPoint(IPAddress.Parse([COLOR=#0000ff][COLOR=#0000ff]Me[/COLOR][/COLOR].LocalIpAddress), [COLOR=#0000ff][COLOR=#0000ff]Me[/COLOR][/COLOR].LocalPort)
[COLOR=#0000ff][COLOR=#0000ff]Me[/COLOR][/COLOR].Socket.Bind(Ep)
[COLOR=#0000ff][COLOR=#0000ff]Me[/COLOR][/COLOR].Socket.Connect(IPAddress.Parse([COLOR=#0000ff][COLOR=#0000ff]Me[/COLOR][/COLOR].PlcIpAddress), 102)
[COLOR=#0000ff][COLOR=#0000ff]Me[/COLOR][/COLOR].daveFds.rfd = [COLOR=#0000ff][COLOR=#0000ff]Me[/COLOR][/COLOR][SIZE=3][SIZE=2].Socket.Handle.ToInt32[/SIZE]
[/SIZE]
Vielen Dank für Eure Hinweise,
Manni