Sinamics G120 Switching Speed Setpoint from Profibus to Analog

David Krause11 min read
SiemensTechnical ReferenceVFD / Drives
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 Statement

A common field requirement on multi-drive Siemens Sinamics G120 installations is mixed control: the PLC keeps Profibus/Profinet control words (STW1 / ZSW1) for run, stop, direction, and fault acknowledgement, while one drive in the group must accept its speed reference from a local analog source (HMI slider, potentiometer, 4–20 mA loop). The naive approach is to change P1070 or P1000 on the Basic Operator Panel (BOP) and rewire. The drive then refuses to write, returns fault F01910, or silently keeps the Profibus word as the active reference. The root cause is parameter protection imposed by P0922 (PROFIdrive PZD telegram selection). This reference explains the parameter model, the lock condition, and every documented workaround.

Sinamics G120 Setpoint Architecture

The G120 evaluates the speed reference through a two-stage selector before it reaches the ramp-function generator (RFG) and the motor-side speed controller. Understanding this chain is required before touching any parameter.

Stage Parameter Function Data Type
Macro / source selection P1000 Selects the default frequency setpoint source as a bit-coded macro (e.g. analog, motor potentiometer, fixed setpoint, fieldbus). Integer / bits
Connector input P1070 Main setpoint — a CI (Connector Input) that accepts any internal or external signal of type NORM (normalized 0.0–1.0) or percentage. Connector Input (CI)
Supplementary setpoint P1075 Added to P1070; default = 0. CI
RFG input P1070 + P1075 Drives the ramp-function generator input. NORM

Conceptually, P1000 writes into P1070 at startup. Once the drive is commissioned, an integrator typically overrides P1070 with a free-wired connector (BICO) from the analog input or fieldbus word. The two parameters are not redundant — they sit at different abstraction layers.

P1000 vs P1070 — Functional Difference

Aspect P1000 P1070
Role Quick-commissioning macro selector Live BICO signal selector
Default values per macro Writes a default into P1070, P1075, P1110, P1113 No side effects
Editable at runtime Only in quick commissioning (p0010 = 1) Yes, when unlocked
Typical use Initial setup Continuous integration with PLC / HMI
Accepts which sources? Predefined list (analog, MOP, fieldbus, fixed) Any BICO source (r0755 analog, r2050 PZD, r2250 technology, etc.)

Field-proven rule: during live operation edit P1070 directly. P1000 is a starting point, not a runtime switch. Setting P1000 alone without re-coupling P1070 leaves the drive in the previous state until the next power cycle or factory reset.

P0922 — The Lock Mechanism Behind F01910

P0922 selects the active PROFIdrive PZD telegram (1, 2, 3, 4, 20, 350, 352, 353, 354, 999 = free BICO). When a standard telegram is selected, the SINAMICS firmware re-routes the relevant PZD words into fixed BICO sinks. Specifically:

  • Telegram 1 / 2 / 3 / 4: PZD word 2 (NSOLL_A) is routed to r0062 and clamps P1070 / P1075 against manual overwrite.
  • Telegram 20: full PROFIsafe / process data with speed setpoint in PZD 2.
  • Standard telegrams also set P2051 (PZD send) and P2050 (PZD receive) implicitly.

The write-protection on P1070 is enforced by the parameter supervisor when P0922 > 0 (any non-free telegram). Attempting to write the parameter raises F01910 "Fieldbus setpoint timeout" or simply rejects the value with status r3996 = 7 (write protection active). This is the symptom the operator sees at the BOP.

Important: P0922 = 999 is the "free BICO" telegram. Selecting 999 removes the implicit PZD-to-connector routing and unlocks P1070 for manual wiring. Selecting 999 is the standard workaround for mixed analog + Profibus operation.

Prerequisites

  1. Sinamics G120 with CU240S/D/E-2 control unit (or G120C, G120P with the same firmware behaviour). Verify via r0001 = control unit type and r0964[0..3] firmware version.
  2. Firmware ≥ V4.4 recommended for the dual-source pattern below. Earlier versions use the P0922 = 4 default and the BOP write path is identical but parameter access rights differ.
  3. Basic Operator Panel (BOP-2) or IOP with write access level ≥ Standard (set in P0003 = 3).
  4. Analog input wired to terminals 3/4 (AI1, ±10 V / 0–10 V) or 6/7/8 (AI2, 0/4–20 mA). Confirm scaling in P0756 and P0761.
  5. PLC project must continue sending STW1 = 047Eh (UNFREEZE / stop) and 047Fh (RUN) on PZD1; the speed word (PZD2) is ignored once the analog override is in effect.

Analog Input Parameter Stack (Reference)

Parameter Meaning Typical Value
P0756[0] Type of AI0 (AI1 of CU) 0 = 0–10 V unipolar, 1 = 0–10 V bipolar, 2 = 0–20 mA, 3 = 4–20 mA
P0757[0] Scaling start (x1) 0.0 V (0 %)
P0758[0] Scaling value at x1 (y1) 0.0 %
P0759[0] Scaling end (x2) 10.0 V (or 20.0 mA)
P0760[0] Scaling value at x2 (y2) 100.0 %
P0761[0] Wire-break threshold 2.0 V (only meaningful for 4–20 mA)
r0755[0] Actual AI0 in % (read-only, −200.0…200.0) Diagnostic

Step-by-Step BOP Configuration

The procedure keeps Profibus active for control words. It rebinds the speed setpoint path only.

  1. Power on the drive, enter Expert access. BOP-2 path: MENU → PARAMETER ACCESS → P0003 = 3.
  2. Select the free-BICO telegram so the firmware releases P1070 from the standard PZD2 route:
    P0922 = 999 (free BICO). The drive briefly goes OFF2; the PLC control word is re-read on the next cycle. This is expected.
  3. Confirm control-word coupling is intact. The PLC continues to send STW1 on PZD word 1. Verify r2050[0] follows the received PZD1 and that the drive returns to ZSW1 = 0637h (ready, enabled).
  4. Wire the analog input as the main setpoint.
    P1070[0] = 755 (CI: r0755[0] — AI0 percentage).
    If a supplementary path is also needed (e.g. for trim), leave P1075[0] = 0; otherwise P1075[0] = 755 for a second analog channel.
  5. Disable any pre-set ramp bypasses that may clamp the analog path:
    P1110[0] = 0 (no fixed setpoint override)
    P1113[0] = 0 (no direction reversal from setpoint sign)
    P1140[0] = 1 (RFG active — keep ramp times P1120 / P1121 meaningful).
  6. Configure analog scaling for the chosen transducer (see table above). For a 10 kΩ pot on AI1 use P0756[0] = 0, P0759[0] = 10.0, P0760[0] = 100.0.
  7. Save parameters to EEPROM: BOP-2 → MENU → SAVE TO MEMORY → OK. Without this step, the change is lost on power-cycle.
  8. Cycle the drive (OFF1 → wait 3 s → ON). Watch r0021 (actual frequency) when the potentiometer is rotated. The PLC control word is unaffected.
Critical: if the PLC continues to send PZD word 2 (NSOLL_A) at full scale (e.g. 4000h = +100 %) and the drive is now ignoring it, ensure the PLC application does not rely on echo back of the setpoint. The PLC's process image will still show the transmitted value, but the drive's actual speed will follow the analog. Log a non-zero discrepancy in the PLC if this matters.

Workarounds When P1070 Remains Locked

If P0922 = 999 cannot be set (the PLC programmer insists on standard telegram 1, or the HMI is wired against the standard profile), use one of the following:

Workaround A — Free telegram (recommended)

Switch PLC hardware configuration to "Free telegram 999" in TIA Portal / STEP 7. Only the necessary PZD words are mapped. PZD1 = STW1/ZSW1, PZD2 unused. Same drive count, fewer mapping conflicts.

Workaround B — Disable P1070 protection via P0922 = 0

Setting P0922 = 0 disables PROFIdrive PZD setpoint coupling. The drive treats fieldbus as control-word only. This is the original Siemens recommendation for the user's case.

Workaround C — Override the fieldbus word with the analog source

Wire P1070 = 755 first, then issue the write while P0922 = 999. If the application forces P0922 = 1 from the PLC at every startup, place a parameter-init script in the drive that runs P0922 = 999 → P1070 = 755 from a startup macro (P0010 = 0, P0015 macro) so the drive reverts after every PLC handshake.

Workaround D — Drive-based HMI control via BOP / IOP

If the request is "local control via HMI without PLC software changes," fit a Smart Access Module (SAM) or a Siemens Webserver module and run a built-in drive web page. The setpoint is written by the HMI to P1070 directly over the drive's service interface. Profibus control words are untouched.

Workaround E — Motor potentiometer (MOP)

Set P1000 = 7 (analog + MOP) and use P1035 / P1036 for UP/DOWN digital inputs. Field service reports this is the most robust fallback when no analog is available — but the user must wire physical buttons or use the HMI's MOP screen.

Verification Procedure

  1. With drive enabled via Profibus (PLC sends STW1 = 047Fh), ramp potentiometer from 0 → 100 %.
  2. Monitor r0021 (motor speed Hz) and r0024 (output frequency). The values must track r0755[0].
  3. Check r3996 (parameter reject cause) = 0. Any non-zero value means the write was rejected; refer to the table below.
  4. Trigger a Profibus stop: PLC sends STW1 = 047Eh. Drive must coast (OFF1 ramp). Speed setpoint from potentiometer is irrelevant during OFF1.
  5. Cause a fault: open the AI wire (4–20 mA, P0761 = 2.0 V). The drive should trigger F03505 (AI wire break) within 100 ms, communicate it to the PLC via ZSW1 bit 3 = fault and ZSW1 bit 6 = switch-on inhibit active.
  6. Reconnect and acknowledge the fault from the PLC: STW1 bit 7 rising edge. Verify r0949[0] = 3505 and the fault clears.

Troubleshooting Matrix

Symptom Fault / Alarm Likely Cause Fix
Write to P1070 rejected r3996 = 7 P0922 standard telegram active Set P0922 = 999 (free BICO)
Drive trips shortly after run command F01910 PLC stopped sending PZD2 (NSOLL_A) Either keep NSOLL_A alive, or set P0922 = 999 and let P1070 be the sole setpoint
Motor runs at max speed regardless of pot None P1075 still = 755 (analog) and P1070 not changed Set P1070 = 755, P1075 = 0
Speed reference follows fieldbus, not pot None PLC writes P1070 via acyclic parameter access on every cycle Disable acyclic write in PLC, or remove the parameter from PLC's HMI tag list
AI reads 0% at 5 V None P0756 set to 0–20 mA on voltage input Set P0756 = 0 (0–10 V) or 1 (bipolar)
Drive coasts instead of ramping on analog setpoint change None P1140 = 0 (RFG bypassed) Set P1140 = 1
4–20 mA signal drives 100 % at 12 mA None P0759 = 20.0 but P0756 = 0 (voltage) Set P0756 = 3 (4–20 mA) and P0757 = 4.0
Direction reverses on negative analog None P1113 = 1 active Set P1113 = 0
Fault after PLC handshake F08501 PROFIsafe telegram mismatch Do not use free telegram 999 with PROFIsafe-enabled CU; keep standard telegram and use SAM/webserver for HMI

Parameter Quick-Reference Table

Parameter Name Default (Telegram 1) Recommended for Analog Override
P0015 Macro drive unit 0 Select macro 7 or 21 (analog + Profibus) if available
P0922 PROFIdrive PZD telegram selection 1 999 (free BICO)
P1000 Selection of frequency setpoint 6 (fieldbus) 1 (analog) — quick commissioning only
P1070 Main setpoint 2050[1] (PZD2) 755 (AI0%)
P1075 Supplementary setpoint 0 0
P1110 Inhibit negative direction 0 0
P1113 Direction reversal by setpoint sign 0 0
P1140 RFG enable 1 1
P2050[0] CI PZD receive word 1 STW1 Leave default
P2050[1] CI PZD receive word 2 NSOLL_A Leave (unused if P1070 = 755)

Edge Cases and Field Notes

  • Three-drive synchronous runs: the user's three drives share one setpoint. Once drive #2 is rebound to analog, the other two still read the PLC's PZD2. To keep the PLC's process image consistent, write 0 to NSOLL_A for drive #2 from the PLC instead of removing the PZD2 mapping.
  • Safety: any PROFIsafe profile (telegrams 30, 31) cannot be broken to free BICO 999 without deactivating safety. For Safety-Integrated drives, use the SAM/Webserver approach only, never P0922 = 999.
  • Save and verify: always issue P0971 = 1 or BOP-2 "Save to memory" after the parameter set is final. Cold restart from a power cycle is the only definitive test that the change persisted.
  • Acyclic writes from the PLC (DPV1 / acyclic PKW) may overwrite P1070 on every restart. Disable the acyclic write for the setpoint parameter in the PLC's parameter assignment, or the drive will revert on the next PLC cycle.

What is the difference between P1000 and P1070 on a Sinamics G120?

P1000 is a quick-commissioning macro selector that only writes during p0010 = 1; it is not a runtime switch. P1070 is the live BICO connector input that defines the actual main setpoint path at runtime. Edit P1070 for live setpoint routing; P1000 is a starting point only.

Why does the drive refuse to write P1070 when Profibus is active?

P0922 (PROFIdrive PZD telegram selection) is non-zero, and the firmware re-routes PZD word 2 (NSOLL_A) into the setpoint path. This locks P1070 and P1075 from manual overwrite. Set P0922 = 999 (free BICO) to release the lock, or use telegram 1 and keep the fieldbus setpoint alive.

Can I keep Profibus run/stop and use an analog speed reference at the same time?

Yes. Configure P0922 = 999 (free BICO), set P1070 = 755 (r0755[0] — AI0 percent), and leave P2050[0] mapped to STW1. The PLC continues to control run, stop, direction, and fault acknowledgement; the analog input becomes the speed reference. Verify with r0021 following the potentiometer.

What happens if the PLC keeps sending a speed setpoint (PZD2) while the drive is on analog?

The drive ignores PZD2 because P1070 has been redirected. The PLC's transmitted value is not echoed back; the drive's actual speed follows the analog. If the PLC application monitors the setpoint, the discrepancy will show. Set the PLC to send 0 on PZD2 to keep the process image consistent.

What is the recommended value for P0756 on a 0–10 V potentiometer?

P0756[0] = 0 (unipolar 0–10 V), P0757 = 0.0, P0758 = 0.0, P0759 = 10.0, P0760 = 100.0. For 4–20 mA use P0756[0] = 3, P0757 = 4.0, P0759 = 20.0, and enable wire-break detection with P0761[0] = 2.0.

How do I unlock parameter access when the BOP shows write protection?

Set P0003 = 3 (Expert access). If P1070 still rejects, P0922 is the cause: change P0922 to 999. For PROFIsafe telegrams (30/31), P0922 cannot be changed without disabling safety — use a Smart Access Module for the HMI setpoint instead.

Back to blog