Configuring Masterdrive MC on PROFIBUS-DP with S7-300 CPU

David Krause16 min read
ProfibusSiemensTutorial / How-to
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. Overview

The SIMOVERT MASTERDRIVES MC (Motion Control) family is a legacy Siemens three-phase AC drive platform that still appears in long-life industrial plants, paper machines, hoists, and crane retrofits. Integrating a MASTERDRIVES MC unit — for example MLFB 6SE7013-0EP50 — into a SIMATIC S7-300 station centered on a CPU 313C-2DP requires the correct PROFIBUS-DP slave description (GSD), a properly slotted communication board (CBP / CBP2), the right PPO telegram type, and consistent-data handling via SFC14 and SFC15. This reference covers all four layers using SIMATIC Manager V5.4 SP5 (or compatible) and the MASTERDRIVES Vector Control compendium, software release V3.32 and above.

The procedure applies to the MC compact and chassis variants. For software V3.32 or newer, the operating instructions are available in the Siemens IA/DT support portal as the "SIMOVERT MASTERDRIVES Vector Control" compendium PDF, which contains Section 8.2.3 describing the parameter-processing mechanism over PROFIBUS. The latest published revision can be downloaded from Siemens support entry 23658440 — SIMOVERT MASTERDRIVES Vector Control Operating Instructions (V3.32).

Functional scope note: The GSD does not match the drive MLFB; it matches the PROFIBUS communication board installed in the drive (CBP or CBP2). Always open the drive door, read the CBP/CBP2 board label, and select the corresponding GSD from the Siemens HSP/GSD library.

2. System Components and MLFB References

Match every component to its catalog number before commissioning. The items below are the minimum hardware/software set used in a working configuration.

Component MLFB / Version Role
SIMOVERT MASTERDRIVES MC 6SE7013-0EP50 (compact type A) PROFIBUS-DP slave, closed-loop vector control
CBP communication board (slot G) 6SE7090-0XX84-… (CBP) or 6SE7090-0XX84-2Axx (CBP2) PROFIBUS interface, parameter channel, process data
SIMATIC S7-300 CPU 6ES7313-6CE00-0AB0 (CPU 313C-2DP) PROFIBUS-DP master, integrated DP port
SIMATIC Manager V5.4 Professional SP5 (or SP3+ with HSP) Engineering tool, HW Config, symbol editor
STEP 7 HSP for MASTERDRIVES HSP from Siemens entry 23183356 Masterdrive slaves in HW Config catalog
Masterdrive GSD SIEM80F1.GSD (CBP) or SI0180F1.GSD (CBP2) PROFIBUS-DP slave description file
Firmware baseline (drive) V3.32 or higher Required for documented PKW semantics

Confirm the CBP/CBP2 sticker inside the MASTERDRIVES door before continuing. The GSD for a CBP2 differs from the GSD for a CBP; mixing them produces a "Slave not found" or "Configuration error" diagnostic.

3. Prerequisites

Install the following before opening HW Config:

  1. SIMATIC Manager V5.4 SP5 with the S7-300 / PROFIBUS option package.
  2. The latest Masterdrive HSP (Hardware Support Package) — referenced from Siemens entry 23183356 — HSPs for SIMATIC S7.
  3. The Masterdrive GSD file matching the CBP board (CBP2 most common for V3.x firmware). GSD repository is referenced from Siemens entry 113204 — GSD files for SIMOVERT MASTERDRIVES.
  4. The MASTERDRIVES Vector Control compendium PDF for parameter indexing. Section 8.2.3 ("Mechanisms for processing parameters via PROFIBUS") is the controlling specification; it is mirrored in Siemens entry 23660019 — Connection of Masterdrives to Profibus-DP.
  5. DriveMonitor or STARTER commissioning tool to read/write the same parameters from a PC for cross-verification.
Working directory: Always close any running instance of HW Config before installing a new HSP, then re-open the project. STEP 7 only reads the catalog database at HW Config startup.

4. Installing the GSD File and HSP in SIMATIC Manager

  1. Close all SIMATIC Manager windows.
  2. Launch Options → Install GSD File and select the correct .GSD (and accompanying .BNF / bitmap files). STEP 7 copies the GSD into \Step7\S7DATA\GSD.
  3. Launch Options → Install HW Updates and import the Masterdrive HSP. The catalog entry "SIMOVERT" appears under PROFIBUS-DP → Drives → SIMOVERT.
  4. Restart HW Config so the new catalog entries load.

If the GSD is missing or the board does not match, the slave will accept the slot configuration but raise diagnostic byte 0x0B (extended diagnostic) with identifier-byte 0x83 ("Slave requires a different configuration"). Always confirm the catalog entry reads "CBP2" (or "CBP") for the slot used.

5. Hardware Configuration in HW Config

  1. Insert a SIMATIC 300 station and add the CPU 313C-2DP on the rail.
  2. Open the CPU properties, switch to the DP tab, and set Operating Mode = DP-Master. Choose a bus address (default 2) and a transmission rate of 1.5 Mbit/s for cable lengths up to 200 m, or 12 Mbit/s only for short, well-terminated segments.
  3. Drag the Masterdrive slave from the catalog to the DP master system. Assign the slave's PROFIBUS address (default 3, configured on the CBP2 DIP switches or via P918).
  4. Open the slave's DP-Slave Properties dialog and select the slot. If the HSP catalog entry is used, the PPO types appear directly. If the imported GSD is used, the GSD-driven dialog shows the same PPO slots; align them manually.
PPO Type PKW Words PZD Words (Inputs) PZD Words (Outputs) Total Words / Slot Use Case
PPO1 4 2 2 10 (5 IN / 5 OUT) Parameter read/write + small process data
PPO2 0 6 6 12 (6 IN / 6 OUT) Process data only (no on-the-fly parameter change)
PPO3 0 2 2 4 (2 IN / 2 OUT) Minimum process data (control word + setpoint only)
PPO4 4 6 6 16 (8 IN / 8 OUT) Parameter access + full process channel
PPO5 4 10 10 24 (12 IN / 12 OUT) Parameter access + extended setpoints/actuals

For drive commissioning that requires reading fault memory (r947) and writing ramp times (P460 / P461) while running, PPO1 is the smallest viable option and is often chosen to keep the cycle budget low. PPO5 is the largest and is required if you need to read or write more than two process data words in each direction (e.g., torque, speed, current, status).

6. PPO Type Selection and Telegram Structure

Each PPO telegram is divided into two zones: the parameter identification zone (PKW) and the process data zone (PZD). The PKW zone is optional; PPO2 and PPO3 omit it.

6.1 PZD — Process Data Zone

PZD is the cyclic data exchanged every PROFIBUS-DP cycle. The first output PZD is the control word (STW, parameter r550); the first input PZD is the status word (ZSW, parameter r551). Subsequent PZDs are user-definable setpoints and actuals configured via parameters P554.1 … P591.1 (control word connectors) and P694.1 … P740.1 (status word connectors).

6.2 PKW — Parameter Identification Zone

PKW is a non-cyclic, acyclic-style channel presented inside the cyclic frame. It must be transferred as a single 8-byte (4-word) block; partial writes are rejected. The block layout is shown below.

Word Name Bits Function
1 PKE 15–12 AK Request/response ID (0 = no request, 1 = read, 2 = write, 4 = read array element, 5 = write array element, 6 = read array, 7 = write array, etc.)
1 PKE 11 SPM Toggle bit for spontaneous-message signaling (1 = SPM follows)
1 PKE 10–0 PNU Parameter number (0 … 2047). For r947 → PNU = 947 (0x3B3)
2 IND 15–9 reserved Set to 0
2 IND 8 text/no text Reserved / display text flag (0 = numeric)
2 IND 7–0 index Array sub-index (e.g., 0 for non-array parameters)
3 PWE1 31–16 Parameter value high word (16-bit, 32-bit split)
4 PWE2 15–0 Parameter value low word
AK response codes to expect: 1 = transmission OK with value, 2 = transmission OK without value (write only), 7 = request not executable, 8 = PKW access unsupported by slave. The PLC must always evaluate AK before consuming PWE1/PWE2, otherwise it will read stale data from the previous cycle.

7. PKW Parameter Access Mechanism

The MASTERDRIVES parameter processing on PROFIBUS follows the mechanism defined in compendium Section 8.2.3. A request and its response share the same PKE.IND identifier; the drive sets AK = 1 on success and returns the value in PWE1/PWE2.

For S7-300 firmware, parameter 947 is the active fault buffer entry. To read the most recent fault:

  1. Set PKE = 0x13B3 → AK = 1 (read), PNU = 0x3B3 (947).
  2. Set IND = 0x0000 → index 0.
  3. Set PWE1 = 0 and PWE2 = 0.
  4. Transfer the 4 words atomically using SFC14 / SFC15.
  5. Poll until AK in the response equals 1; then concatenate PWE1 << 16 | PWE2 to obtain the fault code.

Fault codes reported by r947 are documented in compendium Section 7. Examples: F001 = overcurrent, F002 = overvoltage, F003 = power module overtemperature, F005 = I²t overload, F006 = chopper overload, F008 = loss of field, F011 = user fault 1, F012 = user fault 2, F030 = loss of commutation, F031 = speed controller output limited, F033 = setpoint/actual deviation, F035 = overspeed, F041 = encoder fault, F042 = tachometer fault, F051 = parameter access error via PKW. The decoding map is a moving target across firmware revisions, so always cross-check against the V3.32 compendium table.

8. SFC14 and SFC15 Programming for Consistent Data

PKW and PZD words spanning more than 4 bytes require consistent read/write — a normal L PIW / T PQW sequence does not guarantee atomicity and is rejected by the CBP. Use SFC14 DPRD_DAT for reading and SFC15 DPWR_DAT for writing.

8.1 SFC14 — Read Consistent Data from DP Slave

Parameter Declaration Type Description
LADDR INPUT WORD Configured start address of the slave's input area (e.g., W#16#0100). Must be the base I/O address of the slot, not individual word offsets.
RET_VAL OUTPUT INT Return code (0 = OK, 0x80xx = DP error, 0x8xxx = slave diagnostic pending)
RECORD OUTPUT ANY Destination byte/word/dword area in the PLC. Length must equal the configured input length of the slot.

8.2 SFC15 — Write Consistent Data to DP Slave

Parameter Declaration Type Description
LADDR INPUT WORD Configured start address of the slave's output area
RECORD INPUT ANY Source area in the PLC; length must equal the configured output length of the slot
RET_VAL OUTPUT INT Return code (0 = OK)

8.3 SCL/ST Sample — Read PPO1 Input Image

// Read full 10-word (20-byte) PPO1 input image from slave at I-start 256
DATA_BLOCK DB_PPO1_IN
   STRUCT
      PKE  : WORD;   // word 0 (input view)
      IND  : WORD;   // word 1
      PWE1 : WORD;   // word 2
      PWE2 : WORD;   // word 3
      PZD1 : WORD;   // ZSW (status word)
      PZD2 : WORD;   // actual value 1 (e.g., r550 routed to ZSW, r002 speed)
   END_STRUCT
END_DATA_BLOCK

CALL  SFC14
   LADDR  := W#16#100   // base I/O address from HW Config (decimal 256)
   RET_VAL := MW100     // 0 = success
   RECORD := P#DB_PPO1_IN.DBX0.0 BYTE 20   // 10 words = 20 bytes

8.4 SCL/ST Sample — Write PPO1 Output Image

DATA_BLOCK DB_PPO1_OUT
   STRUCT
      PKE  : WORD := W#16#13B3;   // AK=1 read, PNU=947
      IND  : WORD := W#16#0;      // index 0
      PWE1 : WORD := W#16#0;
      PWE2 : WORD := W#16#0;
      PZD1 : WORD := W#16#47E;   // STW: enable + setpoint enable
      PZD2 : WORD := W#16#0;     // setpoint 0 for test
   END_STRUCT
END_DATA_BLOCK

CALL  SFC15
   LADDR  := W#16#0     // base Q address (example: 0)
   RECORD := P#DB_PPO1_OUT.DBX0.0 BYTE 20
   RET_VAL := MW102
Atomicity rule: A PKW exchange is a single DP cycle. Do not split the 4 words across multiple T PQW writes — the CBP will treat it as a new request, not a continuation, and the previous request will be dropped with AK = 7.

9. Reading Fault Values from r947

Parameter r947 is a 32-bit status word that holds the currently active fault code (or the most recent fault if the drive is no longer in a fault state). Reading it via PKW requires a 32-bit value, so PWE1/PWE2 are used as the high/low half.

9.1 Request Frame (PKW, AK = 1, PNU = 947)

Word Hex Meaning
PKE 0x13B3 AK=1 (read value), PNU=0x3B3 (947)
IND 0x0000 Index 0
PWE1 0x0000 High word = 0 (drive returns value here)
PWE2 0x0000 Low word = 0 (drive returns value here)

9.2 Response Frame (on Success)

Word Hex (example) Meaning
PKE 0x13B3 AK=1 echoed (or 0x13B3 | toggle)
IND 0x0000 Index 0
PWE1 0x0000 High half of fault code
PWE2 0x0005 Low half = 5 → F005 (I²t overload)

Fault code = (PWE1 << 16) | PWE2. For 16-bit faults (the common case) the value fits entirely in PWE2; PWE1 = 0. Acknowledge with control word bit 7 in the next PZD cycle; the drive clears the fault and the AK = 1 response reflects the cleared state.

10. Writing Ramp Times (P460 / P461)

Ramp-up time is P460; ramp-down time is P461. Both are 16-bit floating-point values stored in PKW as 32-bit IEEE-754 (a Mantissa-Byte / Exponent-Byte pair is also accepted by older firmware). To write a 2.0-second ramp:

10.1 Write Request for P460 = 2.0 s

Word Hex Meaning
PKE 0x23B4 AK=2 (write, single word value), PNU=0x3B4 (460 → 0x1CC, 0x1CC in low 11 bits; reconfirm with compendium)
IND 0x0000 Index 0
PWE1 0x0000 High word of 32-bit value
PWE2 0x4002 Low word — 2.0 as VFD-style mantissa/exponent pair (VFD-ME): exponent = 0x80 + log2(2) = 0x81 → byte = 0x40; mantissa = 0x0200 → word = 0x4002
Encoding tip: MASTERDRIVES accepts two PKW numeric encodings: 32-bit IEEE-754 (preferred) and the legacy VFD mantissa-exponent (ME) format. The ME byte is the high byte of PWE2; the low 15 bits of PWE2 carry the mantissa. For 2.0 s in ME form, PWE2 = 0x4002. DriveMonitor displays the resolved value during online read-back for verification.

10.2 PKW Write — Universal Module 6-Word Variant

If you selected a "Universal module" with 6 PZD words (no PKW zone) instead of a true PPO1/PPO5, you cannot write P460 / P461 over PROFIBUS. Either switch the slot to PPO1 / PPO4 / PPO5 in HW Config, or write the ramp times from the AOP (Advanced Operator Panel) keypad, or use DriveMonitor over the RS232 service port. With PPO1/4/5 selected, ramp times can be written while the drive is in run state — a common practice for test stands.

11. Verification and Commissioning Checklist

  1. In HW Config, the slave shows a green check icon and the diagnostic buffer of the CPU 313C-2DP is free of "Slave failure" / "Configuration error" events.
  2. With PPO1/4/5 selected, the input PZD[1] (status word) reads 0x4B31 in 0_0 state, transitioning to 0x4B37 on run, 0x0B31 on enable, and 0x0B38 on fault (per compendium Section 6.3).
  3. Send a PKW read of P000; the response should be the drive's 16-bit identifier (e.g., 1101 for MC compact, software V3.32).
  4. Send a PKW read of r947; verify the returned value against the keypad fault history.
  5. Write P460 = 1.5 s, P461 = 2.0 s via PKW. Read back via PKW and confirm on the AOP that the values match.
  6. Use DriveMonitor or STARTER over RS232 to read the same parameters and confirm PROFIBUS and keypad values agree — this proves the GSD and PPO selection are correct.

12. Troubleshooting Matrix

Symptom Likely Root Cause Verification Fix
Slave appears in HW Config with red icon Wrong GSD imported, or HSP not loaded Open the slave's properties; verify "Device name" matches CBP board Install correct GSD and restart HW Config
DPV1 diagnostic "ID byte 0x83 — different configuration required" Slot config does not match slave firmware (PKW length wrong) Check CBP diagnostic buffer via PPO PKW read Re-select PPO type matching drive firmware (PPO1/4/5 only if PKW supported)
SFC14 RET_VAL = 0x8080 Slotted slave not reachable / bus fault Check termination, address (P918), and baud rate Enable terminating resistors on both bus ends, set P918 to match HW Config
SFC14 RET_VAL = 0x8000 Length mismatch in RECORD Compare RECORD byte length with configured slot length Set RECORD length to 4 × number of words (e.g., 20 bytes for PPO1)
AK = 7 in PKW response Drive rejects request — wrong PNU or wrong index Check parameter number against compendium Use correct PNU (0x3B3 for 947); for indexed parameters set IND correctly
AK = 8 in PKW response Slave does not support PKW (PPO2 or PPO3 in use) Check HW Config slot type Change slot from PPO2 / PPO3 to PPO1, PPO4, or PPO5
PZD1 status word stuck at 0 Wrong PZD connector routing Read r550 on AOP Set P694.1 = 550, P694.2 = 0, etc. to map ZSW sources
Drive does not enable STW bit pattern wrong Compare with compendium Section 6.2 Set STW = 0x047E (off1 + off2 + off3 + enable + ramp enable) to enable, then 0x047F for run
Written ramp time reverts on next power-up Drive in "parameter restore to factory" mode Check P010 on AOP Set P010 = 0 (parameters retained); save with P971 = 1
r947 returns AK = 7 PKW written one word at a time Review PLC code for T PQW sequence Use SFC15 to write the full 4-word block in one call

13. Field-Notes and Edge Cases

  • CPB2 vs CBP timing: CBP2 supports 12 Mbit/s; original CBP is limited to 1.5 Mbit/s. Attempting 12 Mbit/s on a CBP-only drive produces DP bus timeouts and SF on the CPU.
  • Address switch on CBP2: Some CBP2 boards read the PROFIBUS address from P918 instead of the DIP switch when the address is non-zero. Confirm with the V3.32 compendium Section 4.1.
  • Multiple drives on one DP line: Each Masterdrive must have a unique address (3…125). Repeaters are required when cable length exceeds 200 m at 1.5 Mbit/s or when more than 32 slaves are connected.
  • Save parameters to EEPROM: PKW writes go to RAM only. Issue a PKW write of P971 = 1 (save) to commit changes to non-volatile memory. Save takes 2–4 seconds; do not power-cycle in this window.
  • Software V3.32 vs V4.x: The compendium and GSD match V3.32 and later compact MC drives. V4.x firmware on VC units (Vector Control, not Motion Control) uses a different PKW semantics for some safety-relevant parameters — always cross-reference the FW version against the GSD revision date.
Safety reminder: Reading r947 is diagnostic only and is non-interfering with the drive's internal safety chain. However, writing safety parameters (e.g., P050, P051, P060) via PKW is reserved for qualified personnel and the drive must be in 0_0 state with the main contactor open. Confirm local safety rules and lockout procedures before writing any safety or braking parameters.

FAQ

Which GSD file does the Masterdrive MC 6SE7013-0EP50 need?

The GSD must match the communication board inside the drive, not the drive MLFB. For CBP2 (most V3.x units) use SI0180F1.GSD; for the older CBP use SIEM80F1.GSD. Open the drive door and read the CBP/CBP2 board label before downloading. The GSD repository is referenced from Siemens entry 113204.

How do I read the active fault code r947 from the drive?

Use a PPO1, PPO4, or PPO5 slot and write a PKW block with PKE = W#16#13B3 (AK=1 read, PNU=947), IND = 0, PWE1 = 0, PWE2 = 0. Transfer the four words with SFC15, then read the response with SFC14. The fault code is in PWE2 for 16-bit faults; for 32-bit codes concatenate (PWE1 << 16) | PWE2. Wait for AK = 1 in the response before consuming the value.

Why is my PPO2 or PPO3 slot unable to read or write parameters?

PPO2 and PPO3 do not include the PKW zone. To change parameters on the fly (e.g., P460 ramp-up, P461 ramp-down) or read r947 you must select PPO1, PPO4, or PPO5 in HW Config and re-download the configuration. The S7-300 must then read and write via SFC14 and SFC15 so the four PKW words are transferred as one consistent block.

Can I write ramp times with a 6-word universal module?

A 6-word universal module only provides PZD words and no PKW channel. Ramp times P460 and P461 must therefore be set from the AOP keypad, from DriveMonitor over the RS232 service port, or by switching the slot in HW Config to PPO1/PPO4/PPO5 and writing via PKW. PKW writes are the only PROFIBUS path that reaches drive-internal setup parameters on the fly.

My CPU 313C-2DP reports "Slave failure" — what is the first check?

Confirm three things in this order: (1) the GSD in HW Config matches the CBP/CBP2 board physically installed; (2) the slave's PROFIBUS address (P918 or DIP switch) matches the address in HW Config; (3) the bus is terminated at both ends and the baud rate does not exceed what the CBP board supports (1.5 Mbit/s for CBP, 12 Mbit/s for CBP2). If the slave LED on the CBP board is steady red, the bus physical layer is wrong; if it is flashing red, the configuration is wrong.

Back to blog