Moog Animatics SmartMotor™ Developer's Guide,Rev. L
Page 161 of 909
Examples
Fixed cam example with both master or slave counts as inputs to the cam:
CTE(1)
CTA(5,8000)
CTW(0) 'CP=0 {cam pointer or cam index pointer}
CTW(500) 'CP=1
CTW(4000) 'CP=2
CTW(500) 'Will turn off at this point
CTW(0)
MFMUL=1
MFDIV=2
MCMUL=3
MCDIV=4
'Cam input values in terms of "master" (encoder input to ramp) counts:
MFA(a,0)
MFSLEW(s,0)
MFD(d,0)
'(a/2 + s + d/2) * MFMUL/MFDIV = 8000*4 = 32000 counts
'OR, cam input values in terms of "slave" (motor output from ramp)counts:
MFA(a,1)
MFSLEW(s,1)
MFD(d,1)
'a+s+d = 8000*4 = 32000 counts
Variable cam example with both master or slave counts as inputs to the cam:
CTE(1)
CTA(5,0)
CTW(0,0) 'CP=0 {cam pointer or cam index pointer}
CTW(500,8000) 'CP=1
CTW(4000,16000) 'CP=2
CTW(500,24000) 'Will turn off at this point
CTW(0,32000)
MFMUL=1
MFDIV=2
MCMUL=3
MCDIV=4
'Cam input values in terms of "master" (encoder input to ramp) counts:
MFA(a,0)
MFSLEW(s,0)
MFD(d,0)
'(a/2 + s + d/2 ) * MFMUL/MFDIV = 32000
'OR, cam input values in terms of "slave" (motor output from ramp) counts:
MFA(a,1)
MFSLEW(s,1)
MFD(d,1)
'a+s+d = 32000
Electronic Gearing and Camming over CANopen
Beginning with firmware 5.x.4.30 or later, the SmartMotor provides precise time
synchronization over CANopen between motors for electronic gearing and camming
Part 1: Programming: Examples