Probleme mit der IP Adresse

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Ingo
User
Beiträge: 59
Registriert: Dienstag 21. Oktober 2008, 09:51

Probleme mit der IP Adresse

Beitragvon Ingo » Dienstag 21. Oktober 2008, 10:23

Hallo zusammen,
ich habe folgendes Problem:
Ich habe ein Messgerät, dass mit meinem PC über Ethernet verbunden ist. Das Messgerät hat eine eigen IP Adresse bekommen. Zu dem Messgerät gibt es eine Software dazu. Es ist möglich mit dieser Software und der IP Adresse mit dem Gerät zu kommunizieren(Über IEEE 488.2-1992). Das sind Kommandos mit denen man mit messgeräte kommuniziert. Angeblich kann man mit diesen Kommandos mit jeder Programmiersprache koppeln. Jetzt möchte ich über Python mit dem Gerät kommunizieren. Ich wollte das mit Socket machen.
Mein Code sieht so aus:

Code: Alles auswählen

# Echo server program
import socket

HOST= '172.28.12.150'
PORT = 50000              # Arbitrary non-privileged port
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))

s.listen(1)
conn, addr = s.accept()
print 'Connected by', addr
while 1:
    data = conn.recv(1024)
    if not data: break
    conn.send(data)
conn.close()



Code: Alles auswählen

# Echo client program
import socket


HORST= '172.28.76.145'   
PORT = 50000              # The same port as used by the server
 
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HORST, PORT))
s.send("Hold on")
s.close()
print 'Received', `data`


Folgende Fehlermeldung bekomme ich:
Traceback (most recent call last):
File "C:\dSPACE50\Common\Python22\Core\lib\site-packages\Pythonwin\pywin\framework\scriptutils.py", line 301, in RunScript
exec codeObject in __main__.__dict__
File "J:\Turbo\ar-VTA\ane\anev\Schin\Pyhton\Programme\Beispiel.py", line 8, in ?
s.bind((HOST, PORT))
File "<string>", line 1, in bind
error: (10049, "Can't assign requested address")

Wo liegt mein Fehler, was mache ich falsch?
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Beitragvon Hyperion » Dienstag 21. Oktober 2008, 10:28

Hallo Ingo und Willkommen im Forum!

Es gibt hier die sogenannten Code-tags. Damit wird Dein Code lesbar für uns andere ;-)

Beispiel:
def foo():
print "bar"

-> Die Einrückung ist futsch und der Code so nur schwer lesbar.

Besser ist:

Code: Alles auswählen

def foo():
    print "bar"


Dafür schreibst Du um Deinen Quellcode einfach (code=Python)
#Code
(/code)
Und ersetzt die runden durch eckige Klammern.

Danach wird es leichter, das zu analysieren, was Du bisher gemacht hast.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Beitragvon Hyperion » Dienstag 21. Oktober 2008, 10:31

Also ich würde mal aus der Fehlermeldung schließen, dass Du unter dieser Adresse einfach keine Verbindung aufbauen kannst. Also stimmt die Adresse nicht, oder aber Du kannst sie von Deinem Standort nicht erreichen (nur Uni-Netz intern z.B.?).

Edit: Ich sehe gerade, dass Du 2 Dateien gepostet hast ... wieso gibt es denn ein Client und ein Server-Programm? Ich habe das bisher so verstanden, dass in dem Messgerät ein Server drin steckt? Vielleicht solltest Du das noch einmal präziser beschreiben!
Ingo
User
Beiträge: 59
Registriert: Dienstag 21. Oktober 2008, 09:51

Beitragvon Ingo » Dienstag 21. Oktober 2008, 11:32

Ich habe das so Verstanden, dass ich den Sever Code auch doch brauche. Ich habe ja keine Pyhton auf dem Messgerät.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Dienstag 21. Oktober 2008, 11:51

Ingo hat geschrieben:Ich habe ja keine Pyhton auf dem Messgerät.

Aber du hast doch sicher einen ansprechbaren TCP/IP-Server, oder?!
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Ingo
User
Beiträge: 59
Registriert: Dienstag 21. Oktober 2008, 09:51

Beitragvon Ingo » Dienstag 21. Oktober 2008, 11:55

Ich habe eine IP Adresse, die ich vergeben habe eine Net Mask und ein Gateway. Woran erkenne ich, dass ich eine Server habe?
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Beitragvon Hyperion » Dienstag 21. Oktober 2008, 12:01

Du musst Dich bitte ein wenig klarer ausdrücken! Was heißt vergeben? Wie konfigurierst Du denn das Messgerät? Wie einen Router per Webinterface o.ä.? Oder steckt das Messgerät als Karte in einem PC und Du konfigurierst diesen?

Was genau ist denn in der Doku beschrieben? So wie ich das bisher verstanden habe beherrscht das Teil ein Kommunikationsprotokoll, ähnlich wie ein Drucker usw. Desweiteren soll man per TCP/IP sich an dieses Gerät konnektieren können und durch eine aufgebaute Verbindung Daten senden und ggf. empfangen können. Ist das so weit korrekt? Gibt es vielleicht ein Bsp in der Doku? (Muss ja nicht Python sein!)
Ingo
User
Beiträge: 59
Registriert: Dienstag 21. Oktober 2008, 09:51

Beitragvon Ingo » Dienstag 21. Oktober 2008, 12:18

Das ist richtig. Mit hilfe dieser Commandos kann ich mit dem Gerät Messen speichern ich kann die Messung anhalten usw. Ich brauche für meine Kommunikation ein Router zwischen dem Messgerät und meinem PC und das habe ich. Bei dem Messgerät war eine Software dabei, wo man die Commandos eingibt. Das funktioniert auch. Damit aber die Kommunikation mit dem Messgerät funktioniert muss man am Gerät selber die IP Adresse eingeben usw. Das Gerät sieht aus wie ein Oszilloskop. Mein PC ist ein Labtop. Soll ich nur mit dem Client Code arbeiten? Das habe ich auch schon probiert.
Folgende Fehlermeldung bekomme ich:

error: (10061, 'Connection refused')
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Beitragvon Hyperion » Dienstag 21. Oktober 2008, 12:27

Ingo hat geschrieben:Bei dem Messgerät war eine Software dabei, wo man die Commandos eingibt. Das funktioniert auch.

Diese Software läuft also auf Deinem Client-PC und nutzt also auch netzwerkkommunikation, richtig?
Soll ich nur mit dem Client Code arbeiten? Das habe ich auch schon probiert.
Folgende Fehlermeldung bekomme ich:

error: (10061, 'Connection refused')

Prinzipiell ja! Das Gerät selber muss ja einen Server betreiben, der Daten per TCP/IP annehmen kann. Du könntest mal per "telnet" probieren, auf das Gerät zuzugreifen. Gibt es denn ggf. noch andere Hinweise zum remote-Zugriff? Als letztes Mittel würde ein Netzwerksniffer sicherlich gute Dienste leisten. Damit könntest Du die Kommunikation zwischen dem funktionierenden Programm und dem Messgerät überwachen.

Bist Du Dir sicher, dass es sich um TCP/IP handelt?

Gibt es in der Doku wirklich keinerlei Beispiele / Beschreibungen, wie solch eine Kommunikation auszusehen hat?
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Beitragvon HWK » Dienstag 21. Oktober 2008, 12:37

Ist HORST denn die richtige IP-Adresse oder doch HOST?
MfG
HWK
Ingo
User
Beiträge: 59
Registriert: Dienstag 21. Oktober 2008, 09:51

Beitragvon Ingo » Dienstag 21. Oktober 2008, 13:24

Host ist doch nur eine Variable in der die IP Adresse steht oder?
andilar
User
Beiträge: 19
Registriert: Montag 4. August 2008, 09:25
Wohnort: Braunschweig

Beitragvon andilar » Dienstag 21. Oktober 2008, 13:31

Ja ob du die HORST oder HOST oder Ingo nennst ist egal...
Stimmt die Portnummer über die du versuchst dein Gerät zu erreichen?
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Beitragvon Hyperion » Dienstag 21. Oktober 2008, 13:56

@andilar und @ingo: Ja klar! Aber HWK meinte sicherlich auch den Inhalt davon. Also, welche IP ist denn nun die vom Messgerät?
Ingo
User
Beiträge: 59
Registriert: Dienstag 21. Oktober 2008, 09:51

Beitragvon Ingo » Dienstag 21. Oktober 2008, 14:00

Die IP vom Messgerät lautet 172.28.12.150
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Beitragvon Hyperion » Dienstag 21. Oktober 2008, 14:02

Aha! Dann schau mal in Deinen Code - und denke dann noch mal über HWKs Kommentar nach :-D

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]