Indirect addressing has been covered on this forum a million times. Very basically, indirect addressing in the PLC word is using one tag (memory location) to point to another memory location. In ControlLogix, since it's a tag based controller, indirect addressing is used with arrays. For example lets say we have a ControlLogix array called Array. It has ten DINT elements. So in the tag organizer it will how up as Array[10]. The elements are Array[0] to Array[9]. For indirect addressing, instead of supplying a fixed element such as Array[2], we could do something like Array[index]. index would be another tag, either a DINT or INT. Now whatever value index is, that's what element would be referenced i.e, if index is 5, the it would be Array[5]. Yout have to be careful not to have the value of index go out of the range of the Array or a major fault will occur.