Hi Giovanni
Intro
First things first, all ACOPOSinverter devices are for speed control and not position control. So even though the P86 supports an encoder, this encoder is not intended for position control, but for closed loop speed control.
closed loop speed control
Generally I would always recommend to use the Motion configuration for inverters in mapp Motion. This gives you the advantage, that you can control the inverter as any other axis without caring for the command word, status bits, inerter error handling and the DS402 state machine. Additionally you can define gearbox ratios and rotary to linear transformations as with servo drives. Also the axis limits (velocity, acceleration, deceleration) are synchronized automatically with the mapp Motion axis config file. That’s why there are some options missing in the ACOPOSinverter configuration when setting it to Motion configuration.
You can use the P86 in closed loop speed control with the motion configuration:
How it may still be possible
If you really need closed loop position control, you have to make the position controller yourself on the PLC. As you mentioned, you could do this with the Purely Virtual axis. You could activate the General Purpose Axis Interface and write a bit of logic to connect this to the inverter. The inverter needs to be set to direct control in that case.
Be aware that all following steps are highly experimental, as the P86 was not made for position control. It may work, but it may also show poor performance and not work well! I never tried this myself, it is just an idea how it could be solved.
Power on / error handling
In the general purpose axis interface you will need to connect the status inputs and control outputs, which you can read / write bitwise from the ETAD words in your PLC program. For that you have to consider the DS402 state machine.
Link to DS402 inverter stet machine
Position controller
Additionally you have to enable the position controller of the general purpose axis interface and connect the encoder position value from the inverter and the speed output to the inverter.
For the encoder value you can probably use the PUC input, which needs to be enabled as additional monitor point on the inverter configuration.
The channel can be connected with IO mapping via a PLC variable or directly from the IO channel. I’m not sure of the value for lines per revolution… so you have to find out yourself.
For speed setpoint you would need to connect the LFRD output and convert it in your PLC program from REAL (PureVAx) to INT (IO mapping of LFRD)
Do not forget to enable the position controller on the purely virtual axis:
In the controller you have to consider, that you can only output whole number RPM values as speed setpoint to the drive, as the LFRD is an INT. So small controller outputs are not effective.
Consider movement limits
Be careful to consider your movement limits. If you set the inverter to direct control, you need to set acceleration and velocity limits on the inverter configuration itself.
At the same time you have the limits of the mapp Motion axis. These two limits should match each other, as otherwise there may be strange behavior.