DNC Software Parameter Settings
These parameter settings are shown when you
click the "Properties" icon. Click on
each of the tab-buttons to get to each of the settings
group.
These tab buttons are Com Port,
Send, Receive,
Startup Folders, Remove,
Punch
CNC Name
ProDNC allows you up to 64 different CNC machines.
When ProDNC first loads it creates a set of default
parameters for each of these machines and gives
them the name "Machine1" "Machine2"...."Machine64".
You probably want to change these to something more
meaningful to you. Just type in the name of the
CNC into this box. You can have anything, blanks,
even duplicate names. If you don't require all 64
CNC machines and to make it less confusing you can
remove any that you don't need from the list...
Example CNC Settings
ProDNC ships with many settings predefined. Simply
select from the list. Its important to understand
that these are starting points as they may have
been changed by the CNC builder or by yourselves.

Com Port

Port
ProDNC supports simultaneous connections of your
communication ports from com1 to com128.
Baudrate
Baudrates from 150 to 460800 are supported.
Character Set
This determines the format of the actual data itself,
not the way its sent (as in protocol). Most modern
CNC machines use ASCII or ISO and so the data that
you see, is sent and received by the CNC in exactly
the same format that its stored in files on your
computer. Some older CNC machines use an EIA format.
If you stored the data direct off the CNC and sent
it back to the CNC in this format that would be
OK, it would work. However you would not be able
to view the data and edit it, because it would be
totally unreadable. ProDNC therefore translates
EIA into ASCII as it receives from the CNC and converts
from ASCII to EIA as it sends the data back to the
CNC.
Flow-control
ProDNC supports XON/XOFF, RTS/CTS handshaking
protocols
Flow-control : Enable DTR
Determines whether to enable the Data Terminal Ready
(DTR) line during communications. Typically, the
DTR signal is sent by your computer to the CNC to
indicate that it is ready to accept incoming transmission.
If you check this, the DTR line is set to high (on)
when the port is opened, and low (off) when the
port is closed. If you dont check it, the DTR always
remains low. This feature means that the loops within
your cable that "fool" the CNC into thinking
that your computer is ready to receive data can
be removed and be fully controlled by ProDNC.
Flow-control : Enable RTS
Determines whether to enable the Request To Send
(RTS) line. Typically, the RTS signal that requests
permission to transmit data is sent from a computer
to the CNC. When this option is checked, the RTS
line is set to high (on) when the port is opened,
and low (off) when the port is closed.
Flow Method
Poll Port : - This option specifies
the way that ProDNC invokes and checks the type
of handshaking. If you select Poll Port, then ProDNC
checks the receive buffer or the state of the hardware
pins, just before it sends the file block or file
data packet. This method is to be used if you have
problems handshaking using the interrupt method
since it bypasses the Windows serial driver. This
method will send the full block or data packet before
checking for the handshaking status, and so in theory
is less reliable than the interrupt method below...
Flow Method
Interrupt : - The interrupt method uses
the Windows serial driver. Then if an XOFF is received
(or the CTS pin goes low) the serial buffer/com
port should respond immediately, even if only part
of the block or data packet has been sent, since
an interrupt is raised and data cannot (should not)
be sent out. Therefore, in theory, the interrupt
method is more reliable. If you experience problems,
try the Poll Port method.
Run DNC in debug mode
Whilst you are setting up your DNC connections it
is useful to be able to see the actual data come
in and out. Each DNC profile has its own DNC window.
However once its been successfully setup its much
better to hide them so that things don't get cluttered
on-screen. Hide them by selecting this option.
Send tab
Send Before File
Many CNC machines need you to send a series of control
codes before you send a file. These control codes
basically tell the CNC control that a file is about
to come its way. The only problem with this is that
as often as not, these control codes are non-printable
characters and so you cant type them at the keyboard.
ProDNC gets around this by letting you put in the
ASCII equivalent of these codes, ProDNC converts
them and sends them before it sends the main body
of the file. To send a series of these control-codes
you enter the numerical ASCII value separated by
commas. For example 0,0,0,0,2,37 would send 4 nulls
a STX and a %. If you click the button at the side,
you can select a character from a list of all possible
characters and how many of these you want to send.
If you need to send a lot of the same characters,
for example some CNC may need 200 nulls as a header,
then the shorthand notation is #200,0 You can send
any combination and number off. For example #200,0,2,#100,32,37
would send 200 nulls, an STX, 100 SPACES and a %
Send After File
In much the same way as sending control-codes before
a file to tell a CNC that transmission is to start,
many CNC also need control-codes after the file
to tell the CNC that transmission has ended. You
enter the ASCII equivalents exactly as described
in the "Send Before File" section above.
ProDNC then sends this combination of control-codes
after the main body of the file.
End Of Block
The text files that you have stored on your computer
have each line ending in a pair of invisible control-codes
called carriage-return (CR) and line-feed (LF).
You cant see them but they are there and they make
the text go onto separate lines. If they were not
there or were not separated by this CR/LF combination
you may get the text in one long continuous line
or maybe double spaced. You may have seen this before
if you have tried other comms packages or the HyperTerminal
that ships with Windows. CNC machines operate in
exactly the same way but there are many more variations
of these CR and LF combinations - the thing is that
you have to sending the correct format or the CNC
will alarm. You therefore decide which end-of-block
by selecting from the drop down list.
Data Packet Delay (ms)
Modern computers and our state-of-the-art serial
drivers are INCREDIBLY FAST! They can stuff data
into the serial port at incredibly high transfer
rates, so high that in many cases the receiving
CNC just cannot cope, even though the baudrates
are set the same. You will experience buffer overrun
errors and the CNC will either alarm out or you
will get missing data. There are several ways to
get around this and one of them is to introduce
a delay between each block or data packet as it
is transferred.
Char Delay (ms)
It may be that your CNC is so old that a Data Packet
Delay is not sufficient and so you have to delay
EACH CHARACTER. This is very rare and only applicable
to the oldest of CNC machines where transfer is
very very slow.
Wait For After Sending
Use a value to wait for after sending a file. If
you experience the tail end of your NC program failing
to reach the CNC it may be that ProDNC "thinks"
that all the data has been sent and closes the port.
If this happens increase this time value so that
the data is safely written by the buffer and sent
to the CNC. This usually happens with Windows NT,
XP and 2000
Data Packet Size
ProDNC can send data to your CNC in two different
modes. The first is "{Block Send}" and
is chose by selecting this value out of the Data
Packet Size drop-down. In this mode the file is
read and each block is sent with the appropriate
end-of-block sequence. Unless you are wanting to
transfer at much higher speeds this is always the
best option. It can be used for drip-feeding as
well as normal transfer of files that will fit in
your CNC memory.
The second is to choose a data-packet size (in bytes)
which can be useful in curing some drip-feeding
problems; you can set this value to ensure that
your CNC never alarms out because of a buffer overrun.
For example if you experience an alarm on Fanuc
machines you can set this value to 9. This is because
the Fanuc may only send out an XOFF or make the
CTS low if there are 10 free bytes in its memory
(absolutely stupid we know). If a comms package
therefore sends out a block that is say 30 bytes
long, the Fanuc alarms out. ProDNC therefore makes
sure that it can never cause buffer overrun by chopping
the entire NC file into packets, the size of which
you control by this data packet size. It is therefore
able to respond to an XOFF before data is written
to the buffer and therefore sent to the CNC.
In many cases other CNC controls such as the Haas
will drip-feed quite happily by using normal handshaking,
simply because it leaves plenty of space in its
memory for your data. You would just use the normal
{Block Send} mode.
Choosing any other value than {Block Send} will
automatically put ProDNC into this mode.
You can also choose to send with the largest packet
sizes for extremely fast data transmission. In these
case you are sending up to 16K of your file direct
to the buffer, this is the fastest method, if your
CNC will support this amount of data so quickly.
Because the file is sent in large chunks, the display
will only show the percentage send likewise. You
will see the number of bytes in the buffer in the
transfer window. If this value stays at a certain
value, you can assume that the CNC has sent out
an XOFF or set the CTS low and ProDNC is waiting
to send the next packet.
*NOTE* If you are using the data-packet method of
sending and your end-of-block is not CR/LF, then
ProDNC will regenerate the file with the appropriate
end-of-block and then send that - there will be
a delay if the file is very large.
Ignore All Spaces In NC File
On many older CNC machines valuable space in
its memory is saved by sending files that do not
contain any spaces. This does however make reading
these files very difficult. This feature allows
you to create your files with spaces and then send
them out forcing ProDNC to ignore all the spaces
in the file.
Wait Before Sending
This is the time that ProDNC waits before it sends
the data to your CNC. You can set up ProDNC so that
it gives you time to walk over to your CNC and put
into INPUT mode.
Wait After Sending
This is the time that ProDNC 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 early.
Wait For XON From CNC Before Sending
Many CNC controls like Fanuc or Heidenhain send
out an XON when they are put into input mode. This
is useful because you select this option when you
send a file to the CNC. If you do this the cable
pins go high because the port is open and ProDNC
sits there and sends as soon as the CNC is put into
INPUT.
CNC Needs To See Remote Device
Many CNC machines require that the remote device
(your computer and ProDNC) is connected prior to
you sending out a file, or else it will error out.
In most cases you can get around this by using the
"Wait For XON Before Sending". However
for those CNC machines that do not output an XON,
this feature makes sure that the com port pins are
high and so the CNC sees the remote device. If you
check this option then both the RTS and the DTR
pins are made to go high when you send the file,
and so the check boxes are ticked automatically.
When this dialog pops-up its now safe to put your
CNC into input mode, because the port is now open
at the computer and so the CNC will recognize this
a s a remote device - this will happen on Fanuc
and Heidenhain for example.

Receive tab
Strip Everything Before Character
When you get your CNC to send a file back to ProDNC,
it may also send out a series of control-codes before
it sends the main body of the program. In many case
you could safely leave these in the file. Then if
you need to send the file back to your CNC these
control code would be sent back aswell. However,
in just as many cases these control-codes will error
out the CNC control. For example, on older Fanucs,
they send out a sequence of garbage containing &HE:
You send this back and the CNC may not like it at
all!
You are therefore better off stripping these control
codes out of the file totally. All you need to do
is enter the ASCII value of the last character in
the sequence you want to discard. Everything up
to and including this character will be ignored
by ProDNC and not saved to disk.
Strip Everything After Character
In much the same way as a CNC may send out control-codes
before the main body of the program, it can also
send a series of codes after the file. We would
recommend that you discard these characters and
dont save them to disk.
All you need to do is enter the ASCII value of
the first character in the sequence you want to
discard. Everything after and including this character
will be ignored by ProDNC and not saved to disk.
Discard Characters
As an alternative to the two methods described above,
you could choose to discard characters automatically.
You have 3 options for this setting
-
All Nulls - This options automatically strips
out all null characters from your received file
-
Characters 0 to 31 - This option automatically
strips out all non-printables between 0 (null)
and 31, excluding CR and LF
-
{None} - The file is left alone
End Of Block
The text files that you have stored on your computer
have each line ending in a pair of invisible control-codes
called carriage-return (CR) and line-feed (LF).
In general Fanucs use either LF/CR/CR or LF, Haas
use CR/LF and Fadal use CR
ProDNC can autodetect these end-of-blocks, but
if you like you can specify it yourself, should
you encounter any difficulty. In general, you would
use the same EOB to send as that to receive.
Wait For After Receiving File
This is the time that ProDNC gives the CNC between
sending any of its data. If its longer than this
ProDNC assumes that transfer has stopped because
it has not received any data within this time. The
minimum value is 5 seconds. This also gives you
time to cancel the file and so the file is not saved
away.
Send Before Receiving
Sometimes your CNC needs to see a character, typically
an XON, before it will send out the file to ProDNC.
Type in the ASCII value of the characters you need
to send.
Send After Receiving
Sometimes your CNC needs to see a character, typically
an XOFF, before it will send out the file to ProDNC.
Type in the ASCII value of the characters you need
to send.
Close Port When Received
When ProDNC is receiving a file from your CNC it
needs a period of time to see if any more data is
being sent from your CNC (some CNC's send data,
wait a bit, send a bit more and then at the end
wait again) so that it does not accidentally miss
bits of the file. However if you specifically enter
a character or characters, for example M30, then
ProDNC will know that the file has been received
and so does not have to wait anymore to time down.
This means you don't have to wait until the file
is stored.
Refresh Buffer Every (ms)
ProDNC gets the data from your CNC and shows it
to your computer screen (and saves it away to disk).
You can control the refresh rate at which this happens
between 10ms and 200ms. The faster it is refreshed
the smoother the scrolling of the data coming in
appears. However you may find that on slower PC's
you may have to increase the time simply because
the computer just cannot keep up. You wont lose
any data, it will just appear jerky on screen as
it comes in.
Folders tab
Folders
Clicking these buttons pops up a window allowing
you to set up where you want files to be stored
on your computer. Many users have separate send
and receive folders so that received files can be
"quarantined". They are then reviewed
to see if it can become the "master" file.
If you are on a network, then ProDNC will fully
support UNC filenames.

You can of course have the same folder for send
and receive. You just have to be sure that the files
you receive back from your CNC are OK.
Extensions
You can setup a 8 file extensions for both send
and receive files. The default extension is "TXT"
You can enter any 3 letter extension. Click on the
file extensions button. File extensions are useful
if you want to store all your NC programs in a single
folder, but have to separate them because they are
for different customers. You can then specify a
different extension for each customer and quickly
filter them out from within any file dialog boxes.
The alternative of course is to setup a different
folder for each customer.

Remove tab
Remove Text Boxes
You can enter specific bits of text that you cannot
delete by any other method. For example the &HE:
inside many Fanuc CNC programs. You can enter up
to 8 different text strings and they will be removed
from the saved file.
Punch tab

Punch Man Readables
ProDNC allows you to send man-readable information
at the start of your paper tape. If you check this
option, then the options shown above will appear.
The rules for punching man-readables are as follows
:-
1. You must be using EIA character set
2. You can set an "assume man readable until
this character" so that you can actually store
the man-readable info in your NC file on disk. Every
character before the first block that contains this
single character is then treated as man-readable
and is punched out prior to the main NC code. If
you leave it blank, then no man-readable is punched,
the whole file is treated as NC code.
3. You can set the length of tape start leader,
between the man-readable and the NC code and the
tape trailer
|