Disclaimer: CNC Concepts, Inc. accepts no responsibility for the use
or misuse of techniques shown in this web page. We simply publish information
we feel will be of interest to CNC users. In all cases, the reader is totally
responsible for considering the implications, good and bad, of implementing one
or more of the techniques we show.
DNC software that tracks cycle time and time that each tool is cutting
We've enjoyed your column in Modern Machine Shop for many years, and we've
noticed that you frequently write about various ways to improve productivity by
using Fanuc's Macro-B option. Our company has developed some software and macro
programming techniques that may be of interest to you.
Suburban Machinery Software has been writing DNC software since 1982. In
the last 3-4 years, we've developed a product called "PC-DNC Plus"
which is designed to facilitate shop floor communications
(upload/download/drip-feed), G-code editing, machine tool monitoring, etc. The
system also has options for in-process gauging, automatic paging & e-mails,
and a few other goodies.
The PC-DNC Plus machine monitoring function can use the Fanuc Macro-B
function to monitor the machine tools passively. Here's how it works:
In the CNC program, we put a macro call command at the beginning (right
after the O-number), and another macro call at the end (just before the
"M30"). These macros are very simple, and they use the DPRNT
statement to transmit a short string of characters out the CNCs serial port.
For example:
At the beginning of all programs, this macro is called:
O9xxxx
POPEN
DPRNT[PROGRAM ID:#4115[40]]
DPRNT[START]
PCLOS
M99
At the end of all programs, this macro is called:
O9xxxx
POPEN
DPRNT[FINISH]
PCLOS
M99
When a spindle start command (M03 or M04) is executed, this macro is called:
O9xxxx
POPEN
DPRNT[START TOOL #4120[40]]
PCLOS
M99
When a spindle stop command (M05) is executed, this macro is called:
O9xxxx
POPEN
DPRNT[SPINDLE OFF]
PCLOS
M99
In our PC-DNC Pluc system, we are passively "listening" to all
the machine's serial ports simultaneously. We can respond to the operator's
"remote requests" for a file, or we can just gather data from the
DPRNT statements, and save it in a "Monitor data" file for each
machine. Later, other software would periodically analyze these data to
determine actual machine activity. In normal production, the macros shown above
would send the following strings to the DNC system periodically:
PROGRAM ID: 1234
START
START TOOL 1
SPINDLE OFF
START TOOL 2
SPINDLE OFF
START TOOL 3
SPINDLE OFF
FINISH (end of a typical part cycle)
At first, this may not seem terribly useful, but it you consider the fact
that the DNC system can "time stamp" each of these events, i.e. :
PROGRAM ID: 1234
START 11/19/2002 10:55:46 am
START TOOL 1 11/19/2002 10:55:48 am
SPINDLE OFF 11/19/2002 10:57:35 am
START TOOL 2 11/19/2002 10:57:39 am
SPINDLE OFF 11/19/2002 11:03:45 am
START TOOL 3 11/19/2002 11:03:50 am
SPINDLE OFF 11/19/2002 11:04:25 am
FINISH 11/19/2002 11:04:31 am
From this time stamped information, we can deduce a LOT of information about
this part cycle. Over time, PC-DNC Plus can construct a database with
information such as:
How many parts were run on second shift last night
What part is being run right now
What's my average cycle time
What time/date did this job start in production
When will (x) parts be finished at the current rate of production
How long was my operator's last lunch break
How many minutes (or part cycles) has tool (x) been in use
What's the average time between part cycles (unload/load time)
When will I need to change tool (x) (etc.)
In addition to all these data about tool use and part cycles, the DNC system
can also send e-mails or pages automatically if:
The (n)th part has just been run, and someone needs to change the bar, tool
(x), or whatever
The machine has been out-of-cycle for (x) minutes, and somebody better
check out what's wrong
The part count (at a specified time of day) is (x) parts
Average part cycles are taking longer than the expected time of (x) minutes
Some other nice features are possible if you use a touch-probe for
qualifying a fixture, checking a part dimension, etc. We also frequently
collect probe data for later use in an SPC program, etc.
If the database of information is also placed on a web server in HTML
format, then anyone in the company can monitor any machine's production
activity with a laptop, or a PDA.
We also have more sophisticated software for our Ethernet DNC links, because
we can monitor the machines much more intrusively than we can with a set of
Fanuc Macros. The nice thing about this technique is that so many machines now
in service already have Fanuc controls, and the Macro-B option is a lot cheaper
than adding an expensive monitoring device to the CNC control. Since the
technique for using these macro commands is all done with software, this
feature can be easily implemented once the basic DNC communications system is
in place.
Please let me know if you have any questions about our recent projects.