1. Overview
The SINAMICS S110 is a single-axis positioning drive with an integrated basic positioner (EPOS) and a built-in PROFIBUS DP interface. It is the smallest member of the SINAMICS S120 family and is designed for axis-positioning tasks where speed and accuracy are required without the complexity of full servo control. Two S110 drives can be operated on a single SIMATIC CPU 315-2 DP master, provided the PROFIBUS interface on the S110 is used and the data is exchanged with the standard SFCs (SFC14 / SFC15) or with the free blocks from the S120 Toolbox (FB283, FB284, FB285).
This reference documents the hardware, GSD installation, telegram selection, STEP 7 hardware configuration, and the PLC program needed to run two SINAMICS S110 axes from a CPU 315-2 DP on PROFIBUS DP, including consistent data transfer, EPOS control, and diagnostics.
2. Prerequisites
Before commissioning, verify that the following components and software are available:
| Item | Description | Catalog / Article |
|---|---|---|
| SIMATIC CPU 315-2 DP | PLC with integrated PROFIBUS DP master (6ES7315-2AG10-0AB0 or later 6ES7315-2AH14-0AB0) | 6ES7315-2AH14-0AB0 |
| SINAMICS S110 (×2) | Positioning drive, e.g. CU305 PN or CU310 DP control unit with PM340 power module | 6SL3040-0JA00-0AA0 (CU310 DP) / 6SL3210-1KE... |
| SINAMICS S110 Firmware | Varies; consult Getting Started for supported EPOS version | V4.x or higher recommended |
| STEP 7 | STEP 7 V5.5 + SPx (or STEP 7 Professional in TIA Portal as alternative) | 6ES7810-4CC10-0YA5 |
| SINAMICS S110 GSD file | SIEM8190.GSD or SI028120.GSD depending on firmware | Siemens Support entry 23424935 |
| STARTER | SINAMICS commissioning tool (V4.x matching firmware) | 6SL3072-0AA00-0AG0 |
| PROFIBUS DP cable | 2-core, shielded, violet, for fixed installation | 6XV1830-0EH10 |
| PROFIBUS connectors | With PG socket and terminating resistor (for each drive and CPU) | 6ES7972-0BA12-0XA0 or 6ES7972-0BB12-0XA0 |
Download the official S110 GSD and STARTER commissioning tool from the Siemens Industry Online Support portal.
3. SINAMICS S110 Hardware Setup
Each SINAMICS S110 consists of a Control Unit (CU310 DP) and a power module (PM340). The Control Unit exposes the PROFIBUS DP interface via a 9-pin D-sub connector (X126). Pin assignment follows the standard PROFIBUS DP convention:
| Pin | Signal | Function |
|---|---|---|
| 3 | B / RxD/TxD-P | Data line B (red core) |
| 5 | DGND | Data ground |
| 6 | VP | +5 V supply for bus terminator |
| 8 | A / RxD/TxD-N | Data line A (green core) |
For each S110 Control Unit, the on-board DIP switch on the front of the CU310 DP must be set:
- PROFIBUS address (binary-coded, 1-126). Typical assignments: Axis 1 = 4, Axis 2 = 5.
- Bus terminator OFF for both drives; ON only on the physically last node of the segment.
4. PROFIBUS Network Topology
Use a linear bus topology. Connect the CPU 315-2 DP (X2) → PROFIBUS connector on Drive 1 → PROFIBUS connector on Drive 2. Both ends of the segment are terminated. The following SVG illustrates the topology.
5. Telegram Selection for EPOS
The S110 EPOS function is controlled over PROFIBUS using a Siemens-specific PZD (process data) layout. The standard telegram used for the basic positioner on S110 is Standard Telegram 110 (sometimes listed as "SIEMENS Telegram 110"). Alternatives:
| Telegram | PZD Length | Use Case |
|---|---|---|
| 1 | 2 words | Speed control (no positioning) |
| 3 | 6 words | Speed control + 32-bit actual values |
| 5 | 10 words | Speed control with DSC |
| 110 | 12 words PZD-IF, 14 words total (setpoint + actual) | Basic positioner (EPOS) on S110 / S120 |
| 111 | 12 + 12 words | EPOS with DSC |
Set the same telegram on both S110 drives and on the STEP 7 hardware configuration. Telegram 110 is the recommended choice for a positioning application because it provides:
- STW1 / ZSW1 control/status word
- STW2 / ZSW2 extended control/status
- Position setpoint (POS_STW, MDI_TARPOS)
- Velocity override (OVERRIDE)
- Actual position and actual velocity feedback
6. STEP 7 Hardware Configuration (HW Config)
- Open SIMATIC Manager → your S7 project → the CPU 315-2 DP station.
- Open HW Config. Right-click the DP master line and choose Properties. Set the PROFIBUS address to
2and the transmission rate to1.5 Mbps(good compromise of speed and segment length for ≤2 drives). - Install the GSD: Options → Install GSD File and select the S110 GSD (e.g.,
SIEM8190.GSD). The S110 appears in the catalog under PROFIBUS DP → Drives → SINAMICS → SINAMICS S110. - Drag two S110 slaves onto the DP master line. The first one is auto-assigned DP address 3; the second one is address 4. Manually change the addresses to match the DIP switches on the drives (
4and5). - Open the slot configuration of each S110. Insert SIEMENS Telegram 110 into the PZD slot. STEP 7 will calculate the I and Q addresses of the cyclic PZD area automatically.
- Confirm. Compile and download the hardware configuration to the CPU.
Sample address mapping after configuration (depends on the slot order):
| Axis | DP Address | Inputs (PIW) | Outputs (PQW) | Length |
|---|---|---|---|---|
| S110 #1 | 4 | 288 ... 315 | 288 ... 315 | 14 words each direction |
| S110 #2 | 5 | 316 ... 343 | 316 ... 343 | 14 words each direction |
7. PLC Program — SFC14 / SFC15 (Standard Approach)
The standard blocks SFC14 (DPRD_DAT) and SFC15 (DPWR_DAT) read and write a defined length of consistent process data from/to a DP slave. They are part of the STEP 7 system library and require no additional installation.
7.1 Instance Data Blocks (one DB per axis)
Create two shared DBs that mirror the telegram 110 layout. Example for Axis 1 (DB 100):
DATA_BLOCK "DB_Axis1_Send"
STRUCT
STW1 : WORD; // Control word 1 (bit 0 = ON/OFF1, bit 3 = enable, bit 6 = acknowledge, etc.)
STW2 : WORD; // Control word 2
POS_STW : WORD; // Position control word (MDI / traversing block select)
OVERRIDE : INT; // Velocity override (0 ... 100 %)
MDI_TARPOS : DWORD; // Target position (LU - length units)
MDI_VELOCITY: DWORD; // Velocity for MDI
MDI_ACC : INT; // Acceleration override
MDI_DEC : INT; // Deceleration override
END_STRUCT;
END_DATA_BLOCK
DATA_BLOCK "DB_Axis1_Recv"
STRUCT
ZSW1 : WORD; // Status word 1
ZSW2 : WORD; // Status word 2
POS_ZSW : WORD; // Position status word
ACT_POS : DWORD; // Actual position
ACT_VEL : INT; // Actual velocity
FOLL_ERR : DWORD; // Following error
END_STRUCT;
END_DATA_BLOCK
7.2 Reading and Writing (SFC14 / SFC15)
// ----- Axis 1: read actuals -----
CALL "DPRD_DAT"
LADDR := W#16#120 // 288 decimal = 0x120 — base address of S110 #1 inputs
RET_VAL:=#ret1
RECORD :=P#DB100.DBX 0.0 BYTE 28 // 14 words = 28 bytes
// ----- Axis 1: write setpoints -----
CALL "DPWR_DAT"
LADDR := W#16#120 // 288 decimal = 0x120 — base address of S110 #1 outputs
RECORD :=P#DB110.DBX 0.0 BYTE 28
RET_VAL:=#ret1
Repeat the same pattern for Axis 2 with the base address from the second drive (e.g., LADDR = W#16#13C for 316 decimal). Calling SFC14/SFC15 once per OB1 cycle guarantees data consistency of the entire PZD block, which is essential for control/status words that must not be split across OB1 runs.
PIW/PQW load/transfer instructions are not guaranteed to be consistent when the length exceeds 4 bytes (1 word). Telegram 110 is 28 bytes, so the standard load/transfer would corrupt the data. SFC14 and SFC15 buffer the read/write internally and guarantee one consistent image per call.
8. Using FB283 (Toolbox S120)
Siemens provides the SINAMICS Toolbox containing FBs for the S110/S120 family. FB283 is a position-mode block that uses Telegram 110 and encapsulates the SFC14/SFC15 calls plus state-machine handling for the basic positioner. FB284 is the speed-control variant; FB285 handles the basic positioner with a different interface.
Installation:
- Download the SINAMICS "Toolbox" or "SIMATIC S7-300/400 Blocks for SINAMICS S120" from Siemens Support (entry ID 61450221). The package contains FBs 282-288, the example project, and the relevant libraries.
- Open the library in SIMATIC Manager and copy the desired FB into your project. The block interface is documented in the library's online help.
- Create an instance DB per axis (DB_Axis1, DB_Axis2).
- Call FB283 in OB1 with the axis-specific instance DB and the configured hardware address.
Typical FB283 inputs include:
| Input | Meaning |
|---|---|
| AxisNo | Axis index (used in the instance DB) |
| HWAddress | Base address of the slave (PZD base) |
| Mode | Mode selector: jog, MDI, traversing block |
| TargetPos | Target position (REAL, in LU) |
| Velocity | Set velocity |
| Execute | Rising edge starts the motion command |
FB283 returns status words, the axis error number, and a "Done" / "Error" / "Active" output. The detailed parameter list is available in the S120 Blocks library documentation.
9. Commissioning the Two Axes
- Drive commissioning (STARTER): Connect STARTER to S110 #1 via PROFIBUS. Set motor data, encoder type, and the PROFIBUS address to 4. Configure the basic positioner (EPOS): mechanical system, limit switches, referencing mode, jerk limit. Save and perform a one-button optimization for the speed/current controller. Repeat for S110 #2 (address 5).
- PLC → drive handshake: On both axes, drive the control word sequence ON → Enable operation → Enable setpoint (bits 0, 3, 4 of STW1). Monitor ZSW1 bit 2 (Operation enabled) and ZSW1 bit 3 (Fault present).
- Homing: Send a homing command to each axis (e.g., mode 7 = active homing with reference cam). Wait for ZSW1 bit 4 (homing done) before allowing any traversing command.
- First motion: Issue a relative or absolute positioning command via MDI (Mode 1 / Mode 2 in POS_STW) or via a traversing block. Use the override field to ramp from 10 % to 100 % during commissioning.
- Cross-axis verification: Run a coordinated X-Y program: with both axes referenced, position axis 1 to position A and axis 2 to position B in parallel, monitor the ZSW1 / ZSW2 status, and verify actual positions match setpoints within the following-error window.
10. Diagnostics and Error Handling
PROFIBUS errors at the CPU side are reported via OB82 (diagnostic interrupt) and OB86 (rack/IO failure). Implement at least an OB82 and OB86 with a logged error so the program does not go to STOP if a drive powers down briefly.
| Symptom | Likely Cause | Remediation |
|---|---|---|
| SF (group fault) on CPU, BF (bus fault) flashing | PROFIBUS cable break or terminator missing | Check connectors, terminator switch position, cable pinout 3-8 |
| SFC15 returns W#16#80A1 or W#16#80A2 | DP slave not ready or address mismatch | Verify HW address in HW Config matches DIP switch; check slave status with STEP 7 online → "Accessible Nodes" |
| Drive reports F08501 (PROFIBUS sign-of-life failure) | Cycle time too long or PB cycle inconsistency | Increase drive monitoring time p2042 or shorten OB1 cycle |
| ZSW1 bit 3 (Fault) set | Drive fault (e.g., F07900, F30002) | Read drive fault buffer via STARTER or r0947 from PLC; acknowledge with STW1 bit 7 |
| ZSW1 bit 1 (Operation enabled) missing | Missing ON/OFF1, enable, or missing safety release | Check STW1 bits 0, 3, 4 and the safety wiring (STO) |
| Actual position jumps or follows with high error | Encoder parameter p0400 / p0408 wrong | Recommission with correct encoder code; check p2506 LU per motor revolution |
PROFIBUS diagnostics detail record is read with the standard slave diagnostics function. From the PLC side the most common error codes returned by SFC14/SFC15 are:
| RET_VAL (hex) | Meaning |
|---|---|
| 0000 | No error |
| 80A0 | Negative acknowledgment while reading/writing from slave |
| 80A1 | DP slave not ready (no handshake, no module present) |
| 80A2 | System error: parameter LADDR / RECORD wrong |
| 80B0 | Data access error in IO area |
| 80B1 | Specified length differs from configured length |
11. Verification
After commissioning, perform the following functional verification:
- Power-cycle the system with both drives off. Bring each drive up one at a time and confirm that the CPU diagnostics buffer shows no DP station failure for the running drive.
- Read all ZSW1/ZSW2/POS_ZSW bits cyclically and ensure that ZSW1 bit 1 (Operation enabled) and bit 2 (Setpoint enabled) are set after the control word sequence.
- Issue a small relative move (e.g., 100 LU) and verify the actual position in r2521 equals the command position within the configured following-error window (p2546).
- Run a positioning profile that uses both axes simultaneously and check that both motion blocks complete in the expected time (sample time = OB1 cycle; expect ≤1 ms at 1.5 Mbit/s with 2 slaves).
- Temporarily disconnect the PROFIBUS connector from drive 2 and confirm OB86 fires; reconnect and confirm the drive auto-recovers within 1 second.
12. Field-Proven Caveats
- PROFIBUS addresses 1, 2, and 126 are reserved. Use 3-125 for slaves.
- Maximum of 32 nodes per segment without repeater. Two drives plus the CPU is well within this limit, but reserve the segment for any future expansion (additional S110, distributed I/O, etc.).
- Always run a STARTER online trace during the first 1-2 positioning runs. A free PB cable + PG port saves hours of guessing if a fault occurs.
- Keep the bus cable away from VFD power cables. Cross at 90° and maintain at least 200 mm separation. For 1.5 Mbit/s this is less critical than for higher rates, but good practice pays off.
- If the application is later migrated to PROFINET, the S110 variant with a CU305 PN (instead of CU310 DP) can be used and is wired similarly. Telegram 110 still applies.
FAQ
Can I connect two SINAMICS S110 drives to one CPU 315-2 DP?
Yes. The CPU 315-2 DP supports up to 32 DP slaves per segment (subject to cycle time and power budget). Set a unique PROFIBUS address on each drive (e.g., 4 and 5), connect both with a PROFIBUS cable in a linear bus, and ensure the segment is terminated at both ends.
What telegram should I use for EPOS on the S110?
Use SIEMENS Telegram 110 in both the drive configuration (p0922 = 110) and the STEP 7 hardware configuration. Telegram 110 provides the control/status words, position setpoint, override, and actual values required for the basic positioner (EPOS).
Do I need SFC14/SFC15, or can I use direct PIW/PQW access?
For Telegram 110 (28 bytes per direction) you must use SFC14 (DPRD_DAT) and SFC15 (DPWR_DAT) to keep the data consistent. Direct PIW/PQW load/transfer instructions do not guarantee consistency for more than four bytes and will corrupt the control/status words across OB1 cycles.
Where can I get FB283 for the S110?
FB283 is part of the "SINAMICS S120 Blocks" library published by Siemens on its Industry Online Support portal (entry ID 61450221). The library is free of charge and includes FBs 282-288, an example project, and documentation. It works for S110 as well because the PROFIBUS telegram layout is identical.
Why is my drive reporting F08501 (PROFIBUS sign-of-life failure)?
The drive expects a continuous PROFIBUS cycle and will fault if the master stops exchanging data. This typically happens if the CPU goes to STOP, if the OB1 cycle time exceeds the drive monitoring time p2042, or if the SFC15 call is bypassed. Reduce the cycle time, call SFC15 every OB1, and adjust p2042 (default 6 ms) to suit your application.