Datum DX4 Using Absolute Encoder

Datum DX4 Using Absolute Encoder

To get the full 39 bit absolute position, you need to do a couple of reads and then combine the values.

Key COE objects:

$30A6:00             Multipos
$3044:00             Rotation Pulses

So you should read the multipos counts and multiply them by the number of bits per turn, which is 23 bits, then add to the pulse position in one turn.

CO_READ_AXIS(axis_number, $30A6, 0, 4, 20) ' read multipos to VR(20)
CO_READ_AXIS(axis_number, $3044, 0, 4, 21) ' read single turn value to VR(21)

abs_position = VR(21) + VR(20) * 2^23
DEFPOS(abs_position)

    • Related Articles

    • MC4N Sync Encoder

      The encoder axis in the MC4N will automatically set itself up. With no EtherCAT axes it will be axis 0 and the ATYPE will show as either 44 (servo) or 76 (incremental encoder). You can connect an encoder and it will count the pulses straight away. ...
    • Single turn SSI absolute encoder

      Set ENCODER_BITS to the same as the absolute encoder i.e. a 24 bit abs encoder set ENCODER_BITS = 24 If the repeat of the encoder is not 2^24 or another power of 2 then use DRIVE_REP_DIST to set the repeat value.
    • DATUM(6) with MC664 and EtherCAT drives

      You must set up the PDO to include the Touch Probe objects. If it is a drive with profiles built-in to the trio firmware, then the usual selection is DRIVE_PROFILE = 2 in position mode. If using an EC_EXTEND file then you must add the touch probe to ...
    • Does the Euro408 have incremental/absolute encoder feedback ?

      The Euro404 and Euro408 support the following encoder types: Incremental ABZ with differential RS422 line driver outputs. (A, /A, B, /B, Z, /Z) SSI Absolute encoder up to 32 bits. EnDat Absolute encoder either EnDat 1 or EnDat 2.  The EnDat 2 support ...
    • Z Marker Failure

      Want a timout if the DATUM command fails to find the sensor or the Z. We don't have anything built in to the DATUM command itself. You could make 2 separate DATUM commands, one for the swtich and then one for the Z. Add a timeout to each one. ...