How to obtain real-time joint speed from ABB robot via OPC UA in Visual Components 4.8?


Hi everyone,

I am currently working on a real-time digital twin using Visual Components 4.8, connected to an ABB robot via OPC UA.

Current setup:

  • I can successfully read joint positions (Axis1–Axis6) from the real robot via OPC UA.
  • The robot in Visual Components is synchronized in real-time with the physical robot.

Now, I would like to obtain real-time joint speed (and possibly acceleration).

From my investigation:

  • The ABB controller does not seem to expose joint speed variables directly via OPC UA (only position values like RobAx.Rax_1).
  • However, I have some concerns regarding real-time accuracy:
  1. Is there any way to directly access real-time joint speed from the ABB controller via OPC UA?
  2. If not, is calculating speed inside Visual Components the recommended approach for real-time applications?
  3. What is the best practice for handling variable update time (dt) to ensure accurate real-time speed calculation?
  4. How can I reduce noise or fluctuations in calculated speed values?
  5. Has anyone successfully used calculated speed values from Visual Components and published them back via OPC UA for external use (e.g., PLC, monitoring systems)?

Any guidance, best practices, or examples would be greatly appreciated.

Thank you!