EMC steht für Enhanced Machine Controller. Hiermit kann man unter Linux CNC-Maschinen steuern. Typische Anwendungen sind CNC-Fräsmaschinen mit 3-6 Achsen, mit denen sowohl 2D wie auch 3D gefräst werden kann.

EMC besteht aus einem G-Code Interpreter und diversen Motorsteuerungsmodulen, die sowohl Schrittmotoren wie auch Servomotoren ansteuern können. Damit sind auch PID-Regler und Inkrementalgeber-Feedback realisiert. Die Ausgabe der Motorsteuerung kann über ein oder mehrere Parallelports oder über spezielle Karten geschehen.

Wer bisher Programme PC-NC, WinPC-NC, turbocnc, Mach1, Mach2, Mach3 oder Trimeta EdiTasc-CNC einsetzt, für den könnte EMC eine freie Alternative sein.

Ein Vorteil von EMC gegenüber kommerziellen Lösungen ist, daß EMC durch den offenen Quellcode problemlos an nicht-karthesische Maschinenkinematiken anpassbar ist, wie anhand dieser Scherenkinematik gesteuert mit EMC2 zu sehen ist.

Homepage: http://www.linuxcnc.org/

Lizenz: GPL

Unterthemen

Veraltete Unterthemen

Features

Entwicklungs-Stand und Historie

EMC wurde am National Institute of Standards & Technology (NIST) bereits ab etwa 1994 entwickelt. Kernstück ist der sehr gut dokumentierte Quellcode des RS274 G-Code Interpreters von Thomas Kramer. Dieser liest den G-Code ein und erzeugt Maschinen-Steuerbefehle, die an intelligente Steuerungen direkt weitergegeben werden können. Später entstand daraus EMC, welches die Intelligenz auf den PC verlagert und somit mit einfachen Motorkarten auskommt. Bei Schrittmotoren reicht z.B. eine Steuerung, die Takt und Richtung pro Achse über den Parallelport empfängt.

Im Jahr 2000 wurde EMC als Open-Source Projekt freigegeben und auf Sourceforge gehostet. Seither entsteht eine freie Entwicklergemeinde, die dieses Projekt weiter entwickelt. Derzeit (Januar 2005) sind 44 Entwickler bei Sourceforge eingetragen. Das Projekt kam 2004 durch die Entwicklung von EMC2 wieder mehr in Fahrt.

EMC ist so ausgereift, dass es in einer Vielzahl von Anwendungsfällen im echten produktivem Einsatz ist. Sowohl im kommerziellen Bereich wie auch im Hobbybereich. Und dies schon seit mehreren Jahren.

Die Installation und Konfiguration des System gestaltete sich anfangs jedoch nicht gerade einfach. Damit EMC einfacher installiert werden kann und für freie Entwickler attraktiver wird, wurde sie in eine für freie Projekte konforme Struktur gebracht. Dies verfolgt der EMC2 Zweig im CVS bei Sourceforge. EMC2 beinhaltet auch einen Hardware-Abstraction-Layer (HAL). Dieser stellt eine einheitliche Schnittstelle für alle Schnittstellenhardware zur Verfügung. Damit is es sehr leicht möglich, spezielle Motorsteuerungskarten einzubinden. Auch die Pinbelegung wird so flexibel anpassbar. Man könnte z.B. für Schrittmotoren eine Digitale-IO-Karte anstatt des Parallelports verwenden. Für Servosysteme können Karten anderer Hersteller recht einfach eingebunden werden. EMC2 ist also gerade für Programmierer und Systemintegratoren eine interessante Vortentwicklung.

Hardware-Voraussetzungen

Bei aktuellen Versionen braucht die grafische Oberfläche Rechenleistung, zumal der Realtime-Kernel einem ja Rechenleistung abzieht. Ein modernes Linux mit grafischer Oberfläche (KDE/Gnome) braucht schon mindestens einen 800MHz Rechner mit 512 MB Speicher, um komfortabel arbeiten zu können. Mit EMC und Realtimekernel im Hintergrund sollten es dann schon mindestens 1 GHz sein. 512MB Speicher sollten ausreichen. Auch wenn EMC auf langsameren Rechnern prinzipiell läuft, lässt sich nicht flüssig damit arbeiten.

Weblinks

Grundlegendes

Handbücher und Dokumentationen

Foren

EMC Anwenderseiten

Linux Programme zur Erzeugung von G-Code

Bedienoberflächen

Hardware

Sonstiges

EMC (zuletzt geändert am 2010-11-08 01:11:04 durch on1)