Difference between revisions of "Endless Axes"
(→drive (SERCOS) limitations) |
(→AMCS position variables) |
||
Line 16: | Line 16: | ||
Detecting of 32 bit limit-pass is done by checking the current and the previous value of the feedback position obtained from the drive. If the <br><center>''XOR operation on the most-significant bit of the current and the previous feedback value is 1'' </center> we increase(decrease) the revolution counter by 1 and then compute the pfb according: | Detecting of 32 bit limit-pass is done by checking the current and the previous value of the feedback position obtained from the drive. If the <br><center>''XOR operation on the most-significant bit of the current and the previous feedback value is 1'' </center> we increase(decrease) the revolution counter by 1 and then compute the pfb according: | ||
− | <center> '''pfb = pfac*cfb + | + | <center> '''pfb = pfac*cfb + 2 <sup> 32 </sup>*Count_rev''' </center> |
the revoultion counter can be reset by: | the revoultion counter can be reset by: |
Revision as of 05:15, 5 October 2011
Contents
Infinite axes
endless axes
Axes that can theoretically move endlessly in ether of direction are supported in AMCS system. The limits of such axes are actually the range of the double-floating point format (-1.79769e+308,1.79769e+308) which practically gives endless axes operation.
drive (SERCOS) limitations
However, the drive-controller communication uses much smaller range it's position data is transferred using 32-bits data so the limits of internal drive position units are [-2 31 ,+2 31 ]. This is visible on properties: CCFB, CCMD, and CEXT. The are integer and limited to these values.
AMCS position variables
The system automatically extends range position variables (pcmd,pfb,pext) to [mindouble,maxdouble] by counting the number of cycles of 32-bit range. Each time the position feedback (or external) passes 31 bit limit internal counter of revolutions is increased (decreased). So the related PFB values does not exhibit any discontinuities.
the revoultion counter can be reset by:
- accessing position factor i.e. "pfac = pfac" or any other assignment.
- calling user function: MOT_RESET_ROLLOVER or MOT_RESET_EXROLLOVER