Hallo
So ich denke es müsste laufen!
Habe es nur noch nicht testen können. Der eingabe Bereich fehlt noch.
So jetzt kommt die frage:
Wie machen ich ein Bildschirmlayout?
Es sollte nur in einem Dosfenster erscheinen.
So solls ungefäh aussehen:
Ich habe schon gesucht nur nichts gefunden, vieleicht benutzen ich einfach die Falschen begriffe?
Gruß
Andyh
Meine Schrittmotorensteuerung - Probleme
Hallo
also ich denke das ich das will (hoffe ich mal), muss halt unter Win gehen.
Kennt da jemand ein gutes tutorial dazu?
Oder kann mir jemand sonst wie helfen?
Gruß
Andyh
also ich denke das ich das will (hoffe ich mal), muss halt unter Win gehen.
Kennt da jemand ein gutes tutorial dazu?
Oder kann mir jemand sonst wie helfen?
Gruß
Andyh
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Unter Windows ist sowas nicht üblich, da denken die Leute immer an DOS. Selbst wenn es um die Eingebeaufforderung geht, sagen die Leute immer DOS-Box, was aber eigentlich hinten und vorne nicht stimmt.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Hallo
Ich sage auch immer nur Dos, weill dann jeder gleich weis was gemeint ist.
Ist natürlich nicht mit der guten alten Dos Box zu vergleichen.
Ich glaube es ist mit Tkinter einfacher das zu realisieren, nachdem was ich schon gesehen habe.
Bei fragen melde ich micht wieder .
Gruß
Andyh
Ich sage auch immer nur Dos, weill dann jeder gleich weis was gemeint ist.
Ist natürlich nicht mit der guten alten Dos Box zu vergleichen.
Ich glaube es ist mit Tkinter einfacher das zu realisieren, nachdem was ich schon gesehen habe.
Bei fragen melde ich micht wieder .
Gruß
Andyh
Hallo
Die Grafische Bedienoberfläche habe ich erst mal auf eis gelegt weil es andere Probleme zu Lösen gibt.
Eins ist mir ganz wichtig:
Wie gebe ich ein + in diesem Beispiel ein:
b soll ein Int sein.
Mit raw_input kommt zwar kein fehler, aber es passiert einfach nichts.
Ich gebe "test(+,20)" ein.
Wahrscheinlich ist die Lösung wieder so leicht das ich gar nicht draufkommt.
Gruß
Andyh
Die Grafische Bedienoberfläche habe ich erst mal auf eis gelegt weil es andere Probleme zu Lösen gibt.
Eins ist mir ganz wichtig:
Wie gebe ich ein + in diesem Beispiel ein:
Code: Alles auswählen
def test(a, b):
if a == "+":
print "a ist +"
else:
print "a ist nicht plus"
input()
Mit raw_input kommt zwar kein fehler, aber es passiert einfach nichts.
Ich gebe "test(+,20)" ein.
Wahrscheinlich ist die Lösung wieder so leicht das ich gar nicht draufkommt.
Gruß
Andyh
Das '+' gibst Du als Zeichenkette ein. `a` wird ja auch mit einer Zeichenkette verglichen.
Hallo
Ich möchte mich mal kurz für eure Bemühungen danken!
Leider konnte ich mein Programm noch nicht in der Praxis testen (tja man sollte eben nicht seinen Versuchaufbau grillen )
Meine Frage:
Ich möchte zum Konsolenteil noch zwei Fenster öffnen und zwar als separate Programme. Ist ja auch nicht schwer:
Jetzt möchte ich das das erste Programm die Aktuelle Maschinenposition ausliest, diese sind im Hauptprogramm mit den Variable Xpos, Ypos und Zpos beschrieben.
Wie kann ich die vom zweiten Programm Auslesen?
(bei popen und subprocess habe ich schon geschaut und bin noch nicht schlau geworden)
Und wie zeige ich diese an besten an? (ich dachte an eine label)
Das andere Programm soll im Haupprogramm eine Schleife abbrechen (Notaus-Button)
Wie mache ich das am besten?
Gruß
Andyh
Ich möchte mich mal kurz für eure Bemühungen danken!
Leider konnte ich mein Programm noch nicht in der Praxis testen (tja man sollte eben nicht seinen Versuchaufbau grillen )
Meine Frage:
Ich möchte zum Konsolenteil noch zwei Fenster öffnen und zwar als separate Programme. Ist ja auch nicht schwer:
Code: Alles auswählen
import os
os.startfile("datei.exe")
Wie kann ich die vom zweiten Programm Auslesen?
(bei popen und subprocess habe ich schon geschaut und bin noch nicht schlau geworden)
Und wie zeige ich diese an besten an? (ich dachte an eine label)
Das andere Programm soll im Haupprogramm eine Schleife abbrechen (Notaus-Button)
Wie mache ich das am besten?
Gruß
Andyh
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo Andyh!Andyh hat geschrieben:Aktuelle Maschinenposition ausliest, diese sind im Hauptprogramm mit den Variable Xpos, Ypos und Zpos beschrieben.
[...]
Das andere Programm soll im Haupprogramm eine Schleife abbrechen (Notaus-Button)
Es gibt mehrere Möglichkeiten. Eine ziemlich unkomplizierte Möglichkeit ist, dass du aus deinem Hauptprogramm einen XMLRPC-Server machst und von den anderen Programmen aus per XMLRPC zugreifst. Das klingt schlimmer als es in Wirklichkeit ist.
http://www.python-forum.de/topic-5478.html
mfg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Hallo
Danke, wird morgen gleich ausprobiert.
Wenn jemand noch andere Methoden kennt, nur her damit .
Will ja auch was lernen dabei.
Gruß
Andyh
Danke, wird morgen gleich ausprobiert.
Wenn jemand noch andere Methoden kennt, nur her damit .
Will ja auch was lernen dabei.
Gruß
Andyh
Hallo
Ich bin mir nicht ganz sicher ob der XMLRPC-Server das richtige ist.
Denn Server muss ich ja ins hauptprogramm machen.
Damit der austausch klappt muss er ja ständig laufen, also in einem eigenen Thread, richtig?
muss ich den rest vom Programm dann auch umstellen, ist alles ohne Threads, oder kann ich den XMLRPC eifach unten dran hängen.
EDIT: Habe es herausgefunden:
Noch eine Frage:
wie tauscht der Server und der Client die Daten aus? Ich sehen nur Chinesisch.
Ich habe mir jetzt das Umfassende Buch über Python gekauft, geht es da auch im Threading?
Gruß
Andyh
Ich bin mir nicht ganz sicher ob der XMLRPC-Server das richtige ist.
Denn Server muss ich ja ins hauptprogramm machen.
Damit der austausch klappt muss er ja ständig laufen, also in einem eigenen Thread, richtig?
muss ich den rest vom Programm dann auch umstellen, ist alles ohne Threads, oder kann ich den XMLRPC eifach unten dran hängen.
EDIT: Habe es herausgefunden:
Noch eine Frage:
wie tauscht der Server und der Client die Daten aus? Ich sehen nur Chinesisch.
Ich habe mir jetzt das Umfassende Buch über Python gekauft, geht es da auch im Threading?
Gruß
Andyh
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo Andyh!
Ich verstehe nur Chinesisch
Ein Beispiel für die Kommunikation per XMLRPC hast du ja schon. Probier aus wie es funktioniert. Erweitere es um eine zustätzliche Funktion und lies dir die Hilfe zu den Modulen *SimpleXMLRPCServer* und *xmlrpclib* durch.
- http://docs.python.org/lib/module-Simpl ... erver.html
- http://docs.python.org/lib/module-xmlrpclib.html
Weiters findest du hier im Forum sicher noch Einiges zu XMLRPC und Threading -- inkl. einigen Beispielen.
mfg
Gerold
Ich verstehe nur Chinesisch
Ein Beispiel für die Kommunikation per XMLRPC hast du ja schon. Probier aus wie es funktioniert. Erweitere es um eine zustätzliche Funktion und lies dir die Hilfe zu den Modulen *SimpleXMLRPCServer* und *xmlrpclib* durch.
- http://docs.python.org/lib/module-Simpl ... erver.html
- http://docs.python.org/lib/module-xmlrpclib.html
Weiters findest du hier im Forum sicher noch Einiges zu XMLRPC und Threading -- inkl. einigen Beispielen.
mfg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Was ist denn das "Umfassende Buch ueber Python"? Etwa das dicke, unbrauchbare, was letztens so gehyped wurde?Andyh hat geschrieben:Ich habe mir jetzt das Umfassende Buch über Python gekauft, geht es da auch im Threading?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Hallo
Ja das "dicke", aber unbraubar würde ich nicht sagen. Mit hat es bis jetzt schon ein paar fragen beantwortet.
Gruß
Andyh
Ja das "dicke", aber unbraubar würde ich nicht sagen. Mit hat es bis jetzt schon ein paar fragen beantwortet.
Gruß
Andyh
Das Buch wurde hier im Thread Python - Das umfassende Handbuch diskutiert. Ich habe nur den Teil über Objektorientierung gelesen und der war wirklich schlecht, sowohl technisch als auch was Python-Idiome angeht. Das wurde eindeutig von jemandem geschrieben der von Python keine Ahnung hat. Wie gut kann dann der Rest vom Buch sein!?
Also ob das Buch jetzt gut ist oder nicht hat man ja schon an anderer Stelle Diskutiert.
Ich habe meine Schrittmotorensteuerung kommplte umgeworfen und fange nochmal von vorne an, weil das programm einfach zu unstrukturiert war.
Ich will diesmal gleich alles in eine GUI bauen.
Ich habe mal eine Frage wie ihr das machen würdet.
Also das muss alles gleichzeitig gehen:
- Schrittmotor anzeuern
- Maschinenposition mitrechen und anzeigen (in Labels)
- die drei Labels in der GUI mit der aktuellen Pos. aktualisieren
- Endschalter überwachen (wenn ein signal über den LPT kommt muss die maschine anhalten)
Also das letzte mal habe ich alles in threads gebaut (gut es hat nicht alles funktioniert z.B. das aktualisieren der drei labels)
Wenn ich weiter mache braue ich irgendwann mal 20 threads.
Also wie würdet ihr sowas angehen?
Gruß
Andyh
Ich habe meine Schrittmotorensteuerung kommplte umgeworfen und fange nochmal von vorne an, weil das programm einfach zu unstrukturiert war.
Ich will diesmal gleich alles in eine GUI bauen.
Ich habe mal eine Frage wie ihr das machen würdet.
Also das muss alles gleichzeitig gehen:
- Schrittmotor anzeuern
- Maschinenposition mitrechen und anzeigen (in Labels)
- die drei Labels in der GUI mit der aktuellen Pos. aktualisieren
- Endschalter überwachen (wenn ein signal über den LPT kommt muss die maschine anhalten)
Also das letzte mal habe ich alles in threads gebaut (gut es hat nicht alles funktioniert z.B. das aktualisieren der drei labels)
Wenn ich weiter mache braue ich irgendwann mal 20 threads.
Also wie würdet ihr sowas angehen?
Gruß
Andyh
Hallo
Noch bevor die anderen Frgane beantortet sing kommen schon neue:
Wie mache ich es das ich "G1 X12 F30" eingaben kann und es auch so verstanden wird.
Für alle die sich nicht mit CNC auskennen: Ich brauche aus diesem Sting die Variable G, F da diese veränderbar sind. X kann auch Y oder Z heisen, muss man auch erkennen und den wert dahinter.
Es gibt ja sicher eine "Relativ" einfache methode dafür, oder?
Gruß
Andyh
Noch bevor die anderen Frgane beantortet sing kommen schon neue:
Wie mache ich es das ich "G1 X12 F30" eingaben kann und es auch so verstanden wird.
Für alle die sich nicht mit CNC auskennen: Ich brauche aus diesem Sting die Variable G, F da diese veränderbar sind. X kann auch Y oder Z heisen, muss man auch erkennen und den wert dahinter.
Es gibt ja sicher eine "Relativ" einfache methode dafür, oder?
Gruß
Andyh
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo Andyh!Andyh hat geschrieben:Für alle die sich nicht mit CNC auskennen: Ich brauche aus diesem Sting die Variable G, F da diese veränderbar sind.
Meinst du damit, dass du die einzelnen Befehle aufsplitten möchtest? So etwas z.B.?
Code: Alles auswählen
>>> cmd_string = "G1 X12 F30"
>>> cmd_list = cmd_string.split()
>>> cmd_list
['G1', 'X12', 'F30']
>>> cmd_details = [ (cmd[0], int(cmd[1:])) for cmd in cmd_list ]
>>> cmd_details
[('G', 1), ('X', 12), ('F', 30)]
>>> cmd_dict = dict(cmd_details)
>>> cmd_dict
{'X': 12, 'G': 1, 'F': 30}
>>>
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Hallo
@gerold
Ja ich denke das ich das will. Danke!
Werde es mal ausprobieren
Gruß
Andyh
@gerold
Ja ich denke das ich das will. Danke!
Werde es mal ausprobieren
Gruß
Andyh
Zuletzt geändert von Andyh am Samstag 9. Februar 2008, 21:12, insgesamt 1-mal geändert.