How position encoders should communicate with controllers often depends on compatibility issues rather than raw speed.
Product Manager, Encoders
There are a wide range of choices for connecting position encoders. A parallel connection works best for short distances. A serial protocol is appropriate with longer distances and when multiple encoders must share a cable.
Absolute position encoders can communicate in either parallel or serial format. Although fast, parallel is wire intensive and unsuited for long distances. There is a wide choice of serial protocols, including several encoder-specific buses and a number of general-purpose industrial buses. The choice of protocols often depends on whether position data passes over a control network, the need for open communication standards, and the level of ambient electromagnetic interference.
Absolute versus incremental encoders
The major difference between an incremental and an absolute encoder is that the absolute encoder outputs a code corresponding to a specific point on the shaft from the time it's powered up. Incremental encoders only output pulses as the shaft rotates. This means a machine with an incremental encoder must be driven to a home or reference position at power-up to reset the encoder pulse counters. Incremental encoders provide position and speed feedback in cases where their inherent lack of a zero point makes no difference. Absolute encoders provide both position and speed sensing as well, but are reserved for where it's impractical or inconvenient to home the machinery each time power comes up. This is because absolute encoders are generally more expensive.
Incremental encoders actually output two streams of pulses from two detectors set so the resulting pulse trains are 90° apart. Comparing the two outputs provides information on direction of rotation. Encoder pulses can also be interpolated to increase position resolution. In addition, some incremental encoders have an output known as the marker or reference pulse, or Z channel, which produces one pulse per revolution. The signal often serves to locate a specific position during the shaft rotation.
In contrast to pulse trains from incremental encoders, the output from absolute encoders is a digital word. It gets generated by a code disk with multiple tracks and multiple detectors, one for each output bit. The resulting signals may be output on a set of wires or encoded into a serial bit stream.
Parallel outputs can be provided as straight binary or transformed into gray code. Gray code produces only a single-bit change at each step, which can make it easier to detect errors in the encoder signal. Some parallel-output encoders also can accept inputs from the outside such as output-latching commands and direction-sense settings.
The advantage of parallel output is that it's fast: all the data is available in real time, all the time. Disadvantages include bulky and expensive cables and limited cable length. Most encoders come with cables a meter or two long, but a parallel output using differential signaling output and thick, shielded cabling can be extended to 100 m at a reduction in speed. The required cabling can also get expensive. Open-collector (sinking or sourcing) outputs can go roughly a third as far.
An alternative is to encode the parallel output and send it in serial form. There are several dedicated serial buses available, as well as standard industrial buses. Trade-offs among these include bandwidth, update rate, hardware requirements, wire count, use of proprietary or nonproprietary formats, and availability. Dedicated serial interfaces include SSI, EnDat, Hiperface, and the newest, BiSS.
SSI, or Synchronous Serial Interface, is an all-digital, point-to-point interface widely accepted in Europe. It provides unidirectional communication at speeds to 1.5 MHz and uses a four-wire cable plus two wires for power. Data rate depends on both resolution and cable length.
When interrogated, the encoder begins to transfer its gray or binary-code output, one bit per clock pulse, beginning with the most significant bit (MSB). When all bits have transferred, it resets and awaits the next interrogation. Clock pulses are provided by the controller. Unlike the other available interfaces, SSI does not have much in the way of error-checking provisions, relying on double transmission and a parity bit. So if data is corrupted during one transmission cycle, it will stay corrupted until new data is sent.
EnDat, or Encoder Data, is a proprietary protocol developed by Heidenhain. Like SSI, it's synchronous with clock signals fed to the encoder by the controller. EnDat can carry more information than SSI because it provides for internal memory in the encoder that the controller can read and write to. This data can include encoder diagnostics, identification, and alarm status. In addition, the controller can set the encoder's zero reference point, which aids in equipment setup. As with SSI, EnDat encoders transmit absolute position data on demand. Depending on version, EnDat can include an analog 1-V p-p sin/cos output that electronics in the controller interpolate to derive incremental data for real-time control. EnDat uses a six to 12-conductor cable up to 150 m long, and a clock frequency of 100 kHz to 4 MHz, depending on distance and release version.
Hiperface is a proprietary protocol developed by Max Stegmann GmbH. It uses an eight-wire cable (two for data, two for power and four for 1-Vp-p sin/cos) and has two channels: One carries 1-V p-p sin/cos incremental data, while the other is a bidirectional RS-485 link. Absolute position data transmits via the RS-485 link at power-up, and the system is incremental after that. This solves the problem of not knowing position at start-up, but it does not self-correct for momentary data dropouts during operation. With only incremental data coming into the controller, it's easier to lose track of position in the event of a glitch. Unlike SSI, EnDat and BiSS, the Hiperface digital data channel is asynchronous; there are no clock signals from the controller. Hiperface can connect point to point, and can also use a bus connection, which can save on wiring.
Because all position data after startup is carried by the analog sin/cos channel, the frequency on the cable is low. A 1,024 pulse/rev encoder generates only a 204.8-kHz signal at 12,000 rpm. But absolute position data cannot be sent reliably beyond about half that speed.
Hiperface can access the encoder memory area for manufacturer data, status, and alarm information. In addition, the controller can write to certain memory areas and can set the absolute zero position.
BiSS (bidirectional synchronous serial interface), is an open protocol and is the newest of the encoder interfaces. BiSS sends full absolute position data whenever the controller polls the encoders. It is purely digital, eliminating the analog outputs used by EnDat and Hiperface. While use of analog signals appears to save on communications bandwidth, it requires that the control equipment contain costly a/d converters. The BiSS interface enables machine builders to avoid this expense because all the signals are digital from the beginning. In addition, BiSS includes a cyclic redundancy check (CRC) with every data transmission, which SSI and Hiperface do not.
BiSS uses four data lines, one pair carrying data from the encoder and one carrying clock data to it, plus two power conductors. It uses a variable clock rate of up to 10 MHz.
BiSS can address internal registers in the encoder that can be read by and written to by the master with data about the encoder itself (identification, device data, resolution, etc.). It can also carry other digital data such as temperature and acceleration and transmit to the master on demand, without affecting real-time operation. And BiSS, like Hiperface, can be connected either point to point or via a bus.
In addition to encoder-specific buses, several field and device-level buses are used with encoders, including Profibus DP, DeviceNet (based on CAN), and Interbus. These provide the advantage of being able to connect with other equipment in the plant, but may limit the communication speed and functionality of the encoders. Though each bus provides the same basic benefits, there are important differences.
DeviceNet is based on the Controller Area Network (CAN) developed by Bosch for use in automobiles and commercialized for industrial use by Allen-Bradley/Rockwell Automation. This bus is now administered by the Open DeviceNet Vendor Association (ODVA). The basic trunkline/dropline topology provides separate twisted-pair wires for both signal and power distribution, letting 24-Vdc devices be powered directly from the bus. End-to-end network distance varies with data rate and cable size. The 0 to 8-byte-data packet is ideal for low-end devices with small amounts of I/O that must be exchanged frequently.
Profibus is an open communication standard developed by the European Community (European Common Standard EC50170). Profibus was adopted by Siemens for use as its remote I/O network. There are two variations: FMS which is used for upper-level cell-to-cell communication, and Profibus DP which is optimized for data transfer with local field devices like valves, drives, and encoders. There are specific device profiles defined. For instance, an encoder profile is good for applications that require high-speed transmission of fairly large amounts of information; say 512 bits of input data and 512 bits of output data over 32 nodes in 1 msec.
Interbus was designed by Phoenix Contact in the mid 80s. Interbus is the longest-standing open industrial network. A true token-ring topology, Interbus is actually divided into two buses. The remote bus is an RS-485 transmission medium with length capabilities to 13 km. The local or peripheral bus enables connections to eight devices within a 10-m range. Although transmitted at a moderate baud rate of 500 Kbps, the low overhead structure makes this a good choice for high-speed, deterministic transmission of small amounts of data over long distances.
|Open protocol||No||No (license available)||No||Yes|
|Connection||RS-485: Bus or point to point,|
analog: point to point
|Point to point||Point to point||Bus or point to point|
|Analog signals required||Yes||Yes||No||No|
|Transmission mode (digital)||Bidirectional,|
|Digital data transmission rate||38.4 kBaud||1.5 MHz||4 MHz||10 MHz|
|Cable length compensation||No||No||Yes||Yes|
|Protocol length adjustable||No||No||Yes||Yes|
|No. of wires||8||6 to 8||6 to 12||6|
Bus network comparison
|Topology||Linear (trunkline/dropline)||Linear (trunkline/dropline)||Closed loop|
|Communication system||Master/slave||Multimaster (producer/consumer)||Master/slave|
|Data exchange||Polled, change of state, cyclic||Polled||Polled|
|Maximum length||500 m||1,200 m (w/ repeaters)||13 km|
|Data packet||0 to 8 bytes||244 bytes||Flexible|
|Transmission speed||125kbit/sec @ 500m,|
250 kbit/sec @ 250 m,
500 kbit/sec @ 100 m
to 12 Mbit/sec
|Transmission media||Two-wire twisted pair with two-wire|
bus power cable with drain wire
pair with shield
|Local: Three-pair twisted wire with drain,|
Remote: Five-pair twisted wire with drain