pull down to refresh

Use a voltage/current condition, not only a fixed delay. A fixed five-second timer may work during commissioning and fail later when the driven load, supply impedance, or acceleration time changes.

First estimate whether each start is acceptable. At the MCC, obtain the available three-phase short-circuit current from the utility study or calculate a first approximation from the transformer:

I_FL(transformer) = S / (sqrt(3) * V_LL)
I_SC(at transformer terminals) ~= I_FL / Z_pu
first-order voltage dip (pu) ~= I_start / I_SC

For example, a 1,000 kVA, 400 V transformer with 6% impedance has about 1,443 A full-load current and 24 kA terminal fault current. A motor drawing 1,800 A while starting would cause roughly 1,800/24,000 = 7.5% dip before adding upstream and cable impedance. Use the motor manufacturer's locked-rotor/current-versus-time curve: DOL starting is often 5-7 times FLA, while a soft starter or VFD changes both the current and acceleration time.

For a better calculation, include transformer, generator/utility, and cable R/X in a motor-starting load-flow study. A simple feeder check is:

Delta V_LL ~= sqrt(3) * I_start * (R*cos(phi) + X*sin(phi))

but starting power factor is low and the existing running motors must also be included. The permitted sag is an engineering requirement, not a universal number; check the utility/transformer limits and the dropout voltage of contactors and controls. A common design target is to keep the transient at the MCC around 10% or less, but that is only a starting criterion.

The PLC sequence I use is:

  1. Calculate the preferred order from the study. Starting the largest/highest-inrush motor first often helps because the bus has the least existing load, unless the process dictates another order.
  2. Before each start require: bus voltage healthy, no transformer/MCC alarm, no motor trip, permissives true, and no other motor in STARTING state.
  3. Issue the start command and start a maximum-acceleration timer.
  4. Require auxiliary RUN feedback, then wait until measured current is below a configurable threshold (for example 1.2-1.5 x FLA) continuously for a stabilization dwell such as 2-3 seconds.
  5. Only then release the next motor. If RUN feedback never arrives, current stays high, or voltage falls below the limit, abort the sequence and identify the failed motor. Do not blindly skip it unless the process safety study explicitly allows that.

IEC 61131-3 structured-text pseudocode looks like this:

CASE step OF
  READY:
    IF autoStart AND allCommonPermissives THEN step := START_M1; END_IF;

  START_M1:
    cmd[1] := TRUE;
    IF runFb[1] AND amps[1] < 1.30 * fla[1] AND stableFor(1, T#3s) THEN
      step := START_M2;
    ELSIF startTimeout(1) OR busVoltage < minStartVoltage THEN
      cmd[1] := FALSE;
      faultMotor := 1;
      step := ABORTED;
    END_IF;

  START_M2:
    (* same reusable function block for motor 2 *)
END_CASE;

Implement the repeated part as a tested MotorStartStep function block and drive an array of eight motor records (command, run feedback, amps, FLA, timeout, permissive, fault). OpenPLC can run IEC 61131-3 logic for a proof of concept; for the real MCC, use the PLC/vendor toolchain accepted by the plant and test with recorded current and bus-voltage trends.

The maximum start timeout can be based on the motor/load acceleration calculation, t_acc = integral(J * d_omega / accelerating_torque), or more practically on the manufacturer's start curve plus measured commissioning time and a documented margin. Also check starts-per-hour and transformer/motor thermal limits; a sequence that avoids instantaneous sag can still overheat equipment after repeated restarts.

Emergency stops, short-circuit protection, overload protection, and personnel-safety interlocks must remain in safety-rated hardware or a safety PLC. The sequencing PLC coordinates starts; it should not replace the protective system.