Hello everyone,
We have an existing B&R Automation Studio project that was originally built with AS 4.12.6.106, mapp/ACP10 5.23.1. In this project, we are using a B&R-provided/custom AxCon structure together with MpAxisBasic to command the drive with a cyclic current reference instead of the more common cyclic torque reference approach.
The system has 6 axes. For each axis, the application initializes an AxCon instance in axCon_MODE_CYCLIC_CURRENT mode and connects it to the related MpAxisBasic instance. The calculated current reference from our controller is written into axconBuffer.Buffer[0].
The important part of the structure is roughly this:
Controller calculates actual current reference [A]
-> SetRefCurrentForAllActuator()
-> axconBuffer.Buffer[0]
-> MC_BR_CyclicWrite
-> ParID 4128 / VAR_R4_0
-> ICTRL_ADD_SET_PARID, ParID 325, points to 4128
-> additive current setpoint of the current controller
During initialization the AxCon code also writes/uses these ParIDs:
PCTRL_ENABLE_PARID = 231
ICTRL_ADD_SET_PARID = 325
VAR_R4_0 = 4128
The current project also contains .apt files where ICTRL_ADD_SET_PARID is set to 4128, and VAR_R4_0 is used as the cyclic write target. The AxCon code configures MC_BR_CyclicWrite with DataType = REAL, Mode = mcEVERY_RECORD, and ParID = ACP10PAR_VAR_R4_0.
My question is about migration to Automation Studio 6.3 or newer, with mapp Motion 6.x / current ACP10 versions:
- Is this ParID-based cyclic current reference method still supported/recommended in AS 6.3+?
- Are ParIDs
325/ICTRL_ADD_SET_PARIDand4128/VAR_R4_0still valid for this use case on current ACOPOS / ACOPOS P3 systems? - Is there now a standard mapp Motion / MpAxis way to command a current reference directly, or is the recommended solution still to use
MC_BR_CyclicWritewith drive ParIDs? - Are there any migration risks when importing this older AxCon/CycAxCon structure into AS 6.3+, especially around
MpAxisBasic,MC_BR_CyclicWrite,MC_BR_WriteParID, and controller enable/disable behavior? - If this approach is no longer recommended, what would be the correct AS 6.3+ architecture for a current-controlled axis?
- From B&R’s point of view, should cyclic torque reference and cyclic current reference behave equivalently after applying the motor torque constant, or are there internal control-loop / scaling / filtering / limitation differences that can explain a different dynamic response?
We also tested the standard cyclic torque reference approach. However, the system response was unfortunately not the same as with the current-reference method. With the current-reference structure, we get noticeably better behavior and can control the system more precisely/stably. This is the main reason why we would like to keep using this method if it is still supported.
At the same time, we would also like to understand whether there is a real technical difference between commanding torque through the standard mapp Motion torque interface and commanding current through the additive current setpoint ParID. In theory these are related through the motor torque constant, but in our application the dynamic response is not identical. We would appreciate comments on why this difference may occur.
For context, the standard MpAxisCyclicSet interface seems to provide cyclic position, velocity and torque setpoints, but our application requires current reference in amperes because our own controller calculates motor current directly. Converting to torque reference is possible in theory using motor torque constant, but the existing B&R-provided solution was intentionally built around current reference.
Any guidance, migration notes, or examples for AS 6.3+ would be appreciated.
Best regards.









