REMOTE LOAD and DNC LINK PROTOCOLS 1.0 ESTABABLISHING COMMUNICATION 1.1 PROGRAM IDENTIFICATION TRANSACTION The CNC shall request that the remote device use a particular program number as the file name for the next transfer request via the following command sequence: CNC REMOTE === ====== --->--->--->--->---> <---<---<---<---<--- [pgm #] --->--->--->--->---> --->--->--->--->---> Program names may be differentiated from programs in that the former are never more than eight (8) characters in length while the latter are defined to be not less than nine (9) characters long. 1.2 PROGRAM TRANSFER REQUEST The following two (2) command sequences initiate program transfers between the CNC and the remote device. If a program name has not been associated with this transaction (see 1.1, above) the remote device shall prompt for operator input via its own display and keypad. 1.2.1 TRANSFER FROM REMOTE TO CNC The CNC shall request a part-program text transfer from the remote device to the CNC via the command sequence: CNC REMOTE === ====== --->--->--->--->---> <---<---<---<---<--- pgm text <---<---<---<---<--- 1.2.2 TRANSFER FROM CNC TO REMOTE The CNC shall request a part-program text transfer from the CNC to the remote device via the command sequence: CNC REMOTE === ====== --->--->--->--->---> <---<---<---<---<--- pgm text --->--->--->--->---> --->--->--->--->---> --->--->--->--->---> 2.0 TRANSFER RECORD STRUCTURE 2.1 REMOTE LOAD 2.1.1 Part-program text length shall be less than or equal to 12000 characters. 2.1.2 Part-program number shall consist of up to six numeric characters with the charactrer string ";L" (hex 3B 4C) appended. 2.1.3 The part-program text shall be transfered from the remote device to the CNC as one variab1e-length record of up to 12000 bytes. 2.1.4 Error detection shall be via Vertical Redundancy Checks (parity) performed on a character-by-character basis by the communication line hardware (UART's). =========================== = REMOTE LOAD RECORD FORMAT = =========================== +--------------------------------+-----+ | up to 12000 bytes program text | EOT | +--------------------------------+-----+ 2.2 DNC LINK 2.2.1 Part-program text length shall be greater than 12000 chracters. 2.2.2 Part-program number shall consist of up to six numeric characters with the character string ";D" (hex 3B 44) appended. 2.2.3 The part program text shall be transfered from the remote device to the CNC as multiple records of up to 256 bytes each. 2.2.4 Error detection shall be via Vertical Redundancy Checks (parity) performed on a character-by-character basis by the communication hardware (UART's) and Horizontal Redundancy Checks (LRC) performed on each record by the communication software. ======================== = DNC-LINK RECORD FORMAT = ======================== +------------------------------+-----+-----+ | up to 256 bytes program text | ETB | LRC | +------------------------------+-----+-----+ 3.O SUSPENSION / RESUMPTION OF TRANSMISSION 3.1 During transmission of the DATA portion of a record the recieving device (CNC or REMOTE, as the case may be) shall transmit a single "DC3" (X-OFF) character to temporarily suspend data transmission and a single "DC1" (X-ON) character to resume data transmission previously suspended via a "DC3" character. 3.2 The transmitting device shall, within three (3} character times after reception of a .'DC3" (X-OFF} character, suspend further data transmission until (a), the subsequent reception of a "DC1" (X-ON} character or (b), the subsequent reception of a "DLE" (cancel} character. 4.O ERROR HANDLING 4.1 REMOTE LOAD ERRORS 4.1.1 Errors encountered during REMOTE LOAD shall be considered fatal and unrecoverable. Upon reception of a character with an invalid VRC bit (parity) the CNC will request that the remote device cancel transmission via the following command sequence: CNC REMOTE === ====== --->--->--->--->---> 4.2 DNC LINK ERRORS 4.2.1 Error recovery shall be via re-transmission of the record in error. The CNC shall request another record by transmitting a single ACK character to request the next record or by transmitting a single NAK character to request the same record. The command sequence is as follows: CNC REMOTE === ====== Same record: --->--->--->--->---> <---<---<---<---<--- DATA <---<---<---<---<--- <---<---<---<---<--- LRC Next record: --->--->--->--->---> <---<---<---<---<--- DATA <---<---<---<---<--- <---<---<---<---<--- LRC 4.3 CANCEL SEQUENCE 4.3.1 When necessary to prematurely terminate a REMOTE LOAD or DNC-LINK process the CNC shall request that the remote device cancel the current file transfer via the (data link escape) character. 4.3.2 Upon reception of the (cancel) code the remote device shall cease transmisssion of data, discard the balance of the file, and wait for another transfer request. The command sequence is as follows: CNC REMOTE === ====== --->--->--->--->---> --->--->--->--->--->