Resolving G120C Following Error on S7-1500 TO PositionAxis

David Krause23 min read
Motion 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 Definition

Setup: a SIMATIC S7-1511 CPU drives a SINAMICS G120C over PROFINET to position a linear belt actuator. The motion sequence is:

  1. Move forward to position 1
  2. Move forward to position 2
  3. Return home (reverse direction)

Forward moves complete without fault. The home return move fails whenever the configured velocity exceeds a specific threshold (in the field report: above 1000, units application-dependent: rpm, mm/min, mm/s, or 0.1% reference speed). Below that threshold, the move completes. The S7-1500 Technology Object (TO) raises one of two alarm families at the moment of failure:

  • Following error (dynamic lag exceeds the tolerance window during the move)
  • Positioning error (target position not reached within the positioning window after the move)

Asymmetric failure (forward OK, reverse fault) is a strong indicator that one of the following is in play: asymmetric mechanical load, gravity acting on a vertical or inclined belt, backlash that engages differently on direction reversal, or a position controller tuned for one direction only. The fault is reproducible, which means it is deterministic and configuration-related rather than a random hardware failure.

The threshold value of "1000" is application-specific. Re-interpret it as the user's configured unit on the Technology Object. Common unit families are rpm on motor side, mm/min or mm/s on load side, or percent of reference speed (p2000 on the G120C). The principles below apply to all three.

Engineering Context

The S7-1500 family uses TIA Portal Technology Objects for motion control. The three relevant types are:

  • TO_SpeedAxis — open or closed speed loop only.
  • TO_PositioningAxis — closed position loop with positioning commands (MC_MoveAbsolute, MC_MoveRelative, MC_MoveJog).
  • TO_SynchronousAxis — gearing/camming to a master axis.

For a linear belt, the correct selection is TO_PositioningAxis. The position loop is closed inside the S7-1500 CPU; the G120C runs as a speed follower under one of the standard telegrams (typically 1, 2, 3, 5, 7, or 9). The CPU outputs a speed setpoint, reads the actual position back through the encoder interface, and computes the position error.

The G120C supports the CU240E-2 PN (PROFINET) and CU250S-2 PN Control Units. Telegrams 1-9 and the SIAM safety telegrams 100-106 ("telegram 10x" family) are configured in the drive and in TIA Portal's device configuration. The CPU and drive must agree on telegram layout; mismatches surface as commutation alarms, STW1/2 bit errors, or encoder sign errors.

Root Cause Analysis

Four primary root causes trigger following-error or positioning-error alarms above a specific velocity. They can be present individually or stacked.

Cause 1: Normalization Mismatch

The TO and the G120C must agree on three quantities: encoder resolution (increments per motor revolution), load gear ratio (motor revolutions to load units), and the load distance per motor revolution (belt travel in mm per motor rev). If any one is wrong, the value of ActualPosition on the TO diverges from the real mechanical position of the belt. The position controller closes the loop on the wrong variable. Below a certain velocity, the lag stays inside the tolerance window by chance; above the threshold, the error grows linearly with velocity and trips the alarm.

For a belt, the canonical parameter is Mechanics.LeadScrewPitch in TIA Portal, set to the pulley circumference in load units (mm). A typical 100 mm-pitch pulley driven by a 1:1 gearbox means the belt advances 100 mm per motor revolution. If the value entered is 50 mm or 200 mm, every commanded move is half or double the actual motion, and the controller will over- or under-shoot in proportion to velocity.

Cause 2: Position Controller Dynamics

The closed-loop position controller in TIA Portal exposes three gains (in modern firmware versions: Kp, Tn, Tv; in older versions a single Kv factor). The steady-state position error of a P-only position loop is:

e_steady = v / Kp

If Kp is fixed, the steady-state error grows linearly with velocity. A tolerance window that contains the lag at 1000 (units) does not contain it at 1500. The threshold effect described in the field report is a textbook sign of under-tuned Kp or a tolerance window scaled to a different v_max than the actual operating velocity.

If the controller is over-tuned, the response oscillates. In a belt with mechanical backlash, oscillation can drive the load against the backlash on reversal, producing large transient errors on every direction change. This is the second most common cause of "works in forward, fails in reverse" behavior.

Cause 3: Acceleration / Deceleration Ramp Too Aggressive

The TO generates a velocity profile (trapezoidal by default, S-curve if jerk limiting is enabled). If the configured acceleration is greater than the drive and load can mechanically deliver, the drive saturates at the current or torque limit. The actual velocity lags behind the setpoint velocity, producing a velocity-dependent position error proportional to the integral of the velocity difference.

Drive-side ramp generators (p1120 ramp-up time, p1121 ramp-down time on the G120C) clamp the velocity change. If the TO commands a velocity step of 1000 rpm in 100 ms, but p1120 = 5 s on the drive, the drive can only deliver 200 rpm/s. The drive becomes the limiting factor regardless of what the TO requests.

Asymmetric motion is a strong indicator of mechanical asymmetry:

  • Vertical belt lifting a load: the drive must produce positive torque to lift. The lifting direction requires the most torque; the lowering direction needs regen or active braking.
  • Inclined belt: gravity contributes positively to motion in one direction and negatively in the other.
  • Belt with one-way mechanical stiffness: e.g., a belt that engages a catch on the home side but not on the work side.

Cause 4: Following-Error Monitoring Window Too Tight

The TO exposes dynamic and static following-error limits. The dynamic window is a position error threshold that scales with velocity. Default values in TIA Portal are conservative and sized for a v_max close to the configured maximum. If the application operates at a velocity substantially different from the assumed v_max, or if the load inertia is higher than assumed, the default window can be too tight.

The static window is checked at the end of motion: the target must be reached within PositionMonitoring.ToleranceTime. If the drive cannot complete the move at the commanded velocity because of torque saturation, the static window fires.

Diagnostic Workflow

The fastest path to a root cause is a four-step isolation procedure. Each step is non-destructive to the application.

Diagnostic Flowchart: G120C Following Error on S7-1500 TO Following / Position Error Alarm Step 1: Identify Alarm Read TO ErrorCode, drive r0945 Step 2: Bypass MC_MoveVelocity, PositionController = FALSE Step 3: Verify Norm. Move belt 100 mm Compare ActualPosition Step 4: Drive Trace r0061, r0063, r0080, p1520 / p1521, p1120 / p1121 Drive OK? If drive tracks setpoint → TO is the problem Apply Fix 1 Mechanics.LeadScrewPitch LoadGearRatio Apply Fix 2 / 3 / 4 Kp, Tn, Acceleration, FollowingError window

Step 1: Identify the TO Alarm Number

Open TIA Portal online, navigate to Technology Objects → the affected axis → Diagnostics. Note the alarm code. Common codes for TO_PositioningAxis (TIA Portal V17/V18):

Alarm ID Meaning First Check
201101 Following error (dynamic lag during motion) Kp, acceleration, drive torque limit
201102 Following error (static, position not reached) Drive torque saturation, brake, mechanical binding
201103 Encoder error Encoder wiring, p0400, p0408
201105 / 201106 SW limit switch approached / overrun Software limit configuration, homing
201107 / 201108 HW limit switch approached / overrun Wiring, negative logic, debounce
201111 Jerk limit violation Jerk configuration, profile generator
201112 / 201113 Velocity / acceleration limit violation Profile limits vs. configured v_max

For S7-1500 motion control, the canonical reference is the SIMATIC S7-1500 Motion Control function manual, available on Siemens Industry Online Support, which lists the complete alarm catalog with troubleshooting actions.

Step 2: Open a TO Watch Table

Create a watch table in TIA Portal with the following tags (substitute your TO instance DB):


"TO_DB".ActualPosition       // current position, load units
"TO_DB".ActualVelocity       // current velocity, configured units
"TO_DB".SetpointPosition     // commanded position
"TO_DB".SetpointVelocity     // commanded velocity
"TO_DB".LagPosition          // position error, load units
"TO_DB".StatusWord           // TO status bits
"TO_DB".ErrorWord            // error bits
"TO_DB".ErrorCode            // detailed alarm number

Force a fault by jogging in the failing direction at the failing velocity. Capture the values of LagPosition, ActualVelocity, and SetpointVelocity at the moment of alarm. A healthy axis at steady state has a lag of 1-3% of the actual velocity at most. If the lag exceeds the configured FollowingError.MaxPositionError, the alarm fires by definition.

Step 3: Drive-Side Trace

Use the G120C's integrated webserver (default IP from PROFINET device configuration) or STARTER/WinCC to record the following parameters during the failing move:

Parameter Description Why It Matters
r0061 Speed setpoint smoothed (after ramp) Compare to TO setpoint for ramp slowness
r0063 Actual speed smoothed Should track r0061 with ms-scale lag
r0078 Current actual value Compare to p0305 (rated current)
r0079 Torque setpoint Compare to r0080 actual
r0080 Torque actual value Saturation against p1520 / p1521 = torque-limited
p1520 / p1521 Torque limit upper / lower Default ±100% of rated torque
p1120 / p1121 Ramp-up / ramp-down time Higher value = slower drive response

The full parameter set is documented in the SINAMICS G120C List Manual (LH13, edition 04/2014), which is the canonical parameter reference for the G120C family.

If r0080 saturates against p1520 or p1521 during the move, the drive is torque-limited. Torque limiting produces a velocity-dependent position error because the drive cannot accelerate at the rate the TO requests.

Step 4: Verify Asymmetric Load Behavior

If the move fails only in reverse, capture the drive parameters in both directions. A vertical or inclined belt needs the gravitational torque in only one direction. Compare:

  • r0080 in forward vs. reverse (the lifting direction will show higher torque demand).
  • p1520 and p1521 (verify the drive has headroom in the failing direction).
  • Mechanical inspection: backlash in the gearbox or belt coupling amplifies reversal errors.

Step-by-Step Resolution

Fix 1: Normalization Verification

Cross-check the following parameter groups. They must match on both the TO and the G120C:

Quantity TO (TIA Portal) Drive (G120C) Notes
Encoder type Sensor.Type p0400 HTL / TTL / SSI / EnDat
Encoder resolution Sensor.IncrementsPerRevolution p0408 Increments per motor revolution
Load gear ratio Mechanics.LoadGearRatio (Numerator / Denominator) None on G120C Enter on TO only; no equivalent on speed-follower drive
Lead screw / belt pitch Mechanics.LeadScrewPitch None on G120C Belt pulley circumference in load units
Direction inversion Mechanics.InvertDirection p0410 Encoder direction inversion; both must agree

For a belt with a pulley of circumference C mm driven through a 1:1 gearbox, set LeadScrewPitch = C. LoadGearRatio = 1:1. If the gearbox is external (e.g., 5:1 reduction from motor to belt pulley), set LoadGearRatio numerator = 5, denominator = 1 (motor rev → 5 load rev) and adjust LeadScrewPitch accordingly.

To verify normalization empirically, move the belt a known mechanical distance (e.g., 100 mm measured with a ruler) using a slow jog. Compare the change in ActualPosition on the TO. If 100 mm of belt movement produces 100 mm of TO position change, normalization is correct. If it produces 99 mm or 101 mm, the load gear ratio or lead screw pitch is off.

Fix 2: Position Controller Tuning

The TO position controller has three parameters in modern TIA Portal firmware versions:

  • Kp: proportional gain (load-units/s per load-unit of error; or mm/s per mm in SI units).
  • Tn: integral time (s); integral action is active when Tn > 0.
  • Tv: derivative time (s); derivative action is active when Tv > 0.

The steady-state position error of a P-only loop is:

e_steady = v_setpoint / Kp

For example, with v_setpoint = 1000 (units) and Kp = 10, e_steady = 100 units. This is not a usable position accuracy. To reduce the lag, either lower the operating velocity or raise Kp. The relationship is linear: doubling velocity doubles the lag, doubling Kp halves it.

Practical tuning procedure:

  1. Set Tn = 0 (disable integral action) and Tv = 0 (disable derivative action).
  2. Start with Kp = 1.0 (or 10% of the maximum allowed by TIA Portal, whichever is lower).
  3. Jog in the failing direction at the failing velocity. If the alarm persists, increase Kp by 50% and retry.
  4. Continue until the axis reaches setpoint with stable response (no audible oscillation, no overshoot, no limit-cycle).
  5. Once stable, add integral action: Tn = 1 to 5 × the closed-loop response time (typically 0.5-2 s for a belt).
  6. Add derivative action only if high-velocity reversal causes oscillation. Tv = 0.1 to 0.5 × Tn is a safe starting point.

For an asymmetric load (vertical belt, gravity-loaded actuator), tune separately for up and down. The TO does not have separate Kp for each direction; the practical workaround is to enable torque pre-control in the TO (under Mechanics → LoadGear → Torque pre-control). The pre-control adds a feed-forward term that compensates for the constant gravitational torque. The remaining position error is then only the dynamic component (proportional to acceleration), which the position controller handles more cleanly.

Fix 3: Acceleration Ramp Sizing

The TO accepts the following dynamics parameters:

  • Acceleration: maximum acceleration in normal moves (load units/s²).
  • Deceleration: maximum deceleration; may equal acceleration or be set independently.
  • EmergencyStopDeceleration: maximum deceleration on MC_Stop.
  • Jerk: rate of change of acceleration (enables S-curve profiling when Jerk > 0).

A drive can deliver only as much acceleration as the available torque allows. The maximum theoretical acceleration is:

a_max = (M_drive - M_load) / J_total

where M_drive is the motor's available torque, M_load is the resisting torque (positive when opposing motion, negative when aiding), and J_total is the total reflected inertia on the motor shaft.

For a horizontal belt with no load torque, the only limit is motor torque. For a vertical belt, the load torque in the lifting direction is M_load = m·g·r, and it subtracts from M_drive. In the lowering direction, the load torque adds to M_drive (gravity assists motion), and the drive must regenerate or brake.

Practical sizing rule:

  • Set the TO Acceleration at 50-70% of the calculated a_max. This gives headroom for transients.
  • Enable jerk limiting (S-curve profile) to reduce peak torque demand. A starting jerk of 10 × Acceleration to 100 × Acceleration is typical for a belt.
  • If the drive current during a step-in-velocity profile saturates at the current or torque limit (visible in the trace as r0078 clamped at p0305), reduce Acceleration.
  • For a vertical belt, separately configure up-direction and down-direction acceleration if the application requires it. The TO does not have separate values per direction; the practical workaround is to lower the global Acceleration to the lower of the two, and let the controller compensate with longer move times.

The drive-side ramps p1120 and p1121 on the G120C also clamp the velocity change. A safe rule:

p1120 ≥ (v_target − v_current) / a_max

If the TO ramp is 100 ms and p1120 is 5 s, the drive is the limiting factor. Reduce p1120 to match or undercut the TO's own ramp.

Fix 4: Following-Error Monitoring Window

The TO exposes two monitoring parameters (paths vary by TIA Portal version):

  • FollowingError.MaxPositionError: maximum steady-state position error.
  • PositionMonitoring.ToleranceWindow and ToleranceTime: positioning window at the end of motion.

The dynamic following-error window is a position lag that scales with velocity. The Siemens default is sized for a Kp of approximately 1.0 (1/s) and the configured v_max. If the application requires a different v_max, Kp, or has a heavy load, the default window may be too tight or too loose.

Verify the following:

  • The window must be larger than the steady-state lag e = v / Kp at the maximum operating velocity.
  • The window must be smaller than the application's maximum allowed position error (the manufacturing tolerance).

For a horizontal belt with Kp = 1.0 (1/s) and v = 1000 mm/min = 16.67 mm/s, e_steady = 16.67 mm. If the default window is 5 mm, it will trip. Either reduce the maximum velocity, increase Kp, or relax the window. For a typical belt application, a window of 10-20 mm at v = 16 mm/s is reasonable; for a high-precision pick-and-place, 1-2 mm with a higher Kp.

Fix 5: Torque Limits and Pre-Control

The G120C defaults to p1520 = +100% and p1521 = -100% of rated torque. Verify these match the application:

  • For positioning with high-dynamic reversal, reducing p1520 and p1521 below 100% reduces stress on the gearbox and couplings, but reduces dynamic performance.
  • For a vertical belt, p1520 (positive torque, motoric) may need to be > 100% briefly to lift the load on startup. Use parameter p1522/p1523 (CI torque limit upper/lower) with a supplementary telegram input for dynamic torque limit setpoint, or size the motor such that rated torque exceeds the lift requirement.
  • Torque pre-control (TO) can compensate for known constant loads. Enable it under Technology Object → Configuration → Mechanics → Torque pre-control, and enter the gravity constant in load units.

The pre-control value is added to the position controller output. The position controller then only handles the dynamic error, which scales with acceleration rather than velocity. The steady-state error becomes near zero.

Telegram 10x Support and Torque Limiting

Available Telegrams on the G120C

Telegram Purpose Process Data (in/out words) Notes
1 Standard speed setpoint, 16-bit 2 / 2 Default for V/F and basic speed control
2 Standard speed setpoint, 32-bit 4 / 4 Higher-resolution speed
3 Speed + 2 position actual values 4 / 6 Recommended for positioning with encoder feedback
5 Speed + DSC (Dynamic Servo Control) 4 / 6 Speed control with high-dynamic position loop in drive
7 Positioning with DSC 6 / 8 High-dynamic positioning
9 MDI positioning with DSC 12 / 12 Direct setpoint input mode
102 SIAM + speed setpoint/actual varies Safety Integrated Axis Monitoring
103 SIAM + speed setpoint/actual + 1 position actual varies SIAM with position
105 SIAM + speed setpoint/actual + 1 position actual varies SIAM with position
106 SIAM + speed setpoint/actual + position control varies SIAM with closed-loop position

"Telegram 10x" typically refers to the 100-106 SIAM family. These telegrams are required only when Safety Integrated functions on the drive (SS1, SS2, SLS, SDI, SOS) are active and need to be exchanged with a fail-safe controller. The plain G120C without safety license can run telegrams 1-9.

For the typical belt application described in the field report (no functional safety on the drive), telegram 3 is the recommended starting point. It carries the speed setpoint and 32-bit position actual values, and supports encoder feedback through the PROFINET interface. Telegram 5/7/9 add DSC, which closes the position loop in the drive rather than the controller. DSC is preferred for very high-dynamic axes (print registration, flying shear) but is not required for a belt with cycle times in the 100 ms range.

Torque Limiting in Telegram 1 / 3

Torque limits are passed in the process data as M_LIM (torque limit word) and M_ADD (additional torque setpoint). For standard telegrams 1 and 3, the torque limit word is in the cyclic setpoint. With TIA Portal and the S7-1500 TO:

  1. Open the G120C device configuration in TIA Portal.
  2. Select the drive under Device view → Properties → PROFINET interface → Telegram selection.
  3. Add telegram 3 (or your selected standard telegram) and, if required, a supplementary telegram 700, 701, 750, 902, or 903 for torque limit signals.
  4. Map the torque limit signals in the process image. The TO does not directly expose torque limit; the application code must write the M_LIM word in the cyclic setpoint block.

For positioning with torque limit, the recommended configuration on the G120C is:

  • Telegram 3 (speed + position) for the position loop.
  • Supplementary telegram 750 (torque limit values) for the M_LIM word, OR drive parameter p1520 / p1521 set to a fixed percentage if dynamic torque limiting is not required.

Supplementary telegrams 902 and 903 carry torque force limiting on SINAMICS S/G drives. The G120C supports 902/903 in firmware V4.7 SP3 and later. For older firmware, use 750 or fixed-parameter torque limits.

Position Controller Architecture

TO Position Controller Loop (S7-1500 with SINAMICS G120C) Setpoint Pos + − Position Controller Kp + Ki + Kd + Pre-control Speed Setpoint G120C + Motor + Belt Load Encoder Position Error PID v Plant Actual Position (encoder feedback)

Velocity Profile and Following Error Behavior

Velocity Profile and Following Error During Reversal t1 t2 t3 t4 t5 t6 t7 Time (s) +v_max 0 −v_max Velocity Setpoint Actual Position Error Forward motion (high velocity): error grows but stays in window Reverse: setpoint reverses, actual lags, error exceeds window

The shaded region between setpoint and actual velocity during reversal is the velocity-dependent position error. At a low velocity, the integral of the shaded area is small and fits inside the TO's tolerance window. At a high velocity, the same reversal dynamics produce a larger integral, exceeding the window and triggering the alarm. This is the threshold effect observed in the field report.

Verification Procedure

After applying any of the fixes above:

  1. Re-load the project to the S7-1500.
  2. Power-cycle the G120C if the telegram was changed (telegram changes require a restart on the drive).
  3. Re-run the original sequence: home → pos 1 → pos 2 → home.
  4. Monitor the TO online: LagPosition should stay within the configured window throughout.
  5. Run the sequence at the highest velocity required by the application. The alarm must not fire.
  6. Run the sequence at 110% of the rated velocity briefly to confirm margin.
  7. Capture a final drive trace and TO watch table screenshot as the commissioning record.

Troubleshooting Matrix

Symptom Probable Cause First Action
Alarm at velocity above threshold only, symmetric in both directions Kp too low, or following-error window too tight Increase Kp, or relax FollowingError.MaxPositionError
Alarm only in reverse direction (lifting against gravity) Asymmetric load, torque limit Check r0080 saturation; enable torque pre-control; verify p1520
Alarm only in forward direction (lowering with gravity) Regen / braking limit, or mechanical backlash Check brake resistor, DC link voltage; inspect belt for backlash
Alarm at every high-velocity move, symmetric Acceleration ramp too aggressive Reduce Acceleration; check p1120 / p1121
Alarm with following error growing with v Steady-state error exceeds window Increase Kp or relax following-error window
Alarm with "position not reached" Brake not released, mechanical issue, or velocity too low to reach target in time Check brake release signal; verify SetpointVelocity non-zero
Alarm on first move only Homing incomplete or home position offset Run MC_Home before first positioning
Alarm in both directions at any velocity Encoder wiring fault, normalization severely wrong Check encoder signals with scope; verify Sensor.IncrementsPerRevolution vs. p0408
Alarm with F30001 / F07412 drive fault Drive-side fault (overcurrent, encoder) Read drive r0945; check F fault catalog in G120C List Manual

Drive Parameter Quick Reference (SINAMICS G120C)

Parameter Function Default When to Adjust
p0305 Motor rated current From motor code Enter from motor nameplate
p0311 Motor rated speed From motor code Enter from motor nameplate
p0400 Encoder type selection 0 (no encoder) Set to encoder type used
p0408 Encoder increments per revolution 2048 Match physical encoder
p0410 Encoder inversion 0 Set 1 if direction is reversed
p1082 Maximum speed 1500 rpm Set to motor rated or application max
p1120 Ramp-up time 10 s Match TO ramp requirements
p1121 Ramp-down time 10 s Match TO ramp requirements
p1520 Torque limit upper +100% Adjust for application torque limits
p1521 Torque limit lower −100% Adjust for application torque limits
p2000 Reference speed 1500 rpm Reference for percent scaling
p2002 Reference torque From motor Reference for percent scaling

All parameters are documented in detail in the SINAMICS G120C List Manual, which is the canonical parameter reference. Field engineers should keep a copy of the List Manual local to the cabinet for commissioning and fault diagnosis.

Quick Sanity Test: Bypass the Position Controller

To confirm that the drive itself is capable of the failing velocity, use the TO's MC_MoveVelocity instruction with the PositionController input set to FALSE. The drive runs open-loop (no position loop) at the requested velocity. If the drive now reaches the failing velocity without alarm, the problem is on the TO side (normalization, position controller, or following-error window). If the drive still cannot reach the velocity, the problem is on the drive side (torque limit, current limit, mechanical).

To verify the actual position lag against the TO's reading, run MC_MoveVelocity at a low velocity, then at the failing velocity. Capture ActualVelocity and ActualPosition in a watch table. The reported position should track the actual mechanical motion when the belt is moved manually (e.g., with the drive disabled).

Field-Proven Cautions

Encoder resolution mismatch is the most common silent cause of position drift. An encoder with 2048 increments per revolution (default p0408) configured in the drive, but the TO set to 1024 or 4096, produces a 2× or 0.5× scaling error. The error is invisible at low speed and grows with distance traveled.
Drive ramp p1120/p1121 must be ≤ TO ramp. If the drive's internal ramp is slower than the TO's commanded ramp, the drive will be the bottleneck regardless of motor capability. Match them: p1120 = (v_target − v_start) / a_TO.
Torque pre-control on the TO requires a value in the same unit as the TO's torque scaling. For a vertical belt, calculate M_gravity = m·g·r in N·m, divide by the motor's rated torque, and enter as a percent. Sign the value positive for lifting loads (positive direction) and verify with a slow up-direction jog.
Reversal of a high-inertia load on a belt with mechanical backlash can produce transient errors 10× the steady-state value. Tune Kp for the steady-state, then add Tv damping if reversal transients exceed the window.
Telegram 10x telegrams (100-106) are SIAM safety telegrams and require a fail-safe CPU (S7-1500F) and a safety-enabled drive. Plain S7-1511 (non-F) cannot use these telegrams. For non-safety applications, use telegrams 1-9.

FAQ

Why does the S7-1500 TO raise a following error above 1000 velocity but not below?

The steady-state position lag is v / Kp. If Kp is fixed and the tolerance window is fixed, raising v eventually pushes the lag outside the window. Below 1000, the lag fits; above 1000, it does not. Increase Kp, raise the tolerance window, or lower the maximum velocity. Verify with the formula e_steady = v / Kp before tuning.

How do I confirm normalization is correct on a G120C and S7-1500 TO?

Move the belt a known mechanical distance (e.g., 100 mm with a dial indicator). Compare the change in TO ActualPosition. If 100 mm of belt movement produces 99 mm or 101 mm of TO position change, the load gear ratio or lead screw pitch is off. Match TO Mechanics.LeadScrewPitch to the belt pulley circumference, set LoadGearRatio to 1:1 for a direct-drive belt, and verify Sensor.IncrementsPerRevolution against drive parameter p0408.

Which Siemens telegrams does the G120C support for torque limiting?

Standard telegrams 1, 2, 3, 5, 7, and 9. SIAM telegrams 100-106 (the "10x" range) for safety-integrated applications and require an S7-1500F CPU. Torque limits are carried in M_LIM in the cyclic setpoint of telegram 1 and 3. For positioning with torque limit, use telegram 3 plus supplementary telegram 750 (or 902/903 on firmware V4.7 SP3+), or use fixed-parameter limits p1520/p1521 if dynamic torque limiting is not required.

How do I size the acceleration ramp for a G120C-driven belt?

Start with the mechanical limit: a_max = (M_drive - M_load) / J_total. Configure TO Acceleration at 50-70% of a_max. If the drive saturates at the current or torque limit during the move (check r0080 against p1520/p1521), reduce acceleration. If response is too slow, raise p1520/p1521 within motor capability, or upsize the motor. The drive ramp p1120/p1121 should be no greater than (delta_v) / a_max of the TO profile, with the TO profile taking precedence.

Can the S7-1500 TO position loop be bypassed for a pure speed-controlled move to verify the drive?

Yes. Use MC_MoveVelocity with the PositionController input set to FALSE, or use MC_MoveJog. The TO closes the speed loop without the position loop. If the drive now reaches the failing velocity without alarm, the problem is on the TO side (normalization, position controller, or following-error window). If the drive still cannot reach the velocity, the problem is on the drive side (torque limit, current limit, mechanical).

Back to blog