Camera or Sensor for OEE? How to Choose for Each Machine
Key takeaways
- Pick the data source machine by machine, not once for the whole plant.
- A PLC (programmable logic controller) with a reliable signal is the clock. Read it first.
- An old machine with no PLC gets an external sensor for running, idle and count.
- A camera counts parts at manual stations and where no machine signal exists, and you can open its video for the minute of a stop.
- On the illustrative sample line below, the filler's PLC explains only 35 of 85 stop minutes.
Match the source to the machine, not to the plant. A modern machine with a PLC signal you trust needs nothing more. An old machine gets an external sensor, and a camera goes where people do the work and no signal exists.
Fabrico is a cloud-based OEE (overall equipment effectiveness) and light MES (manufacturing execution system) platform. It connects each machine through a PLC, a Fabrico IoT (internet of things) device or an AI camera (an add-on) that counts parts. The sources feed one OEE for the line.
What does each source tell you, and what does it miss?
Each source answers a different question. The PLC knows the machine state, and a sensor knows whether a motor ran or a piece passed. A camera counts what passes a point and shows what the station looks like.
| Source | Tells you | Misses | Best for |
|---|---|---|---|
| PLC run bit, counter and fault code | Machine state at the controller's scan rate, the count, the fault number | Why it stopped when the code is generic, and whether product moved | Modern machines with a reliable signal |
| External sensor, such as a current clamp or a photo eye | Running or idle, pieces passed | Why it stopped, the stop between pieces, jams upstream | Old machines with no PLC you can read |
| Camera | Parts counted at a point, and camera video you can open for a minute | Machine state, stop times and reasons, hidden mechanics | Manual stations, counts where no signal exists, a look at a stop |
In short: the PLC is the clock, and the camera (an add-on) counts and shows. For accuracy and set up side by side, see our comparison of computer vision (an add-on) and PLC data for OEE.
Which source should each machine get?
Walk the line and ask five questions, one machine at a time.
Does the machine have a PLC with a reliable signal?
Then start there. Map the run state, the cycle count and the fault codes, and only read them. Never write to the PLC.
Reliable means you checked it. Compare one shift of PLC stops with what the line leader saw, and the count with a hand count. Check that "running" never means a belt with no product on it.
Is the machine old, with no PLC you can read?
Use an external sensor: a current clamp shows when the motor runs or idles, and a photo eye counts cycles. In Fabrico, that is an IoT device on the machine, and the machine itself needs no PLC.
The sensor gives clean minutes and counts, but not why the machine stopped. The operator adds the reason. Our guide to OEE monitoring without a PLC compares the options for older lines.
Is it a manual or hybrid station?
There is often no signal at all, because people pack, load or check by hand. A camera over the work surface or the outfeed counts output, and a drop in the count shows where the station slowed.
The camera does not time each person's work, and it should not. Point it at the process, report by line and shift, and agree the purpose with the works council where you have one. More in our guide to computer vision OEE for manual stations.
Are there short stops nobody can explain?
Some systems read machine state only every few seconds, so a stop of a few seconds can be caught once or not at all. Other machines log all jams under one generic code.
A sensor or PLC signal logs the stops it can see, and the operator adds the reason. If the cause is unclear, open the camera video over the jam point for that minute and look. Our guide to micro stops covers thresholds and causes.
Do you need to prove that product really moved?
A conveyor running with no product on it is starved, not down. The run bit says "running", and a counter shows no pieces but not why. A camera count on the infeed or the accumulation table stays at zero, and you can open the video to see the empty belt, so you can charge the minutes to the machine that starved it.
Worked example: how do three sources make one OEE?
Sample line (illustrative numbers, not a customer): a cosmetics jar line rated at 60 jars a minute, on a 480 minute planned shift. The buffers are small, so in this sample each stop halts the whole line.
| Machine | Source | What it recorded | Stop minutes |
|---|---|---|---|
| Filler, modern, reliable signal | PLC | Breakdowns and faults, with fault codes | 35 |
| Labeller, old, no PLC access | Sensor, with camera video at the infeed | Short stops from the sensor, reasons added by the operator; the video can show skewed jars at the infeed | 28 |
| Tray packing, a manual station | Camera count, operator entries | Output from the count; the operator logs waiting for empty trays | 22 |
| Total | 85 |
- Run time = 480 minus 85 = 395 minutes. Availability = 395 / 480 = 82.3%.
- Jars made = 22,500. Ideal in 395 minutes = 395 x 60 = 23,700. Performance = 22,500 / 23,700 = 94.9%.
- Good jars = 21,600, and 900 were rejected. Quality = 21,600 / 22,500 = 96.0%.
- OEE = 0.823 x 0.949 x 0.960 = 75.0%. Check: 21,600 good jars at 1 second each = 360 minutes, and 360 / 480 = 75.0%.
Now look at the same shift with the filler's PLC only. The filler stood for 85 minutes, but its own fault codes explain 35. It logged the other 50 minutes only as "blocked" by the machines after it.
The sensor and the operators' entries charge those 50 minutes to the labeller and the packing station, each with a reason:
- 50 minutes x 60 jars = 3,000 jars a shift.
- At a contribution of $0.25 a jar (or €0.25 in a euro plant): $750 a shift.
- Over 500 shifts a year: $375,000, or €375,000, in stops the PLC alone could not explain.
Count it as cash only if the line is sold out or the lost jars cost overtime. Agree that rule with your controller first. Then rank the stops by money, not by minutes.
How do you join three sources without counting a stop twice?
The sources must share one timeline and one clock. If they do not, the same stop shows up twice, or a stop seems to start before its cause.
- One clock. Stamp each event at the source, and keep the PLC, the devices and the cameras on the same time.
- One record per stop. If the PLC and a sensor both see the filler stop, that is one stop, not two.
- Charge the root cause. The first machine that stopped carries the minutes. The waiting machines show starved or blocked.
- Line OEE at the end. Use the good count at the end of the line against the line's rated speed, as in the example.
For vibration or power data on top, see our guide to sensor fusion for OEE.
What mistakes do plants make when they choose?
- A camera on every machine. In Fabrico, cameras are an add-on: put them where the PLC and the sensors leave a gap.
- Trusting the run bit as the truth. Starved is not stopped.
- Filtering out stops under 60 seconds and calling the rest "speed loss".
- Using a camera to time people. Measure the process, never the person.
Where Fabrico fits
Fabrico is a cloud-based OEE and light MES platform. A machine connects through a PLC, a Fabrico IoT device or an AI camera (an add-on that counts parts). Devices connected in about a month; full rollout in 3 to 4 months.
- Stops from the PLC or the sensor, whichever the machine has.
- The camera video for that minute, at the stations where the signal says only "stopped". In the standard setup it is streamed, not stored in Fabrico.
- The operator adds the reason.
- Losses priced in money and losses ranked by money.
- OEE live by line and shift, and one view across plants.
You start with a pilot on one line, with a baseline and a decision date agreed in advance. There is no free plan and there are no tiers: each plant gets a quote. See the cameras on the computer vision OEE and MES page, or how each machine connects on the machine connectivity page.
Frequently asked questions
Is a camera or a sensor better for OEE?
Neither is better everywhere: a sensor gives clean running, idle and count data on an old machine. A camera counts output at manual stations, and you can open its video for a stop nobody can explain. Many lines use both, plus the PLC wherever its signal is reliable.
Do I need a PLC to measure OEE?
No. On an old machine, an external sensor shows running, idle and count, and in Fabrico the machine itself needs no PLC. At a manual station a camera counts output, and where a reliable PLC signal exists, you read it first.
Can a camera replace the PLC?
Not on a modern machine with a good signal. The PLC gives exact machine states, and the camera adds a count and a view of the station. On a station with no usable controller, a camera can be the main source for counts.
Does the camera time the people at a manual station?
No. It counts output at the station, and it does not time each person's work. Point it at the process, report by line and shift, and agree the purpose with the works council where you have one.
How many cameras does a line need?
Start with the two or three stations where the PLC tells you least and the stop count is highest. That is often the labeller, the infeed to the filler or a manual packing station. Add more only where a gap remains.
See data sources on lines like yours in a demo
We will show which machines a PLC covers, where a sensor or a camera fills the gap, and what unexplained stops cost on lines like yours.
Related articles
Latest from our blog

Real Fabrico tiles, sample data.











