Resolving mappMotion Third-Party Drive Axis Creation

Tom Garrett5 min read
B&R AutomationMotion ControlTroubleshooting
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

No motor current flows at this stage, so neither thermal loading nor motion timing causes this symptom. The number that matters is the 32-bit device-type value: 0x00410192 contains DS402 profile number 402, but its upper 16 bits equal 65 rather than 1; 0x00420192 similarly contains 66 rather than 2. For the inverter and servo variants described, correct 1000.0 to 0x00010192 or 0x00020192, then verify that the XDD also contains the DS402 PDO mapping required by mappMotion.

Symptom interpretation

Automation Studio finds g_Axis1 in the configuration, but mappMotion does not create its runtime axis object. mappCockpit therefore has no executable axis instance to command and reports: The component ‘g_Axis1’ of type axis was found in the configuration but it has not been created.

The missing commands are a consequence, not a separate mappCockpit fault. The failure occurs while the engineering system classifies and instantiates the device. The identical result in simulation and on an X20CP1684 points to shared device-description or axis-configuration data rather than CPU-specific execution or physical drive power.

Quantity or indication Observed value Engineering meaning Where to read it
Axis component g_Axis1 Configured symbol exists, but its runtime object was not created mappCockpit message and Automation Studio configuration
Inverter device type 0x00410192 Low word identifies 402; upper word is 65 XDD object 1000.0
Servo device type 0x00420192 Low word identifies 402; upper word is 66 XDD object 1000.0
Expected inverter pattern 0x00010192 Profile 402 with upper value 1 DS402-capable XDD definition
Expected servo pattern 0x00020192 Profile 402 with upper value 2 DS402-capable XDD definition

Device-type word construction

Read the value as one unsigned 32-bit quantity before considering how an editor displays its bytes. Profile number 402 is decimal, which is in hexadecimal. It occupies the low 16 bits in all four values shown here; reading only the final byte, , would produce the wrong conclusion.


The low word explains why DS402 behavior may appear selectable: the profile identifier is present. The upper-word mismatch explains why that partial recognition does not necessarily produce a usable mappMotion axis. Use the complete DWORD comparison; a valid low word alone is insufficient.

XDD semantics and PDO content

An XDD checker can accept a file whose XML structure, data types, and references are syntactically valid while mappMotion still rejects its motion semantics. Passing the checker establishes descriptor validity at the checker’s level; it does not prove that the device advertises the expected DS402 variant or supplies the required cyclic process data.

Object 1000.0, identified as NMT_DeviceType_U32, controls DS402 classification in this integration path. Object 67FF.0 also carries a device-type value in the described files, so audit it for variant consistency, but diagnose 1000.0 first because that is the stated classification dependency.

The DS402 version of an XDD also needs DS402 PDO mapping. A descriptor can declare the correct device type yet remain unusable if its cyclic mappings omit the state-control, operating-mode, command, or feedback data expected by the mappMotion integration. Compare the intended DS402 descriptor with a working DS402-capable XDD for the same Automation Studio environment; a non-DS402 version of the same hardware is a useful negative comparison.

Correction procedure

  1. Work from a copy of the XDD so the last importable version remains available for comparison.
  2. Open 1000.0 and inspect the complete raw 32-bit value. Confirm that the low 16 bits are , not merely that the text contains 192 or ends in 92.
  3. For the inverter variant described, replace 0x00410192 with 0x00010192. For the servo variant described, replace 0x00420192 with 0x00020192.
  4. Inspect 67FF.0 and any duplicate variant declarations. Keep the inverter and servo definitions internally consistent rather than mixing the upper value from one variant with the mappings of the other.
  5. Compare the DS402 and non-DS402 XDD definitions. Add the DS402 PDO mapping required by the Automation Studio integration, using the drive’s implemented object dictionary as the authority for which entries the hardware actually supports.
  6. Run the XDD checker again, import or refresh the descriptor in Automation Studio, and rebuild the configuration. If the project retained an older descriptor revision, remove and reinsert only the affected device instance, then reconnect g_Axis1 to it.
  7. Test axis creation in simulation first, then repeat on the X20CP1684. This separates descriptor and configuration success from later field communication or drive-state problems.

Verification sequence

Start verification before applying a motion command. Confirm that Automation Studio classifies the imported device as DS402-capable and that the selected XDD variant matches the physical inverter or servo product. Next, open mappCockpit and check that g_Axis1 is created and that the previous component-not-created message is absent.

The command controls should now be visible. Their presence proves that mappCockpit has a runtime axis object; it does not by itself prove that every PDO is correct. Establish communication, observe the DS402 state progression and feedback fields supplied by the configured mapping, and issue only the lowest-risk commissioning command permitted by the machine procedure. A state that cannot advance after axis creation moves the investigation from device classification to PDO content, drive readiness, or the drive’s diagnostic record.

Recurring integration pitfalls

  • Decimal and hexadecimal confusion: decimal 402 is hexadecimal ; alone is not the profile number.
  • Byte and word confusion: and visually resemble variant markers, but the calculated upper words are 65 and 66. The required examples use 1 and 2.
  • Partial edits: changing 67FF.0 while leaving 1000.0 unchanged preserves the classification fault.
  • Schema-only validation: a clean checker result does not validate mappMotion’s DS402 recognition rules or PDO expectations.
  • Correct identity with incomplete process data: fixing the DWORD may create the axis yet leave state transitions or feedback unusable until the DS402 PDO mapping is complete.
  • Stale imports: rebuilding against a cached descriptor can make a correct source edit appear ineffective. Confirm the project instance uses the revised XDD.

FAQ

Why does mappCockpit say g_Axis1 was not created?

The configuration contains g_Axis1, but mappMotion did not instantiate its runtime axis object. In this case, start with DS402 classification at 1000.0 and then inspect the required PDO mapping.

Why does 0x00410192 not identify the intended inverter variant?

Its low 16 bits are , or decimal 402, but its upper 16 bits are 0x0041, or 65. The intended inverter pattern described here is 0x00010192, whose upper value is 1.

Why does the XDD checker pass when mappMotion rejects the axis?

The checker can validate the descriptor’s structure without proving that its device-type semantics and DS402 PDO mappings satisfy mappMotion. Treat a successful check as one gate, followed by device classification and runtime-axis verification.

When should I stop editing the XDD and contact B&R support?

Escalate when 1000.0 uses the correct complete DWORD, the variant declarations agree, the DS402 PDO mapping matches the implemented object dictionary, and a clean import still cannot create g_Axis1. Send official B&R support the minimal XDD and project, the exact mappCockpit message, checker result, and the comparison between simulation and the X20CP1684.

Back to blog