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.
- At each RPI, the module produces the oldest 20 unacknowledged events (in time sequence, oldest first) in the input tag.
- The controller checks whether theI.FIFO[0].EventNumberis 0.
- IfI.FIFO[0].EventNumberis 0, which means the FIFO is empty, no action is required.
- IfI.FIFO[0].EventNumberis any value other than 0, then the controller proceeds with the following steps to retrieve the FIFO data.
- The controller copies the I.FIFO[0] data to the desired location.
- The controller repeats the Step 3 for each subsequent entry in the I.FIFO sequentially until one of the following scenarios is true:
- An entry (I.FIFO[n]) withEventNumber= 0 is found, which means, from this entry onwards, the entries are empty.
- The last entry is copied.
- The controller updates theO.FIFO.EventNumberAckwith the value of:
- I.FIFO[n-1].EventNumberin the case of Step 4.a.
- I.FIFO[19].EventNumberin 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 theEventNumberequal to or less than theO.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