MASTERDRIVES Resolver Feedback: SBR2 Pulse Simulation Limits

David Krause15 min read
Motion ControlSiemensTechnical Reference
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

1. Problem Context: S5 PLC Interface with 10-Bit Gray-Code Absolute Encoders

The legacy architecture in question pairs a SIMATIC S5 PLC with DC servo motors whose absolute encoders deliver a parallel 10-bit gray-code word to a digital-input (DI) module. The gray code is read once per electrical revolution and is monotonic between successive codes, which means the S5 application can decode the position by XOR-ing the latched word against the previously latched word and counting the resulting bit transitions. With 10 bits the resolution is 2^10 = 1024 discrete positions per mechanical turn, which is more than adequate for slow indexing or commutation-aware positioning but is far too coarse for high-dynamic servo loops.

When the same machine is retrofitted with AC servo motors and SIMOVERT MASTERDRIVES (or the SIMODRIVE 611 digital variant), the feedback element typically changes from an optical absolute encoder to a brushless resolver mounted on the motor shaft. A resolver is an analog device: it produces two sine-modulated carrier signals (SIN, COS) whose envelope angle is the rotor position. The MASTERDRIVES system reads these analog signals on a dedicated option board, but the question arises whether the drive can reformat the resolver-derived position into a 10-bit gray-code parallel word that the original S5 DI module can still read without software changes.

2. Why the S5 Application Expects a Gray-Code (or Binary) Position Word

The S5 application code was written for a hardware interface that supplies a parallel 10-bit word sampled on a digital-input card. The choice of gray code was deliberate, because a gray-coded absolute position has the property that exactly one bit changes between two adjacent codes. The application can therefore read the word asynchronously without risk of intermediate invalid states, which is impossible with straight binary on a parallel bus.

Parameter Value (Legacy System)
PLC family SIMATIC S5
Feedback device Optical absolute encoder (DC servo)
Interface to PLC Parallel, 10 lines into DI module
Code 10-bit gray, sampled on demand
Resolution 1024 positions / turn
Decoding in PLC Gray to binary by XOR chain (FW, FW-FW XOR)

To preserve the existing PLC code, the upgrade target must therefore either (a) continue to deliver a 10-bit gray-code word to the DI module, or (b) supply an equivalent parallel binary word of the same width. Any other signal type (incremental pulses, SSI string, EnDat, PROFIBUS DP-V2) requires either an S5 program change, an additional decoder module, or a replacement of the PLC.

3. SIMOVERT MASTERDRIVES Resolver Feedback Hardware: SBR2 Option Board

The MASTERDRIVES family (SIMOVERT VC, MC, and the SIMODRIVE 611 derivatives) accepts resolver feedback through the SBR2 option board, which plugs into the drive electronics box and provides a dedicated resolver interface separate from the standard encoder slot. The SBR2 decodes the analog SIN/COS carrier into a high-resolution internal position value, which is then used by the closed-loop current, speed, and position controllers running on the drive.

The SBR2 evaluation itself is high precision: it resolves the resolver into an internal position word that is then fed into the drive's position controller. What the SBR2 does not do is expose that internal word as a parallel gray-code or binary bus. The SBR2 only exposes the resolver position through one digital interface to the outside world: the pulse-encoder simulation on connector X410.

For Siemens MASTERDRIVES operating instructions, refer to the official documentation portal: SIMOVERT MASTERDRIVES Operating Instructions and the SIMODRIVE 611 manual set on the Siemens Industry Online Support site.

4. X410 Pulse-Encoder Simulation: 512 or 1024 Pulses per Electrical Revolution

The SBR2 board carries a pulse-encoder simulation circuit that generates incremental A/B/N pulses in RS-422 differential format on connector X410. The simulation is a pure hardware function: the resolver SIN/COS signals are tracked by the SBR2, and a digital quadrature channel is synthesized and driven out of X410. The pulse count is selectable in the SBR2 configuration, with two standard values:

  • 512 pulses per electrical revolution (1 pole pair, equivalent to 2048 quadrature counts post-quadrature x4)
  • 1024 pulses per electrical revolution (equivalent to 4096 quadrature counts post-quadrature x4)
Parameter Specification
Output connector X410 (on SBR2 option board)
Signal format A, /A, B, /B, N, /N (zero pulse) plus optional 5V / 24V supply pins
Electrical standard RS-422 differential
Pulse count options 512 or 1024 pulses per electrical revolution (selectable via SBR2 jumper / parameter)
Max output frequency
Direction sense Tracks motor rotation direction; configurable as CW=A leads B or reverse

The simulation is quadrature (A and B 90 deg out of phase) and includes an index pulse N once per simulated revolution. Because the output is RS-422, it can be wired directly to a SIMATIC FM350 or IM 360/361 counter module, to the high-speed counter inputs of an S7-200/S7-1200, or to any third-party incremental encoder receiver. It cannot be wired to a 24 V DC digital-input module and decoded as 10 bits of gray code, because the signal is sequential pulses, not a parallel data word.

5. Multi-Pole Resolver Pulse Scaling: 2-pole, 4-pole, 6-pole

The relationship between the simulated pulse count at X410 and the mechanical shaft revolution is fixed by the resolver pole-pair count. The SBR2 counts in electrical revolutions, and the resolver pole-pair ratio multiplies that count to the mechanical side:

  • 2-pole resolver (1 pole pair) = simulated pulses (512 or 1024) per mechanical revolution.
  • 4-pole resolver (2 pole pairs) = 2 x simulated pulses per mechanical revolution (i.e. 1024 or 2048 ppr).
  • 6-pole resolver (3 pole pairs) = 3 x simulated pulses per mechanical revolution (i.e. 1536 or 3072 ppr).

For a ten-bit equivalent application that needed 1024 mechanical positions per turn, the engineer must therefore select a 2-pole resolver with the SBR2 jumper set to 1024 pulses per electrical revolution. A 4-pole motor would deliver 2048 pulses per turn, which exceeds the 10-bit width and cannot be expressed in the 10 DI lines of the original S5 interface without further logic.

Resolver Pole Pairs Pulses/mech. rev. (512 mode) Pulses/mech. rev. (1024 mode)
2-pole 1 512 1024
4-pole 2 1024 2048
6-pole 3 1536 3072
Engineering caveat: The original S5 application assumed 1024 codes per mechanical turn, so the substitution only works cleanly if the new resolver is 2-pole and the SBR2 is set to 1024 pulses/electrical rev. If the new motor is 4-pole or 6-pole, the S5 will see 2 or 3 counts per code increment and the application code must scale the position variable accordingly, which contradicts the stated objective of leaving the PLC untouched.

6. Why Gray-Code or Binary Position Word Output Is Not Available

Despite the fact that the SBR2 internally holds a fully resolved high-resolution position word, that word is not exposed on any user-accessible bus or parallel port. The SBR2 has exactly one output: the incremental simulation at X410. The MASTERDRIVES does not support the generation of a parallel 10-bit gray-code or binary absolute word on the SBR2 connector, and the drive firmware (Firmware 1.x through 3.x of the SIMOVERT VC/MC; firmware 2.x of the SIMODRIVE 611) does not expose a parameter that drives a multi-bit position word out of any digital-output card.

The reasons are architectural:

  1. Single output stage. The SBR2 carries one physical driver chip for the A/B/N signals, not an 8- or 10-bit parallel driver array. There is no provision for parallel output on the SBR2 PCB.
  2. Drive firmware scope. MASTERDRIVES firmware does not contain a "position-to-bits" function block that maps a resolver position into a multi-bit parallel word and latches it on an internal hardware event. Position-related outputs are limited to:
    • Incremental pulse stream (X410 on SBR2)
    • Setpoint/actual speed and position values over PROFIBUS DP-V1/DPV-2 (for SIMODRIVE 611 digital)
    • Discrete digital outputs (e.g. "in position", "speed reached") on the drive I/O
  3. No absolute word synchronization event. Even if the SBR2 were extended to output 10 bits, the S5 needs a single-shot latch trigger (a strobe) to know when the 10 bits are stable. The MASTERDRIVES does not generate such a strobe; the only synchronization event is the X410 index pulse, which marks one position per electrical revolution, not the moment at which a parallel word should be sampled.

Therefore, the answer to the original question is unambiguous: it is not possible to convert resolver feedback into a 10-bit gray-code word by programming in the MASTERDRIVES itself. The SBR2 only generates the pulse-encoder simulation at X410; no firmware option re-formats this into a parallel absolute word.

7. Why 8-Bit Binary Output via Eight Digital Outputs Is Not Possible

The follow-up question asked whether the SBR2/Master Drive could be programmed to drive the resolver position as an 8-bit binary value on eight onboard digital outputs, so the S5 could read those eight lines as a one-byte absolute position. This is also not feasible, for three reasons:

  1. Drive DOs are functional, not data. The MASTERDRIVES digital outputs (terminals on the drive itself, not on the SBR2) are assigned functional status flags (e.g. n_act = n_set, M<Mdx, I<Idx, fault, warning). They are not assignable to a position word. A parameter such as P651 through P655 maps one Boolean function to each output; there is no parameter that takes an 8-bit slice of position and fans it out across eight outputs.
  2. No latching strobe. Even if a parameter trick exposed a position bit on each DO, the S5 has no way to know that all eight bits are simultaneously valid. With independent, asynchronous output updates, the S5 could read a transient code with multiple bit transitions.
  3. SBR2 has no digital outputs. The SBR2 board is an input-only feedback card from the perspective of the rest of the system; it has no digital output terminals other than the X410 pulse simulation. Routing eight output bits back to the SBR2 is not an option.

Like the gray-code request, the 8-bit-binary request is therefore rejected at the firmware level. The drive only delivers incremental feedback on X410, not absolute parallel feedback.

8. Alternative Architectures that Preserve the S5 PLC Code

Because the MASTERDRIVES cannot reproduce the legacy 10-bit gray-code word, the engineer has a small set of practical choices that keep the S5 untouched:

8.1 External Resolver-to-Parallel Decoder Module

Insert a standalone resolver decoder box between the new AC servo motor resolver and the S5 DI module. The decoder takes the SIN/COS resolver signals, resolves the angle internally, and presents a 10-bit parallel gray-code (or binary) word on a 10-line driver, plus a strobe output that signals the S5 that the word is stable. This is the only architecture that preserves the original S5 hardware interface and PLC code verbatim. Commercial modules in this class are typically based on the Analog Devices AD2S1210 or AD2S1205 RDC chips.

8.2 External Resolver-to-Incremental-to-Gray Module

Accept the MASTERDRIVES X410 incremental output (512 or 1024 ppr) and add an external up/down counter that resets on the X410 index pulse, latches its 10-bit value, and gray-encodes the result for the S5 DI module. The counter is built from two cascaded 74LS191 or 74LS193 ICs, with a 74LS86 XOR chain performing the gray-to-binary, or the inverse binary-to-gray if the S5 expects gray. This approach costs roughly one PCB but uses only commodity logic.

8.3 SSI Absolute Encoder Substitution

Replace the motor-mounted resolver with a single-turn absolute SSI encoder (e.g. 10-bit or 13-bit) and let the S5 read it through an SSI-to-parallel converter. The MASTERDRIVES no longer reads feedback from the resolver; the S5 keeps its DI interface, and the drive is reconfigured for an SSI-compatible motor or for sensorless operation. This change typically alters the drive commissioning significantly but is a cleanest path when the S5 cannot be replaced.

8.4 Replace the S5

The cleanest long-term solution is to migrate the S5 application to a SIMATIC S7-1200/S7-1500 (or a TIA Portal project) and use the drive's PROFIBUS DP-V2 / PROFINET cyclic actual-position value directly. This drops the gray-code requirement altogether and gives the application a 32-bit high-resolution actual position. The S5 program must be rewritten, but the new controller can be commissioned with a Siemens Migration Tool from the S5 source.

9. MASTERDRIVES Configuration: Reading the Resolver via SBR2

Where the engineer is willing to accept the incremental interface, the SBR2 must be configured correctly. Typical MASTERDRIVES / SIMODRIVE 611 parameter settings (parameter numbers vary slightly between SIMOVERT VC and SIMODRIVE 611 firmware versions):

Parameter Meaning
P149 Feedback selection (resolver / encoder / sensorless)
P150 Resolver type (number of pole pairs)
P151 Simulated pulse count (512 / 1024)
P340 Sub-board presence / SBR2 installed
P357 Position-controller P gain
P360 Speed-controller P/I gains

Reference the SIMODRIVE 611 Configuration Manual on the Siemens Industry Online Support site for the exact parameter numbers for the firmware in use: SIMODRIVE 611 Digital Configuration Manual (and the analog variant for the SIMOVERT MASTERDRIVES). Always cross-check against the printed operating instructions shipped with the drive, because the parameter set is firmware-version dependent.

10. Commissioning and Verification Procedure

Once an external decoder (option 8.1) or external counter (option 8.2) is in place, the following verification sequence confirms correct operation without modifying the S5 code:

  1. Power-on check. With the drive disabled, manually rotate the motor shaft. The S5 input image must change in gray-code order (one bit per step, never two). If two or more bits change, the cable is shielded poorly or the decoder is producing a binary stream - check the binary/gray selector on the decoder module.
  2. Index event check. Verify the X410 N-pulse (or the resolver decoder's strobe) is exactly once per mechanical revolution. With a 2-pole resolver, the X410 N-pulse occurs once per turn; with a 4-pole resolver, twice per turn. The S5 must treat the strobe as a "position is now valid" trigger, not as a position bit.
  3. Loop-back through the drive. Command a slow position move from the drive (e.g. 1000 increments), and verify that the S5 readback position increments in the correct direction and magnitude. Reverse the motor command sense if the S5 counts the wrong way (this is a parameter on the SBR2, not a wiring change).
  4. Dynamic test. Run a full-speed ramp and confirm the S5 reading keeps up with the resolver. If the S5 loses codes, the DI module input filter is too slow, or the decoder strobe is too long. The S5 DI filter should be set to the minimum value the digital input card supports.
  5. Multi-pole scaling check (if 4- or 6-pole). Confirm the S5 application divides the count by the pole-pair ratio. Otherwise the S5 will see 2x or 3x more counts per mechanical turn than the original 10-bit code space, and the program will wrap twice or three times per turn.
Safety reminder. Resolver wiring is differential analog at carrier frequencies in the 4-10 kHz range with low amplitude (typically 2 Vrms). Use twisted-pair shielded cable (Siemens 6FX2001 or equivalent), ground the shield at the drive end only, and never route the resolver cable parallel to the motor power cable. For wiring details, see the SIMODRIVE 611 wiring guidelines in the Siemens MASTERDRIVES Operating Instructions.

11. Troubleshooting Matrix

Symptom Likely Root Cause Corrective Action
S5 reads all zeros, motor rotating Resolver cable swapped, SIN/COS reversed Swap SIN and COS pairs at SBR2; verify per SBR2 manual pinout
S5 reads jittery codes Shield grounded at both ends (ground loop) Disconnect shield at motor end, leave grounded at drive
S5 wraps 2 or 3 times per turn 4-pole or 6-pole resolver, 1:1 code space assumption Add pole-pair divisor in S5 code or select a 2-pole resolver
X410 simulation lost after drive reset SBR2 parameter reset to default pulse count Re-set P151 to 512 or 1024; save to EEPROM
S5 reads direction reversed A/B phase sense wrong Swap A and B at X410 OR change direction parameter on SBR2
S5 reads zero pulse missing Index pulse N disabled or wired wrong Enable N pulse in SBR2 config; check pin 6/7 of X410

12. Field-Proven Cautions

  • Firmware version drift. MASTERDRIVES and SIMODRIVE 611 firmware revisions have changed SBR2-related parameter numbering. Always refer to the documentation for the specific firmware version loaded on the drive (read with DriveMonitor, Starter, or the operator panel P060).
  • Resolver cable length. The SBR2 has a maximum recommended cable length of approximately 100 m. Beyond that the carrier signal is attenuated and the resolver decode becomes unreliable. For longer runs, use a resolver-to-fiber converter.
  • Don't mix 24 V and RS-422 on the S5. The X410 output is RS-422. The S5 DI module is 24 V. A level converter (e.g. Siemens 6SE7090-0XX84-1FB0 or a third-party RS-422-to-24 V converter) is mandatory if the X410 is wired to a standard S5 DI - the engineer must add this when using the SBR2 simulation as a feedback source for a non-counter DI module.
  • S5 counters are limited. If the X410 simulation is wired to an S5 counter card (e.g. IP 244), the counter must be reset on the index pulse. Forgetting this reset makes the S5 see a monotonically increasing count that overflows the 10-bit range within a few revolutions.

Can the SIMOVERT MASTERDRIVES output a 10-bit gray-code word directly from the resolver?

No. The SBR2 resolver option board only provides an incremental A/B/N simulation on connector X410 in RS-422 format. It has no parallel output stage and no firmware function that latches a multi-bit absolute position word. Adding an external resolver-to-parallel decoder module is required to retain a 10-bit gray-code interface to the S5.

How many pulses does the SBR2 simulation produce on X410?

The SBR2 can be configured for 512 or 1024 pulses per electrical revolution. With a 2-pole resolver this is also the mechanical count; with a 4-pole resolver it doubles; with a 6-pole resolver it triples. The output is quadrature A/B/N in RS-422 differential signalling.

Can the MASTERDRIVES drive eight digital outputs with the 8-bit position value?

No. The MASTERDRIVES digital outputs are assigned to status functions (fault, warning, speed reached, position reached, etc.) and cannot be mapped to a slice of the internal position word. There is no firmware path to convert a resolver position into an 8-bit binary output on the drive terminals.

What is the simplest way to keep the S5 code unchanged when retrofitting to AC servos with resolvers?

Insert a standalone resolver-to-parallel decoder between the motor resolver and the S5 DI module. Set the resolver pole count to 2 and the decoder to 10-bit gray output. The MASTERDRIVES controls the motor via the SBR2 internally; the S5 still reads a 10-bit gray word on its DI module and the application code stays unchanged.

Where can I find the official parameter list for SBR2 pulse simulation?

Refer to the SIMOVERT MASTERDRIVES Operating Instructions and the SIMODRIVE 611 Configuration Manual on the Siemens Industry Online Support site. The pulse count is typically set via parameter P151 (or the equivalent for the firmware version), and feedback type via P149 / P150. Always cross-check against the operating instructions shipped with the specific drive.

Back to blog