When programs are too long to fit within a CNC control’s memory, one alternative is to use a direct numerical control system. This kind of system is called a DNC system, but must not be confused with a distributive numerical control system (also called a DNC system) that simply transfers programs to and from the CNC machine. With a direct numerical control system, the program will be run from a device (commonly a PC) connected to the machine’s communications port (the RS-232c port).
Frankly speaking, direct numerical control should only be used as a last resort. If you’re running long programs on a regular basis, you should choose a CNC that is designed for running long programs. Many high speed machining controls run programs from a hard drive within the control. Program length is limited only by hard drive capacity.
However, if you only occasionally run long programs—or if you have a machine that cannot run long programs from internal memory—you may have no alternative but to use direct numerical control. Let’s look at how this system is used.
With most current CNCs, the same connection used to transfer programs is used for direct numerical control, especially if there is only one communications port on the machine. So if you currently have the ability to transfer programs, you won’t have to change any communications protocol in order to perform direct numerical control.
Most controls that can perform direct numerical control have a special parameter to specify that DNC will be used. With one popular control model, this parameter is named remote program execution (simply remote on the display screen setting page).
When this setting parameter is enabled, the control will execute programs coming in to the control from the communications port instead of from internal memory. In either case, the mode switch will still be placed in the auto or memory position when the program is activated.
Assuming the setting parameter for remote program execution is enabled, actually running a program from the communications port is pretty simple. This procedure usually requires the CNC operator to send the program from the DNC system to the machine in the same way he or she would normally send a program into the machine’s memory. The operator may have to leave the machine to do so.
For this reason, we recommend starting by turning on the single block switch. This will ensure that only one command will be activated (commonly the program number command) when the machine starts running the program. This is especially important if the operator will not be close to the machine when program execution begins.
Next, the operator will press the cycle start button. This will cause the control to look to the communications port for the program. In essence, it’s like pressing the "read" button when loading a program using a distributive numerical control system. As soon as the control sees a program coming through the communications port, it will begin executing it—which is why it is important to have the single block switch turned on.
Finally, the operator must command the DNC system to send the program to the machine. As stated, when the machine receives the program, it will begin executing it. All safety functions will still be available, so the operator can manipulate the way the machine will execute the program.
Most CNC controls provide a way to restart a program beginning from a specified command. In normal operation, the program restart function is not commonly needed, but it is especially important with direct numerical control.
When executing a program from within the machine’s memory, the operator can simply scan within the program (in the edit mode) to the restart command. When they execute the program, the machine will begin executing from the restart command.
However with direct numerical control, there is no way scan to the restart command from the control panel (the program resides in a computer outside the machine tool). It can be cumbersome (or impossible) to command the DNC system to begin sending the program from a specified command (though some DNC systems make it easy to do so).
The program restart function of the CNC control allows the operator to specify the sequence number (N word) from which the control will begin executing the program. While the operator must, of course, know this sequence number, the control will ignore all commands it sees in the program until the restart command sequence number is found. Then it will begin executing the program.