How does your shop go about getting g-code part programs on to the various CNC machines on your shop floor?
There’s the old stand bys–usb key, floppy disk, PCMCIA, and so forth. These involve plugging some sort of media into the machine temporarily to transfer the code.
Newer machines can connect to your WiFi or cabled Ethernet and access folders on a server. Some controllers, like Tormach’s PathPilot, can even interface with Dropbox to make file transfer super easy.
These methods are all fairly manual, but there’s a more automated way to transfer g-code to your CNC machines that is called “DNC,” which stands for “Distributed Numerical Control.”
The idea is to control what g-code winds up on a group of CNC machines from a central server. A menu can be called up on the DNC software on that machine that causes a particular part program to be sent to a particular machine.
DNC requires connecting every machine back to the DNC Server that’s going to manage that machine. This is traditionally done using RS-232 serial connections, like the cable on the right.
Newer machines have protocols that work entirely over Ethernet (cabled or WiFi), but this is typically an expensive option, so even newer machines may still be using RS-232. To make the connection requires either stringing an RS-232 cable from the server to each machine, or there are many WiFi to RS-232 boxes available in the market.
Typically, either a piece of hardware (in the case of stringing many physical cables) or the right software makes it look to the DNC server PC like it has a whole bunch of serial ports ready to pipeline g-code back to the CNC machine on the other end.
Sophisticated DNC software opens the door to a lot of interesting capabilities:
– Drip Feed: Older CNC machines may have very limited RAM memory. Complex g-code programs will often exceed the limits of that memory. The answer is to Drip Feed, where the g-codes come to the machine a few at a time when the machine is ready to execute them.
– “Pull Mode”: While DNC software is often used in a “push” mode, meaning the download is initiated from the DNC Server, it is also possible with the right setup to “pull”. In this case, a short program is executed on the CNC Machine to request a file be brought down. Here is a typical example for a Fanuc machine:
(/REQ **insert program name**)
Such a program is short to punch in manually or to keep around and edit as needed so you can request particular programs from the DNC server.
– Machine Monitoring with DNC: “Pull” requests are not the only thing going from the CNC Machine back to DNC. Most DNC software can capture anything sent back via RS-232, and this becomes a channel to be used for machine monitoring.
A g-code function called “DPRNT” lets the g-code program send messages back to the DNC Server. The Holy Grail of many manufacturing optimization projects is to keep the spindles turning at all times. It’s hard to do, but the first step is to figure out how to measure how often the spindles are running doing useful work.
One approach is to use DPRNT to tell the DNC server when a g-code program starts and stops. Appropriate DPRNT messages are sprinkled into the g-code to accomplish that.
Finer-grained monitoring might involve telling the DNC server whenever a tool is changed so that tool life monitoring can start to come into play via an accurate record of how long each tool is actually used in cutting. BTW, if you need to add some monitoring commands to your g-code, our G-Wizard Editor has some special commands that make it easy to do so.
The linked article describes using the feature to add lock/unlock commands to 4th axis code, but the feature works equally well for adding DPRNT commands at strategic locations in your g-code.
There are lots of other features in DNC software, and the software ranges in complexity from simple free programs aimed at getting g-code over an RS-232 cable and onto a machine to complex multi-machine DNC server software.
Free DNC Software
There are a few Free DNC Software solutions available:
These free programs will limitations like they can only transfer programs to 1 machine, no drip feed or other bells & whistles.
Machine Monitoring Systems & MTConnect
We saw a little bit of Machine Monitoring in the form of the DPRNT statements that can be used with DNC Software. But much more sophisticated solutions are available.
The primary standard for Machine Monitoring is called MTConnect. Version 1.0 of the standard was released in 2008. MTConnect is a Read-only protocol. It can only be used to query status information about a CNC Machine and not to control the machine. The machines send that information back to software in a format called XML.
As I write this in mid-2018, some 26 machinery and control manufacturers have varying degrees of support for MTConnect:
- Allen-Bradley (CNC)
- DMG Mori Seiki
- GF Agie Charmilles
DNC Software & Machine Monitoring Survey Results
We did a survey to find out how most shops use DNC and get g-code onto their machines as well as Machine Monitoring practices.
Here are the results:
Use DNC: 59%
Use Memory Cards, Direct Network Connection, or Other: 41%
This is not surprising. DNC is going to be more common at larger shops, at least shops with multiple machines. It does give some idea of the readership’s propensity along those lines though.
What do you use DNC for?
Downloading G-Code: 88%
Drop Feeding G-Code: 56%
Monitoring Machines: 6%
Assuming you use DNC, which features do you take advantage of? Predictably, the most common is simply downloading g-code to the machines, but interestingly, some shops (22%) are not doing this. In all likelihood they are Drip Feeding all their g-code. Drip Feeding is the practice of feeding the part program to the machine just a few g-codes at a time on an as-needed basis.
Lastly, about 6% are using the DNC to monitor machine status. This is a sophisticated and valuable function that enables shop to directly monitor what the machines are doing. It helps them to monitor, understand, and optimize machine and even tool usage so they can be systematic about making their operations more efficient.
How Many Machines Are on DNC?
Overall Average: 11 machines
Many Machines Group Average: 53 machines (20% of responses)
The Rest: 3 machines (80% of responses)
This group was really 2 groups. A relatively small group, 20% of respondents, had large numbers of machines on DNC–the average was 53 machines. The rest had an average of 3 machines on DNC.
The more machines you have, the more advantage there is to investing in DNC, but there is still advantage even in small shops with just a few machines.
How is Your DNC Connected to the Machines?
Serial Cables: 68%
It used to be that DNC was exclusively done via serial cables, but newer machines have added the ability to perform DNC operations over simple Internet connections. They also retain the ability for serial, but I was surprised at just how many are going the network path.
Which DNC Software is Everyone Using?
Like most of the other software categories we have surveyed, the DNC software market is very fragmented. Here are the market shares for the survey:
It’s pretty fragmented with most shops using DNC software that came with their CAM or Editor.
G-Wizard Editor: The Essential G-Code Wrangler
If you’re in the business of DNC, Machine Monitoring, and organizing your g-code with software, you’re already a g-code wrangler. That means you could use a great tool that can help you create, modify, test, and manage your g-code. You need our G-Wizard Editor software:
Like what you read on CNCCookbook?
Join 100,000+ CNC'ers! Get our latest blog posts delivered straight to your email inbox once a week for free. Plus, we’ll give you access to some great CNC reference materials including:
- Our Big List of over 200 CNC Tips and Techniques
- Our Free GCode Programming Basics Course
- And more!
Just enter your name and email address below:
100% Privacy: We will never Spam you!
Bob is responsible for the development and implementation of the popular G-Wizard CNC Software. Bob is also the founder of CNCCookbook, the largest CNC-related blog on the Internet.