DNC software that tracks cycle time and time that each tool is cutting

DNC software that tracks cycle time and time that each tool is cutting

by Dan Fritz of Suburban Machinery
Dear Mr. Lynch,
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.
Sincerely,