Skip to content

Blog · Integration

How to send pass/fail to a PLC over 24V discrete I/O (4-in / 4-out).

Updated July 2026 · 7 min read · Adente Vision Engineering Team

The simplest way to send an inspection result to a PLC is four discrete 24V outputs, not a fieldbus: assign pass, fail, ready and fault, wire them to the PLC input card, and latch the fail until the part clears. Adente Vision provides 4 inputs and 4 outputs at 24V for this handshake.

Why send pass/fail over discrete I/O instead of a fieldbus?

For a simple pass/fail result, four discrete 24V outputs are the most reliable and fastest way to hand the decision to a PLC. There is no tag database to map, no protocol configuration file, and no gateway: an output goes high, the PLC input card reads it, and the line acts. A fieldbus earns its place when the result carries more than one bit, but for a go/no-go decision, discrete I/O is usually the shorter and more diagnosable path.

The unit provides 4 inputs and 4 outputs at 24V, the standard signalling level for industrial control described in IEC 61131-2. Because the signal is a plain voltage on a wire, any PLC with a digital input card can read it, which makes discrete I/O the one integration method that works on every controller regardless of brand or age. Adente Vision is an edge-AI visual inspection unit built by ADENTE Advanced Engineering Technologies, part of the Aden Group, sold through automation system integrators, and the 24V I/O is the first thing an integrator wires when the check is a single pass/fail.

How do you map four inputs and four outputs?

A four-out, four-in layout covers a complete handshake. A common assignment uses the outputs for pass, fail, ready and fault, and the inputs for trigger, mode or recipe select, and acknowledge. That gives the PLC both the result and the health of the unit, and gives the unit the trigger and reset it needs from the line, all on a handful of wires.

The exact assignment is set at commissioning to match the cell, but the pattern below is the one most inspection handshakes settle on. Ready and fault are as important as pass and fail: they tell the controller whether to trust the result at all, so the line can hold rather than run blind when the unit is not able to inspect.

SignalDirectionMeaning to the PLC
PassOutputPart accepted on the last inspection
FailOutputPart rejected; drive the reject actuator
ReadyOutputUnit powered, configured and able to inspect
FaultOutputUnit error or no valid image; hold the line
TriggerInputCapture this part now (from encoder or sensor)
AcknowledgeInputPLC has read the result; clear the latch

How does the timing work on a moving line?

On a moving line the sequence is trigger in, inspect, result out, and the timing has to fit the gap between the inspection point and the point where the line acts on the result. The unit captures on a trigger input, runs inference in about 30 ms as a measured field result, and sets the pass or fail output. Whether that is fast enough depends on conveyor speed and the distance to the reject, which is an application-specific measurement rather than a fixed number.

Three details keep the handshake reliable at speed. The fail output is latched so it stays high until the PLC acknowledges it or the part clears the reject point, which means a slower PLC scan cannot miss a brief pulse. Debounce on the trigger input rejects contact chatter so one part triggers one inspection, not two. The acknowledge input lets the PLC reset the latch once it has recorded the result. Catalog throughput is 100+ parts per minute; the rate you commit to for your cell still needs a measurement on your parts, line speed and reject geometry.

When do four outputs stop being enough?

Four outputs cover pass, fail, ready and fault, which is everything a go/no-go check needs. They stop being enough the moment the result carries more than one bit of meaning: a variant code to steer a robot program, a confidence value, a per-part measurement in millimetres, or a running part count. At that point a fieldbus is the right carrier, and the unit exposes five of them.

You can bit-code a small number of classes across spare outputs, for example two outputs giving four states, but that runs out quickly. When the controller needs a program-select integer, a measurement, or structured data for MES, move up to PROFINET, EtherNet/IP, Modbus TCP, EtherCAT or OPC UA. The wiring you already ran for pass/fail stays useful for the reject and the interlocks, so the bus carries the richer result alongside it. For choosing that protocol, see the sibling post on picking a fieldbus for an inspection cell.

What wiring details matter?

The one detail to settle before commissioning is sinking versus sourcing, the direction the 24V current flows between the unit's output and the PLC's input card. Match the unit's output type to what the input card expects, PNP and sourcing or NPN and sinking, so a fail registers as a high at the input rather than doing nothing.

Two more practices keep the handshake clean. Drive a low-power PLC input directly, but switch a higher-current load such as a solenoid valve or an air-blast reject through an interposing relay rather than off the output pin, both to stay inside the output's current rating and to isolate inductive kickback. Keep the I/O reference (0V) common between the unit and the controller so the signals share a ground. These are standard IEC 61131-2 digital-I/O practices, and getting them right at wiring time is what makes the pass/fail handshake reliable from the first part. For where this signalling sits in the full method, see the pillar guide on AI visual inspection, and the unit's I/O and protocol specs on the system page.

Frequently asked questions

Wiring a pass/fail check into an existing PLC?

Send us the controller and the input card on your line, and we map the pass, fail, ready and fault handshake to your inputs before you wire anything. See how Adente Vision hands a result to the line over 24V I/O.