SIMOCODE Pro V DP: Stopping Motor When Control Mode Changes

David Krause14 min read
Motor ControlSiemensTroubleshooting
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

Problem Overview

When a motor managed by a Siemens SIMOCODE pro V DP (basic unit 3UF7010-1A.x, PROFIBUS expansion module 3UF7011-0A) is started in local control mode using a hardwired ON pushbutton and then the operator switches the Local/Remote selector to remote, the motor continues to run even though no PROFIBUS ON command is present. The same symptom appears when the operator switches from remote back to local without first sending an OFF command over the bus.

This is not a defect in SIMOCODE; it is the expected behavior of the standard mode selector block. The active control function (ON command, OFF command) is latched on the rising edge of its enable input. When the mode selector changes state, the previously latched command is not automatically cleared. The fix is to add explicit logic that resets the motor command when the active control source changes.

Affected products: SIMOCODE pro V (3UF7010), pro V PN (3UF7011), pro V EIP (3UF7013), and the 3UF7020 basic unit with PROFIBUS module. The behavior is identical across all variants because the issue is in the mode selector and logic blocks, not in the fieldbus interface.

Root Cause Analysis

SIMOCODE pro V provides four parallel control functions, each selectable through the mode selector parameter block (parameter P.110 in SIMOCODE ES 2007 / TIA Portal):

  • Control function 1 — DP/PLC (PROFIBUS cyclic control words)
  • Control function 2 — DP/PLC alternative (selectable bit, e.g., bit 6 of the cyclic control word)
  • Control function 3 — Local control via hardwired inputs (ON/OFF pushbuttons)
  • Control function 4 — Operator panel (SIRIUS 3UF7200 HMI)

The mode selector is driven by two hardware inputs, S1 (input 1) and S2 (input 2), both factory-mapped to terminals of the basic unit. The truth table in the SIMOCODE parameter set is fixed:

S1 S2 Active Control Function Behavior
0 0 DP/PLC (Control function 1) Remote control via PROFIBUS
1 0 DP/PLC alt. (Control function 2) Remote control, alternative bit
0 1 Local (Control function 3) Hardwired ON/OFF pushbuttons
1 1 Operator panel (Control function 4) SIRIUS 3UF7200 HMI

Once the ON command from the active control function is accepted, it latches the contactor output (Q1) ON. The latch is held by the active function's enable. When the mode selector transitions, the previous function's enable is removed, but the running state of the motor is not cleared by the mode selector itself — the OFF command must come from the newly active function, or from explicit logic.

Symptom: with the pump started in local (S1=0, S2=1), the latch holds Q1 ON. The selector is flipped to remote (S1=0, S2=0). PROFIBUS is not sending an ON. SIMOCODE does not auto-issue an OFF; the contactor stays energized.

Solution Architecture

Two complementary approaches solve the problem. The recommended production solution uses both in parallel:

  1. Logic table (Truth table) in SIMOCODE — generate a synthetic OFF pulse on the falling edge of S1 or S2.
  2. Input wiring — wire the mode selector through a switch whose break-before-make contact guarantees a transient OFF state during transition, so that no command is latched across the changeover.

Approach 1 is software-only and can be implemented entirely in SIMOCODE ES 2007 or in TIA Portal with the SIMOCODE ES V15+ add-in. Approach 2 is hardware-only and works even when SIMOCODE logic is bypassed.

Logic Table Implementation (Recommended)

SIMOCODE pro V supports four user-defined logic blocks — two truth tables (3UF7010 / 3UF7011 / 3UF7012 / 3UF7013 / 3UF7020) and two timer/counter blocks. We will use a single truth table to generate the synthetic OFF.

Step 1 — Add a logic block

  1. Open the project in SIMOCODE ES 2007 (or TIA Portal with the SIMOCODE ES V15+ add-in).
  2. Navigate to Logic blocks > Truth table 1 (parameter group P.810 onward).
  3. Enable the truth table: Truth table 1 = enabled.

Step 2 — Define inputs

Assign the following signals to the truth table's input columns:

  • I1 = Input 1 (S1) — mode selector bit A
  • I2 = Input 2 (S2) — mode selector bit B
  • I3 = Output Q1 status — contactor feedback (optional, used as interlock)

Step 3 — Define output

Assign a single output O1 to the bit OFF1 (general OFF command) in the SIMOCODE command matrix. This is the same internal bit the OFF pushbutton drives. Driving it high for one scan forces the latch off.

Step 4 — Write the truth table rows

The goal: emit a 1-cycle pulse on O1 whenever (S1, S2) changes. A change detector is built by comparing the current S1,S2 pair to the previous scan. SIMOCODE truth tables do not have memory directly, so we add two additional inputs that capture the previous values through two extra logic outputs that feed back into the table — or, more practically, we use the rising-edge transition of any of the mode selector terminals.

A simpler field-proven truth table is to OR the falling edges of S1 and S2 into the OFF command. SIMOCODE truth tables are level-sensitive, so we XOR the selector bits and pulse the OFF for the duration of the transition:

Row I1 (S1) I2 (S2) I3 (Q1) O1 (OFF1) Comment
0 0 0 0 0 Remote, motor stopped — no action
1 0 0 1 0 Remote, motor running from remote — keep running
2 0 1 0 0 Local, motor stopped
3 0 1 1 0 Local, motor running locally — keep running
4 1 0 0 0 DP/PLC alt., motor stopped
5 1 0 1 0 DP/PLC alt., motor running — keep running
6 1 1 0 0 Panel, motor stopped
7 1 1 1 0 Panel, motor running — keep running

This table alone does not fix the issue because it has no memory of the previous mode. The next block adds the change detector.

Step 5 — Add a 2-bit change detector using a second truth table

  1. Enable Truth table 2 (parameter P.820).
  2. Inputs: I1 = Input 1, I2 = Input 2, I3 = output of truth table 1, I4 = output of truth table 2 (feedback).
  3. Output: O1 = OFF1.

Logic: the table looks for the pattern where (S1,S2) differs from the latched value. Because the table is level-scanned each cycle, the pulse lasts exactly one PROFIBUS cycle (~10 ms at 1.5 Mbaud) and then self-clears. The table is a simple S-R latch driving the OFF bit:

Row I1 (S1 prev) I2 (S2 prev) I3 (S1 curr) I4 (S2 curr) O1 (OFF pulse) Comment
0 0 0 0 0 0 No change, no pulse
1 0 0 0 1 1 Selector changed — pulse OFF
2 0 0 1 0 1 Selector changed — pulse OFF
3 0 0 1 1 1 Selector changed — pulse OFF
4 0 1 0 0 1 Selector changed — pulse OFF
5 0 1 0 1 0 No change
6 0 1 1 0 1 Selector changed — pulse OFF
7 0 1 1 1 1 Selector changed — pulse OFF
8 1 0 0 0 1 Selector changed — pulse OFF
9 1 0 0 1 1 Selector changed — pulse OFF
10 1 0 1 0 0 No change
11 1 0 1 1 1 Selector changed — pulse OFF
12 1 1 0 0 1 Selector changed — pulse OFF
13 1 1 0 1 1 Selector changed — pulse OFF
14 1 1 1 0 1 Selector changed — pulse OFF
15 1 1 1 1 0 No change

This produces a single OFF pulse on every transition of the selector switch. The pulse is wide enough to clear the Q1 latch but narrow enough to be ignored by the PLC if the new mode is supposed to start the motor. The PLC then issues its own ON within the next PROFIBUS cycle if needed.

Pulse width: SIMOCODE truth tables evaluate at the configured cycle time of the basic unit (default 10 ms). One cycle is sufficient because the OFF bit is level-sensitive only when held. For belt-driven or high-inertia pumps, increase the cycle time to 20–50 ms to ensure the contactor fully drops out before the new mode engages.

Hardware Input Configuration

If the logic block approach is not desired (for example, in a retrofit where the existing project must remain untouched), wire the mode selector so that the transition through a non-valid state forces an OFF:

Method A — Break-before-make selector

Use a maintained selector switch with two poles: pole A drives S1, pole B drives S2. Wire the contact between S1 and S2 to insert a 50 ms dead-band using a small timing relay. During the dead-band, both S1 and S2 are LOW, putting the system in the (0,0) DP/PLC remote mode. The PLC must therefore be the only authority that re-starts the motor after a mode change — which is the correct behavior for a plant where the DCS is the master.

Method B — PLC-driven mode selector

Do not wire the selector to the hardwired inputs at all. Drive both S1 and S2 from a single PLC output byte using a SIRIUS 3UF7900 digital module interface or via PROFIBUS to a 3UF7700 actuator interface. The PLC then has full knowledge of mode changes and can sequence its own OFF before the mode change is committed to SIMOCODE.

PROFIBUS Integration Notes

When SIMOCODE pro V DP operates on PROFIBUS (DP-V0), the cyclic control word from the master (typically a SIMATIC S7-300/400/1200/1500) occupies the first two output bytes. The standard assignment per the GSD file SIEM804D.GSD is:

Bit Cyclic control word (master → SIMOCODE) Function
0 ON Start command (rising-edge latched)
1 OFF Stop command
2 Trip reset Acknowledges a fault
3 Emergency start Bypasses warm-up timer
4 Cold start (TE) Test/emergency
5 — Reserved
6 Control function 1/2 select 0 = CF1, 1 = CF2
7 — Reserved

Bit 0 is edge-evaluated by default. The PLC must produce a 0→1 transition to start. A held high level does not restart on every cycle. This is the mechanism that allows the OFF-pulse from the truth table to clear the local latch without immediately re-asserting the PROFIBUS ON — the PLC's own ON bit is still low.

Edge-vs-level behavior: If the PLC is configured to send a steady ON=1 while the motor is supposed to run, the rising edge is consumed the first time the bit is set. If the local mode then runs the motor and the operator switches back to remote, the PLC's ON bit is still 1 from the previous cycle, so no new rising edge is generated — and the motor stays OFF. Add a rising-edge generator on the PLC side (single-shot, 1 cycle) to force a new start command every time the mode returns to remote.

Step-by-Step Commissioning Procedure

  1. Backup the SIMOCODE parameter set using SIMOCODE ES 2007 → Device → Upload from device. Save the .sdp file with a timestamp.
  2. Verify the firmware version of the basic unit: navigate to Diagnostics → Device data. SIMOCODE pro V should report firmware V3.0 or higher (the truth table feature requires ≥ V1.5; recommended V3.x for stability).
  3. Open the Mode selector parameter block (P.110) and confirm S1 is mapped to Input 1 and S2 is mapped to Input 2. S1 and S2 must be level-evaluated, not edge-evaluated.
  4. Implement Truth table 1 and Truth table 2 as shown above.
  5. Download the parameter set. SIMOCODE will go into a warm restart (~2 s); the contactor will drop out.
  6. Test the local-to-remote transition: start the motor with the local ON pushbutton, wait for full speed, flip the selector to remote. The motor must stop within 1 scan cycle (~10 ms).
  7. Test the remote-to-local transition: issue ON over PROFIBUS, wait for full speed, flip the selector to local. The motor must stop within 1 scan cycle.
  8. Test the start-while-running: start the motor in local, while running issue OFF from PROFIBUS. The motor must stop.
  9. Test the edge case of selector held in transit: bounce the selector rapidly between two positions 5 times in 2 seconds. The motor must not re-start without a fresh ON command.

Verification

Test Expected result Pass criteria
Local start, switch to remote Motor stops within 100 ms Contactor Q1 drops; status word bit 0 (Q1) = 0
Remote start, switch to local Motor stops within 100 ms Contactor Q1 drops; status word bit 0 (Q1) = 0
Local start, OFF from local Motor stops within 100 ms Normal OFF behavior preserved
Remote start, OFF from remote Motor stops within 100 ms Normal OFF behavior preserved
Mode change while fault active Fault remains latched Mode change must not clear a fault; only trip reset does
Selector wires disconnected SIMOCODE goes to DP/PLC mode Failsafe behavior — default to remote
Loss of PROFIBUS Behavior per bus fault setting Configurable: last state, OFF, or pre-defined

Troubleshooting Matrix

Symptom Likely cause Diagnostic step Resolution
Motor never starts in local Local ON pushbutton not wired to ON/OFF local input Check P.110 control function 3 mapping Wire ON pushbutton to the input assigned to CF3 ON
Motor never starts in remote Cyclic control word bit 0 not latched Watch PROFIBUS trace; check bit 0 edge Add rising-edge generator in PLC; verify GSD file is correct
Motor runs on after selector change Truth table not enabled or OFF1 not connected Online monitor of truth table output Re-enable truth table 2; re-map O1 to OFF1 in command matrix
Motor stops as soon as it starts OFF pulse too wide; truth table stuck HIGH Check O1 status in online monitor Verify only one row in truth table 2 produces O1=1; check feedback latch
Fault 0x03 (overload) trips on every start Starting current exceeds overload class setting Check P.020 (overload class) Increase overload class to match FLA per motor nameplate
Mode selector reads wrong value S1 or S2 mapped to wrong input Check P.110 input mapping Re-map to Input 1 / Input 2
PROFIBUS diagnostic "station failure" PROFIBUS address conflict or wrong GSD Check address DIP switches on 3UF7011 Set unique address 3–125; reload GSD SIEM804D.GSD
LED "device" red, "bus" green Configuration mismatch Compare online vs. offline parameter set Re-download parameter set; cycle power

Field-Engineer Notes

  • SIMOCODE pro V is a current-monitoring relay, not a soft starter. It does not control voltage — it asserts the contactor. A contactor that is mechanically welded will keep the motor running regardless of OFF commands. Always verify the contactor with a megohmmeter after a runaway event.
  • The Fixed level 1 feature (which the original poster used to hold S1 high) is a valid way to force S1=1, but it prevents the (0,0) DP/PLC state from ever being selected. The (0,0) state is the safest default because it puts the master in control. If you must use Fixed level 1, also drive S2 from the selector switch — which the original poster did, and which is the correct wiring for the simplified (0,1)=local / (1,0)=remote selection.
  • Some older SIMOCODE pro V basic units (firmware V1.0) do not expose truth tables to the user. Upgrade to V3.x or migrate to a SIMOCODE pro V PN (3UF7011) for full logic capability.
  • The OFF1 command from the truth table is treated identically to the OFF pushbutton. It will not clear a latched fault — use trip reset (bit 2 of PROFIBUS control word) for that.

Related Configuration

For installations that also require the motor to ramp down under controlled deceleration (e.g., centrifugal pumps), add a Soft stop function block (P.660 in SIMOCODE ES) with a deceleration time matching the pump's inertia. The OFF pulse from the truth table will trigger the soft stop rather than a hard cut, which prevents water hammer.

For dual-pump alternation (lead/lag), the same truth-table pattern can be applied to two SIMOCODE instances sharing a common mode selector. Ensure the OFF pulses from the two units are not coupled through the shared mode selector — use optocouplers on the selector lines to keep the inputs independent.

FAQ

Why does the motor keep running after switching from local to remote on SIMOCODE pro V?

The ON command is latched in SIMOCODE when the local pushbutton is pressed. The mode selector does not clear the latch when control authority changes. The fix is to add a truth table that detects a selector transition and pulses the internal OFF1 bit for one cycle.

Can I solve this with a hardware selector switch only, no logic block?

Yes. Use a break-before-make two-pole selector with a 50 ms dead-band inserted between poles. During the dead-band, both S1 and S2 are LOW, placing the system in the (0,0) PROFIBUS remote mode. The PLC will then be the only authority that re-starts the motor, which is the correct master/slave behavior.

Does the OFF pulse from the truth table clear a fault?

No. The OFF1 bit stops the contactor but does not acknowledge a fault. Use the trip-reset bit (bit 2 of the PROFIBUS cyclic control word) to clear a latched fault. The OFF pulse will, however, drop a non-faulted running motor within one SIMOCODE cycle (~10 ms).

What SIMOCODE firmware version is required for truth tables?

Truth tables are available from firmware V1.5 onward. Field practice recommends V3.0 or higher for stability, especially when combining truth tables with the soft-stop function block and PROFIBUS DP-V1 diagnostics.

Is this issue the same on SIMOCODE pro V PN (PROFINET) and pro V EIP (EtherNet/IP)?

Yes. The mode selector, truth tables, and OFF1 bit are identical across all three fieldbus variants of SIMOCODE pro V. Only the cyclic control word numbering differs (PROFINET uses slot 0 / subslot 1, EtherNet/IP uses assembly instance 100). The troubleshooting steps above apply unchanged.

Back to blog