---
title: "Production line monitoring without PLCs"
description: "Yes. A laser counter at every step, read against Step 1, gives you line yield, the units lost at each step and the step that stopped first, with no PLC access."
category: "Machines and connectivity"
author: "Mahmoud Parto"
published: "2026-04-24"
updated: "2026-10-20"
source_url: "https://www.iotflows.com/blog/production-line-monitoring-without-plcs/"
---
> Question: Can I monitor a whole line without touching the PLCs?

## Key takeaways

- Sensors mounted outside the machines report running, stopped, unit counts and cycle times with no connection to any PLC.
- A counter at every step, compared against Step 1, shows first pass yield and where each lost unit went.
- When a line stops, look first at the step whose count stopped first, because the other steps stop in response.
- Controller data adds alarm codes, programs and process values, and IT usually reviews that connection before it goes live.

Yes, you can monitor a whole line without touching its PLCs. Read each step from the outside instead: a laser counter at every step counts the units that pass it, and a vibration sensor on a machine reports when it runs and stops. Compared in sequence, those counts give you line yield, the units lost at each step and the step that stopped first.

This guide is for plant managers and engineers who want line-level numbers before, or instead of, a controller integration project. It works one hypothetical bagging line through from count points to rollout.

## What you can measure from outside a machine

> **Definition.** **Retrofit monitoring** means measuring a machine with sensors added to its outside, such as a vibration sensor on the frame or a laser counter across a conveyor, so machine state and part counts come from what the machine does rather than from its controller.

Two signals cover most of what a line manager asks. A sensor on a machine's frame reads its vibration and sound and decides whether it is running or stopped. A laser counter aimed across a conveyor counts every unit that breaks its beam, and the gap between units says whether that point on the line is moving.

| Question | Signal | Source |
|---|---|---|
| Is the machine running? | Vibration and sound | Sensor on the machine |
| How many units passed? | Beam breaks | Counter across the conveyor |
| How fast is the step running? | Units per minute | Counter, from count timing |
| How long was it stopped? | Gaps between units or cycles | Either sensor |
| Which alarm fired? | Alarm code | Controller only |
| Which program or recipe ran? | Program name | Controller only |

The last two rows mark the line between the two approaches. Everything above them comes from outside the machines, and it answers the questions a daily production meeting asks: how much, how fast, how long down and where. Running time and unit counts also feed two of the three OEE factors, availability and performance, which [how to calculate OEE](/blog/how-to-calculate-oee/) works through by hand.

## Why line monitoring often starts at the PLC

A *PLC* (programmable logic controller) is the computer that runs a machine's sequence. NIST groups industrial control systems under *operational technology*: programmable systems and devices that interact with the physical environment.[1] The glossary entry for [PLC](/docs/get-started/glossary/#plc) covers how monitoring sensors relate to one.

The PLC already holds the count, the state and the alarms, so it looks like the obvious source. Getting the data out of every PLC on a line is where the work starts.

### Machines on one line speak different protocols

A line assembled over 20 years can run on several networks at once. HMS Networks' 2026 analysis of newly installed factory network nodes puts PROFINET at 30%, EtherNet/IP at 25%, EtherCAT at 20% and Modbus TCP at 5% within Industrial Ethernet, with older fieldbus networks still at 14% of new nodes.[2] A bagger from one builder and a case packer from another can sit on two different ones, and a machine from the 1990s may have no network port at all.

Each of those machines then needs its own adapter. AMT's MTConnect use case says it plainly: devices designed without MTConnect in mind “will always require a custom adapter”, and where no data can be extracted from a machine, the standard is impractical.[3]

### Access needs a review first

[OPC UA](/blog/machine-communication-protocols/#opc-ua), a platform-independent framework for industrial data, lets a client read and write data based on access permissions.[4] A connection that can write to a controller is a security concern for many plants, and IT usually reviews it first. That review is sensible, so put it on the project plan from the first day.

## Put a counter at every step

A count at the end of the line tells you how many good units came off it. It doesn't tell you how many started, or where the rest went. A counter at every step does, as long as you compare each step with the same reference.

> **Definition.** **First pass yield (FPY)** is the share of units that pass through a process step, or a whole line, the first time without being rejected or reworked. On a line counted at every step, a step's FPY is its count divided by the count at Step 1.

The glossary entry for [first pass yield](/docs/get-started/glossary/#fpy) uses the same formula.

**Step FPY** = (Units counted at this step) ÷ (Units counted at Step 1)

Comparing every step with Step 1, not with the step before it, keeps the figure cumulative. Step 4's FPY is the share of everything the line started that reached Step 4.

#### Worked example: One shift on a four-step bagging line

- Step 1, bagger: 24,000 bags formed and filled.
- Step 2, checkweigher: 23,640 bags accepted past its reject chute.
- Step 3, metal detector: 23,592 bags accepted.
- Step 4, case packer infeed: 23,400 bags.

FPY at Step 2 is 23,640 ÷ 24,000 = 98.5%. At Step 3 it is 23,592 ÷ 24,000 = 98.3%. At Step 4 it is 23,400 ÷ 24,000 = 97.5%. The loss at each step is the difference between two rows: 360 bags at the checkweigher, 48 at the metal detector and 192 between the detector and the packer infeed.

**Result:** Line FPY = 97.5%, with 360 of the 600 lost bags at the checkweigher

Figure: Four steps of a bagging line count 24,000, 23,640, 23,592 and 23,400 bags, for FPY of 100%, 98.5%, 98.3% and 97.5%. Bars of bags lost at each step show 360 at the checkweigher, 48 at the metal detector and 192 at the packer infeed.

*A counter at every step turns one end-of-line shortfall into a loss at each step. Sample data.*

The end-of-line count alone says the shift came up 600 bags short. The step counts say 60% of that loss is the checkweigher, so the first question is whether the bagger's fill weight is drifting, not whether the packer is dropping bags.

> **Count after each reject point**
>
> A counter upstream of a reject chute counts bags the step is about to throw away. Mount each counter after the last reject or divert point of its step, where units run single file, and keep it off accumulation tables, where one unit can cross the beam twice.

The full placement checklist, including clear containers, is in [choosing a count point](/docs/production/packaging-lines/#count-point).

## Find the step that stopped the line first

Steps on a line are coupled. When one stops, the steps after it run out of units, and the steps before it fill whatever conveyor sits between them and stop too. Within a few minutes every counter on the line reads stopped, and only one of them caused it.

The timestamps carry the answer. A counted step reads stopped once no unit has passed for longer than its *downtime filter*, the longest normal gap between units. Date each stop to its last unit, then sort: the earliest stop is the step to walk to first.

Figure: Four timelines from 10:10 to 10:20 turn from running to stopped. The metal detector stops first at 10:14:20; the packer infeed follows at 10:15:05, the checkweigher at 10:16:10 and the bagger at 10:16:40.

*Sorted by the last unit counted, the stops point at the metal detector. Sample data.*

In the figure, the metal detector's last bag passes at 10:14:20. The packer infeed runs dry 45 seconds later. The checkweigher and the bagger fill their conveyors and stop at 10:16:10 and 10:16:40.

The bagger operator sees only that the bagger stopped; the sorted timestamps send maintenance to the metal detector.

Set each step's filter from its own normal gaps. A filter shorter than a normal pause, such as a case packer's index between cases, reads every pause as a stop. A filter far past the longest normal gap hides short stops.

For fast continuous production, start at 15 to 45 seconds, as the [downtime filter guidance](/docs/hardware/calibrate-beamtracker/#downtime-filter) suggests.

## Add machine state where a count can't see

A count says that a point on the line stopped moving. It doesn't say whether a machine with no passing units is running at all. A blow molder, a press feeding the line or a mixer upstream of a filler has a cycle, not a stream of units past one point.

For those, mount a vibration sensor on the machine. It decides running or stopped from the machine's own vibration and sound, and derives cycle counts and cycle times from the trace. For example, a sensor on a 200-ton press feeding a packing line counts strokes, so the press reports as its own step even though nothing passes a beam there.

> **Counter, machine sensor or both?**
>
> Use a counter at a step when units travel single file past a fixed point and you need yield or rate. Use a machine sensor when the step's output is a machine cycle rather than a passing unit. Put both on one machine only when you need its count and its own running state from the same place.

You don't need a sensor on every machine to start. Counters at each step answer yield, rate and first stop. Add machine sensors where a step keeps stopping and the count can't say why.

## When you need controller data after all

Outside sensors answer what the line did. Some questions need what only the controller knows.

| | Outside sensors | Controller connection |
|---|---|---|
| Works on any machine age | Yes | No |
| Needs a protocol adapter | No | For many machines |
| Counts units at each step | Yes | Where the PLC counts them |
| Reads alarm codes | No | Yes |
| Reads programs and recipes | No | Yes |
| Reads process values | No | Yes |
| Connects to the machine's control | No | Yes, IT usually reviews it |

For line yield, rate and the first stop, default to outside sensors. Choose a controller connection when a question depends on what only the control holds: which alarm stopped a filler, which recipe ran during a bad hour, what a sealer's jaw temperature was. Scope it to those machines and those signals, and have IT review the connection first.

On cost, Kentucky's MEP center puts sensor retrofits at a few hundred to a few thousand dollars per machine, with installations usually completed within a few days.[5] A controller integration is scoped machine by machine, so its cost follows the adapters each machine needs.

The two approaches combine: sensors on every step, controller data from the few machines where it pays off. The [sensor-based versus PLC comparison](/compare/sensor-based-vs-plc-machine-monitoring/) explains MTConnect and OPC UA in plain words.

## Monitor a line from outside in IoTFlows

IoTFlows puts a [BeamTracker](/products/beamtracker/) at each step: an IP67 laser counter with ±2% count accuracy and a range up to 8 m that bolts on in 10 to 20 minutes. Group the steps into a cascade and every step after Step 1 shows its first pass yield, the units lost and its rate difference against Step 1, live.

A SenseAi on a machine adds that machine's running and stopped state from its vibration and sound. Neither device connects to a PLC, and [the cascade reference](/docs/monitoring/asset-groups/#fpy) shows how each step reads.

[Altium Packaging](/customers/altium-packaging/) counts every bottle this way on ten bottling lines in Memphis, at 20 to 140 bottles a minute.

> Now we can talk through issues, help our operators and adjust operations in real time. We used to wait days or weeks for reports, then hold meetings and hope the team knew exactly what had happened.
>
> Steve Petti, Plant Manager, Altium Packaging ([story](https://www.iotflows.com/customers/altium-packaging/))

## Roll it out on one line

1. **Pick one line with a known loss.** Choose a line whose yield or output your team already argues about, so the first numbers answer a real question.
2. **List the steps in order.** Write down every machine a unit passes through, Step 1 first. Step 1 is the reference for every FPY figure on the line.
3. **Choose a count point per step.** Place each counter after the step's last reject point, where units run single file and nothing else crosses the beam.
4. **Set each downtime filter.** Watch each step's normal unit-to-unit time, then set its filter a little longer than the longest ordinary pause.
5. **Validate each count.** Count units by hand at each step over a fixed window and compare. If a count reads exactly double or half, fix the quantity per cycle, as [troubleshooting part counts](/docs/production/troubleshoot-part-counts/#start) explains.
6. **Review the line every day.** Read the lowest-FPY step, the largest loss and the first stop of each long stoppage in the daily production meeting.

Once one line reads correctly, copy its setup to the next. More guides on getting data off machines are under [machines and connectivity](/blog/topics/machines-and-connectivity/).

## Questions

### Can a laser counter see clear bottles or film?

Clear glass and clear film may not break the beam reliably. Aim the beam at an opaque feature instead, such as the closure, the label band or the filled body of the container, or move the count point downstream and count cases rather than single units, with the case quantity set as the count per beam break.

### Can a sensor on the outside change how a machine runs?

No. A sensor mounted on the frame or aimed across a conveyor has no connection to the controller, so it cannot change a setting, a program or a recipe. It reads the machine's vibration and sound, or the units passing a point, and the machine runs exactly as it did before.

### Do I need a sensor on every machine as well as a counter at every step?

No. Counters at each step give line yield, units lost, rate and the step that stopped first. Add a vibration sensor to a machine when its output is a cycle rather than a passing unit, or when a step keeps stopping and you need that machine's own running and stopped state.

### How do I check that a step's count is right?

Count units by hand at the step for a fixed window, then compare with the recorded count for the same window. A small difference is normal. A count that is an exact multiple or fraction of the real one, such as double or half, points to the quantity per cycle setting rather than to the sensor.

## Sources

1. [SP 800-82 Rev. 3, Guide to Operational Technology (OT) Security](https://csrc.nist.gov/pubs/sp/800/82/r3/final), National Institute of Standards and Technology, accessed Oct 16, 2026
2. [Industrial network market shares report 2026](https://www.hms-networks.com/news/news-details/15-06-2026-annual-hms-report-2026), HMS Networks, accessed Oct 16, 2026
3. [Digital Manufacturing for Legacy Equipment Using a Standards-Based Approach: An MTConnect Use Case](https://www.amtonline.org/article/digital-manufacturing-for-legacy-equipment-using-a-standards-based-approach), AMT, The Association For Manufacturing Technology, accessed Oct 16, 2026
4. [OPC Unified Architecture](https://opcfoundation.org/about/opc-technologies/opc-ua/), OPC Foundation, accessed Oct 16, 2026
5. [Enhance Your Existing Equipment with Machine Monitoring](https://louisville.edu/servicecenters/news/enhance-your-existing-equipment-machine-monitoring), University of Louisville Service Centers (Kentucky MEP), accessed Oct 16, 2026
