Drip feed: run CNC programs larger than the control's memory
Drip feeding runs a CNC program while it is being sent. The control executes the blocks as they arrive over the serial port and keeps only a small buffer, so a program can be far larger than the control's memory: a 3D surface program from CAM, for example, on a control with little memory left. DNC Precision drip-feeds programs in the Professional and Enterprise editions.
How drip feed works
- The control is put in its mode for running from the serial port and started.
- DNC Precision sends the program line by line.
- When the control's buffer is nearly full, the control tells the PC to stop: with the XOFF character (software handshaking) or by dropping its handshake line (hardware handshaking).
- DNC Precision pauses until the control sends XON or raises the line again, then sends the next part.
- This repeats until the end of the program.
Because the PC paces itself by the control, the handshake is what makes drip feed work. If the two sides do not agree on it, the buffer overflows and the control raises an alarm, or the transfer stops halfway.
What the control and the cable need
- A mode for running from the serial port. Controls name it differently: DNC, remote (RMT) or tape mode. On many controls it is an option. The control's manual shows how to select it, and CNC and DNC settings collects the port settings of many controls.
- Matching port settings. Baud rate, data bits, parity and stop bits must be the same on both sides. Wrong values give garbled data or no data at all.
- The right cable. XON/XOFF can work over three wires (transmit, receive, ground), although many controls still need some handshake lines bridged in the connector. RTS/CTS or DTR/DSR handshaking needs a cable with those lines wired as the control's manual shows. See RS-232 pinouts and cables.
- A serial port on the PC. A built-in port, a multiport card, a USB-to-serial adapter, or an Ethernet or Wi-Fi serial adapters whose driver creates a virtual COM port. USB and network adapters add buffers of their own; see the overflow case below.
Setting up drip feed in DNC Precision
- Port. Set the baud rate, data bits, parity and stop bits to the control's values.
- Handshake. Choose software (XON/XOFF), hardware (RTS/CTS, DTR/DSR) or both, as the control uses. Some controls use other XON/XOFF characters; enter their codes (the defaults are XON = #11 and XOFF = #13). If the control expects XON before the transfer starts, turn on waiting for XON before sending.
- Program format. Set the program start and end characters the control expects, for example % at the start, and the line ending.
- Delays and timeouts. The handshake timeout is how long DNC Precision waits while the control has paused it; 0 means it waits as long as it takes, which suits long cycles between blocks. Delays before each line or between characters help slow or old controls.
- Test. Put the control in its serial-run mode, start the cycle and click Transmit, or let the operator request the program in server mode.
When it goes wrong
- Overflow alarm on the control. The PC did not stop when told: the handshake method, the XON/XOFF characters or the handshake wiring do not match.
- Overflow with a USB-to-serial adapter, but not with a built-in port. After the control sends XOFF, the adapter can still send the characters it holds in its buffer, and an old control with a small buffer overflows, often near the end of the program. Use a built-in or PCIe serial port or hardware handshaking, or reduce the adapter's buffer or latency in its driver settings if the driver allows it.
- The transfer stops and never resumes. The control is waiting for something it never gets, or DNC Precision is waiting for XON: check the handshake on both sides and the handshake timeout.
- The machine hesitates between short moves. The data arrives more slowly than the program runs. Raise the baud rate on both sides if the cable and the control allow it.
- Garbled data from an old control. If the control punches EIA (RS-244) code, switch its output to ISO (ASCII): DNC Precision has no EIA mode.
- Garbled characters or one long line. Wrong port settings, or the wrong line ending in the program format. The raw data log in DNC Precision shows exactly what arrived.
To stop a drip feed from the machine and request another program, the operator can send a cancel command in server mode. With Enterprise, the tool-break restart sends the rest of a program from a named block: DNC Precision puts your header template (for example safe start blocks and the last spindle command, feed rate and position) in front of it.
Editions and trial
Drip feed is in Professional and Enterprise. The Free Edition sends and receives programs up to 64 KB without drip feed. Download the full version and try drip feed with your own control: the trial works with one machine.
Questions
What is drip feeding in CNC? Running a program while it is being sent. The PC sends the program over the serial port, the control executes the blocks as they arrive and keeps only a small buffer, and the PC pauses whenever the control signals that its buffer is full. A program can therefore be much larger than the control's memory.
Do all CNC controls support drip feed? No. The control needs an operation mode that runs the program from the serial port, often called DNC, remote (RMT) or tape mode; on many controls it is an option. The control's manual says whether it has one and how to select it.
Which handshake should I use for drip feed? The one the control uses. Software handshaking (XON/XOFF) works with a simple three-wire cable. Hardware handshaking (RTS/CTS or DTR/DSR) needs a cable with those lines wired. Both sides must use the same method, or the control's buffer overflows or the transfer stops.
Which edition of DNC Precision supports drip feed? Professional and Enterprise. The Free Edition sends and receives programs up to 64 KB without drip feed.
Can I restart a drip-fed program after a tool break? Yes, with DNC Precision Enterprise. The operator names the block where the tool broke, and DNC Precision builds and sends a restart program: your header template (for example safe start blocks and the last spindle command, feed rate and position), followed by the rest of the program.
What is DNC software | DNC server mode | Drip feed | RS-232 troubleshooting | Wireless DNC | USB-to-serial adapters | Machine data with DPRNT | DNC software compared | Edit programs before sending | CNC and DNC settings | RS232 pinout and signals