App. - 26
APPENDIX
2) When using the unlimited length feed such as an unidirectional feed
When the travel distance per motor revolution is a power of two, the unlimited length feed can be
used. As the monitor of a current command position is 4 bytes in size, unidirectional feed causes the
overflow of current command position. Even though overflowed high-byte data is lost, the range of 4
bytes normally continues to be updated. And positioning control is not affected. (Position mismatch
does not occur.)
To control the axis as a degree axis, use the user program process to convert the current command
position to the ring counter. As necessary, perform the same process for the current feedback
position. The conversion process of the ring counter is as follows.
Example: When the command unit of the user program (user program command unit) is 0.001
and
the range of the ring counter is 0 to 359999 [0.001
]
In this example, the travel distance per motor revolution is a power of two (2
20
), and the
unit is the position command unit of the position board (board command unit).
The user program uses the user program electronic gear for converting the user program
command unit to the board command unit when the position command (position data,
parameter, etc.) is set in the position board (hereinafter: board). Also, when the board
current command position is referred, the user program uses the user program electronic
gear for converting the board command unit to the user program command unit (ring
counter) inversely.
The relationship of each command unit is as follows.
User program electronic gear Position board electronic gear
User program
command
[user program
command unit]
Ring counter upper limit + 1
Travel distance per motor revolution
Note. Processed by user program.
Position command to
the position board
[Board command unit] Number of encoder pulses per revolution
Travel distance per motor revolution
Position command
to servo [pulse]
(i) Conversion from the user program position command [user program command unit] to the position
command to the board (position data) [board command unit]
2
20
360000
Position data User program position command
User program position command
Travel distance per motor revolution
Ring counter upper limit + 1
(ii) Inverse conversion from current command position [board command unit] to ring counter [user
program command unit]
2
20
360000
Ring counter
{Current command position &
(Travel distance per motor revolution - 1)}
Travel distance per motor revolution
Ring counter upper limit + 1
(Current command position & 0x000FFFFF)