Cycle Trigger Manager
CIC Cycle Trigger Manager block diagram
The Cycle Trigger Manager is responsible, in collaboration with the Cycle Manager, to elaborate the effective Cycle Trigger event that initiates one cycle of the CIC timing machine.
Cycle Trigger Sources
The source of Cycle Trigger is defined by CycleTriggerSource.
When set to Immediate, the Cycle Trigger Manager is self-triggered. It generates a Cycle Trigger immediately after the start of the sequence and then repeatedly every CycleMinimumPeriod period.
When set to StartCycle or to <any I/O toolbox event source> the Cycle Trigger Manager doesn't start immediately after the start of the sequence, instead it waits for the execution of a StartCycle command or the occurrence of an event on the selected I/O toolbox event source.
A wide set of Cycle Trigger event sources is available. It includes all the I/O toolbox events, namely: LIN, QDC, MDV, DIV, DEL, EIN and User Events.
Cycle Trigger Latch Mechanism
The Cycle Manager is fitted with a trigger latch mechanism capable of latching cycle triggers that cannot be served immediately. Such triggers are named ''pending triggers" since their execution is simply postponed until the corresponding CIC cycle is initiated.
The maximum number of pending triggers that can be recorded is defined by CycleMaxPendingTriggerCount. When CycleMaxPendingTriggerCount = 0, the trigger latching mechanism is disabled. This is the default value. To enable the trigger latching mechanism, set CycleMaxPendingTriggerCount to any integer value in range 1 to 7.
The number of pending triggers is reported by CyclePendingTriggerCount.
Cycle Trigger Events Sorting
When CycleTriggerSource is set to StartCycle or to <any I/O toolbox event source>, every Cycle Trigger event is evaluated against the trigger acceptance criteria and sorted according to the result.
The rejected Cycle Trigger events increment the Cycle Lost Trigger Counter.
The accepted Cycle Trigger events increment the Cycle Pending Trigger Counter if the pending trigger cannot be served immediately.
Trigger Acceptance Criteria
Cycle Trigger events are accepted and executed immediately when both conditions are satisfied:
● | Cycle Sequence is active |
● | Cycle Manager is currently waiting for an immediate trigger event to start a new cycle (Accept Immediate Trigger) |
Cycle Trigger events are accepted and executed later when following conditions are satisfied:
● | Cycle Sequence is active. |
● | The number of pending triggers, CycleMaxPendingTriggerCount, is less than CycleMaxPendingTriggerCount. |
● | The Cycle Manager is not (yet) ready to initiate new cycle. |