Real velocity reading in mapp motion

Hello,
what is the easiest way to read the actual velocity of an encoder-based virtual axis in mapp motion?
MpAxisBasic and MC_ReadActualVelocity return only the commanded velocity generated by the path generator, whereas I need the actual velocity.
One option would be cyclic parameter reading via MC_BR_CyclicProcessParID_AcpAx, but unfortunately this function block is not supported for virtual axes.
I know there is a standard workaround using MTBasicsDT1, but I would expect mapp motion to provide such a fundamental value directly.
Thank you
Regards
Michal Malek

Hello,

I would try to jump in with proposing to try this Functionblock:
MC_ReadParameter with the Constant “mcPAR_ACTUAL_AX_VELOCITY”.

MC_ReadParameter - McAxis
MC_ReadParameter - McPureVAx

Looks like this is a not often requested UseCase, as there is no MC_BR_ReadCyclicVelocity .. which i would have expected.

Greetings
Michael

Hi Michael/Corne,
thank you for your suggestions, but these functions return either:

  • the position from a different source in the case of external encoder mode (MC_BR_CyclicProcessParID_AcpAx), or
  • the path generator velocity (MC_ReadParameter), which is already available directly within MpAxisBasic.

To provide broader context, I have an axis with an intrinsic lag error, where the actual states must somehow be reconstructed from the available state variables. I’m referring to states such as CommandBusy, MoveDone, InVelocity, etc., which represent desired rather than actual states.

Thank you.
Regards,
Michal Malek

Hello,

Sorry that this is also an SetVelocity rather than an ActualVelocity.
I do not have more ideas, for this kind of Data (ActualVelocity) the Interface seams not to have a propper solution.

For ACOPOS with ParIDs we had an easy access to such internal Data, but for the new McStpAx, McPureVAx Libraries there is no ParID-Access and this prevents you from Accessing the internal Values. Some Values are Traceable in MappCockpit, but are not available in the Interface for the Application.

In the past we had a parameter “Setteling Time” to Delay the Axis Stati to adept more to the real beahviour of an swinging axis. But this Parameter was removed in the traverse to mappmotion because its rare use cases.

If no one else from the Community has an idea, you can get in Contact with you local office and discuss the use case with them.

Greetings
Michael

Thank you for your help and time, Michael.

There is still a workaround using MTBasicsDT1, so I can manage for now, but I was looking for a “built-in” solution.
Reagrds
Michal Malek