Overview of EPOS on SINAMICS S120
The SINAMICS S120 drive platform supports an integrated EPOS (Easy Positioning) basic positioner that turns a servo drive into a self-contained point-to-point positioning axis without an external motion controller. EPOS runs inside the Control Unit (CU320-2 or CU310-2) and exposes a standardized parameter set (p26xx, p25xx, p25xx) for traversing blocks, jog, homing, and direct setpoint input.
Standard commissioning relies on the STARTER / Startdrive tool, which presents the function modules graphically. When STARTER is unavailable (commissioning laptops restricted, drive already in production, headless cabinet, or scripted batch rollout), the BOP20 (Basic Operator Panel 20) or an uploadable script can perform the same parameter changes through the operator panel keypad or through parameter write services. The procedure below achieves a closed-loop servo drive with the basic positioner enabled using only the BOP20 and the parameter list manual.
Prerequisites and Hardware Requirements
Before touching the BOP20 keypad, verify the following:
- Control Unit: SINAMICS S120 with CU310-2 PN/DP or CU320-2. EPOS is firmware-activated on these units; on CU310-2 the function module must be enabled (see r0108 below).
- Power Module: Single-axis AC drive (e.g., PM340 blocksize or Smart Line Module + Motor Module) sized to the motor continuous current.
- Motor: Siemens Drive-CLiQ-equipped servo motor (1FK7, 1FT7, 1PH8, SIMOTICS S-1FK2/S-1FT2). Drive-CLiQ delivers automatic electronic nameplate detection; without Drive-CLiQ you must manually enter motor parameters from p0300…p035x.
- Encoder: Either built-in Drive-CLiQ encoder, or an SMC/SME module plus an external encoder on the motor.
- BOP20: The 6-button panel (order number 6SL3055-0AA00-4BA0). The older BOP (without the trailing "20") does not support the navigation needed for p0108 indexing.
- Firmware: SINAMICS S120 firmware V4.x or V5.x. The r0108 function module framework is consistent across both lines.
- Reference documentation: Current List Manual (LH1) and Commissioning Manual (IH1) for the firmware version on the drive. The SINAMICS S120 Commissioning Manual IH1_112009 shows the BOP20 quick-commissioning workflow with EPOS as a target application.
Understanding the Function Module Architecture (p0108 / r0108)
Function modules on the SINAMICS S120 are activated through the bit-coded parameter p0108. Two indices exist:
- p0108[0] – Currently active function module configuration (read-only equivalent is r0108).
- p0108[1] – Requested / required configuration. Writing here triggers a reconfiguration cycle on the next ramp-up / reset.
The status word r0108 reports the active bits:
| Bit | Function Module | Source Reference |
|---|---|---|
| r0108.0 | Closed-loop speed/torque control | List Manual, function diagrams 4xxx |
| r0108.1 | Servo control mode | List Manual |
| r0108.2 | Extended speed setpoint channel | List Manual |
| r0108.3 | Basic positioner (EPOS) | field report, List Manual |
| r0108.4 | Extended setpoint channel | field report, List Manual |
| r0108.5+ | Technology controller, free blocks, synchronism (firmware-dependent) | List Manual, firmware-specific function diagrams |
For EPOS on a Drive-CLiQ servo, the working value observed in field commissioning is:
p0108[1] = 0x011C (hex) = 0001 0001 1100 (binary)
Decoded: bits 2, 3, 4, and 8 set. Bit 3 enables the basic positioner, bit 4 enables the extended setpoint channel needed by EPOS setpoint sources, bit 8 enables additional EPOS features (positioning / modulo / relative moves) depending on firmware. This matches the field-tested p108 index 1 = 11C noted in the field report. Because the source documents only r0108.3 and r0108.4 as the user-visible indicators, the precise meaning of every bit should be cross-checked against the function diagram in the List Manual for the exact firmware build loaded.
Drive-CLiQ Motor Auto-Identification Sequence
Before touching EPOS parameters, complete motor commissioning. Drive-CLiQ motors stream their electronic nameplate into the drive at power-up; you only need to confirm and run identification.
- Wire the motor through Drive-CLiQ to the corresponding Motor Module port (X202 on PM340 blocksize, X200 on booksize).
- Power up the Control Unit. The BOP20 first shows the firmware version, then the drive name.
- Navigate to
p0300(motor code number for Siemens motors). If Drive-CLiQ detected the motor, p0300 is pre-filled with a numeric code (e.g., 1FK7060-2AF71). Confirm by pressing P. - Navigate to
p0301(motor code number / selection list entry). Leave at 0 for Drive-CLiQ auto. - Navigate to
p0400(encoder type) and verify the encoder SSID is read from Drive-CLiQ. For absolute encoders ensurep0407[0] = 12or the value listed for your motor's encoder (24-bit singleturn, 12-bit multiturn combination is typical for 1FK7). - Execute
p1900 = 1(motor data identification routine). The drive must be in commissioning mode; ON/OFF1 may need to be held off. The motor will move briefly during this routine; ensure the mechanical axis is free to rotate a few revolutions or inhibit mechanical movement per application rules. - Run
p1910 = 1(motor data identification – extended) for saturation characteristic capture if your application requires high torque accuracy. - Save parameters with
p0977 = 1(start RAM-to-ROM copy) or hold the Fn + P buttons on the BOP20 to save.
Control Structure Selection: Servo Mode and Closed-Loop Speed Control
EPOS sits on top of closed-loop speed control, which sits on top of the current controller. Confirm the structure before activating the positioner:
-
p0099 = 1– Reserved for firmware cross-check; not strictly required but ensures all dependent parameters are visible. -
p1300 = 21– Closed-loop speed control with torque limiting (servo mode). Other values (20,22,23) are valid for specific servo tuning topologies;21is the default for EPOS. -
p1500[0] = 0– Setpoint source for speed controller is the analog / fieldbus input. For EPOS, switch top1500[0] = 0with the speed setpoint coming through the EPOS ramp generator. -
p1501[0] = 0– Sign-of-life from the positioner. -
p1503[0] = r1114– Speed setpoint source after ramp-function generator.
Verify the speed controller tuning: p1460 (P-gain), p1462 (integral time). With Drive-CLiQ motors, the auto-tuned defaults from p1900 are normally adequate; capture the closed-loop response with STARTER if oscillation is observed, since BOP20 cannot run a trace.
BOP20 Navigation and Parameter Entry
The BOP20 has six keys: ON (green), OFF (red), Fn (function / arrow keys via jog dial), P (set/confirm), UP arrow, DOWN arrow. Parameters are addressed numerically. Indexing (subscripts in square brackets) is reached by pressing Fn to toggle the index digit and using the UP/DOWN arrows.
- Hold P for 3 seconds to enter the parameter entry screen. The display flashes the parameter number.
- Use UP/DOWN to change each digit; use Fn to move the cursor.
- Press P to confirm.
- To enter an indexed value, press P, advance to the index field (right of the parameter number, in square brackets), edit, press P, then edit the value, press P.
- To enter a hex value, when the value field is highlighted, press Fn until the input mode shows "HEX", then enter the value.
- A blinking "P" indicates the parameter value has been written to RAM. To copy RAM to ROM (non-volatile), set
p0977 = 1or hold Fn + P until the BOP shows the save progress.
Step-by-Step EPOS Commissioning via BOP20
The sequence below activates the basic positioner on a default SINAMICS S120 with a Drive-CLiQ servo motor. Adjust thresholds for your specific axis limits.
-
Save current state (optional): If the drive was previously configured, perform a factory reset via
p0970 = 1and confirm with P. Drive reboots to factory defaults. -
Configure drive object:
p0108[1] = 11C(hex). The drive queues the new function module configuration. -
Trigger ramp-up: Cycle 24 V control electronics OFF/ON, or set
p0009 = 0(drive commissioning parameter filter to "ready") then executep0971 = 1to start the parameterization mode. After p0971 completes, the drive reboots. -
Verify function module activation: Read
r0108. Bits 2, 3, 4, and 8 should all read 1. If bits are missing, firmware does not include EPOS (license check on certain variants) – contact Siemens with the device serial number. -
Enable extended setpoint channel:
p0150 = 0(no selection);p1100 = 0for speed setpoint from EPOS ramp generator. -
Configure EPOS enable:
p2656 = 1– This is the master enable that powers the basic positioner software module. Without p2656 the positioner parameter set is read-only and no traversing block can be started. -
Select EPOS operating mode source:
p2650 = 0(setpoint input via parameter / fieldbus) orp2650 = 1(traversing blocks). For automated indexing applications, leave at 1 and define a block. -
Set mechanics: Load (LU) per revolution =
p2920(load revolutions); motor revolutions per LU =p2921. For example, a ballscrew with 10 mm pitch and a 5:1 gearbox, with 1 LU = 1 µm:p2920 = 10,p2921 = 50000. -
Configure position limits:
p2570(positive SW limit),p2571(negative SW limit). Defaults are ±1e15 LU – restrict to your physical axis envelope. -
Configure velocity / acceleration:
p2572(max velocity),p2573(max acceleration),p2574(max deceleration),p2575(max jerk). Units are LU/s, LU/s², LU/s³. -
Configure jog mode:
p2585(JOG velocity 1),p2586(JOG velocity 2),p2587(JOG acceleration),p2588(JOG jerk). -
Enable OFF3 / OFF2 behavior:
p2657 = 1(activate the positioner; absence causes alarm A07456). Set the controller enable atr0898.0= 1 by issuing ON via BOP20. -
Save to ROM:
p0977 = 1. The drive copies RAM to ROM, indicated by the BOP showing a clock icon.
Script-Based Commissioning for Repeatable Deployment
Once the parameter set is known, transfer it via script instead of keystroke-by-keystroke entry. Two routes are common in field deployment:
Route A – STARTER / Startdrive Export to Script
Even without STARTER on the commissioning laptop, you can have an offline engineering PC export the parameter list. Open STARTER, configure one drive as a template, choose Target system → Load to PG is not needed; instead use Project → Export → Parameter list to generate a CSV of every parameter and value. The CSV can be reformatted into a USS / PROFIdrive parameter-write script.
Route B – Direct Parameter Write via S7 / HMI / PLC
If a Siemens S7-1500 / S7-1200 controller is on the line, push the parameter set through SINAMICS parameter request telegram (PKE + IND + PWE) using a standard FB (e.g., FB286 "SINA_PARA") in TIA Portal. The FB reads or writes one parameter per call and is suitable for both commissioning and runtime.
Sample ST code fragment for a single parameter write (pseudo-equivalent for the CU310-2 PN/DP and S7-1200/S7-1500):
// Trigger a write of p2656 = 1 (EPOS enable)
#req := TRUE;
#paraNo := 2656; // p2656
#axisNo := 1; // drive axis
// Some FBs use the parameter number; others use (DO * 1000 + PN).
// Consult FB286 documentation for exact mapping.
For a complete sequence, call the FB in a loop until all 60+ parameters are written, then trigger p0977 = 1 (Save to ROM) as the final write.
Route C – BOP20 Saved Script File via MMC / SD Card
On CU320-2 with firmware V5.x, parameter sets can be exported to the SD card and reloaded via BOP20. The BOP menu structure under Drive → Up/download (where available on later firmware) provides bulk load. On older firmware, this route is not supported, so plan for Route A or B.
EPOS Enable Signals and Operating Mode Selection
The complete enable chain for a positioning move through EPOS on a default S120 with CU310-2 PN/DP is:
| Step | Source | Target | Action |
|---|---|---|---|
| 1 | 24 V / Control Unit ready | r0899.0 | Logic power OK |
| 2 | Drive ON command (BOP20 green or DI via p0840) | r0898.0 = 1 | Controller enable |
| 3 | OFF2 (p0844), OFF3 (p0848) clear | r0898.1, r0898.2 = 1 | Coast stop and quick stop cleared |
| 4 | EPOS master enable | p2656 = 1 | Positioner module armed |
| 5 | Traversing / jog / homing | bit-coded control word per p2651…p2653 | Motion command |
| 6 | Setpoint / actual value source | p2650, p2651 | Setpoint source configured |
The control word structure for EPOS is found in r2589 (status word EPOS) and the command word is p2586 (control word EPOS). Bits 0, 1, 2, 4, 5, 6, 8, 9, 11, 12, 13 each have documented meanings. Drive the control word from a fast controller (PROFIdrive telegram 111 or telegram 7 with EPOS extension) or from the BOP20 Manual mode for jog.
Verification and Diagnostic Parameters
After enabling EPOS, verify the drive responds correctly without a moving load (motor unloaded or shaft decoupled for first test):
- r2521 – Position actual value (LU, after mechanical conversion).
- r2522 – Velocity actual value (LU/s).
- r2523 – Velocity setpoint (LU/s).
- r2589 – EPOS status word. Bits: 0 = active, 1 = velocity setpoint reached, 2 = position setpoint reached, 4 = following error, 5 = target reached, 6 = home position reached, 8 = jog active.
- r2684 – Following error (LU).
- r2685 – Following error tolerance counter.
- r2719 – Current traversing block number.
- r2740 – Current motion status (Positioning / Homing / Jog).
Set p2542 (positioning window) and p2544 (positioning window time) so that bit 5 of r2589 indicates target reached reliably.
Troubleshooting Matrix
| Symptom | Likely Cause | Diagnostic Parameter | Corrective Action |
|---|---|---|---|
| BOP shows "EPOS not active" when writing p2656 | Function module missing (r0108.3 = 0) | r0108 | Set p0108[1] = 11C (hex), cycle power |
| Alarm A07456 "EPOS enable missing" after p2656 = 1 | Controller enable (r0898.0) absent or OFF2/OFF3 active | r0898, r0899 | Issue ON command via BOP20 green button, check p0840 / p0844 / p0848 |
| Motor oscillates after enabling | Speed controller tuning not executed | r0068, r1480 | Run p1900 / p1910, capture speed controller response, adjust p1460 / p1462 |
| EPOS responds but does not move | Setpoint not enabled (no control word bit for jog/traverse) | r2589 | Drive p2586 (control word EPOS) from BOP20 Manual mode or from PLC |
| Positioner active but following error (F07452) | Following error tolerance too tight or mechanical binding | r2684, p2542 | Increase p2542 / p2544, inspect mechanics, verify p1460 gain |
| Drive refuses to write p0108[1] | Drive in run state (r0002 = 1) or p0009 not in correct state | r0002, p0009 | Bring drive to commissioning state (p0009 = 0), block ON, then write |
| Mechanic moves only on input of p108 = 11C but license missing | EPOS not licensed for this CU variant | r0199, license table | Order Siemens license (6SL3072-…-EPOS) or upgrade CU firmware per Siemens catalog |
| ROM not saved; parameters lost on power cycle | p0977 = 1 not executed | p0977 | Trigger p0977 = 1, wait for BOP copy icon to clear |
Field-Engineering Notes
- On a default SINAMICS S120 (factory state), the BOP20 commissioning path typically requires only p108 index 1 and p2656 in addition to motor data. The field report confirms this minimal-entry approach produces a working EPOS from defaults.
- Always cycle power after a p0108 change; the function module reconfiguration is not live. A quick alternative on CU310-2 is p0971 = 1 (parameter reset / parameterization level) but this also forces a restart.
- The drive enforces write protection on certain parameters when controller enable is active. Always issue OFF1 (red button on BOP20) before modifying motion limits.
- EPOS bits documented in the List Manual vary by firmware version. The r0108.3 / r0108.4 status indicators confirmed in the source are stable across V4.x and V5.x. Do not assume r0108.5 and above are identical without checking the firmware-specific List Manual.
- For deterministic multi-axis commissioning, build a startup script and reuse it. Each axis saved with p0977 = 1 becomes a stand-alone commissioning target.
FAQ
Can SINAMICS S120 EPOS really be commissioned without STARTER?
Yes. With a BOP20 panel you can directly edit p0108[1] = 0x011C (hex) to enable the function modules, set p2656 = 1 to arm the basic positioner, and write all required mechanics / limits / velocity parameters. The List Manual is the source of truth; STARTER only adds a graphical interface and trace recording.
What does p0108[1] = 0x011C enable?
0x011C sets bits 2, 3, 4, and 8. Bit 3 enables the basic positioner (EPOS), bit 4 enables the extended setpoint channel, and bit 8 enables additional EPOS features per firmware documentation. r0108 reports the active configuration after the next ramp-up cycle. Bit 2 corresponds to the extended speed setpoint channel.
How do I check whether EPOS is currently active?
Read r0108 from the BOP20. Bit 3 = 1 indicates the basic positioner function module is active. If r0108.3 = 0, the firmware either does not include EPOS or the module has not yet been activated; p0108[1] must be set and the drive rebooted.
Why does the drive refuse to write p0108[1]?
The drive must be in commissioning state and the controller enable must be off. Set p0009 = 0, ensure r0898.0 = 0 (no ON command), then write p0108[1]. The drive queues the change and applies it on the next power cycle or after p0971 = 1.
Which Drive-CLiQ motor works out of the box with this procedure?
Any Siemens SIMOTICS S servo with built-in Drive-CLiQ (1FK7, 1FT7, 1PH8, 1FK2, 1FT2, 1FW6) auto-uploads its electronic nameplate. After Drive-CLiQ detection, running p1900 / p1910 completes identification, and EPOS can be activated immediately. Motors without Drive-CLiQ require manual parameter entry of p0300…p035x.
How long does a BOP20-only EPOS commissioning take?
Plan 30–60 minutes for first-time setup including motor identification, function module activation, and parameter entry. Subsequent axes using the same script take about 10 minutes each because p1900 / p1910 can be skipped if motor data is already on the SD card.
Where can I find the official parameter reference?
The current List Manual (LH1) and Commissioning Manual (IH1) for SINAMICS S120 on Siemens Industry Online Support contain the canonical descriptions. The Commissioning Manual entry point is at the SINAMICS S120 commissioning manual PDF. Cross-check r0108, p0108, p2656, and p25xx / p26xx against the List Manual of the specific firmware build loaded.