051107-2036 EST USA
I think you are in the wrong thread. Machine Controllers, Software, and controllers maybe a better place. But some questions and comments.
By DNC do you mean drip feed via RS232? If this is the case, then your communication is from Computer to CNC.
Are your errors really quantized to a block (record) or do you have random errors within a record? My definition of record is a line of data ending with CR, LF. This record could be from 0 to any number of bytes. You might define a block as ending with a EOB character and maybe there are never any CR, LFs.
You need to indicate your serial communication parameters, cable length, and whether you have electrical isolation between the RS232 ends. Note I am assuming you are using RS232. Is this correct or not?
Continuing my assumption. If handshaking is not working correctly then this might cause the problem. You always want to set the Computer RS232 UART FIFO buffer to minimum. Microsoft defines this as 1. Whether you are using XON/XOFF (software handshake) or RTS/CTS (hardware handshake) you may overflow the receiving buffer in some CNC's that have very small receiving buffers by not disabling the the Computer UART FIFO.
Somewhat of a mystery why the errors are whole blocks.
Maybe your control throws away any record that has one or more byte errors per block. In HAAS machines certain types of errors cause an entire block to be placed in parens. In HAAS other errors abort the data transfer without any indication of where the error is.
For some general information on RS232 communication and Noise see our web site www.beta-a2.com .