How do I change Actual Position register value ?
|
If you want to set the actual position to a certain value it has to be done like this: P_NEW ( Reg. 4 )= yyy ( yyy wanted new position ) Read Reg. 36. ( CNTRL_BITS ) OR Reg 36 with 64 ( bit 6 ) Send reg. 36. Result afterwards: P_SOLL=yyy ( Reg. 3 ) P_IST=yyy ( Reg. 10 ) P_FUNC=16 x yyy ( Reg 8 ) Example:
The actual position should be set to 1234.
Control register 36 is 48.
Reg. 36 = 48 OR 64 = 112.
Write:
P_NEW = 1234
CNTRL_BITS = 112
The result is if the motor is in Position mode:
P_SOLL=1234 ( Reg. 3 )
P_IST=1234 ( Reg. 10 ) P_FUNC=19744 ( Reg. 8 ) The result is if the motor is in Passive mode:
P_SOLL=1234 ( Reg. 3 )
P_IST=1234 ( Reg. 10 ) P_FUNC=0 ( Reg. 8 ) If the mode is changed to Position mode again, the P_FUNC=19744. |