Re: EMC - a practical implementation? (LONG)





"Stephen B. Patterson" wrote:

> All,
>
> We have read with some considerable interest the comments of those trying
> out various "builds" of the software, and the various problems being
> encountered.  Some of you should be aware that there is considerable
> commercial interest from any number of parties (including ourselves).
>
> However, the system as designed has little redundany and does not degrade
> in a graceful manner.  Error checking is a joke - what does "error XX -
> divide by zero" have to do with the implementation problems being
> encoutered if it won't tell you what's wrong?

There may be some cryptic error messages hidden in there, but I've never
gotten anything like a "divide by zero" error.  I get things like "Can't
run program in Manual - must be in Auto mode", or "Tool too large for
inside angle with Cutter Radius Comp on".

> The truth is, "it doesn't matter whether the system performs well at a
> machining task, as long as it is mathematically pure" would be extremely
> funny if it weren't so maddening to those trying to implement the software.
>  These problems tell us this system is a long way from even a hobbyist's
> dream, let alone a practical solution to any machine control problems.

Well, this is really in a small internal part of the program, but it does
prevent the PID servo routines from doing what might be needed.
I may have been a bit harsh on Fred Proctor in my comments.

> The essence of a good system design is it's ability to perform marginally
> well in situations never dreamed of by the original architects . . . .

If you understand the complexity of performing lookahead and motion
blending of arbitrary RS-274D (G-code) programs, then it is already
doing that, beyond any program I could think of writing in 25 years
of effort!

> That is, from the start, the system architect designed in convertability,
> redundancy, portability, adaptability, error recovery, limit checking, and
> all fifteen known methods to implement predictive and graceful degradation
> of performance.

Yes, servo systems in commercial aircraft certainly do this, but I know of
no machine tool that does.  If something goes wrong, you get a big
"Servo Error" or something on the screen, and the machine stops.
That is reasonable, since the CNC control designer can't really know
what the machine has been customized to do.  Any fancy automatic
recovery could cause a devastating crash and destroy the machine.
Stopping everything is the best policy.

To take on your list of attributes :
Convertability :
This same basic software is capable of running orthogonal machines
like milling machines and lathes, Stewart-platform machines like
aircraft simulator cabins and "Hexapod" machining centers, and
industrial robots with rotary joints, as well as combinations of these
mechanisms.  It is capable of using closed-loop servo motors,
open-loop stepper drives or closed-loop stepper drives.  It is
intended to eventually allow the axis drive types to be mixed
as desired, right now they all need to be of the same type.

Redundancy :
I know of NO machine tool controls that feature any sort of
true redundancy, either in the CNC computer, axis drives, encoders,
tachs, etc.  Allen Bradley, for sure has VERY elaborate safety controls
that cross check all sorts of things to prevent runaways.  While there
is much less of this associated with EMC, I believe it is adequate
for smaller, low powered machines.  I might want more safety
gear on a 50-ton gantry bed mill, too.

Portability :
This software has been run on Sun Unix workstations, Windows NT
with real time extensions, X86 PCs with Real-Time Linux, and
has now been ported substantially to the DOS environment.  This
port was done in about 3 weeks by one man, with minimal support
from the original authors!

I'm not sure I understand the exect meanings of Adaptability and
Convertability.

Error Recovery :
Due to the way the RS-274D interpreter was written, EMC is deficient
in manual intervention in the middle of a program.  Unlike many
commercial CNC systems, you can't stop in the middle of a program,
back up a few blocks and re-execute from that point, without some
fancy stuff.  This is a definite deficency, and I have pointed that out
to the authors.  But, there is NO WAY I'm going back to my
Allen-Bradley 7320!  As far as errors in the part program being
executed, it is thoroughly solid at detecting things that will throw
other (mostly older) CNCs into a complete tizzy, and cause them to
make improper moves.  (On the AB 7320, if you specify bad
parameters for the I or J words in an arc move, it will go off to
some random XY location and start spiraling around that random
point.  Not good at all!)  I have had a number of instances where
EMC would complain about something in a new part program, and
on inspection would find an error there, indeed!

Limit Checking :
As for motion errors due to crashes, failed axis drives, etc. EMC,
if the limits are properly set up, it will stop all axes immediately, before
very much error has ocurred.  One of the recent mods was to
predict the amount of following error at various speeds, and
have a curve for acceptable error limits, so any unusual following error
would immediately trip the emergency stop.  This allows you to set the
error limits much closer without causing nuisance trips.

Graceful degradation :
Some machine tool controls have ways to reduce power output when
spindle motors or axis drives are moderately overheated, and many have
feed rate compensation, that slows the machine down to 1/2 speed
when following error limits are just exceeded.  I don't think a lot
of this applies to the smaller machines we are using.

As for graceful, the A-B 7320 has a computer cooler that first comes
on at 145 F internal temperature in the CNC cabinet.  I guess that
saves electricity, but I wonder how long these CNC controls
last at 130+ F?  Apparently, not very long, according to stories
I hear.  That, of course, gets them a lot of business for service
calls.

>  And the systems testing suites were designed in advance so
> that the tough, real-world problems that have already been solved by most
> of the commercial machine control environments could easily be implemented
> here.
>
> The impression we have is that this system being built by one or more ivory
> tower types who haven't a clue as to the practical problems being
> encountered by real-worl implementations.  What happened to the idea that
> this software is easy to implement and easy to use?

Hmm, obviously you are having a good time laughing at something
you've never seen, while I, and several other people are turning out
work for production jobs on these systems.  I have been using EMC
since mid 1998 with excellent results on a Bridgeport conversion.

It IS easy to use, although I think some of the Allen Bradley and other
CNC's I've used are probably a little better.  They are ABSOLUTELY
vastly more expensive.

>
> We'll be watching.
>
> Good luck, you'll need it.

I don't see why.  My machine has been running without trouble for
almost 2 years, now.  I'm helping others, and looking for additional
capabilities in the new versions of the software.  But, if I don't like
it, I can just go back to the one I DO like, and wait to try the next
version to come out.

>
> Steve
>
>                       Stephen Brent Patterson
>                          RODI Power Systems
>                  The ElectriHydraulic Company
>                Stephens Steam Speeder Company

Ah, well if you are thinking "machine control" as in supervising steam
turbines and other big energy conversion, turbo machinery, and such,
that is a totally different field, in a number of ways, than what we are
talking about, here.  This is a system to move a machine tool by
numeric control programs, primarily to cut parts out of some material,
but it could also be material handling machines or robots.

Whew, didn't mean to write a magazine article, here!

Jon




Date Index | Thread Index | Back to archive index | Back to Mailing List Page

Problems or questions? Contact