1. Problem Statement
On a SINAMICS S120 CU320 multi-axis configuration driving 100+ geared induction motors (7.5 kW to 110 kW) across a machine length exceeding 150 m, motors that receive the same speed setpoint begin rotation at visibly different times. Each drive is fitted with a line reactor on its output, and stationary (static) motor identification has been completed on every axis. The visible symptom is a "rolling start" where the first motor is already accelerating while the last motor is still in the flux build-up phase. The PLC of record is an S7-400, and the synchronization is performed by switching the ON/OFF1 command from the controller.
p346 and the demagnetizing time constant p347 in the induction-motor data set of the SINAMICS S120 drive.2. Background: Field-Oriented Control and Flux Build-Up
SINAMICS S120 induction-motor control uses field-oriented control (vector control). Before the closed-loop speed or torque controller can produce torque, the rotor flux must be established. The flux controller is closed over the current model. The flux is built up by applying the magnetizing-current component Id along the d-axis, and the time required to reach 95 % of the rated flux is governed by the rotor time constant Trotor = Lr / Rr (rotor inductance over rotor resistance). SINAMICS exposes this behavior through p346 (magnetizing time) and p347 (demagnetizing time) in the motor data set.
| Symbol | Parameter | Meaning |
|---|---|---|
| p346 | Magnetizing time | Time the drive pre-magnetizes before the first ramp-up under the active command source. Internal limit 0.1 · r384. |
| p347 | Demagnetizing time | Time the drive continues to demagnetize after OFF1 / OFF3 to avoid a regenerative pulse on restart. |
| r384 | Flux setpoint | Current flux setpoint as a percentage of rated flux. Used as the divisor in the p346 internal limit. |
| r0056 Bit 4 | Magnetization completed | Status bit set when the flux has reached the steady-state setpoint within tolerance. |
The S120 List Manual (parameter description for p346, index 0...3 in the motor data set) documents that these two values are derived automatically from the motor equivalent-circuit data computed during stationary measurement. The values are calculated, not free-form user inputs, and modifying them carelessly is the fastest way to stall a motor under load.
3. p346 and p347 - Definitions and Calculation
During the stationary measurement, the drive injects a small d-axis current, observes the current rise, and fits an exponential time constant. The fitted time constant is written into p346 for the active motor data set (MDS). p347 is set equal to 2.5 · p346 by default; the demagnetizing time is longer than the magnetizing time because dissipation is slower than charging at the same stator voltage.
Two limits apply:
- Lower limit:
0.1 · r384seconds (i.e. a minimum of 10 % of the actual flux setpoint in seconds). - Upper limit: 50 % of the calculated rotor time constant, capped at the value the commissioning tool displays in the parameter view.
The STARTER / Startdrive help text refers to r384 as the input for the lower limit because r384 is the only normalized flux quantity available in the parameter tree. In recent firmware (V5.x and later) the parameter view in Startdrive exposes r384 directly under the drive status, but it does not appear as a free parameter in older STARTER 5.x projects - this is purely a display-tree difference, not a firmware change.
4. The r384 Relationship and Why r384 Is "Missing"
r384 is a connect-bin (visualization parameter) on the S120 control unit, not a configurable parameter. In STARTER projects prior to V5.4 SP3 it is hidden inside the expert list and the commissioning tool shows only the lower limit field "0.1 · r384" without an expandable reference. From firmware V5.2 and in TIA Portal Startdrive V15.1 and later, the value of r384 can be made visible by enabling the "Display all parameters / show hidden parameters" option in the project tree. The value is reported in percent of rated flux; for a healthy drive operating at the rated flux setpoint it is close to 100 %.
r384 is genuinely absent from your STARTER project, the most common reason is a MDS not assigned or a missing drive object configuration. Open the drive object, navigate to Configuration → DDS/MDS overview, and verify the motor data set is populated. The minimum value of p346 will then display as the 0.1 · r384 placeholder correctly.5. r0056 Status Word - Magnetization Complete
Covariate with the time constants is the closed-loop status reported in r0056. The bit assignments relevant to flux build-up are:
| Bit | Name | Description |
|---|---|---|
| 0 | Control / readiness | Power-on, no fault, line-side ready. |
| 1 | Enable possible | ON command accepted, hardware enables closed. |
| 3 | Pulses enabled | IGBT modulation active. |
| 4 | Magnetization completed | Flux has reached the steady-state setpoint. This is the bit to use for synchronized start release. |
| 6 | n_act = n_set | Speed reached setpoint. |
Refer to the SINAMICS S120/S150 List Manual for the full status/control word mapping including r0056, STW1, and STW2.
6. Root Cause of the Start-Time Variance
When the S7-400 issues OFF1 plus a speed setpoint to all 100 drives in a single PROFIBUS DP cycle, the drives do not all start acceleration at the same instant. The S120 internal pre-magnetization phase is finished when the internal flux_controller_active state has settled, and the time to settle is dominated by p346. On an aggregate line the following variations contribute:
-
Motor data variation. Even motors from the same frame can have a 10-15 % spread in rotor resistance due to winding temperature, copper grade, and end-ring differences. The stationary measurement fits a unique
p346per axis; these values will not be identical. - Cable length and loop impedance. At 150 m the cable impedance is no longer negligible. The line reactor on the drive output further limits di/dt during flux build-up, so the effective charging time is longer than the bare rotor time constant.
- Drive firmware revision drift. If a fleet of CU320 has mixed firmware (e.g. some V4.8 and some V5.2), the IGBT modulation settle time differs by ~0.5-2 ms, multiplying across the magnetizing phase.
- ON/OFF1 propagation. PROFIBUS DP cycle on 100 drives is not atomic; the S7-400 sends the control word in one cycle and the setpoint in the next, so the relative phase between control-word-update and speed-setpoint-update differs by one DP cycle per drive group.
Result: motor #1 begins to turn at t = 0, motor #50 at t ≈ 80 ms, motor #100 at t ≈ 200 ms. On a long machine this is visible to the operator as a wave of motion.
7. Synchronization Strategy
There are three practical strategies. They are listed in order of recommendation.
7.1 Strategy A - Wait for r0056 Bit 4 from Every Drive
This is the method endorsed in the original field discussion. The S7-400 holds OFF1 without speed setpoint, issues the command, polls ZSW1 Bit 4 (mapped to r0056 Bit 4) from every drive, and applies the speed setpoint only when all drives report "magnetization completed". Add a programmable headroom (typically 50-150 ms) to absorb the last percent of flux settling.
// S7-400 STL sketch, simplified
// p#dbDrive[i].ZSW1.Bit4 == 1 means r0056 Bit 4 is set
FOR i := 1 TO 100 BY 1 DO
IF p#dbDrive[i].ZSW1.Bit4 = FALSE THEN
GOTO waitloop;
END_IF;
END_FOR;
// All drives magnetized - apply common setpoint to PZD2
p#dbCmd.SpeedSetpoint := n_setpoint_rpm;
p#dbCmd.STW1.Bit6 := TRUE; // Setpoint enable
EXIT;
waitloop:;
END_FOR;
7.2 Strategy B - External Pre-Magnetization via Permanent ON Command
Keep OFF1 on every drive continuously, send only the speed setpoint, and pulse the "Enable setpoint" bit (STW1 Bit 6) for synchronized start. Because OFF1 is already closed, the drive runs the magnetizing phase from power-on and remains fluxed. This is the lowest-jitter option because the pre-magnetization runs in parallel across the entire PROFIBUS scan.
7.3 Strategy C - Manually Equalize p346
Acceptable as a last resort. Calculate the highest measured p346 across the fleet, then write that value to all drives. Use the formula:
p346_target = MAX(p346_1, p346_2, ..., p346_N) [seconds]
This guarantees the slowest motor is fully magnetized before any drive starts the speed ramp. The penalty is that fast motors spend extra dwell time at zero speed while waiting for the slowest. The penalty is small (typically < 100 ms) and is acceptable for process lines where synchronized start is more important than cycle time.
p346 manually, the drive will pre-magnetize longer than the rotor time constant requires. This is safe - it does not produce excess current or torque. The only effect is added dwell time. If you set p346 = 0, the drive will rotate the field with no rotor flux; the motor will not develop torque, will draw elevated magnetizing current, and will appear stalled. A no-load motor may rotate weakly because the residual rotor flux persists for several cycles, but this is not a usable operating point.8. PLC Integration with S7-400
The S7-400 should use SIMATIC S7-PCT-free direct PROFIBUS DP or PROFINET IO communication with the S120 CU320. Standard telegram types used for S120 vector control:
| Telegram | STW length | ZSW length | NSOLL length | Typical use |
|---|---|---|---|---|
| 1 | 16 bit | 16 bit | 16 bit | Standard speed control, single encoder. |
| 2 | 16 bit | 16 bit | 32 bit | Speed control, 32-bit setpoint resolution. |
| 3 | 16 bit | 16 bit | 32 bit + 16 bit | Speed + torque limiting. |
| 5 | 32 bit | 32 bit | 32 bit | Extended control word for SINAMICS S120 with DSC. |
The mapping of r0056 into ZSW1 is automatic for the standard telegrams; ZSW1 Bit 4 corresponds to the "magnetization completed" status. No extra BICO wiring is required.
For 100+ drives on PROFIBUS DP, the S7-400 must use a DP slave list with consistent bus cycle time. Siemens recommends ≤ 2 ms cycle with an 8-byte PZD slot for synchronous start. See the SINAMICS S120 Getting Started and the S120 Function Manual Drive Functions for the recommended S7-400 cyclic / acyclic data exchange.
9. Commissioning Procedure
- Verify the motor data set has been transferred from the drive configuration to the active MDS. In STARTER, right-click the drive → Load to target device.
- Run the stationary measurement:
p1910 = 1. Wait for the drive to complete measurement. The fittedp346andp347values are written automatically. - Read back
p346for all drives and record the values. Use the parameter export function in STARTER (target device → export parameter list) for batch export. - Decide synchronization strategy (A, B, or C above). For new installations Strategy A is recommended.
- If using Strategy A, modify the S7-400 user program to gate the speed setpoint on the AND of all
ZSW1 Bit 4signals with 100 ms headroom. - If using Strategy C, write the maximum
p346to every drive. Use the Parameter Set editor in STARTER with a multi-selection and the "Copy and paste values" function. Save the project to the PG and load to all drives. - Verify that
p347has been updated consistently. The drive derives it fromp346; if you changep346by hand, setp347 = 2.5 · p346to keep the demagnetization time sensible. - Save the values to non-volatile memory:
p0977 = 1on every drive, or perform "Copy RAM to ROM" from the STARTER toolbar.
10. Verification
After commissioning, the start-time variance must be ≤ one PROFIBUS DP cycle. Practical verification steps:
- Connect a 4-channel oscilloscope to the line-side current transformers of four motors (one near, one mid, one far end of the line).
- Trigger on the S7-400 output of the OFF1 command.
- Measure the time from trigger to first current edge on each channel. With Strategy A, all four edges should occur within 1-2 ms of each other (one DP cycle).
- Confirm the drive side: read
r0056cyclically. With Strategy A, the magnetization-completed bit on every drive should toggle at the same instant. Log the values in S7-400 and verify the Δt between the first and last drive is ≤ 200 ms even for the worst-case combination of cable length and motor temperature. - Functional check: run the machine through a full start / ramp / stop / restart cycle at least five times. Look for any drive that drops out of the synchronized window. If one drive lags consistently, its
p346is the outlier - re-run stationary measurement on that drive, or apply Strategy C to lift the value.
11. Edge Cases and Field Caveats
Hot motor drift. Rotor resistance changes by ~40 % from cold to operating temperature. If the machine is started cold and run for 30 minutes before stopping, the next start will see a p346 that is ~30 % shorter than the cold value. Strategies A and B are immune; Strategy C requires the maximum value to be re-measured hot, or to be sized for the worst case at cold start.
Line reactor on output. A line reactor on the drive output increases the stator-side leakage inductance, which the drive cannot distinguish from the stator inductance of the motor. Stationary measurement will see a higher effective inductance and write a larger p346. The drive remains stable, but the magnetizing phase is longer than the bare-motor time constant. Account for this in your Strategy C headroom.
Encoder loss during magnetization. If the encoder is connected through the SMC30 and the cable runs in the same tray as the motor cables for 150 m, induced noise on the encoder signal can corrupt the flux model during the first 100-200 ms. Use SMC30 with the differential 5 V HTL or SSI interface, route the encoder cable in a separate tray, and verify signal integrity with a scope on the encoder lines.
Power module sharing. On a multi-axis S120 Line Module + Motor Module configuration, the DC-link voltage is shared. If 100 motors magnetize simultaneously, the line module will see a current surge equal to 100 · Id_magnetizing. Verify the line module is sized for the surge; otherwise the DC-link voltage droops and the drives see a reduced effective magnetizing voltage, which lengthens the actual magnetization time beyond the calculated p346.
Firmware V5 vs V4. Pre-V5 firmware uses a different flux model for induction motors. The V5 model is more accurate on motors with high rotor leakage, but the bit assignments in r0056 are identical. If the fleet is mixed, normalize to V5.2 SP3 or later before tuning p346.
12. Answers to the Original Questions
Question 1: How do I optimize this value? Do not optimize the value of p346 by hand as a first step. Use Strategy A: wait for r0056 Bit 4 from every drive with a 100-150 ms headroom before issuing the speed setpoint. This makes the system independent of the per-axis variation in calculated p346. If the headroom exceeds 300 ms for a given drive, only then inspect the stationary measurement and consider Strategy C.
Question 2: What happens if I set p346 to 0 (or below 0)? The lower limit of 0.1 · r384 prevents entering 0 in the expert list. If you bypass the limit through a direct parameter write, the drive will start rotation with no rotor flux. The motor will not develop torque, will draw elevated magnetizing current, and will appear stalled. A no-load motor may rotate weakly on residual rotor flux but this is not a stable operating point. Always leave p346 ≥ 0.1 · r384.
13. Troubleshooting Matrix
| Symptom | Likely Cause | Check | Corrective Action |
|---|---|---|---|
| Wave-of-motion start across the line | p346 not synchronized | Read p346 from all drives; check ZSW1 Bit 4 timing | Strategy A or C |
| Single motor lags, others synchronized | Bad stationary measurement on that axis | Re-run p1910 on that drive | Re-identify motor, then re-test |
| Stall under load at start | p346 set too low or to 0 | Read p346, compare to rated rotor time constant | Restore calculated p346; do not bypass lower limit |
| Restart possible only after long wait | p347 too long | Check p347 = 2.5 · p346 | Reduce p347 to 2.5 · p346 |
| Trip F30021 (DC-link overvoltage) at stop | Demagnetizing energy dumped to DC bus | Check p347 and braking configuration | Verify line module has a brake chopper or a regenerative supply |
| Magnetization completed bit not set | Motor not identified, MDS empty | Check r384, r0056, p0300-0350 | Run stationary measurement; check motor nameplate data |
14. FAQ
What does p346 actually represent in a SINAMICS S120 induction motor?
p346 is the magnetizing time of the rotor. It is the time constant the drive uses to ramp the d-axis magnetizing current so the rotor flux reaches its setpoint. It is calculated from the rotor time constant measured during stationary identification (p1910).
Why is r384 not visible in my STARTER project?
r384 is a visualization parameter (connect-bin), not a free configuration parameter. In STARTER prior to V5.4 SP3 it is hidden in the expert list. Enable "Display all parameters" in the project tree to make it visible. The minimum value displayed for p346 in the help text remains 0.1 · r384 regardless.
Is it safe to set p346 to the highest value measured on the fleet?
Yes, provided p347 is set to 2.5 · p346. The drive will pre-magnetize longer than strictly necessary, but the rotor current is clamped to the rated magnetizing current, so there is no thermal penalty. The only effect is a short dwell time at zero speed at start.
Which S120 status bit should I use to confirm magnetization is complete?
Use r0056 Bit 4, mapped automatically to ZSW1 Bit 4 in the standard PROFIdrive telegrams 1, 2, 3, and 5. Gate the S7-400 speed setpoint on the AND of this bit across all drives plus 50-150 ms headroom.
What happens if I set p346 to zero or below the 0.1 · r384 limit?
The drive rotates the stator field before the rotor has built flux. No torque is developed, magnetizing current rises, and the motor appears stalled. Always keep p346 at or above the 0.1 · r384 lower limit, or use the value calculated by the drive from stationary measurement.
Does the line reactor on the drive output change the optimal p346?
Yes. The reactor adds leakage inductance, which the stationary measurement includes. The drive writes a larger p346 than the bare-motor time constant. The magnetizing phase is longer but the system is stable. If you manually tune p346, leave headroom for the reactor contribution.