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

Code: Alles auswählen

import ctypes

tmctl = ctypes.windll.tmctl

tmc_initialize = tmctl.TmcInitialize 
# Ethernet 
wire = ctypes.c_int(4) 
adr = ctypes.c_char_p('server name, user name, password') 
id_ = ctypes.c_int() 
ret = tmc_initialize(wire, adr, ctypes.byref(id_)) 
print ret, id_.value
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Da Dein Beispiel.py 982 Bytes groß ist, dürfte es keinen Code enthalten, der hier bisher gepostet worden wäre. Zeig ihn uns also bitte einmal. Möglicherweise befindet sich dort doch ein Fehler.
MfG
HWK

Edit: Du warst schneller. Das ist aber nicht das Beispiel.py aus Deinem Verzeichnis, denn dies hier ist nur 277 Bytes groß. Du möchtest scheinbar kein Hilfe? :wink:

Edit2: Schreibfehler korrigiert.
Zuletzt geändert von HWK am Mittwoch 29. Oktober 2008, 19:32, insgesamt 1-mal geändert.
Ingo
User
Beiträge: 59
Registriert: Dienstag 21. Oktober 2008, 09:51

doch natürlich möchte ich hilfe ich habe noch alte sachen drin, die aber auskommentiert sind also das dürfte doch wohl nix machen.
Was meint ihr mit Zieg ihn uns. das ist der ganze Code der rest ist nur altes auskommetiertes zeug
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Warum zeigst Du nicht einfach einmal den Code von Beispiel.py und die Ausgabe, wenn Du das Script aufrufst?
MfG
HWK
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Naja, evtl. ist da halt doch noch etwas anderes drin, was nicht auskommentiert ist. Und Vor allem sagt das ja nichts darüber aus, ob der "einkommentierte" Teil exakt so ist, wie der von Dir hier gepostet ;-)

Was ich bei dieser ganzen Sache nicht verstehe ist die drastische Wendung: Zunächst einmal hieß es, dass in deinem Messgerät irgend ein Server sitzt, den man per irgend einem Protokoll ansprechen kann. Bevor das abschließend geklärt wurde hieß es von Dir, dass man eine DLL einbinden müsse und darufhin landeten wir hier. Ist der erste Punkt denn abschließend geklärt und unbrauchbar? Mich wunderte zwar die Aussage, dass da ein FTP-Server drin stecken würde, aber ok ... hätte man ja einfach mal testen können! Auch die Archtitekturfrage von Leonidas hast Du iirc nocht nicht beantwortet. Evtl. bringt es ja doch mehr Klarheit im Gesamtkonezpt diese Dinge noch einmal sauber, ausführlich und vor allem präzise abzuklären.
Ingo
User
Beiträge: 59
Registriert: Dienstag 21. Oktober 2008, 09:51

das am anfang war falsch, habe erst vor kurzem jemanden von yokogawa ans telefon bekommen, der sagte mir ich muss das über die tmctl.dll machen. Das hier ist mein ganzer code ich habe jedes auskommentierte zeug rausgeschmisse. könnt ihr nicht mal mein code bei euch testen. nur um zu sehen ob bei euch auch diese fehlermeldung kommt. natürlich bräuchtet ihr die dll dazu. kann man die als anhang mitschicken? oder geht das in diesem forum nicht?
mein code:

Code: Alles auswählen

import ctypes
tmctl = ctypes.windll.tmctl
tmc_initialize = tmctl.TmcInitialize 
# Ethernet 
wire = ctypes.c_int(4) 
adr = ctypes.c_char_p('server name, user name, password') 
id_ = ctypes.c_int() 
ret = tmc_initialize(wire, adr, ctypes.byref(id_)) 
print ret, id_.value
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ingo hat geschrieben:natürlich bräuchtet ihr die dll dazu. kann man die als anhang mitschicken? oder geht das in diesem forum nicht?
Nein, das müsstest du irgendwo hochladen. Ist eh' besser, wenn wir hier keine copyrightgeschützten Blobs haben.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Ingo
User
Beiträge: 59
Registriert: Dienstag 21. Oktober 2008, 09:51

Hier noch mal mein Dos aufruf:

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\hdh_z667>cd c:\

C:\>cd Python_Programm

C:\Python_Programm>dir
Volume in Laufwerk C: hat keine Bezeichnung.
Volumeseriennummer: 40E3-7779

Verzeichnis von C:\Python_Programm

2008-10-30 08:43 <DIR> .
2008-10-30 08:43 <DIR> ..
2008-10-30 08:43 277 Beispiel.py
2008-09-26 09:10 901.120 tmctl.dll
2 Datei(en) 901.397 Bytes
2 Verzeichnis(se), 30.444.789.760 Bytes frei

C:\Python_Programm>Beispiel.py

Wenn ich Beispiel.py eingebe dann öffnet sich nur pythonwin
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

Ingo hat geschrieben:Wenn ich Beispiel.py eingebe dann öffnet sich nur pythonwin
Auf die FAQ wurdest du schon hingewiesen.
Der Aufruf muß

Code: Alles auswählen

C:\Python26\Python.exe Beispiel.py
lauten (wenn es Python2.6 ist und der Standardpfad beibehalten wurde), da offensichtlich nicht der Python-Interpreter sondern das Programm Pythonwin bei dir mit den .py-Dateien verknüpft ist.
Ingo
User
Beiträge: 59
Registriert: Dienstag 21. Oktober 2008, 09:51

danke das mit dem faq war ein guter tipp. im dos bekomme ich auch eine fehlermeldung die genauer ist . jetzt geht die initalisierung. allerdings gibt er mir error aus. error =1 und ok =0 also ich bekomme 1 raus.
die ip adresse stimmt und der username auch password habe ich keines, da ich anonymous als username verwende.

wie muss ich das denn schreiben, wenn ich kein passwort habe. nach anonymous frei lassen oder so wie ich es geschrieben habe

Code: Alles auswählen

adr = ctypes.c_char_p('172.28.12.145, anonymous')
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Ingo hat geschrieben:danke das mit dem faq war ein guter tipp. im dos bekomme ich auch eine fehlermeldung die genauer ist . jetzt geht die initalisierung. allerdings gibt er mir error aus. error =1 und ok =0 also ich bekomme 1 raus.
die ip adresse stimmt und der username auch password habe ich keines, da ich anonymous als username verwende.

wie muss ich das denn schreiben, wenn ich kein passwort habe. nach anonymous frei lassen oder so wie ich es geschrieben habe

Code: Alles auswählen

adr = ctypes.c_char_p('172.28.12.145, anonymous')
Wenn der Tip so gut war, hättest Du Ihn ja gleich befolgen können. Das hätte uns viel Zeit gespart.
Ansonsten lies einmal die Anleitung zur DLL. Dort steht:

Code: Alles auswählen

When the user name is anonymous, a password is not required. (A delimiting comma "," is required.)
Also:

Code: Alles auswählen

adr = ctypes.c_char_p('172.28.12.145, anonymous,')
MfG
HWK
BlackJack

Und ich würde eventuell noch das Leerzeichen vor 'anomymous' weg lassen.
Ingo
User
Beiträge: 59
Registriert: Dienstag 21. Oktober 2008, 09:51

das mit dem komma ist mir inzwischen auch aufgefallen, aber ich hatte das leerzeichen noch drin danke für die geduld mit mir.
Antworten