# Real velocity reading in mapp motion

**URL:** <https://community.br-automation.com/t/real-velocity-reading-in-mapp-motion/11484>\
**Category:** Mechatronics & Motion\
**Tags:** mapp-motion\
**Created:** [June 8, 2026, 10:35am UTC](https://community.br-automation.com/t/real-velocity-reading-in-mapp-motion/11484 "2026-06-08T10:35:13Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Michal\_Malek](https://avatars.discourse-cdn.com/v4/letter/m/FF8800/32.png) [@Michal\_Malek](https://community.br-automation.com/u/Michal_Malek)\
**Post date:** [June 8, 2026, 10:35am UTC](https://community.br-automation.com/t/real-velocity-reading-in-mapp-motion/11484/1 "2026-06-08T10:35:13Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![michael.bertsch](https://dub1.discourse-cdn.com/brcommunity/user_avatar/community.br-automation.com/michael.bertsch/32/239_2.png) [@michael.bertsch](https://community.br-automation.com/u/michael.bertsch)\
**Post date:** [June 9, 2026, 7:57am UTC](https://community.br-automation.com/t/real-velocity-reading-in-mapp-motion/11484/3 "2026-06-09T07:57:18Z")

</div>

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](https://help.br-automation.com/#/en/6/motion/mapp_motion/mapp_axis/programmierung/kernbibliotheken/axis/funktionsbausteine/mc_readparameter/fb_readpar.html)  
[MC\_ReadParameter - McPureVAx](https://help.br-automation.com/#/en/6/motion/mapp_motion/mapp_axis/programmierung/kernbibliotheken/mcpurevax/funktionsbausteine/unterstutzte_funktionsbausteine/details_mc_readparameter.html)

Looks like this is a not often requested UseCase, as there is no MC\_BR\_ReadCyclicVelocity .. which i would have expected.

Greetings  
Michael

---

<div class="post-metadata">

**Author:** ![Michal\_Malek](https://avatars.discourse-cdn.com/v4/letter/m/FF8800/32.png) [@Michal\_Malek](https://community.br-automation.com/u/Michal_Malek)\
**Post date:** [June 10, 2026, 6:03am UTC](https://community.br-automation.com/t/real-velocity-reading-in-mapp-motion/11484/4 "2026-06-10T06:03:16Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![michael.bertsch](https://dub1.discourse-cdn.com/brcommunity/user_avatar/community.br-automation.com/michael.bertsch/32/239_2.png) [@michael.bertsch](https://community.br-automation.com/u/michael.bertsch)\
**Post date:** [June 10, 2026, 6:42am UTC](https://community.br-automation.com/t/real-velocity-reading-in-mapp-motion/11484/5 "2026-06-10T06:42:20Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Michal\_Malek](https://avatars.discourse-cdn.com/v4/letter/m/FF8800/32.png) [@Michal\_Malek](https://community.br-automation.com/u/Michal_Malek)\
**Post date:** [June 10, 2026, 7:01am UTC](https://community.br-automation.com/t/real-velocity-reading-in-mapp-motion/11484/6 "2026-06-10T07:01:34Z")

</div>

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
