The interpolated motion buffer mode allows for prebuffering of interpolated moves. This allows for the creation of unique patterns without any delay between moves. Each move has its own constant speed setting. 


For normal operation, commands are written to an operation register one at a time, and executed immediately. 


For buffer operation, the coordinated motion commands are written to the buffer registers instead. When the start buffer motion (BSTART) command is sent, the coordinated motion command in Buffer0 is moved to the operation register. Then the coordinated motion command in Buffer1 is moved to Buffer0 and so on, in a first-in-first-out order. This process is continued until all the buffer registers are empty or the buffer mode is turned off with the (BF) command.


To turn the buffer mode on and off, use the BO and BF commands, respectively. The buffered move operation cannot be used while StepNLoop is enabled. 


When buffer mode is enabled, motion will not start until the appropriate command has been sent, even if there are commands in the buffer. This allows the buffer to be fully loaded before any move is processed. The command BSTART starts feeding the buffered commands to the operation register. 


The status of the buffer operation can be read using the BSTAT command. The return value will contain the buffer enable status, buffer start and end positions, and the number of available buffer registers.


The buffer operation only supports motion of the X, Y, and Z-axis. In addition, only linear, circular and arc interpolation moves can be added to the buffer. As such only the linear, circular and arc interpolation commands below are supported during buffered operation.

 Linear interpolation 

In ASCII mode, a buffered move command will have the syntax I[X pos]:[Y pos]:[Z pos]:[speed]. For example, the I1000:2000:3000:5000 command indicates position (1000, 2000, 3000) at a speed of 5000. If buffered mode is not enabled, the I command will not be processed by the controller.

 

In standalone mode, the buffered move command will have the syntax X[pos]Y[pos]Z[pos], and the speed for the move command will use the current global high-speed setting. If buffered mode is not enabled, these standalone commands will be processed as linear interpolation commands.

 

Circular and Arc interpolation 

The ARC and CIR commands can be used when buffer mode is enabled. The syntax for these commands is the same in ASCII and standalone mode.