INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Netzwerkadapter auswählen und IP ändern



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

29.10.2014, 16:31
Beitrag #1

CaptainCool Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Oct 2014

8.2
2014
DE



Netzwerkadapter auswählen und IP ändern
Hallo Leute,

ich baue gerade einen Prüfadapter für eine Platine die mit einem 4x LAN-Switch bestückt ist, welcher an einem µC hängt. Der µC hat eine IP die ich anpingen möchte.
Um die Hardware der 4 Ports zu testen möchte ich 4 USB -> LAN Adapter an die 4 Buchsen anschließen.
Jetzt zu meiner Frage:

Wie kann ich über LabView mitteilen von welchem der LAN-Adapter aus ich pingen möchte, denn Labview bzw Windows benutzen ja einfach die Standard LAN-Verbindung?
So soll dass dann vereinfacht aussehen:

Auswahl Adapter 1 --> Ping µC
Auswahl Adapter 2 --> Ping µC
Auswahl Adapter 3 --> Ping µC
Auswahl Adapter 4 --> Ping µC

Noch dazu kommt, dass ich, um den µC anpingen zu können, im selben Subnetz sein muss,
allerdings kann ich die Netzwerkadresse nur ändern wenn cmd.exe mit admin-Rechten ausgeführt wird, was aber von LabView aus nicht geht (oder doch?)

Habt ihr eine Lösung oder einen Anstoß für mich.
Danke schonmal.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.11.2014, 11:35
Beitrag #2

CaptainCool Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Oct 2014

8.2
2014
DE



RE: Netzwerkadapter auswählen und IP ändern
Weiß denn keiner was?
Wäre sehr wichtig!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.11.2014, 13:12
Beitrag #3

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
RE: Netzwerkadapter auswählen und IP ändern
verwende die Primitive "String to IP", mach einen Rechtsklick drauf und wähle "multiple-Output", dann bekommst du alle IP-Adressen (im U32-Format) als Array zurück, die bei Windows angemeldet und aktiv sind. Wenn du 4 USB-zu-LAN Adapter am Rechner hängen hast, müsstest du also mindestens 4 IP-Adressen zurück bekommen. Programmier dir den PING-Befehl über die TCP-VIs (keine Ahnung ob es da schon was fertiges im Netz gibt) und schicke den Ping von LV aus an stelle eines Shell-Kommandos, dann kannst du auch das Ergebnis besser verarbeiten ...

Bei TCP-Open Connection kannst du angeben welche IP-Adresse verwendet werden soll, und die kennst du ja, weil du vorher mit String to IP sämtliche IP-Adressen deines Systems eingelesen hast. Der Rest ist dann eigentlich nur noch, dass du die IP-Adapter so konfigurierst, dass du sie "leicht" auswählen kannst, z.B. 192.168.10.xxx, 192.168.11.xxx jeweils mit der Subnetz-Maske 255.255.255.0, dann kannst du über eine Maskierung der Bits 8-15 die richtige IP-Adresse auswählen und somit steuern welcher Netzwerk-Adapter verwendet wird ...

viele Grüße
cb


Angehängte Datei(en) Thumbnail(s)
   

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.11.2014, 20:58
Beitrag #4

rolfk Offline
LVF-Guru
*****


Beiträge: 2.302
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: Netzwerkadapter auswählen und IP ändern
(03.11.2014 13:12 )cb schrieb:  verwende die Primitive "String to IP", mach einen Rechtsklick drauf und wähle "multiple-Output", dann bekommst du alle IP-Adressen (im U32-Format) als Array zurück, die bei Windows angemeldet und aktiv sind. Wenn du 4 USB-zu-LAN Adapter am Rechner hängen hast, müsstest du also mindestens 4 IP-Adressen zurück bekommen. Programmier dir den PING-Befehl über die TCP-VIs (keine Ahnung ob es da schon was fertiges im Netz gibt) und schicke den Ping von LV aus an stelle eines Shell-Kommandos, dann kannst du auch das Ergebnis besser verarbeiten ...

Bei TCP-Open Connection kannst du angeben welche IP-Adresse verwendet werden soll, und die kennst du ja, weil du vorher mit String to IP sämtliche IP-Adressen deines Systems eingelesen hast. Der Rest ist dann eigentlich nur noch, dass du die IP-Adapter so konfigurierst, dass du sie "leicht" auswählen kannst, z.B. 192.168.10.xxx, 192.168.11.xxx jeweils mit der Subnetz-Maske 255.255.255.0, dann kannst du über eine Maskierung der Bits 8-15 die richtige IP-Adresse auswählen und somit steuern welcher Netzwerk-Adapter verwendet wird ...

Also Ping basiert nicht auf TCP oder UDP, sondern auf ICMP. ICMP ist direct auf IP aufbauend, genau wie TCP und UDP, also eigentlich ein Schwesterprotokoll zu TCP und UDP und nicht ein darauf basierended Protokol. ICMP ist auch nicht für Applikationen gedacht sondern für die Internetsteuerung selbst, darum besteht in LabVIEW auch kein ICMP Interface. Falsche Benützung von ICMP kann den ganzen lokalen Netzwerkverkehr beeinträchtigen oder gar lahmlegen.

Implementation von Ping auf Applikationsebene wird heutzutage extra schwierig gemacht, da man dazu die Berkeley Socket driver (under Windows die eigene Variante davon die Winsock heisst) im Raw Mode ansprechen muss, aber dass ist auf allen modernen Betriebsystemen geschützt und nur mit elevated Privilegien erlaubt.

Auf fast allen Systemen besteht aber ein ping utility das normalerweise für normale Benützer benutzbar ist. Daher ist die einfachste Variante um dieses Ping mit System Exec aufzurufen und die Antwort zu parsen.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.11.2014, 07:14
Beitrag #5

CaptainCool Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Oct 2014

8.2
2014
DE



RE: Netzwerkadapter auswählen und IP ändern
@cb
Herzlichen Dank für die Antwort.
Der Trick um an die IPs zu kommen ist super. Leider verstehe ich das mit der TCP Verbindung etwas anders. Die IP die ich angebe, ist doch die, ZU der eine Verbindung hergestellt wird, ich möchte aber angeben VON welcher IP aus ich eine Verbindung herstellen möchte. Ich möchte kwasi von vier Servern (vier verschiedene IPs) einen Client ansprechen.
Oder verstehe ich da etwas falsch?

@rolfk
Danke für die super Hintergrundinformationen, sehr schön erklärt.
Auf die Idee mit der System Exec bin ich auch schon gekommen, nur leider ist dort wieder das selbe Problem, dass ich nicht angeben kann, von welcher Netzwerkkarte (Server) aus ich senden möchte.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.11.2014, 21:53
Beitrag #6

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
RE: Netzwerkadapter auswählen und IP ändern
(03.11.2014 20:58 )rolfk schrieb:  Also Ping basiert nicht auf TCP oder UDP, sondern auf ICMP. ICMP ist direct auf IP aufbauend, genau wie TCP und UDP, also eigentlich ein Schwesterprotokoll zu TCP und UDP und nicht ein darauf basierended Protokol. ICMP ist auch nicht für Applikationen gedacht sondern für die Internetsteuerung selbst, darum besteht in LabVIEW auch kein ICMP Interface. Falsche Benützung von ICMP kann den ganzen lokalen Netzwerkverkehr beeinträchtigen oder gar lahmlegen.

stimmt, wo du recht hast, hast du recht ... hab ich nicht richtig nachgedacht.



(04.11.2014 07:14 )CaptainCool schrieb:  @cb
Herzlichen Dank für die Antwort.
Der Trick um an die IPs zu kommen ist super. Leider verstehe ich das mit der TCP Verbindung etwas anders. Die IP die ich angebe, ist doch die, ZU der eine Verbindung hergestellt wird, ich möchte aber angeben VON welcher IP aus ich eine Verbindung herstellen möchte. Ich möchte kwasi von vier Servern (vier verschiedene IPs) einen Client ansprechen.
Oder verstehe ich da etwas falsch?

ja, da hast du auch recht, das TCP-VI hat gar keine Möglichkeit den Netzwer-Adapter anzugeben, das geht nur bei den UDP-VIs. Wenn du deinen µC per UDP ansprechen könntest, dann könntest du den Tip wie im letzten Posting verwenden ...

viele Grüße
cb

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Gehe zu: