Hallo allerseits Dass die direkte Schrittmotoransteuerung unter Windows über Parallelport suboptimal ist, ist ja bekannt. Nun gibts aber z.B. Mach3, das die Takt- und Richtungssignale direkt in Windows erzeugt und über den Parallelport ausgibt. Weiß jemand, wie das genau gelöst wurde? Mein persönlicher Ansatz wäre, die notwendigen Rampen zum beschleunigen und abbremsen mittels Timer-Ereignissen zu erzeugen, das kann aber nicht wirklich eine Lösung sein. Mit Windows-Mitteln und Windows-Timern schafft man so gerade mal 1 kHz als Taktfrequenz, das wäre für eine CNC-Maschine ja viel zu langsam. Grüße, Georg
Darüber wurde schon sooooooovieeeeeelllllll im Inet geschrieben...
> Weiß jemand, wie das genau gelöst wurde?
Über einen Device-Treiber der ganz tief unten im System steckt,
damit er Interrupts mit hoher Priorität annehmen kann, und
trotzdem hat er Probleme. Unter Win3.1 ging das noch viel
einfacher.
>Darüber wurde schon sooooooovieeeeeelllllll im Inet geschrieben...
Sehr hilfreich. Link? Quelle?
Selbst professionelle Anbieter von Echtzeitsystemen für Windows bieten
nur Frequenzen um die 1 kHz, die man mit Ihren speziellen Timern auf
Kernel-Ebene erreichen kann. Für CNC-Maschinen unbrauchbar.
moin Georg, ich habe des per MC gelöst: http://forum.zerspanungsbude.net/viewtopic.php?f=50&t=5582&sid=073a6b85a4992607c94a3b414d81f06c Mit Gruß Pieter
Hallo, ein ganz neuer Ansatz: Windows wird mit weniger Cores gestartet als vorhanden, auf den reservierten Cores startet ein "echtes Echtzeitsystem". Gruss Reinhard
moin Reinhard, ..und wo kann man so etwas einstellen? Hast Du so etwas (egal welche Anwendung) schon mal getestet? Mit Gruß Pieter
Ich kenne das zumindest für LinuxCNC. Dort arbeitet ein Echtzeit-Kernel. Genaugenommen liegt dort der "übliche Linuxkern" nur als normale Task unter anderen vor, die aufgerufen wird, wenn sonst nichts zu tun ist. Die eigentliche Steuerung und Ausgabe der Schritte erfolgt derweil in harter Echtzeit durch entsprechend feine Timereinstellungen und Aufrufe der dort eingehängten Funktionen. Es tritt dann nur noch eine Verzögerung (und vor allem) Jitter durch die Umschaltdauern der Taskwechsel auf, die (leider) je nach Board stark unterschiedlich sein können. Es gibt aber schon eine Reihe von Boards, die man guten Gewissens nehmen kann und mit denen 50kHz durchaus möglich sind. Ein Board ist das Intel D525MW mit Atom-Doppelprozessor, welches wir hier verwenden. Dort kann man das in der Tat so wie Reinhard schreibt einrichten, dass ein Prozessor nur die Echtzeittasks bearbeitet und der andere für das "weiche" Linux zuständig ist. Damit wird die Dauer des Prozesswechsels nochmal reduziert und man hat trotzdem einen Flotten Desktop zur Verfügung. Es ist auf jeden Fall beeindruckend, wenn die Fräse mit voller Geschwindigkeit läuft und man ohne Probleme und Ruckeln Filme gucken kann :-) Chris D.
Pieter schrieb: > ..und wo kann man so etwas einstellen? Was heisst einstellen, das kann man bei Kithara kaufen, ist ganz neu (neue c't Seite 19). Kithara verspricht "Echtzeitcode mit 1 MHz und Abweichungen unter 1 µs". Cores stillzulegen ist kein Problem, aber nur ein kleiner Teil der Lösung. Wir hatten aber schon mit Windows 3.11 zufriedenstellend laufende CNC-Maschinen, das war damals schon so, dass nicht die CNC-Steuerung unter Windows lief, sondern Windows als Bedieneroberfläche mit niedriger Priorität unter dem CNC- bzw. Realtime-System. Gruss Reinhard
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.