what is Programmable Incremental Encoders?

A programmable encoder with parameters configurable for its application

What is a programmable encoder? PPR, direction and output settings

Hello everyone. A programmable encoder is an encoder whose manufacturer-supported measurement or output parameters can be adjusted. These may include PPR, counting direction or the Z index pulse. Available settings depend on the complete model code, hardware and programming method.

Programmable does not mean universally reconfigurable. Do not assume that one device can switch between SSI, BiSS, EnDat, CANopen and EtherCAT. Nor does every model offer TTL/HTL selection or sin/cos outputs. First distinguish incremental from absolute operation, then check the settings supported by that product.

Which parameters can be programmed?

Parameter What changes? What to verify
PPR / output scalingPulses per turn or transmitted position scalingSupported range and increments
Counting directionA/B sequence or increasing position directionPLC and drive direction conventions
Z / indexPosition, width or gating where supportedReceiver reference-capture requirements
TTL / HTLElectrical output level on suitable hardwareSupply, input thresholds and pins
Preset / offsetMapping absolute position to a referenceScaling, turn range and machine datum
Communication / diagnosticsParameters allowed by the supported interfaceProtocol, firmware and device description file

A linear encoder may specify scaling in µm/step, counts per unit distance or another manufacturer-defined format. Not every linear system provides a PPM setting. Analogue sin/cos output amplitude and interpolation characteristics require separate consideration.

Is PPR the same as the count seen by a PLC?

Here, PPR means the number of pulse periods produced by one A/B channel per revolution. Check the manufacturer's pulse definition; PPR and CPR are not used consistently across all catalogues. x1 evaluation can count one edge on one channel, x2 both edges on that channel, and x4 rising and falling edges on A and B.

For example, a 1024 PPR encoder gives 4096 counts per revolution with suitable x4 evaluation. This multiplier is the receiver's counting method and must be distinguished from the encoder's PPR setting. Scaling in a PLC or high-speed counter must account for both.

Is higher PPR always better?

It can provide a smaller counting step, but does not automatically improve measurement accuracy by the same factor. Sensor error, interpolation, mechanical transmission and installation also determine performance. Resolution and accuracy are separate specifications.

Increasing PPR raises channel frequency at the same RPM. The higher setting may be unusable if it exceeds the encoder output limit or the receiver's counting frequency limit. Cabling, input filtering and signal levels also affect the result.

Interactive tool: what changes when PPR increases?

Change PPR, speed and the counting method. See a smaller counting step alongside a higher frequency load. Initial example: 1024 PPR, 3000 RPM, x4 and a 100 kHz per-channel input limit.

Calculated quantityResult
Counts per revolution4096
Nominal angular counting step0.087891°
Frequency of channel A or B51.2 kHz
Evaluated count events per second204800 counts/s
Speed calculated from this frequency limit5,859.38 RPM
Channel frequency / input limit51.2%

Under this assumption, channel frequency is below the limit. Other hardware and input requirements still need checking.

This example defines the input limit as pulse-period frequency per channel. A specification in edges/s or counts/s cannot be compared using the same number. The calculated speed is not a mechanical speed limit. Encoder output frequency, receiver processing capacity, filtering, cabling and signal levels must also be checked.

Formulas: N = PPR × m, Δθ = 360° / N, fchannel = PPR × RPM / 60, count rate = fchannel × m. m is the x1, x2 or x4 factor. The input ranges in this tool do not represent the programming limits of a particular encoder.

Why does changing PPR affect machine scaling?

For an axis travelling 100 mm per mechanical revolution, 1000 PPR with x4 evaluation gives 4000 counts/revolution and 0.025 mm/count. Increasing PPR to 2000 produces 8000 counts for the same movement; the correct scale becomes 0.0125 mm/count. If the PLC retains the old scale, it can report twice the actual movement.

Programming the encoder alone is therefore insufficient. Update drive feedback resolution, PLC scaling, speed calculations and the reference arrangement together. Include any gear ratio or effective measuring-wheel circumference in the calculation.

Can TTL, HTL and differential outputs be changed?

Only where the specific model supports it. Some programmable products offer TTL/HTL selection; others have fixed output hardware. Differential signalling is a separate characteristic from voltage class. Read line-driver and RS-422 specifications alongside receiver and termination requirements.

When changing output type, verify supply voltage, actual HIGH/LOW levels, pin assignments and cable/connector wiring. A software option cannot make an unsupported control card compatible. The connection variant must also expose the pins required by the programming tool.

Does adjusting the Z index correct installation errors?

Where supported, a Z index setting moves the reference pulse to a selected shaft position or changes its width. An absolute preset can assign a specified position value to the current location. These are different functions; an index pulse alone does not turn an incremental system into a multiturn absolute system.

Backlash, eccentricity and coupling slip are not repaired by a software zero adjustment. Suitable encoder couplings and mounting remain important. With a hollow-shaft encoder, check shaft clamping and the anti-rotation arrangement too. Reference adjustment and mechanical repair are separate tasks.

How are communication and programming handled?

Depending on the product, configuration uses manufacturer software, a programming unit, a dedicated cable or a supported communication interface. Parameters available through EnDat, CANopen or EtherCAT are limited to the functions implemented by that device. A communication connector does not imply that every protocol is selectable.

Back up the existing settings and verify the full model code, programming connection and software version. Apply changes under appropriate commissioning conditions and read the saved values back. Follow the manufacturer's instructions for nonvolatile storage and any required restart. Then verify direction, counts over one revolution and scaling over a known distance.

Technical sources: SICK — programming functions · Dynapar — programmable encoder example · Beckhoff — incremental evaluation · Renishaw — measurement accuracy.