Virtual axis position given by reACTION ABR counter

Hi everyone,

I want to give the position to a virtual axis on Acopos P3 with an incremental encoder connected to a reACTION module.
This virtual axis is a master axis which have many slaves.

Hardware used:
PLC = X20EM1613
reACTION module = X20RT8001
Drive = Acopos P3 double

First question before to go further: Is it possible to do it?
Second question: Did anyone already did it and know how to proceed?

Thanks for your help!

Hi @Nils_Martino ,
feedback from AI (It was super positive):slight_smile:
The short answer is yes, it is absolutely possible, but the implementation details are specific because of how the reACTION module handles data compared to a standard virtual axis.

Since you are using a reACTION module (X20RT8001), you are dealing with ultra-fast I/O processing (sub-microsecond cycles) that operates independently of the standard PLC task cycle.

How the Architecture Works

To make this work as a master for an ACOPOS P3, you essentially create a bridge between the reACTION logic and the mapp Motion environment.

  1. Encoder Capture: The X20RT8001 reads the incremental encoder signals.

  2. Data Transfer: The reACTION program moves the counter value into a global variable mapped to the POWERLINK cycle.

  3. Virtual Axis Mapping: Instead of a pure “Internal” virtual axis, you configure a Virtual Axis in Automation Studio and set its External Hardware Interface to point to the encoder value coming from the reACTION module.

  4. Master/Slave Link: Once that virtual axis has the position, the ACOPOS P3 slaves follow it via standard coupling commands (MC_GearIn, MC_CamIn, etc.).


Key Considerations for Your Setup

Feature Consideration
Synchronicity The reACTION module is much faster than the PLC. You must ensure the encoder value is “latched” or sent to the PLC in a way that minimizes jitter for the slaves.
Data Type Incremental encoders usually provide a raw DINT or UINT counter. You will need to configure the Scaling (units per increment) in the Virtual Axis configuration.
Network Load Since the P3 is a double-axis drive and you have a master-slave relationship, ensure your POWERLINK cycle time is optimized (usually 400µs or 800µs is the sweet spot for this hardware).

Important Technical Note

Because the X20RT8001 is a reACTION module, you cannot simply “link” the terminal to the axis like a standard X20 encoder slice. You must write a small reACTION program (using the reACTION library) to:

  1. Read the EncoderCounter.

  2. Assign it to a reAction_Output variable.

  3. Map that variable in the I/O Mapping to a variable used by your Virtual Axis

    ========================================================
    Step 1) X20RT8001
    You enable ABR encoder + Result type DINT or UDINT, below one example with DINT

    Step 2) Configure an external encoder on one of the Channel available in one of yours ACOPOS P3s

    so theoretically I see the connections but I have never used that configuration in real application.

    Reference:
    X20RT8001 tutorial
    reACTION Technology user’s manual

    I hope it helps
    Ciao
    Valerio

Hello @valerio.manenti

Thank you for you help.

I follow all steps, compile and load the software.

I had a referred axis (gLineAxis) which will be used later in the project. This axis is a virtual axis.

The logger reports that the channel mapping is invalid.

Logger

Is it possible to use an axis and link it?

Should I use a Pure VAxis as a master and another axis as slave which I refer in the Acopos instead of gLineAxis?

Regards
Nils

Hi @Nils_Martino ,
Could you upload the systemDump? I’m interesting to see which ParID we set in the network command trace + additional info on motion logger.
In the mean time I’m trying to collect more information about “Encoder on network“ and possible limitations.

Have a look on AS Help network encoder, Applications:

I still the opinion we can implement that idea, it’s possible there is a small mistake in the configuration


#Update 02/13

  1. It’s possible there is a limitation with reACTION module, R&D is checking that
  2. R&D was asking to do a test with normal DC module not with an reACTION one

Thanks

Ciao
Valerio

Hi @Nils_Martino , can you update us with status of your issue?

Closed due to inactivity, @Nils_Martino you can still update us with your findings.