This is the E_CYCLE function block type for periodic generation of events as defined in Annex A of IEC 61499-1.
  • As shown in the normal_operation service sequence below:
    1. An event is generated at the EO output at a time DT after the first occurrence of an event at the START input.
    2. Following the processing of the EO event, another EO event is issued following another delay of DT.
    3. This cycle continues until the occurrence of an event at the STOP input.
    4. The FB then returns to a state of waiting for the next occurrence of a START event.
  • As illustrated in the no_restart service sequence below, the occurrence of another START event prior to the occurrence of a STOP event has no effect.
    • In particular, the value of the DT input upon the occurrence of another START event is ignored; the computeDelay primitive is only executed upon the first occurrence of the START event.
    • It is a consequence of this behavior that in order to change the delay interval, it is necessary to STOP and re-START the FB with the new DT value.
    • See the E_CYCLE_DEMO configuration for an example of how to do this programmatically.
Test Procedure
  1. Open and run events/E_CYCLE in the FBDK.
  2. Enter data for the DT input variable, for example t#1s.
  3. Click START and STOP to operate.
  4. Use the service sequences documented at left and above for guidance in testing.
  5. Click here for statistics from automated testing of an E_CYCLE instance in various operating systems.

Last updated: 2016-11-30.
©2016 Holobloc Inc.
Reuse is permitted under the Academic Free License version 3.0
with attribution to