Unless I've missed something, there is no software package for
motion control applications that can truly be said to be hardware
independent. Take a look at the products of the leading motion
control suppliers, and all will be offered with proprietary programming
tools. Various suppliers have attempted to integrate their software
across a number of platforms, with companies like Trio Motion (www.triomotion.com)
being among the more successful in this endeavour.
The only 'open' control system programming standard (and I use
the apostrophes wisely) is the International Electro-Technical
Commission's IEC 61131-3, which had its origins among the suppliers
of programmable logic controllers rather than motion controllers.
Certain fieldbus protocols offer a degree of independence - ProfiDrive
and CANopen DS402, for example, are both open drive profiles that
allow reasonably complex motion control applications to be realised.
But how these are programmed is down to the host controller.
Many motion control configuration packages are based upon common
programming languages such as Pascal, Basic and C. The Structured
Text programming option in IEC 61131-3, for example, is Pascal
based. But even where similar languages are used, the keywords
for various motion control functions, like setting up an index
move or a cam profile, differ enormously.
Baldor (www.baldor.co.uk) has developed a motion control programming
language called 'Mint' (based on Basic) which offers many of the
desired attributes of the IEC 61131-3 approach. Programs developed
in Mint will run on a variety of different hardware platforms to
suit the application - for example, an intelligent drive, a multi-axis
stand alone PLC-like controller or a PC card. Mint also supports
C programming, and users creating real time machinery can implement
motion using an embedded 'C' library of Mint functions.
Beckhoff's TwinCAT software (www.beckhoff.com/twincat), which
is supported in the UK by Hayes Control Systems (www.hayescontrols.co.uk)
runs under Windows operating systems on standard or industrialised
PC hardware and uses the familiar IEC 61131-3 language set. A single
PC running TwinCAT provides all the functionality of up to four
independent PLCs, and can also operate simultaneously as a multi-axis
motion controller.
IEC 61131-3 gives the seasoned PLC programmer access to motion
control environments such as Quin Systems' (www.quin.co.uk) Servonet
system. The company has created a library of nearly 100 motion
control Function Blocks, which cover anything from registration
and tension control to non-linear electronic gearing, and many
of these blocks are compatible with the PLCopen standard for motion
control.
Delta Tau (www.deltatau.com), offers a suite of Windows XP, 2000
and 98 based software for its board-based PMAC range of motion
controllers. As well as an embedded IEC 61131-3 set, the software
offers a graphical 'out-of-the-box' set-up procedure taking the
user through motor parameter selection and machine connection verification.
Other modules take the user forward via clear, graphical instructions,
to the servo tuning stages and HMI customisation, the latter making
use of a suite of ActiveX graphical control objects and Visual
Basic programming. A 'professional' version of the software is
available for creating, fine-tuning and analysing complex motion
control strategies.
A bit of lateral thinking suggests another approach: using a simulation
engine to develop and model your motion control system entirely
in software. There are a great many Windows-based tools out there,
though these days the market for dynamic simulators seems to be
dominated by SimuLink (www.mathworks.com) and VisSim (vissim.adeptscience.co.uk).
They are both powerful modelling environments for dynamic systems,
and both Web sites include interesting motion control case studies.
If, like many design engineers, you already use MATLAB, SimuLink
will appeal as it comes from the same developer and integrates
into your MATLAB workflow. VisSim is a popular choice for motion
control and many other dynamic simulation applications, and it
has tools to integrate with both SimuLink and MATLAB (and Mathcad
too). Both VisSim and SimuLink let you build your application by
selecting and connecting components in the form of pre-defined,
customisable function blocks, before running a simulation to view
the behaviour of your system.
VisSim also offers a tailored solution known as VisSim/Motion.
This includes a purpose designed motion component library with
a comprehensive set of function blocks (motors, controllers, sensors,
loads, voltage sources and transforms). A simple right-click on
one of these function blocks opens a dialogue box in which you
select the parameters you require. It's an elegant solution.
Dr Know's recommended download is the VisSim/Motion trial - download yours today.