I am programming a Fanuc M-10iA to move through a sequence of positions (~20,000) where each move command has a position, time and velocity of J6 (continuous turn). Since the number of points is large, I have written code to have the robot step through a ring buffer of 250 points. The buffer is filled by PC software to keep fresh positions in the buffer. Two R ring buffers of the same size provide the move command with the time and J6 velocity. My problem is that the TPP commands for moves allow indirect addressing for everything but the continuous axis. A command would look like:
L PR[R] R[R]sec CNT50 CTV70
Where R points to the position in the buffer of possible points PR[index] and R points to a position in a buffer of move times R[index].
The problem is that I also want to control the J6 velocity and the only command I can find is the CTVXX where XX is a fixed percent rather than an indirect variable like the other commands parts. Ideally, the command would look like:
L PR[R] R[R]sec CNT50 CTV[R]
where R23 points to a variable containing the velocity. The WinTPE does not provide an option for this type of indirect control of the continuous axis.
So far my only semi-successful approach is to create a series of IF statments that JMP to move lines with various CTV speeds. This is less than ideal due to the extra time delay between moves.