In many situations, the distance between inspected parts moving along a path cannot be guaranteed, as parts may shift as they travel along the path. This prevents an ejector station from being triggered at a specific encoder count. In this case, a proximity sensor near the ejector triggers the queue to drive the next pulse. Unlike the previous example, the queue is triggered even in the presence of a good part. To leave good parts on the line, a 0 ms pulse is added to the queue for every good part, allowing the queue to trigger without driving the ejector.
For example, if 5 parts are inspected and the last 2 parts fail, 5 pulses will be added to the queue. For each acceptable part that is inspected, a 0 ms pulse will be added to the queue. For each failed part, a pulse of 5 ms is added to the queue. As the first of the 5 parts passes a proximity sensor near the ejector, the first pulse in the queue is triggered, driving the 0-width pulse to the ejector and leaving the accepted part on the line. This repeats for the next two acceptable parts. When the first failed part reaches the proximity sensor, the next pulse in the queue is triggered, and the 10 ms pulse ejects the failed part. This is repeated for the second failed part.
An example VI that implements this inspection scenario is pictured below:
In this example, ISO Output 0 is configured as the output line to generate the pulse on, with a trigger line used to trigger the pulses. ISO Input 0 is configured as the input trigger line to monitor for the proximity sensor signal. The Vision Algorithm will return a False for the Passed Vision Test result if the part fails, and this result will add a 10 ms pulse to the queue. If the result is True, an Empty Pulse, or 0 ms pulse, will be added to the queue.