Resolving S7-1200 to Baumuller 5300 PROFINET Cyclic Error

David Krause12 min read
S7-1200SiemensTroubleshooting
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

1. Problem Scope: S7-1200 and Baumuller b maXX 5300 PROFINET Communication

When integrating a third-party PROFINET drive such as the Baumuller b maXX 5300 series with a Siemens SIMATIC S7-1200 CPU, the most common failure mode is a persistent cyclic data exchange error immediately after the GSDML file is imported into the TIA Portal device catalog. The PLC establishes a link-layer connection (the drive appears in the topology as reachable), but the IO controller refuses to enter cyclic data exchange, the slot indicators remain red, and the diagnostic buffer records repeated station failure entries with PROFINET alarm codes such as 0x001E (channel diagnosis), 0x0001 (station failure), and 0x0004 (module mismatch).

The underlying problem is almost never a physical layer fault. The GSDML installs cleanly, the device is dragged from "Other components" into Devices & Networks, an IP address is assigned, and a device name is loaded. The error condition originates in slot / submodule configuration — the telegram selection on the drive side does not match the slot mapping configured in TIA Portal, or the Baumuller drive is set to a vendor-specific telegram that the S7-1200 expects as PROFIDRIVE. The result is a slot-level inconsistency that prevents the AR (Application Relationship) from transitioning to AR_STATE_RUN.

Engineering note: A cyclic PROFINET error between an S7-1200 and a non-Siemens drive is rarely a wiring problem. Before swapping cables or replacing the drive module, validate the GSDML revision, the telegram mapping, and the PROFIDRIVE conformance bit on the drive. The Siemens FAQ 38051505 enumerates the PROFINET devices and protocol stacks the integrated PROFINET interface of the S7-1200 supports.

2. Required Hardware, Firmware, and Software Stack

Confirm the following minimum versions before troubleshooting. Lower revisions do not contain the GSDML import fixes and PROFINET stack improvements required for stable Baumuller drive integration.

Component Minimum Version Notes
S7-1200 CPU (1211C / 1212C / 1214C / 1215C / 1217C) Firmware V4.2 or later PROFINET IO Controller, 2 or 3 ports depending on part number
TIA Portal V15.1 Update 3 or later V17/V18 recommended for current GSDML imports
Baumuller b maXX 5300 PROFINET module BM5300-SFP-XXX-03 or later PROFINET IRT-capable option card
Baumuller ProMaster / b maXX Studio Match drive firmware Required to set telegram number and PROFIDRIVE conformance
GSDML file GSDML-Vx.x-Baumueller-XXXX-YYYYMMDD.xml Download from Baumuller product support portal

3. Root Cause Analysis: Why the Cyclic Error Occurs

Three independent but related causes produce the cyclic error symptom. Each must be ruled out sequentially.

3.1 GSDML version mismatch

The GSDML schema is versioned and a TIA Portal version older than the GSDML schema will silently truncate slots during import. The resulting catalog entry looks valid but lacks submodule 0 entries, so the IO controller has no AR to negotiate. Always import a GSDML whose <GSDML> schema version is supported by the installed TIA Portal (TIA V17 supports up to GSDML schema V2.43).

3.2 Telegram / slot mapping mismatch

PROFINET telegrams are not free-form. The Baumuller b maXX 5300 expects a specific PROFIDRIVE-compliant telegram (typically Standard Telegram 1, 5, or 105 for servo applications). If the TIA Portal slot configuration assigns 4 input words and 4 output words (matching Standard Telegram 1) but the drive is configured for Standard Telegram 5 (10 words in, 10 words out), the AR handshake fails at the first subslot and the controller logs a "submodule difference" diagnostic.

3.3 PROFIDRIVE conformance

The b maXX 5300 can be set to a vendor-specific mode that disables PROFIDRIVE conformance. In that mode the drive does not respond to PROFIdrive parameter channel requests (PKW) and the controller interprets the silence as a fault. The Baumuller parameter P-0-0280 (telegram selection) and P-0-0281 (PROFIdrive conformance bit) must both be set to PROFIDRIVE-compliant values.

4. Step-by-Step Resolution

Step 1 — Acquire and import the correct GSDML

  1. Identify the exact Baumuller article number of the PROFINET module mounted on the b maXX 5300 (printed on the option card, e.g. 5.9.30-E-0091).
  2. Download the matching GSDML from the Baumuller product support portal. Do not use a GSDML written for a different series (e.g. b maXX 3300 has a different slot layout).
  3. In TIA Portal: Options → Manage general station description files (GSD).
  4. Browse to the .xml file and click Install.
  5. Restart TIA Portal to refresh the device catalog cache.

Step 2 — Add the drive to the project

  1. Open Devices & Networks.
  2. Expand Other field devices → PROFINET IO → Drives → Baumuller → b maXX 5300.
  3. Drag the drive into the network view.
  4. Connect the PROFINET port of the S7-1200 CPU to the drive's PROFINET port 1.
  5. Right-click the drive → Assign PROFINET device name. The device name must match the name stored in the drive (default often bm5300-1).
  6. Assign a unique IP address on the same subnet as the S7-1200 PROFINET interface.

Step 3 — Configure telegram slots

  1. Double-click the drive to open Device view.
  2. In the device view's slot catalog, locate the drive's submodule list (typically slot 0 with subslots for telegram 1, telegram 5, telegram 105, etc.).
  3. Select exactly the submodule that matches the telegram configured in Baumuller ProMaster (see Section 5).
  4. Drag it into slot 1 of the drive.
  5. Note the I and Q address ranges displayed in the device view. These are the periphery addresses used by the S7-1200 to access the drive data.

Step 4 — Configure the Baumuller drive for PROFIDRIVE

  1. Open Baumuller ProMaster and connect to the b maXX 5300.
  2. Set parameter P-0-0280 (telegram selection) to the value matching the TIA Portal configuration. For most positioning applications this is 105 (vendor-specific, 10 words in / 10 words out for cyclic setpoint and actual values).
  3. Set parameter P-0-0281 (PROFIdrive profile) to 0x01 (PROFIdrive profile V4.1 active).
  4. Set parameter P-0-0290 (PROFINET conformance class) to Class B if you require SNMP, otherwise Class A is sufficient.
  5. Save to non-volatile memory and cycle the drive control voltage (24 V logic power) so the parameters take effect.

Step 5 — Use SFC 14 / SFC 15 for consistent data transfer

PROFINET telegrams on the b maXX 5300 are larger than four bytes and require consistent read/write access. The standard load/transfer instructions in SCL or LAD will split the data. Use DPRD_DAT (SFC 14) and DPWR_DAT (SFC 15) instead.

SFC 14 — Read consistent drive data

CALL "DPRD_DAT"
  LADDR := W#16#100        // I-address base from device view, e.g. 256
  RET_VAL := MW100         // error code, 0 = OK
  RECORD := P#M 200.0 BYTE 20  // 10 words target buffer
  NOP 0;

SFC 15 — Write consistent setpoint data

CALL "DPWR_DAT"
  LADDR := W#16#100        // Q-address base from device view, e.g. 256
  RECORD := P#M 300.0 BYTE 20  // 10 words source buffer
  RET_VAL := MW102         // error code, 0 = OK
  NOP 0;

Replace W#16#100 with the actual base address from the device view. The byte count must match the configured telegram size exactly — Telegram 105 = 20 bytes (10 words), Telegram 1 = 8 bytes, Telegram 5 = 20 bytes.

5. PROFIDRIVE Telegram Reference for Baumuller b maXX 5300

Telegram # Words In Words Out Typical Use PROFIdrive Conformance
1 2 2 Speed setpoint / actual Yes
2 4 4 Speed + encoder actual Yes
3 5 5 Position basic Yes
5 10 10 Servo with DSC Yes
7 14 14 Positioning with MDI Yes
102 10 10 Baumuller vendor specific No
105 10 10 Baumuller servo position Yes (recommended)

6. Use of Siemens Motion Control Blocks (SINA_SPEED, SINA_POS, TO_PositioningAxis)

The Siemens technology object (TO) motion blocks — MC_Power, MC_MoveAbsolute, MC_MoveVelocity — are designed for use with SINAMICS drives that expose the PROFIdrive state machine. They can be used with the b maXX 5300 only if the following conditions are met:

  • The drive is configured in PROFIdrive conformance mode (bit 15 of P-0-0281 = 1).
  • A supported telegram (Standard 1, 5, 7, or 105) is configured on both sides.
  • The MC_Telegram for the drive is created in TIA Portal under Technology objects → Positioning axis → Telegram configuration and the data is mapped via SFC 14/15 to the drive's I/O area.

For a clean integration without depending on Siemens motion library blocks, the SINA_POS and SINA_SPEED function blocks from the Siemens SINAMICS library can call the Baumuller drive directly through the PROFIdrive state machine. This is the recommended path because it avoids the technology object configuration and keeps the S7-1200 in pure PLC mode.

Compatibility warning: The TIA Portal motion control libraries from V15 to V18 assume SINAMICS state machine timing. The Baumuller b maXX 5300 has a longer signal-descriptor time window (typically 12 ms vs. 4 ms for SINAMICS S120). Set the PROFINET update time to at least 2 ms (4 ms is safer) and disable the drive's "fast ramp" if the controller reports 1719 (life-sign error) after power-up.

7. Verification Procedure

  1. After completing Section 4, compile the TIA Portal project and download the hardware configuration to the S7-1200.
  2. Open Online & Diagnostics → PROFINET → Topology. The drive should appear with a green link and the AR state indicator should read AR_STATE_RUN.
  3. In the device view of the drive, right-click the slot and select Monitor/Modify. Force a value into the first control word (QW = STW1) and observe that bit 0 of the first status word (IW = ZSW1) toggles from 0x0000 to 0x0131 (drive reports ready-to-switch-on, switched-on, operation enabled, ready-to-operate).
  4. Add a watch table with the input and output addresses of the configured telegram. Read the words directly; you should see non-zero, changing values within 1 second of a Baumuller-side enable.
  5. Trigger DPRD_DAT and confirm RET_VAL returns 0x0000 on every cycle. Any non-zero return code from SFC 14 indicates a length mismatch or AR not in RUN state.

8. Diagnostic Error Code Matrix

SFC RET_VAL PROFINET Alarm Probable Cause Remediation
0x0001 Length of RECORD shorter than telegram Increase RECORD byte count to match configured telegram
0x8001 Length of RECORD longer than telegram Reduce RECORD byte count
0x8080 AR not in RUN, LADDR wrong Verify the LADDR matches the device view base address
0x8090 0x0001 station failure Physical layer or device name Re-assign PROFINET device name, check cables
0x80A0 0x001E channel diag Submodule / slot mismatch Verify slot configuration matches Baumuller telegram
0x80B0 0x0004 module mismatch GSDML version mismatch Reinstall matching GSDML and restart TIA Portal
0x80B1 0x0004 module mismatch Telegram parameter wrong Match P-0-0280 in drive to TIA slot submodule

9. Cross-Reference: S7-1200 PROFINET Capabilities

According to the Siemens Industry Online Support entry 38051505, the S7-1200's integrated PROFINET interface supports PROFINET IO Controller, IO Device, and shared device with up to 16 IO devices per CPU. The interface is suitable for PROFINET CBA (Component Based Automation) and for S7 communication. For applications requiring PROFINET IRT (isochronous real-time) with sub-millisecond update times, the S7-1200 supports IRT only with the GSD file reference configuration — not the integrated interface on CPUs prior to V4.4. For drives such as the b maXX 5300 that do not require isochronous motion, RT (real-time) is sufficient and update times of 1 ms to 4 ms are achievable.

For multi-CPU architectures or for connecting additional PROFINET segments, the S7-1200 can be paired with the CP 1543-1 communication processor (industrial Ethernet / PROFINET) and with the CM 1243-5 PROFIBUS master module. The motion-specific PROFINET capabilities of higher-tier Siemens CPUs are documented in the Delta Motion RMC Tools reference, which outlines the S7-300, S7-400, S7-1200, and S7-1500 PROFINET feature matrix.

10. Advanced Configuration Notes

10.1 Update time selection

Right-click the PROFINET connection in the network view → Properties → PROFINET interface → Real-time settings → Update time. For servo position control with a b maXX 5300, set the update time to 2 ms (send clock 1 ms) when using PROFINET IRT, or 4 ms when using RT. Shorter values risk life-sign errors; longer values degrade axis dynamics.

10.2 Watchdog / reduced data length

The PROFINET watchdog is calculated by the controller as 3 × update time × (number of IO devices + 1). If the Baumuller drive drops out during a CPU STOP → RUN transition because the watchdog expires, enable Use reduced data length on CPU STOP on the drive side. This prevents the drive from signaling a station failure when the controller cycles.

10.3 Replacement value behavior

Configure the IO device's Replacement value behavior under the slot properties. For motion applications, set the control word (STW1) replacement value to 0x0000 (drive disabled on CPU STOP). For a virtual simulation, set the replacement value to the last valid value.

10.4 SNMP and LLDP

PROFINET conformance Class A requires LLDP. Class B additionally requires SNMP. The b maXX 5300 supports both, but the S7-1200's integrated port does not support SNMP; therefore keep the drive at conformance Class A to avoid SNMP-related diagnostic noise.

11. Related Question: S7-300/400 Backward Compatibility

If a project must be migrated from an S7-1200 prototype to a S7-300/400 or to an S7-1500 series, the PROFINET configuration is portable: TIA Portal can export the GSDML and project configuration, and the receiving CPU can import it. According to the Software Toolbox PROFINET driver reference, drivers for the S7-300/400 family use the CP 343-1 and CP 443-1 communication processors and expose both optimized (S7-1200/1500) and classic (S7-300/400) data block structures. When porting, verify that the slot mapping on the new CPU matches and that the I/O address range is not used by another IO device on the new hardware.

12. Commissioning Checklist

  • ☐ GSDML version matches TIA Portal schema
  • ☐ Drive appears under Other field devices → Baumuller → b maXX 5300
  • ☐ PROFINET device name assigned and stored in drive
  • ☐ IP address on same subnet as S7-1200 PROFINET interface
  • ☐ Telegram configured identically in TIA slot and Baumuller P-0-0280
  • ☐ PROFIdrive conformance enabled in P-0-0281
  • ☐ Update time 1-4 ms
  • ☐ SFC 14/15 RECORD length matches telegram byte count
  • ☐ AR state = RUN in topology view
  • ☐ First status word returns expected PROFIdrive state bits

Why does my S7-1200 show a cyclic error after installing the Baumuller 5300 GSDML?

The most common cause is a slot/submodule mismatch between the TIA Portal device view and the telegram selected in Baumuller ProMaster (parameter P-0-0280). Match the TIA submodule (Telegram 1, 5, or 105) to the value written to P-0-0280, then recompile and download the project.

Can I use Siemens motion control blocks (MC_Power, MC_MoveAbsolute) with the Baumuller 5300?

Yes, but only if the drive is set to PROFIdrive conformance (P-0-0281 bit 15 = 1) and a supported telegram is configured. The b maXX 5300 supports Telegram 5 (servo with DSC) and Telegram 105 (Baumuller servo position), both of which work with the Siemens TO positioning axis.

Which SFC do I use to read consistent PROFINET data from the drive?

Use SFC 14 (DPRD_DAT) for reads and SFC 15 (DPWR_DAT) for writes. The RECORD length must match the configured telegram byte count (e.g. 20 bytes for Telegram 5 or 105). Standard L AD load/transfer instructions are not consistent and will split the telegram.

What does SFC 14 RET_VAL 0x80A0 mean?

It indicates a channel diagnosis alarm from the drive, most often a subslot/slot mismatch. Re-check the slot configuration in the TIA Portal device view, confirm the Baumuller drive has the matching telegram, and clear the diagnostic buffer before re-cycling the AR.

Does the S7-1200 support PROFINET IRT with the Baumuller 5300?

Only S7-1200 CPUs from firmware V4.4 onward with the GSD file reference configuration support IRT. For typical positioning applications, RT class 1 with a 2-4 ms update time is sufficient and more reliable than IRT on a 1 Gbit copper link.

Back to blog