[Python-de] Socket client Programm
Norbert Hoppe - FH Brandenburg
hoppe at fh-brandenburg.de
Mi Mai 21 14:28:53 CEST 2014
Hallo Liste,
ich möchte ein Tischmultimeter via Ethernet und GPIB-Lan-Adapter steuern.
OS: Ubuntu 12.04
Python Version: 3.3
GPIB_Lan-Adapter: Prologix (siehe www.stantronic.de/GPIB-LAN.html)
Multimeter: HP34401A, Adresse 22, Sprache SCPI
meine Kenntnisse: Einsteiger
Die Kommunikation über telnet funktioniert problemlos:
telnet 172.16.3.7 1234
Trying 172.16.3.7...
Connected to 172.16.3.7.
Escape character is '^]'.
++auto 0
++addr 22 GPIB-Geräteadresse festlegen
*IDN? Identifier des Gerätes abfragen
Antwort abholen:
++read eoi
HEWLETT-PACKARD,34401A,0,4-1-1
MEAS:VOLT:DC? Gleichspannungsmessung auslösen
Antwort abholen:
++read eoi Messwert holen
+8.88698400E+00
Wie realisiere ich das unter Python3?
Mein bisheriger Code:
import socket
HOST = '172.16.3.7'
PORT = 1234
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST,PORT))
senddata = '++addr 22'
s.send(senddata.encode('utf-8'))
senddata = '*IDN?'
s.send(senddata.encode('utf-8'))
senddata = '++read eoi'
s.send(senddata.encode('utf-8'))
data = s.recv(30)
s.close
print("Empfangen: ", repr(data))
Wenn ich das als Script ausführe, dann schein es hängen zu bleiben.
Drücken von Ctrl+C führt zu folgender Meldung
^CTraceback (most recent call last):
File "./dmm.py", line 34, in <module>
data = s.recv(30)
KeyboardInterrupt
Am Multimeter gibt es keine Fehlermeldung. Wie macht man es richtig?
Gruß, Norbert.
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
Mehr Informationen über die Mailingliste python-de