EMC (the Enhanced Machine Control) is a software system for computer control of machine tools such as milling machines.|
EMC is free software with open source code.
It provides a user interface, an interpreter for "G-code" (the RS-274 machine tool programming language), and operates the actual electronic interfaces that control the motor drives on the machine tool.
It provides the "computer" functions needed to actually run the machine's electronics. It does not provide drawing (CAD - Computer Aided Design) or G-code generation from the drawing (CAM - Computer Automated Manufacturing) functions.
It can control up to 6 axes and supports a variety of interfaces.
The motion control can operate true servos (usually analog) with the feedback loop closed by the EMC software at the computer, or open loop with "step-servos" or stepper motors.
Motion planning includes cutter radius compensation, tool length offsets, and constant velocity control.
Support for non-Cartesian motion systems is provided via kinematics. This includes hexapods (Stewart platforms and similar concepts) and systems with rotary joints to provide motion.
EMC runs on Linux using real time extensions. Support currently exists for version 2.2 and 2.4 Linux kernels with real time extensions applied by RT-Linux or RTAI patches.
Because EMC needs real time extensions it cannot be easily installed on any existing Linux distribution. The real time extensions make changes to the kernel code and do this with the normal RPM or APT get type of tools requires immense effort to support the endless possible distribution/EMC combinations. Because of this there have, to date, been no attempts to provide this type of install tool. If you do not have experience compiling the kernel, you are strongly urged to consider installing a distribution that already has the real time extensions included. Several such distributions have been created for use with EMC. They are called BDI (short for brain dead install) distributions.
The simplest way to get EMC running is to dedicate a computer to EMC and install one of the BDI (Brain Dead Install) systems. The BDI comes on a CD rom (or a downloaded image of one) and installs a complete Linux operating system with the correct patches and EMC code pre-configured. There is even a BDI-Live version that runs directly from the CD without installing anything on the computer. It requires plenty of memory and is a bit slow due to the speed of a CD drive, but it does not modify anything on the hard disk of the computer. You can check out the BDI releases HERE.
Modification of the EMC software to use other platforms (BSD, Linux 2.6 kernels, etc.) is possible, but requires significant knowledge and effort.