beautypg.com

Incremental encoder command set – BEI Sensors Dual Encoder to USB Converter Module User Manual

Page 5

background image

Tel:805-968-0782 / 800-350-2727 | Fax: 805-968-3154 / 800-960-2726

7230 Hollister Ave., Goleta, CA 93117 |

www.beisensors.com

Specification No. 02109-001 Rev. 06/11

INCREMENTAL ENCODER COMMAND SET

F - Read Encoder Status Flags

This command reads the three encoder status flags: Carry, Borrow and Power-up. The “c” field is the Encoder # (1 to 2). The Carry flag
is set whenever a carry rollover occurs (counter rolls from max value to zero) in the quadrature counter. Likewise, the Borrow flag is set
whenever a borrow occurs (counter rolls form zero to max value). The Power-up bit is set only upon initial power application to the unit.
This can be used to detect loss of power to the unit. Each flag will return a single character (either 0 or 1) representing the current state
of the flag. All three flags are reset to zero after the response is sent.

Send:

$0Fc

Success:

*0Fcxxx

Failure:

*0NACK

Example:

$0F1
*0F1101
For channel 1, the Carry flag is set, Borrow is cleared, and Power-up is set.

I - Set Encoder Index Configuration

This command sets the index configuration for each encoder channel. The “c” field is the Encoder # (1 to 2). The index can either be
enabled or disabled by sending a 1 or a 0 respectively for data field 'e'. If set to disabled, the field is omitted. If enabled, the
field is a number that the counter will be preset to when the index occurs. To zero the counter on index, set this value to 0. The
length of the field will depend on the currently selected counter width (see Quadrature Configuration command 'Q'). For an 8,
16, 24 or 32 bit counter the field will be 3, 5, 8 or 10 characters long respectively. Power on default configuration is index
disabled.

Send:

$0Ice

Success:

*0ACK

Failure:

*0NACK

Example:

$0I2100123
Enables encoder channel 2 index, with a preset value of 00123 (setup for 16 bit counter width)

Q - Set Quadrature Configuration

This command sets the quadrature configuration for each encoder channel. The “c” field is the Encoder # (1 to 2). The "m" field sets the
count mode, which can be set to one of four values. A value of 0 is Pulse/Dir mode, where a count pulse is input on input A and count
direction is input on input B. Values 1, 2 and 3 are quadrature count modes X1, X2 and X4 respectively. The "w" field sets the counter
width. Either 8 bit, 16 bit, 24 bit or 32 bit widths can be selected by sending a value of 0, 1, 2 or 3 respectively. The “s” field sets the
counter style. A value of 0 is free running counter a value of 1 is moulo-n counter (n = current index value from I command). Power on
default configuration is quadrature X1, 24 bit, free running counter.

Send:

$0Qcmws

Success:

*0ACK

Failure:

*0NACK

Example:

$0Q131
Sets channel 1 to quadrature X4 mode, 16 bit width.

R - Read Encoder Count Value

This command reports back the current count value of the encoder channel. The “c” field is the Encoder # (0*, 1 to 2). The length of the
field will depend on the currently selected counter width (see Quadrature Configuration command 'Q'). For an 8, 16, 24 or 32 bit
counter the field will be 3, 5, 8 or 10 characters long respectively.

Send:

$0Rc

Success:

*0Rc

Failure:

*0NACK

Example:

$0R2
*0R200004095
Reads the current count value of encoder channel 2, which is configured for 24 bits (8 character length).
The reported value is 00004095.

* If zero is sent as the encoder number, it will perform a read of both encoder channels. Each channel’s value will be sent
back in the data format specified by the encoder type (quadrature or SSI) with a comma between each data field. In the
following example, channels 1 and 2 are quadrature and set for 16 bit, with a count value of 12345 for each.
Example:

$0R0

*0R012345,12345

S - Set Encoder Counter Value

This command sets the encoder's counter to a specific value. The “c” field is the Encoder # (1 to 2). The length of the field will
depend on the currently selected counter width (see Quadrature Configuration command 'Q'). For an 8, 16, 24 or 32 bit counter the
field will be 3, 5, 8 or 10 characters long respectively.

Send:

$0Sc

Success:

*0ACK

Failure:

*0NACK

Example:

$0S1210
Sets encoder channel 1 counter to a value of 210, which is configured for 8 bits (3 character length).