FIFO Input Timestamping

IMPORTANT: This feature is only available for 5034-UB8F module with firmware revision 2.011 or higher.
As a Sequence of Events feature, you can configure the 5034-UB8F module to report input timestamps in First-In-First-Out (FIFO) mode. When specific points that are Timestamp Capture-enabled transition from Off-to-On or On-to-Off, the module timestamps the transition with the system time clock from CIP Sync. The module stores the timestamp data in onboard buffers that hold 256 timestamp events. All eight points share the same buffer. At RPI, a FIFO buffer for 20 entries is produced for the controllers.
To enable this feature, set the Timestamp to FIFO in Device Definition.
IMPORTANT: Keep in mind that, although the module can store data for up to 256 timestamped transitions in its onboard buffers, if you manage the buffer effectively (for instance, retrieve data in a timely fashion), the module can timestamp an infinite number of input transitions and the controller is able to retrieve and use the data.

Typical Applications of FIFO Mode

FIFO mode is intended for use in applications where multiple transitions occur on multiple inputs in relatively rapid succession (that is, faster than the controller can acknowledge the data as the transitions occur).
Examples of typical FIFO mode applications are:
  • During a power trip, the sequence of devices that trips can be captured and analyzed.
  • Sequence monitoring
  • Process and machine optimization

Retrieve Data in FIFO Mode

In FIFO Mode, the controller must retrieve the timestamp events in the order that they occur.
  1. At each RPI, the module produces the oldest 20 unacknowledged events (in time sequence, oldest first) in the input tag.
  2. The controller checks whether the
    I.FIFO[0].EventNumber
    is 0.
    • If
      I.FIFO[0].EventNumber
      is 0, which means the FIFO is empty, no action is required.
    • If
      I.FIFO[0].EventNumber
      is any value other than 0, then the controller proceeds with the following steps to retrieve the FIFO data.
  3. The controller copies the I.FIFO[0] data to the desired location.
  4. The controller repeats the Step 3 for each subsequent entry in the I.FIFO sequentially until one of the following scenarios is true:
    1. An entry (I.FIFO[n]) with
      EventNumber
      = 0 is found, which means, from this entry onwards, the entries are empty.
    2. The last entry is copied.
  5. The controller updates the
    O.FIFO.EventNumberAck
    with the value of:
    • I.FIFO[n-1].EventNumber
      in the case of Step 4.a.
    • I.FIFO[19].EventNumber
      in the case of Step 4.b.
Whenever the module receives any value other than 0 for
O.FIFO.EventNumberAck
, it performs the following processing on the FIFO buffer to produce data for the controller and report it at the next RPI.
  • Clears all FIFO entries with the
    EventNumber
    equal to or less than the
    O.FIFO.EventNumberAck
    .
  • Moves unacknowledged FIFO entries to the beginning of the FIFO buffer.
  • Fills the remaining FIFO entries with the oldest events in the onboard buffer of the module.
TIP:
Use a Copy File (COP) or Synchronous Copy File (CPS) instruction to programmatically copy relevant input data from the controller tags to a separate array in the controller memory. Later, you can combine data from multiple modules and use a Sort routine to determine the order of events, with relative time reference, which occur in a specific period.

FIFO Event Latching

You can enable FIFO Event Latching to prevent the module from overwriting input data once it is timestamped.
  • If FIFO Event Latching is enabled, the new timestamps that are detected on the input points are discarded when the onboard buffer is full.
  • If FIFO Event Latching is disabled, the new timestamps that are detected on the input points overwrite the oldest timestamps that are stored in the onboard buffer when the onboard buffer is full.
Provide Feedback
Have questions or feedback about this documentation? Please submit your feedback here.
Normal