- DNC Syntax
allows you to send files to your CNC and receive files back
from your CNC without leaving the controller. To enable ProEZDNC
to understand what you actually want to do, be it to send a
file to your CNC or receive a file back from your CNC, you need
to setup your DNC commands.
These commands can be permanently stored in your CNCs memory
as very small NC files and each time you want to send or receive
a file you edit the filename portion of the DNC command so that
ProEZDNC now knows which command and file you want. You then
punch this small file OUT of your CNC via the RS232 port and
immediately put your CNC into receive mode - some time later
ProEZDNC will send the file you requested. (Saving a file OFF
your CNC is even easier, as all you do is punch out the file
and ProEZDNC will automatically save it away)
All you need do is setup these commands and make sure that what
you setup is the same at the ProEZDNC and CNC ends.
a DNC command block is made up of 3 simple parts... 1. the command
2. the filename(s) 3. the End Command Character. In the first
example below, the DNC command is "(/GET", the filename is "TEST"
and the End Command Character is ")".
Whenever you send this out of the CNC, ProEZDNC will check first
for which command you have sent, it will try and find the end-request
character, and it will then try and work out the names of the
files you have specified. You can create any DNC commands of
your own, using any sequence of characters as long as it follows
this simple structure. The only proviso is that the commands
are not duplicated elsewhere in the DNC command file (such as
with comments -
Send file to CNC from PC
The command line consists of this structure...
DNC COMMAND + FILENAME
+ END COMMAND CHARACTER
The actual block example as above
(/GET + TEST
This program is stored on your CNC. In this
example, it will get the file TEST from the default folder,
with the default file extension on your PC, and send it to the
CNC. If you wanted to get another file, you would simply
edit the comment block to the filename you wanted. For
example, edit the "TEST" to "YOURFILENAME".
You would send this program out through the CNC port, and when
it had been sent, put your CNC into receive mode. A short
while later, ProEZDNC sends you the appropriate file (if it
exists on your PC).
You can use any numbers or characters and spaces in your filename.
Because many CNC do not allow backspace, all "/" are
replaced by "\" . In addition if you want to explicitly
request a file, then "//" are replaced by colons so
that disk drives can be requested.
It's important to understand that IT DOES NOT REALLY MATTER
what you use for these requests AS LONG AS BOTH THE CNC AND
PROEZDNC MATCH. For example you could set it up so that
(DOG meant send me a file and as long as you send out (DOG TEST)
from your CNC it would send back the file "TEST"The
use of "(/GET" is purely arbitrary, we use this as
default, because you are GETTING a file WITH RESPECT TO THE
CNC. You could just as easily use (RECEIVE, ie receive a file
from the PC, the "/" block skip has no bearing at
all, its just we like the blockskip, because that block would
NEVER get executed by the control accidentally and cause a possible
Please do not get confused with program numbers. For example
on a Fanuc you are only allowed a 4 digit program number.
This bears absolutely no relation to the file you send back,
because on the PC you can call a file what you like (although
many of our customers tend to call the file on the PC the same
as that on the CNC)
This will get the file 1000.TXT from your root default folder,
and get it from the sub folder \USA\TEXAS\AEROSPACE with the
default extension of TXT
This will get the file 1000.CNC from the folder C:\USA\TEXAS\AEROSPACE
Once you get used to it, and understand how it works, it is
very easy indeed.
To save a file back to your PC from your CNC
Saving a file back to your computer from your
CNC is very easy and you have 3 separate ways of doing this.
Method 1. You can embed the command within the filename
itself and this command tells ProEZDNC what to call the file.
For example all you have to do is something like this (NOTE
: You should not duplicate the command elsewhere in the program
or have multiple commands stored in the same file or unpredictable
results may happen)
Tick the "Receive File Command Is In My Code" option
N10 (/PUT 1000)
N20 X30 Y20 M3
N30 G00 Z20 M6 T3
all you do is just dump this file out of your CNC and ProEZDNC
will save it away with the filename you specify. If you make
a mistake and ProEZDNC cannot interpret the result it will still
get stored away with the machine name and the date and time
as part of its filename so you can never lose information....
N10 (/PUT UK/YORKSHIRE/1000)
N20 X30 Y20 M3
N30 G00 Z20 M6 T3
This will put the file 1000.TXT into the root save folder, in
the subfolder \UK\YORKSHIRE\. If any of the folders leading
to the filename do not exist, they are automatically created.
N10 (/PUT D//CNCFILES/FANUC/VERTICAL/UK/YORKSHIRE/1000.NCF)
N20 X30 Y20 M3
N30 G00 Z20 M6 T3
This will put the file 1000.NCF into the folder D:\CNCFILES\FANUC\VERTICAL\UK\YORKSHIRE\.
If any of the folders leading to the filename do not exist,
they are automatically created.
The use of "(/PUT" is purely arbitrary, we use this
as default, becausyou are PUTTING a file WITH RESPECT TO THE
CNC back to the remote PC. You could just as easliy use (SEND,
ie SEND a file back to the CNC, its up to you.
Method 2. If you don't want to embed the command within
the filename itself then you can, but it has to be a two stage
The first stage - You need to output a file that contains the
filename information, this then puts ProEZDNC into a receive
state, and you then send the actual file out of the CNC, this
is the second stage. So whereas in the method 1 above, that
was a single operation, this is a 2 stage operation.
DO NOT Tick the "Receive File Command Is In My Code"
N10 (/PUT 1000)
You output this file out first, this tell ProEZDNC to get ready
to receive the actual file you want to store away, above its
you PUNCH OUT the file from the CNC and ProEZDNC stores it away.
This method is less elegant because its 2 stage, but then again,
you do not have to actually embed the filename in the file itself.
3. Autonaming allows the user to just output a file from
the CNC, and if properly setup, ProEZDNC will save the file
with the CNC filenumber, or a text string contained within a
comment. In addition, it can save multiple files, so you could
out put all from memory, and all the individual files will be
saved. This method is by far the easiest and most powerful
way of saving.
It works by setting up two unique combinations of characters
on a block of code. It looks at these two characters, and if
the exist, it chops up the block and calculates the filename,
which it will then use as a filename and store to disk.
Auto Name Start Character
For example on a Fanuc the program may start ":1234"
in this case the autoname start character would be the colon
If for example, the program started like "O1234",
the character would be the capital letter "O".
Auto Name End Character
This is the second character that is used to "chop"
up a block of code and extract the filename. If the program
contains only the program number and nothing else, then leave
this blank. ProEZDNC will work out up to the end of block and
extract the filename. If you have a comment on the same block
as the program number, then use the opening character
of the comment.
So if for example, your code looked like this :1234 (A FILENAME
HERE) the opening character of the comment would be open-bracket
Because of the limitations of autoname, you can only ever store
them away into the root default folder with the default file
extension. There are several options to autonaming.
Use Comment As Program #
If you tick this, then rather than use the CNC filenumber,
it will use whatever is in the comment section as the filename.
Strip Out Master Program % Symbols
If you tick this, then all the lines that have % will
have the % stripped off.
Put Program % Symbols Into Each Split File
If you tick this, then all the files will have a
% put on the very first and very last line of the program.
Strip Out Blank Lines
This will tidy up the programs and stip out
any blank lines
Prefix Filenames With O
If you tick this, then all the files will have
a letter "O" as the first character of the stored
filename i.e program 1234 will get saved as O1234.
Disable Multi Auto naming
If you tick this, then all the files that you output
will be stored in a single file, rather than have ProEZDNC split
them all up.
This is the time that ProEZDNC waits before it sends the data
to your CNC. You can set up ProEZDNC so that it gives you time
to setup your CNC and put into INPUT mode.
Wait After Sending
This is the time that ProEZDNC waits after it sends the data
to your CNC. This is useful if your CNC drops the last few blocks
or characters because your computer closes the comms port too
Wait For Requests Time Out
This is the time that ProEZDNC waits for any other requests
before it shuts down this event and resets itself. It can be
useful if your CNC sends data out "unevenly" in bursts
waiting a few seconds before sending more data, maybe as a header
of nulls, or you want to save several files away in the same
file. This is the time that will show on ProEZDNC screen as
"Waiting For Further Requests".
Receive File Time Out
This is the time that ProEZDNC waits for any data from your
CNC during a "Manual" file receive. It will wait for
you to send a file within this time period, if you do not send
anything within this time, it will not store anything away and
will reset DNC.
Inactivity Time Out
This is the time that ProEZDNC waits for the result of a command
to happen. So if you have Wait For XON activated, but you never
actually receive an XON, then after this time, the DNC will
set itself back to waiting for request. Similarly if waiting
for a CTS and the CNC never actually puts the port pin high,
it will reset itself.
Characters To Requested Filename
you type in here will be added to the requested filename at
the CNC. Example, you only use a filename of "1000"
in the DNC request, but the actual file that is sent back will
be "O1000". (in
the screen shot above)
Characters To Saved Filename
you type in here will be added to the saved filename at the
CNC. Example, you only use a filename of "1000" in
the DNC request, but the actual file that is saved will be "O1000".
the screen shot above)
"Y" and "Z" From CNC Request
& Strip Spaces & Decimals From CNC Request
you are using an older CNC without commenst, you are limited
no only to numeric filenames, but the length of file. You can
use extra axes "Y" and "Z" to lengthen the
file name. EG. /N10 X1000 Y2345 Z7890 M99 could get the filename
"1000 2345 7890" Used in combination with stripping
spaces, it can become "100023457890"
Out One Of Our Other Products - Check Out Our Product Comparison
All Trademarks acknowledged E & OE
DNC software system, CNC RS232 file transfer, free trial DNC
programs, Drip Feed
DNC software for easy RS232 CNC file transfer - great value
for machine shops of all sizes