Overview: What Dynamic Servo Control (DSC) Actually Does
Dynamic Servo Control (DSC) is a closed-loop position control structure executed inside the SINAMICS S120 drive rather than in the higher-level controller (SIMATIC S7-1500/S7-1500T or SIMOTION). The position controller runs in the fast speed controller clock of the drive, so the position loop is closed at the same sampling rate as the current and speed loops. This shortens the equivalent position-loop dead time and allows much higher proportional gain (Kv) without instability, which directly improves contour accuracy, settling time, and disturbance rejection on highly dynamic axes.
Reference: SINAMICS S120 Function Manual - Drive Functions (DSC section).
Prerequisites for Using DSC
DSC is only available on SINAMICS S120 firmware that supports it and requires PROFIdrive message frame 105 or 106, which contain the supplementary DSC setpoints (XERR, KPC) in the additional telegram extension.
| Prerequisite | Detail |
|---|---|
| Drive firmware | SINAMICS S120 from V4.x onward; recommended V5.2 SP3 or newer for TIA Portal V20 TOs |
| Controller | SIMATIC S7-1500T with TO_PositioningAxis / TO_SynchronousAxis, or SIMOTION |
| Communication | PROFIdrive V4 with telegram 105 or 106 (DSC supporting) |
| Encoder | At least one position feedback on motor or load; DSC can use motor encoder (default) or a load-side encoder routed into the drive |
| Closed-loop structure | Speed/current control must be commissioned (One Button Tuning) before DSC activation |
DSC Topology: Motor Encoder vs. Load-Side Encoder
DSC does not require the position feedback used by the closed position loop to be the motor encoder. The position controller in the drive only needs an actual position value (G1_XIST1) and the position setpoint from the controller. The selection of which encoder the drive uses for position control is configured in the Mechanics data of the axis.
For a configuration where the position encoder is mounted on the load (carriage, table, spindle nut, gear output) and not on the motor shaft:
- Wire the load-side encoder to a SINAMICS Sensor Module (SMC20, SME20, SME25, or SME125) and configure it as the 2nd encoder in the drive topology.
- Set the load-side encoder as the position actual value source: p2502[0] = 2 (encoder 2) when DSC is enabled and the controller requests the load-side actual value.
- Configure the mechanical relationship between motor and load using the load gear parameters (p2503, p2504, p2505, p2506) and, when needed, a load-side measuring gear (p0432, p0433).
- Activate DSC in p1190 (or via the TIA Portal TO: Extended parameters > Control loop > Dynamic Servo Control (DSC)).
Reference: Position control in the drive with DSC - TIA Portal V20 documentation.
Mechanics Configuration on the Axis
In the TIA Portal Technology Object, navigate to Configuration > Mechanics. The setting "Mounting of encoder" determines whether the position control loop is closed on the motor encoder or on the external load-side encoder.
| Setting | Effect on position loop | Use case |
|---|---|---|
| On motor | Loop closed on motor feedback; load-side influences (backlash, torsion) are not compensated | Rigid coupling, direct drives |
| On load side | Loop closed on load-side feedback; mechanical compliance between motor and load is inside the loop | Belt drives, gear trains, lead screw with compliant coupling, gantry axes |
For a load-side position encoder, select Mounting of encoder = On load side. This enables the load gear ratio fields in the Mechanics view and routes the load position to the position controller.
DSC Parameters Inside the Drive
The following SINAMICS parameters govern DSC behavior. Most are preset sensibly but must be reviewed for load-side encoder configurations.
| Parameter | Meaning | Typical value / note |
|---|---|---|
| p1190 | DSC configuration / activation | 1 = enable DSC, with load-side position feedback from encoder 2 when configured |
| p1191[0] | DSC position controller gain KPC | Transmitted to the controller; in 1/s units; typical 10 to 200 |
| p1192[0] | DSC gain weighting | 0..100% scale of KPC; allows online adaptation |
| p1193[0] | DSC filter time constant | Optional PT1 filter on following error; 0 ms unless noise demands filtering |
| p1194 | DSC dead-time compensation | 0 = off, 1 = on; compensates the controller-to-drive communication delay |
| p1195 | DSC continuous position setpoint filter | PT1 time constant in ms; smooths setpoint steps |
| p2502[0] | Encoder assignment for position controller | 1 = motor encoder, 2 = load-side encoder |
| p2503, p2504 | Load gear ratio (numerator / denominator) | Revolutions on load per revolution of position encoder |
| p2505, p2506 | Feed constant (load distance per motor revolution) | For linear axes; mm or inch per load revolution |
TIA Portal V20 Step-by-Step Configuration
- Create the TO_PositioningAxis and assign the SINAMICS S120 as the drive.
- Select PROFIdrive telegram 105 or 106 (DSC must be supported on both sides).
- In the axis configuration, open Extended parameters > Control loop > Dynamic Servo Control (DSC) and check Activate position control in drive.
- Set the Gain factor Kv (KPC) on the drive side; this is the gain the drive will apply to the position error XERR.
- Optionally enable Dead-time compensation (p1194) when controller and drive clocks differ.
- Download the project to the S7-1500T and the S120, then perform a CPU restart so the new telegram layout is accepted.
- Run a One Button Tuning on the drive to refresh speed and current controller gains before testing DSC.
Performance Improvements Delivered by DSC
The benefits stack up at higher axis dynamics, especially when the mechanical coupling between motor and load introduces compliance or backlash:
- Higher usable Kv: Because the position loop runs at speed-controller clock (typically 125 µs on S120, versus 1 ms on S7-1500T), proportional gain can typically be raised 2x to 5x before the same stability margin.
- Smaller following error at given speed: The KPC loop acts directly on XERR at the drive's clock.
- Lower sensitivity to communication jitter: DSC uses XERR (signed 32-bit) and KPC inside the drive, so jitter on the cyclic telegram has less effect than with a position controller in the PLC.
- Better disturbance rejection: Load-side disturbances (cutting force, gravity) are corrected within the same current-control cycle.
- Symmetric gain with load-side encoder: When the encoder is on the load, DSC sees the real mechanical response and is not fooled by motor-side compliance; this is the most beneficial case for belt- or spindle-driven axes.
Commissioning and Verification Procedure
- Confirm drive is in closed-loop speed control without faults; check r0002 = cyclic operation.
- Verify both encoders (motor and load) report valid values in r0480 / r0481, no F3xxx or F315xx faults.
- Jog the axis slowly in speed-controlled mode (p1190 = 0) and verify the load-side encoder count matches expected travel via p2503/p2504 ratio.
- Enable DSC (p1190 = 1) and start with a conservative KPC from p1191, e.g. 20 1/s.
- Run a positioning move with the PLC and observe r0061 (position actual) and r2563 (following error). Increase KPC until r2563 peaks to roughly 1/3 of the dynamic following error limit configured in the TO.
- Perform a step-response test on the S7-1500T trace and check overshoot, settling, and Kv stability.
Troubleshooting Matrix
| Symptom | Likely root cause | Corrective action |
|---|---|---|
| Axis oscillates / audible buzzing at low KPC | Load gear ratio p2503/p2504 set incorrectly; mechanical resonance in coupling | Re-measure load travel, correct ratio, add p1195 setpoint filter |
| F07401 / F07402 drive fault after enabling DSC | Encoder 2 not configured; p2502 mismatch | Assign p2502[0] to the encoder actually carrying load position; check SMC20 wiring |
| Following error at standstill (r2563 > 0) | DSC dead-time compensation off; controller/drive clock mismatch | Enable p1194; harmonize bus and PROFIdrive clocks |
| Move is sluggish despite high KPC | KPC scaling p1192 limited; or DSC not actually active (p1190 still 0) | Read r1199 to confirm DSC state; raise p1192 to 100% |
| Axis follows correctly, but contour error on circular interpolation is high | DSC not active on synchronous axis, or wrong message frame (e.g. 103 instead of 105/106) | Switch to telegram 105/106; enable DSC on both leading and following axes |
Field-Notes and Caveats
- DSC gain KPC and the PLC-side Kv in the TO are not the same parameter. With DSC, the TO's Kv is largely informational - actual stiffness is set by p1191.
- If you switch the load-side encoder selection in the Mechanics view, re-run One Button Tuning. The speed pre-control and acceleration pre-control values depend on the inertia seen at the controlled encoder.
- For gantry or linear motor with direct load-side measurement, DSC plus load-side encoder delivers the best contouring performance; expect Kv improvements of 3x to 5x over a PLC-side position controller at the same mechanical configuration.
- SINAMICS S120 firmware versions older than V4.4 do not support DSC on encoder 2 in all combinations. Check the release notes for the specific 6SL3xxx firmware you are commissioning before relying on encoder-2 DSC.
Can I use DSC when the position encoder is on the load, not on the motor?
Yes. Assign the load-side encoder as encoder 2, set p2502[0] = 2, configure the load gear ratio in p2503/p2504, and enable DSC with p1190. The drive closes the position loop on the load-side feedback at speed-controller clock.
What is the correct value for "Mounting of encoder" in the TIA Portal Mechanics view when using DSC?
Select On load side when the encoder is mechanically fixed to the moving load. The TO then routes load-side position to the position controller and exposes the load gear ratio fields for entry.
How much higher can Kv be with DSC compared to a PLC-side position controller?
On typical S120 drives with a 125 µs speed controller and 1 ms PROFINET update, Kv can be raised 2x to 5x before reaching the same stability margin, especially when the controlled encoder is on the load side.
Which PROFIdrive telegram supports DSC?
Use telegram 105 or 106. These contain the DSC-specific process data XERR and KPC in the additional telegram extension. Standard telegrams 1 to 5 do not support DSC.
Do I still need to tune the PLC-side Kv in the TO when DSC is active?
The TO's Kv becomes secondary - the effective stiffness is set by p1191 (KPC) inside the drive. Keep the PLC Kv configured for safety monitoring and dynamic limits, but expect the drive's KPC to dominate dynamic behavior.