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.
Wenn ich das als Script ausführe, dann schein es hängen zu bleiben. Am Multimeter gibt es keine Fehlermeldung. Wie macht man es richtig? ich lehne mich ein bisschen aus dem fenster und behaupte: es liegt daran, dass der zeilenumbruch am ende der befehle fehlt.
eventuell kannst du auch die telnetlib verwenden, ich denke die könnte da besser dafür geeignet sein. https://docs.python.org/3.3/library/telnetlib.html
Am 21.05.2014 14:28, schrieb Norbert Hoppe - FH Brandenburg:
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
Vermutlich liefert das Mulitmeter am Ende keine 30 Zeichen mehr. Entweder Du liest Zeichen für Zeiche, bis du zum Zeilenende kommst, oder Du setzt einen Timeout. Evlt. könnte Dir twisted.protocols.telnet die gesamte Verarbeitung erleichtern. -- Schönen Gruß Hartmut Goebel Dipl.-Informatiker (univ), CISSP, CSSLP Information Security Management, Security Governance, Secure Software Development Goebel Consult, Landshut http://www.goebel-consult.de Blog: http://www.goebel-consult.de/blog/linux-magazin-empfiehlt-adobe-reader Kolumne: http://www.cissp-gefluester.de/2011-09-kommerz-uber-recht-fdp-die-gefaellt-m... Goebel Consult ist Mitglied bei http://www.7-it.de/ ="http://www.7-it.de/">http://www.7-it.de/
Danke an alle; ich werde die Tipps morgen mal durchtesten. Gruß, Norbert. ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program.
Hallo Liste! 83a, Thomas Heller: Ihr hattet Recht. Mit Zeilenvorschub '\n' geht es. Frank Wagner, Arnold Krille: Vielen Dank für die Links. Ich werde die Software bei Gelegenheit mal testen. Gruß, Norbert. ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program.
On Wed, 21 May 2014 14:28:53 +0200 Norbert Hoppe - FH Brandenburg <hoppe@fh-brandenburg.de> wrote:
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
So was ähnliches durfte ich afaik auch mal machen. (War damals mein Einstieg in python.) Und meine Erinnerung sagt mir, das es Python-Bibliotheken gibt um GPIB zu sprechen: https://pypi.python.org/pypi?%3Aaction=search&term=gpib&submit=search Ist da nix für Dein Problem dabei? - Arnold
Hallo, ich spreche mehrere Geräte via GPIB Protokoll an und verwende dazu VISA.py Findet man relativ leicht im Web und ist gut dokumentiert. Viel Erfolg Frank -----Ursprüngliche Nachricht----- Von: python-de [mailto:python-de-bounces+frank.wagner=wika.com@python.org] Im Auftrag von Arnold Krille Gesendet: Mittwoch, 21. Mai 2014 8:07 An: python-de@python.org Betreff: Re: [Python-de] Socket client Programm On Wed, 21 May 2014 14:28:53 +0200 Norbert Hoppe - FH Brandenburg <hoppe@fh-brandenburg.de> wrote:
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
So was ähnliches durfte ich afaik auch mal machen. (War damals mein Einstieg in python.) Und meine Erinnerung sagt mir, das es Python-Bibliotheken gibt um GPIB zu sprechen: https://pypi.python.org/pypi?%3Aaction=search&term=gpib&submit=search Ist da nix für Dein Problem dabei? - Arnold -- Bevor Sie diese E-Mail ausdrucken, überlegen Sie bitte, ob dies wirklich erforderlich ist. Please think before you print. -- WIKA Alexander Wiegand SE & Co. KG Alexander-Wiegand-Straße 30 - 63911 Klingenberg - Germany Kommanditgesellschaft: Sitz Klingenberg - Amtsgericht Aschaffenburg HRA 1819 Komplementärin: WIKA Verwaltungs SE & Co. KG - Sitz Klingenberg - Amtsgericht Aschaffenburg HRA 4685 Komplementärin: WIKA International SE - Sitz Klingenberg - Amtsgericht Aschaffenburg HRB 10505 Vorstand: Alexander Wiegand Vorsitzender des Aufsichtsrats: Dr. Max Egli Telefon: (09372) 132-0 Internet: www.wika.com -- The information contained in this E-Mail and any attached files are strictly confidential and may be subject to legal privilege. If you are not the intended recipient, his representative or the person responsible for delivering the message to the intended recipient, be advised that you have received this message in error and that any dissemination, copying or use of this message or attachment is strictly forbidden, as is the disclosure of the information therein. If you have received this E-Mail in error, please notify us immediately by E-Mail or telephone and delete this message and all its attachments subsequently. All reasonable precautions have been taken to ensure no viruses are present in this E-Mail.
participants (5)
-
83a
-
Arnold Krille
-
Hartmut Goebel
-
Norbert Hoppe - FH Brandenburg
-
Wagner, Frank