Development of a milling testbed platform with open architecture controller.
Staroveski, Tomislav ; Brezak, Danko ; Udiljak, Toma 等
1. INTRODUCTION
In the last two decades, a lot of efforts have been made in the
development of open control systems for machine tools. According to the
IEEE, "an open system provides capabilities that enabled properly
implemented applications to run on a variety of platforms from multiple
vendors, interoperate with other system applications and present a
consistent style of interaction with the user" (Pritschow et al.,
2001).
The first Open Architecture Controller (OAC) solution was proposed
by National Institute of Standards and Technology (NIST). This project
has evolved over time, and is currently focused on development of OAC
system named as Enhanced Motion Controller, EMC (Proctor &
Michaloski, 1993). After this first initiative, several other projects
have started in the Europe, USA and Japan, among which the most
important are: OSACA (Open System Architecture for Controls within
Automation System), OMAC (Open Modular Architecture Controllers), OSEC (Open System Environment for Controller) and JOP (Japanese Open
Promotion Group). Beside aforementioned, other university research
activities in hardware and software area of open architecture CNC
systems were also conducted and resulted in systems such as Open
Real-Time Operating System (Erol et al., 2000) or Soft-CNC system based
on OSACA principle. However, despite all of these efforts, a universal
open CNC architecture still remains undefined.
In this paper, a concise description of activities regarding the
development of 3-axis bench-top mini milling machine controlled by OAC
is presented. This project was motivated by the necessity for open
controlled machine tool testbed platform, intended to be used in the
analysis of different control algorithms and process monitoring
techniques, as well as educational purposes. Among several proposed OAC
solutions, EMC was implemented. It runs on Linux based operating systems
with real-time extensions. Characteristics of such software platforms,
which primarily include stability and performance, were main reasons for
choosing this type of OAC. Up to this time, EMC has been successfully
used in a several CNC retrofitting projects, including applications with
complex kinematic chains (wiki.linuxcnc.org).
2. ENHANCED MACHINE CONTROLLER
First version of EMC was originally developed by the Intelligent
Systems Division at the NIST (Proctor & Shackleford, 2001). Current
EMC version, EMC2, (The EMC Team, 2009) is actively developed and
community maintained software package, presenting an effort to simplify,
organize and continuously extent the original work.
EMC is composed from four components: Motion Controller (EMCMOT),
Discrete I/O Controller (EMCIO), Task coorinating module (EMCTASK), and
Text-based and graphical user interfaces (GUI).
In the four modules of EMC, only EMCMOT is a realtime module. The
communications between non-realtime modules are implemented by Neutral
Messaging Language (NML) channels (Proctor et al., 2000), and the
communications between the realtime module (EMCMOT) and the non-realtime
module (EMCTASK) is implemented etither by shared memory or RT-Linux
FIFO mechanisms.
EMCMOT executes cyclically in real-time and performs trajectory
planning, direct and inverse kinematic calculations and computation of
desired output to motor control subsystems. This process includes
sampling of controlled axis positions, computation of next trajectory
point and interpolation between these trajectory points. Interpolation
is done by means of cubic interpolation routines, and a trapezoidal
velocity profile generator is used during computation of desired
position references. Programmable software limits are also supported, as
well as interfaces to hardware limit and home switches.
All I/O functions, which are not directly related to the actual
motion of machine axis, are handled within EMCIO module. EMCIO is
implemented as a single I/O controller, consisting of hierarchy of
subordinate controllers for main spindle, automatic tool change (ATC),
coolant, auxiliary functions (e.g., E-STOP chain, lubrication, etc.) and
other user-defined subsystems. It is based on a hierarchy controller
classes written in C++ using NML Library.
EMCTASK is task level command handler and program interpreter for
the RS-274 NGC machine tool programming language (Marietta, 1994),
commonly referred as G code. As coordinating module in the architecture
of EMC, EMCTASK is hierarchically placed above EMCMOT and EMCIO, and
under GUI. EMCTASK monitors the status of subordinate modules (EMCMOT
and EMCIO) and coordinates them. It also receives and analyzes the
commands, either from the operator through GUI or from another process
(locally or remotely in both cases), interprets them into NML messages
and dispatches them to EMCMOT, EMCIO or EMCTASK itself at appropriate
times. EMCTASK is coded similarly to the EMCIO using the NML Library.
Several user interfaces have been developed for EMC: keystick,
xemc, tkemc, mini and AXIS. All of these programs natively run under
Linux based operating systems and all run in X11 environment (X Window
System), with exception of keystick, which is character-based. AXIS is
the most advanced GUI, featuring interactive G-code previewer. GUI-based
programs can be expanded and adopted to match specific application needs
by means of virtual control panels (VCP), which is supported with pyVCP
package. Besides above mentioned user interfaces, telnet based program
emcrsh is also provided for running remote sessions.
3. TESTBED SETUP
At present, 3-axis bench-top mini milling machine is used as
testbed. Although this machine is based on very simple Cartesian
kinematics structure, it is still nevertheless sufficient for testing
most of EMC concepts and overall system stability.
Configuration of feed drives, which applies to all axes, is based
on closed-loop servo system, by means of Permanent Magnet Synchronous
Motors (PMSM) with integrated incremental encoders (type SB04A, produced
by Mecapion Co.), corresponding motor controllers (type DPCANIE 030A400
for X and Y axis, and DPCANIE-060A400 for Z axis, produced by Advanced
Motion Controls Co.) and ball screw assemblies.
Selected drives provide multiple modes of operation, variety of
common industrial interfaces for acquisition of reference signals,
CAN-bus interface with CANOpen protocol for fieldbus connections, as
well as multiple general purpose analog and digital I/O ports. Selection
of particular types (DPCANIE-030A400, DPCANIE-060A400) is a temporary
solution and only serves for initial testing, as power ratings greatly
exceed application needs.
In the current setup, feed drives are configured as closed loop
velocity controllers, since position loop for each axis is implemented
within EMCMOT module. PID gain factors for both current and velocity
loops are obtained manually, using royalty-free DriveWare configuration
software package.
Interface to drives from PC side is done via Motenc-Lite PCI card
(Vital Systems Inc.). With all breakout boards installed, single
Motenc-Lite card features 8 Analog Outputs, 8 Analog Inputs, 4
Differential Quadrature Encoder Inputs (DQEI), as well as 16 digital
outputs (24VDC) and 32 digital inputs (24VDC). DQEI interface is mapped
to internal 32-bit up/down counter with maximum update frequency of
2MHz. Multiple installations (up to four) of this card is possible in
order to further expand configuration.
Incremental encoders, which are powered from motor drives and
utilize differential quadrature TTL output signals, are used as feedback
devices for both drives and EMC. Signals from encoder are first fed to
the motor drive as velocity loop feedback, buffered, and then sent to
EMC trough DQEI channels of Motenc-Lite interface card. Emulated Hall
Effect sensor signals are also provided from encoders, which are used by
the drives for commutation.
Testbed in its current configuration is shown on Fig 1. and
finished parts of some test runs on Fig. 2.
[FIGURE 1 OMITTED]
[FIGURE 2 OMITTED]
4. CONCLUSION
Development of a 3-axis mini milling machine testbed with a Linux
based OAC system named as Enhanced Machine Controller has been presented
in this paper. Due to stability and robustness in general, Linux based
operating systems have already proved their potential in many fields,
including industrial automation. Combined with real time extensions,
they also provide possibilities for mission critical implementations.
EMC is of great academic and educational importance, as it fulfills
essential research demands for this field with benefits of robust open
source OS, including expansion possibilities with other open source
programs.
Testbed configuration presented in this paper is the base on which
several ongoing projects will continue. Upgrade of the current testbed
to 4-axis milling machine, and retrofitting of large planning machine
into the 3-axis CNC machining center in cooperation with HSTec Co.
Future research will be focused on using EMC as a platform for
integration and analyzes of various process monitoring and control
algorithms on both developing testbeds.
5. REFERENCES
Erol, N.A.; Altintas, Y. & Ito, M.R. (2000). Open system
architecture modular tool kit for motion and machining process control,
IEEE/ASME Transactions on Mechatronics, Vol. 5, pp. 281-291, ISSN 1083-4435
Marietta, M. (1994). Next generation controller (NGC)
specifications for an open system architecture (SOSAS) revision
2.0.--Technical report, National Center for Manufacturing Sciences,
Available from: ftp://ftp.isd.mel.nist.gov/pub/NGC_document.pdf, Accesed
on: 2009-06-06
Pritschow, G. et al. (2001). Open Controller Architecture--Past,
Present and Future, CIRP Annals--Manufacturing Technology, Vol. 50(2),
pp. 463-470, ISSN 0007-8506
Proctor, F.M. & Michaloski, J. (1993). Enhanced Machine
Controller Architecture Overview, Available from:
ftp://ftp.isd.mel.nist.gov/pub/NISTIR_5331.pdf, Accesed on: 2009-06-06
Proctor, F.M. & Shackleford, W.P. (2001). Use of open source
distribution for a machine tool controller, Proceedings of the
Conference on Sensors and Controls for Intelligent Manufacturing, Peter
E. O. & George K. K. (Ed.), pp. 19-30, ISBN 0-8194-3856-1, Boston,
MA, Society of SPIE, Bellingham, WA
Proctor, F.M.; Shackleford, W.P. & Michaloski J.L. (2000). The
Neutral Message Language: A Model and Method for Message Passing in
Heterogeneous Environments, Available from:
www.isd.mel.nist.gov/documents/
shackleford/Neutral_Message_Language.pdf, Accesed on: 2009-06-06
The EMC Team (2009). EMC Documentation, Available from:
http://www.linuxcnc.org/docs/EMC2_User_Manual.pdf, Accessed on:
2009-06-06