Controllogix 7272 Endat Interface Manual: Module Overview
Controllogix 7272 Endat Interface Manual: Module Overview
Revision 2.4
Module Overview
The 7272 module is a two-channel EnDat 2.1 interface module that resides in a Rockwell Automation
ControlLogix rack.
This module is capable of connecting up to two independent EnDat output encoders/sensors with max 48-bit
resolution for position. This module also has two latching inputs, one for each channel, which can be used to
capture the sensor’s data.
The 7272 module communicates with the PLC using input and output registers. The Data value, Velocity,
Latched Value, and Status information are reported to the Input Registers. All module setup parameters,
including Preset Value, Count Direction, Velocity Response Time, as well as the Sensor Logic parameters
[Data Type (binary/gray), Data Logic (positive/negative), Number of EnDat Data Bits and Clock Frequency]
are programmed through Message Instructions.
The Output registers assigned to the module can be used to Apply the Preset, to send Reset command to the
encoder or to send the PLC’s Central System Clock-Time to the 7272 module. This optional and additional
feature causes the module to use this system time and the sensors velocity data to calculate an Interpolated or
“Look Ahead” Data value.
The 7272 module stores its parameters in a non-volatile flash memory when power is removed so it is not
necessary to program the module at every power up. However, this flash memory is good for a minimum of
10,000 write cycles, so the module must not be programmed during every machine cycle.
The module has two opto-coupler latching inputs that will capture the scaled sensor data on the rising,
falling, or both transitions of the input. These inputs can be wired to be sinking or sourcing and will activate
when they see a voltage level between 8 and 24Vdc across the + and – latch terminals.
Through the use of different rack Assembly Instances, the 7272 can be configured to operate with one or two
of the available channels. Disabling the unused channel is recommended for improving the throughput time.
General Information
Important User Information
The products and application data described in this manual are useful in a wide variety of different applications.
Therefore, the user and others responsible for applying these products described herein are responsible for determining
the acceptability for each application. While efforts have been made to provide accurate information within this
manual, AMCI assumes no responsibility for the application or the completeness of the information contained herein.
Throughout this manual the following two notices are used to highlight important points.
WARNINGS tell you when people may be hurt or equipment may be damaged if the procedure is not followed
properly.
CAUTIONS tell you when equipment may be damaged if the procedure is not followed properly. No patent liability is
assumed by AMCI, with respect to use of information, circuits, equipment, or software described in this manual. The
information contained within this manual is subject to change without notice. UNDER NO CIRCUMSTANCES WILL
ADVANCED MICRO CONTROLS, INC. BE RESPONSIBLE OR LIABLE FOR ANY DAMAGES OR LOSSES,
INCLUDING INDIRECT OR CONSEQUENTIAL DAMAGES OR LOSSES, ARISING FROM THE USE OF ANY
INFORMATION CONTAINED WITHIN THIS MANUAL, OR THE USE OF ANY PRODUCTS OR SERVICES
REFERENCED HEREIN.
Standard Warranty
ADVANCED MICRO CONTROLS, INC. warrants that all equipment manufactured by it will be free from defects,
under normal use, in materials and workmanship for a period of [18] months. Within this warranty period, AMCI shall,
at its option, repair or replace, free of charge, any equipment covered by this warranty which is returned, shipping
charges prepaid, within one year from date of invoice, and which upon examination proves to be defective in material
or workmanship and not caused by accident, misuse, neglect, alteration, improper installation or improper testing. The
provisions of the “STANDARD WARRANTY” are the sole obligations of AMCI and excludes all other warranties
expressed or implied. In no event shall AMCI be liable for incidental or consequential damages or for delay in
performance of this warranty.
Returns Policy
All equipment being returned to AMCI for repair or replacement, regardless of warranty status, must have a Return
Merchandise Authorization number issued by AMCI. Call (860) 585-1254 with the model and serial numbers along
with a description of the problem. A “RMA” number will be issued. Equipment must be shipped to AMCI with
transportation charges prepaid. Title and risk of loss or damage remains with the customer until shipment is received
by AMCI.
Table of Contents
Installing the 7272 Module Chapter 1 4
Type = 1756-MODULE
Description = Generic 1756 Module
5. Click on OK.
6. Enter the following module properties.
7. Enter the Connection Parameters from the following table. Please note that the 7272 module can be configured in
two ways, depending on how many channels are being used. Disabling the unused channel is recommended
because the module will stop all activities associated with the unused channel, which will improve the throughput
time.
The Owner Controller setup will be used in most instances. The Listen Only setup should only be used by the
listening processor(s) in systems with more than one PLC. Please note that the RPI time of the Listen Only
processor must be greater than or equal to the RPI of the Owner Controller, and the number of channels on the
Listen Only processor must match the number of channels on the Owner Controller.
The module should now appear in the project tree. The Input data will be referenced as Local:X.I.Data[Y] and the
output data will be referenced as Local:X.O.Data[Y] where “X” is the slot number and “Y” is the word number.
Throughput Time: 0.2ms to 1.2ms depending on the EnDat frequency and the number of bits and channels used.
External Power: The 7272 module requires the use of an external +24Vdc power supply that is used power the input
isolation circuitry and can also be used to power sensors that operate on 24Vdc
5Vdc supply The 7272 module also uses the external power supply to generate a 5Vdc user power supply
that can be used to power encoders and or sensors that run on 5Vdc. This 5Vdc supply
generates 500mA (± 5%) of current.
Latching Inputs The Latching Input terminals accept an up to 24VDC signal across pins 17-15, 18-16, The
latching function is performed as programmed when power is applied/removed, OFF to ON
and/or ON to OFF, to/from the input.
The latching inputs must be on for between 0.2ms and 1.2ms, depending on the number of
channels being used.
EDS File An EDS file for the 7272 module can be downloaded from the Tech Library section of AMCI’s website,
www.amci.com.
FLASH Memory
The 7272 module’s parameter values are stored in a non-volatile Flash memory. This memory type can store parameter
values in the absence of power for over twenty years, but you can only write to it a limited number of times before it
will be damaged. The Flash Memory used in the 7272 module is guaranteed for a minimum of 10,000 write cycles.
Encoder Identification
The 7272 module interrogates the EnDat Encoder at every power up. If the encoder is attached later and is different
from what is stored in the module’s memory, the module will set the Reset Command Fault, the Transducer Fault, and
the Encoder Resolution Mismatch status bits and will stop outputting clock pulses.
If this occurs, remove power from and then re-apply power to the module while power is applied to the encoder. This
will cause the module to again interrogate the encoder.
Front Panel:
OK LED
Solid Green: Module Owned, two-way communication
Blinking Green: PLC in Program Mode
Blinking Red: Communication between module and PLC interrupted
Wiring Notes
• Use the information provided by the encoder’s manufacture to determine the type and maximum length of cable
that should be used to connect the sensor to the 7272 module.
• When plugged into the 7272 module, pin 1 is located in the upper right hand corner.
• External +24Vdc (pins 2 and 20) are internally connected together.
• GND1/2/3/4 (pins 3, 4, 21 and 22) are internally connected together and must be connected to the external
+24Vdc supply’s common.
• The 7272 module uses the external +24Vdc supply to power the isolation circuitry and to generate +5Vdc user
power (pins 23 and 24). These two pins, which are internally connected together, can be used to power sensors
requiring less than 500 mA of current.
7272 module
-input, pins 11 or 12
• Earth Grounds 1 through 4 (pins 1, 13, 14 and 19) are internally connected together and are connected to the
ControlLogix rack structure. The cable shields of the sensor’s cable should be connected to these terminals.
• Transducer signals are generally low voltage, low power signals. If you are using A-B guidelines for cabling
installation, treat the transducer cable as a Category 2 cable. It can be installed in conduit along with other low
power cabling such as communication cables and low power ac/dc I/O lines. It cannot be installed in conduit
with ac power lines or high power ac/dc I/O lines.
• Like all signal and communication cable, the transducer cable should be shielded. These shields must be
grounded only at one end of the cable. Because the rack cabinet is typically better grounded than the machine,
AMCI recommends that the cable shields be terminated at the 7272 module. However, if your cable shield is
attached to the sensor’s housing, and the sensor is grounded through its mounting, you must not connect the
cable shields to the 7272 module because this will create a ground loop.
• If a junction must be made in the signal cable, treat the shield as a signal-carrying conductor. Do not connect
the shield to ground at any junction box or the encoder/sensor.
• If the signal cable must cross power feed lines, it should do so at right angles.
• Route the cable at least five feet from high voltage enclosures, or sources of RF radiation.
For more information on EnDat refer to the EnDat Specification and your EnDat encoder documentation.
To be read by the 7272 module, the latching inputs must be on for between 0.2ms and 1.2ms, depending on the
number of channels being used.
The 7272 module reports the status of the Latched input even if the function of the latched input has been
disabled.
The Latched Value is not saved through power down. Therefore, the Latched Value displayed in the 7272
module’s input registers at power up will be zero.
Interpolated Data value: This additional and optional feature may be useful for customers using the
ControlLogix PLC’s virtual axis functionality. If used, the 7272 module will take the PLC’s Central System
Clock-Time and the sensor’s velocity data to calculate an Interpolated or “Look Ahead” Data value. This has
two possible functions. One, the Interpolated Data Value along with the time value can be sent to other
ControlLogix modules, for example the AMCI 8213-VA, allowing them to schedule their responses with a high
degree of precision. Two, the Interpolated Data Value allows the user to “Look Ahead” to what the Data Value
will be at a defined time in the future. Here is the procedure for generating the Interpolation Data Value.
1. Make the PLC the System Time Master by opening the Controller Properties and clicking
on the Date/Time tab. Click on the box next to the “Make this controller the Coordinated
System Time Master” text so that a check mark appears in the box and accept the changes
by clicking on OK. The Interpolated position value will be valid only if this step is
performed.
2. Create a GSV instruction in your ladder logic, with the Class Name set to CST and the
Attribute Name set to CurrentValue, to read the system time from the PLC. The
destination address must be made up of two DINT registers.
3. If desired, add a value to word 0 of the time value read above. This value is entered in
1µs increments, every 1000 equals 1ms, and equals the amount of time that you want to
“look ahead.”
4. Place the time value from step 3 into the output registers. The next time that the
Interpolation Transmit bit transitions from either 0 to 1 or 1 to 0, the Central System Time
will be sent to the 7272 module.
5. The latest Interpolation Data Value will be located in the input data the next time the
module is updated at the normal RPI update.
Limit Switch Position: This two word parameters defines ON and OFF setpoints. If the ON setpoint is less than
the OFF setpoint, a bit in the Input Registers, which can be easily interrogated by a relay instruction, will be set
when the Data Value is between these two setpoints. If the ON setpoint is greater than then OFF setpoint, then
the bit will be set when the Data Value is outside of the these two setpoints. A separate Limit Switch bit based
on the same ON/OFF setpoints also exists for the Interpolation Data Value.
EnDat Clock Frequency: This parameter allows you to set the EnDat clock frequency to one of five values;
125kHz, 250kHz, 500kHz, 1.0MHz, or 2.0MHz. The default value of 125kHz value will work in all
applications. Your sensor’s user manual should contain information on what EnDat Clock Frequency is
appropriate for both the sensor and the type and length of cable used.
Number of EnDat Data Bits (Encoder Resolution): This value sets the number of position bits that the 7272
will read from the EnDat transducer per interrogation. This parameter has a range of 1 to 48 and must equal the
user’s EnDat Encoder resolution. The default value is 24 bits.
Note: On power up the 7272 module interrogates the EnDat encoder attached to each channel for its actual
resolution. (According to the EnDat 2.1 specifications, this Encoder Manufacturer parameter is located in
Word13.) If this value does not match the Number of EnDat Data Bits stored in the 7272 module’s memory, the
Encoder Resolution Mismatch Fault Bit will be set (see page 19). The module will not output any clock pulses
until the correct number of EnDat data bits is programmed into the module.
Most Significant Bit (MSB) Number: This parameter defines the bit location of the first bit of the Data Value
in the data bit stream. This parameter has a range of 1 to 48. Any data bits above the MSB value will be masked
off when the Data Value is determined.
Example: You have a 24-bit multi-turn EnDat encoder. Bits 1 to 12 are the multiturn position and bits 13 to 24
are the single turn position. You are only interested in the single turn data.
In this example, the 7272 module would be setup using the following data.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
X X X X X X X X X X X X X X X X X X X X X X X X
Data Type: This parameter tells the 7272 module to interpret the EnDat data either as a Binary number or as a
Gray Code number. The default value is Binary.
Data Logic: This parameter is included to handle situations where the EnDat data is reported with negative
logic. If this parameter is set, the 7272 will invert the data bits before performing any scaling and decoding
operations. When left in its default value of positive, the 7272 module will use the EnDat data as it is from the
sensor.
Preset Value: The zero position of the EnDat encoder’s Data Value may not match the zero position of your
machine. The Preset Value parameter gives you the ability to offset the Data Value from the actual EnDat data
to a value that will be more useful for your application.
Programming the Preset Value parameter does not change the Data Value. It is stored in the 7272 module’s
memory until the module sees a zero to one transition of the Apply Preset bit.
Apply Preset: Offsetting the Data Value to the Preset Value is a two step operation. First, a Message Instruction
must be used to send the Preset Value with the other setup parameters to the 7272 module. Second, setting the
Apply Preset in the output registers will change the Data Value to the Preset Value.
Setting the Apply Preset bit causes the module to generate an internal offset value that is applied to the Data
Value before it is reported to the PLC. This internal offset is saved in the 7272 module’s Flash memory, so it is
not necessary to home the module at every power up. Please note that using a Message Instruction to program a
channel’s setup data will clear the internal offset generated by an Apply Preset operation.
The 7272 module’s Flash memory is guaranteed for 10,000 write cycles before
writing to it will cause it to fault. Therefore continuously applying the Preset should
be avoided. If your application requires you to continuously apply the Preset,
consider calculating and applying the Preset in your PLC program.
Count Direction: This parameter is useful if your Data Value represents a linear position. It gives you the
ability to reverse the direction of motion needed to increase the position count. For simplicity’s sake, the two
values for this parameter are called Positive Direction and Negative Direction. When this parameter is set to its
default of Positive, the Data Value is not changed. When this parameter is set to Negative, the Data Value is
subtracted from a value equal to the 2^(Data Bits). You will probably need to Apply the Preset to the Data Value
after you program the Count Direction parameter.
If your Data Value represents a rotary position, you cannot change the count direction with this parameter.
However, you can easily reverse the count direction with ladder logic. This can easily be accomplished with two
rungs of logic. If the data value is equal to zero, do nothing, and if the data value is not equal to zero, subtract
the current data value from the maximum value that your rotary encoder will output.
Velocity Update Time: The Velocity Update Time parameter sets the amount of time between Rate of Change
information updates to the PLC. Its can be set to either 60 milliseconds or 120 milliseconds, with 120
milliseconds being the default. Decrease the time between updates for faster response to changes in this value.
Increase the time between updates for better averaging of this value. The Velocity update time does not affect
the rate at which the position data is updated.
1. A different message instruction is needed for each channel of the 7272 module.
2. The message instruction sends data to or reads data from the 7272 module only when the rung transitions from
false to true.
3. The Message Control tag, message_ch1 in this example, used for Message Instruction Control must have the
MESSAGE data type.
4. Clicking on the button in the Message Instruction opens the Message Configuration Window, an example of which
is shown below. Enter the appropriate data for the channel and operation being performed. When finished, click
on the Apply button to accept the new data.
If the Message Instruction is being used to read data from the 7272 module, than the source parameter
must be left blank.
Source Length: If the Message Instruction is being used to send setup data to the 7272 module, then the Source Length
parameter must be equal to 36 bytes.
If the Message Instruction is being used to read data from the 7272 module, then the Source Length
Parameter must be set to zero.
Destination: If the Message Instruction is being used to send data to the 7272 module, then the Destination Parameter
must be left blank.
If the Message Instruction is being used to read data from the 7272 module, then the Destination
Parameter must be set to the first tag of the array where the data will be placed.
The Message Instruction is used with the following information to send Setup Data to the 7272 module.
The Message Instruction is used with the following information to read Setup Data from the 7272 module.
The data send to any channel consists of two 32-bit words (8 bytes) shown in the table below, containing MRS
code and parameter number. MRS code is a memory area code, according to the EnDat Specification. The parameter
number in the following table, is used to tell the 7272 module which of the sensors parameters to read. Note that the
data value in the input registers will be frozen while the parameter is being read from the sensor.
Returned Value
Data Word
Function
Type Number
32-bit 0 Parameter value
MRS code
Parameter number range Description
(hex values)
0xB9 0-3 Operating Status
0xA1 4-15
Parameters of the encoder
0xA3 0-15
manufacturer
0xA5 0-15
0xA7 0-15 Operating Parameters
0xA9 0-63
0xAB 0-127 OEM Parameters
0xAD 0-127
Compensation values of the encoder
0xB7 0-127
manufacturer
Returned Value
Data Word
Function
Type Number
32-bit 0 Status
Note: Writing may be disabled for the user from the encoder manufacturer. The module will report the ‘raw’
value of the parameter, as it is stored in the encoder’s memory.
Configuration Bits:
Bits 0 to 7: Reserved, must be 0;
Bit 8: Program Count Direction (0 = Positive, 1 = Negative)
Bit 9: Program Velocity Update (0 = 120ms, 1 = 60ms)
Bit 10: Latch position on rising edge of input
Bit 11: Latch position on falling edge of input
Bit 12: EnDat Data Logic (0=positive, 1=negative)
Bit 13: EnDat Data Type (0=Binary, 1=Gray Code)
Bit 14 to 16: EnDat Frequency
Note 1: The Velocity Update Time does not affect the update of the Data Value.
Note 2: Programming a channel’s setup data will clear the internal offset generated by an Apply Preset Operation.
Note 3: The 7272 module will accept and act on Setup Data sent from a Message Instruction that occurs in a Listen
Only Processor.
Configuration Bits:
Bits 0 to 7: Reserved, must be 0;
Bit 8: Program Count Direction (0 = Positive, 1 = Negative)
Bit 9: Program Velocity Update (0 = 120ms, 1 = 60ms)
Bit 10: Latch position on rising edge of input
Bit 11: Latch position on falling edge of input
Bit 12: EnDat Data Logic (0=positive, 1=negative)
Bit 13: EnDat Data Type (0=binary, 1=Gray Code)
Bit 14 to 16: EnDat Frequency
Input Registers: (Data sent from the 7272 module to the PLC)
The input data consists of ten (for 1 channel) or twenty (for 2 channels) 32-bit words, and is read by the PLC at the RPI
(Requested Packet Interval) Time that is asynchronous to the Ladder Logic Program. The Input data will be referenced
as Local:X.I.Data[Y] where “X” is the slot number and “Y” is the word number.
To ensure that the same data is used throughout the entire PLC program, this data should be buffered to internal
registers at one place in the program. However, in order to take advantage of the real time availability of the
Interpolation Data value, the Interpolation Acknowledge bit, the Limit Switch State Bit, and the Interpolation Limit
Switch State Bit should be used directly from their respective Input Registers.
The data contained in the input registers consists of Status Word, Data Value, Velocity and any associated Latched or
Interpolated Data Values.
Bits 11: Reset Command Fault . Set when the Reset encoder Command fails due to wiring fault, crc, etc. Cleared
when Reset command bit in the Output register transitions from 1 to 0.
Bits 12 to 13: Reserved for future use
Bit 14: OUTPUT FAULT: Set when one or more of the unused bits in the corresponding COMMAND WORD are
set. This bit will be automatically reset when the incorrect bit(s) are reset.
Bit 15: BAD CRC Memory Error: Set when the flash area for the corresponding channel parameters shows corrupt
data. It will still be possible to use the 7272, but the module will power up using its default parameters.
That is, you will have to use message instructions to program your setup data at every power up. If you do
not want to use the module in this way, it must be returned to AMCI for repair.
Bits 16 to 31: Reserved for future use
Velocity: This is the rate of change of the data value in Counts / Second.
Latched Data Value: This register shows what the Data Value was when the Latch Input transitioned, depending on
the configuration, from 0 to 1 and or from 1 to 0. The Latched Data Value will be reset to zero
at power up. Also, the current Data Value will be placed in this register if the input is
configured for the 0 to 1 transition and the input is active at power up.
Interpolated Data Value: This register shows the Data Value based on the Central System Time and the sensor’s
velocity data. It is not necessary to use this feature if you are only interested in reading the
Data Value and Velocity directly from the sensor.
Output Registers: (Data sent from the PLC to the 7272 module)
The output registers are used to execute commands that typically occur during machine operation, while module setup
functions are accomplished with the use of Message Instructions. See Chapter 3 and 4 for configuring the 7272
module.
1 Channel configuration
Channel 32 Bit Function
Number Word
0 Command Bits
1
1 Interpolation CST Value
2 Channels configuration
Channel 32 Bit Function
Number Word
0 Command Bits
1
1 Interpolation CST Value
2 Command Bits
2
3 Interpolation CST Value
Bit 0: APPLY PRESET COMMAND: The 0 to 1 transition of this bit changes the respective EnDat channel’s Data
Value to the Preset Value that was programmed with the channels Setup Message Instruction. The Default
Preset Value is zero.
Bit 1: INTERPOLATION COMMAND: Both transitions of this bit, (0 to 1) and (1 to 0), causes the respective
EnDat channel to read the Current System Time from the output register and calculate the Interpolated Data
Value. This Interpolated Data Value will be read by the PLC during the next RPI update of the module.
Bit 2: APPLY ENCODER RESET COMMAND: The 0 to 1 transition of this bit causes the module to send the
RESET command to the EnDat encoder. This will stop current data transfer from the encoder. Refer to the
EnDat Specification for details.
Note: Before the Apply Encoder Reset Command will take affect, it may be necessary to use the Write EnDat
Encoder Parameter message instruction to reset the parameter in the error in the encoder itself.
1. The ladder logic program sets the APPLY PRESET COMMAND bit when you want to change the channel’s
current Data Value to the previously programmed Preset Value.
2. The 7272 module will set the APPLY PRESET ACKNOWLEDGE bit in the input registers to indicate that it
has received the command.
3. When the ladder logic program sees that the APPLY PRESET ACKNOWLEDGE bit is set, it will reset the
APPLY PRESET COMMAND bit. The programming cycle is now complete.
The 7272 module’s Flash memory is guaranteed for 10,000 write cycles before
writing to it will cause it to fault. Therefore continuously applying the Preset should
be avoided. If your application requires you to continuously apply the Preset,
consider calculating and applying the Preset in your PLC program.
1. The ladder logic program reads the desired Central System Time value from the PLC using a GSV instruction.
The Destination tag must consist of at least two DINT registers.
2. If desired, add the amount of time, in microseconds, that you want to “look ahead” to the lower word of
Central System Time.
3. Write the desired Central System Time value into the Interpolation CST Value Output Register.
4. Based on the state of the Interpolation Acknowledge bit, toggle the Interpolation Command bit either on or off.
5. Based on the measured Velocity for the corresponding sensor channel, the 7272 module calculates the
Interpolated Data Value and places it in the respective Input Register. The 7272 module then adjusts the
Interpolation Acknowledge Bit accordingly.
If desired, the user can send the Interpolated Position, along with the system time, to another ControlLogix
module each time the Interpolation Acknowledged bit changes state.
The following is an example of the ladder logic that can be used to generate the Interpolation Data Value.
Revision 1.0
08/08/08 – EnDat-Specific Error Codes added.
Revision 2.0
11/19/08 – Encoder resolution changed to 48-bit
Revision 2.1
1/22/09 – Updated Setup Parameters; Reset Command Bit Added; New fault bits added;
Revision 2.2
4/23/09 – Note added (page 10) on the power up sequence;
Revision 2.3
7/23/09 – added bit 10 - Transducer Fault-Encoder not connected or CRC ERROR; Updated Extended Error Codes –
page 14 ; The Name of the parameter Number of Clock bits changed to Number of Data Bits
Revision 2.4
2/26/10 Encoder Parameters section updated. Output Registers section error corrected. Status word bit 8 and 11 updated – added
Bit 11- Reset Command Fault .