System designGuide

Multi-camera conveyor tracking: one merged results table

Merge four cameras' results on a multi-camera conveyor tracking line into one table: round each stop position to a bin, send one fault stop per part.

LumaSpec Vision12 min read Share on LinkedIn

On this page 9 sections
  1. 01Why does one bad part stop the line four times?
  2. 02What should each camera station write into the tracking table?
  3. 03How do four capture positions become one stop position?
  4. 04How wide should the position bin be?
  5. 05How does one merged record produce one stop and one acknowledgment?
  6. 06What breaks the merged table in production?
  7. 07Which hardware should run the merged table?
  8. 08When should you key records by part number instead of position?
  9. 09Questions

Four cameras photograph the same part on one belt, and each station stores its result and the drive position in its own shift table. When two stations reject the same part, the line stops twice for two positions that differ by a hundredth of a micron, and the operator acknowledges twice. This guide shows how to merge the four tables into one: store a stop distance with each station, round each sum to a fixed bin, and let one record carry four results to one stop. The arithmetic runs on a worked line with stations 200 to 550 mm upstream of the stop.

Why does one bad part stop the line four times?

You get four stops because the table is keyed on a raw encoder value, and on this class of line the four stored sums for one part differ by hundredths of a micron — 0.00001 mm — even though the belt itself only stops to a few tenths of a millimetre. The digits that disagree are real encoder counts, but the mechanics never honoured them, so equality matching finds four distinct keys where one part exists.

Walk the worked line used below: four fixed stations photograph each part on the fly, the belt runs from CAM4 toward CAM1, and the encoder reads 2000 mm at the CAM4 shot, 2080 mm at CAM3, 2250 mm at CAM2 and 2350 mm at CAM1. Each station adds its own stop distance and stores the sum. Exact matching then compares 2550.00001 mm against 2550.00003 mm against 2549.99997 mm: four keys, four stop requests, four acknowledgments, one scratch.

Controls engineers meet the same shape whenever parallel conveyor FIFOs accumulate independently; consolidating several conveyor FIFOs into one tracking table is the same merge, one level down on the PLC side. The fix here is to quantize before storing: round each sum to a bin wide enough to swallow the jitter, and write the result into the one record that bin already holds.

What should each camera station write into the tracking table?

Each shot writes four fields — station ID, pass or fail, capture position, and that station's stop distance — so CAM1 at 200 mm from the stop and CAM4 at 550 mm away both feed the same record instead of opening four of them. The stop distance is what turns four different capture points into one shared destination.

Teach the stop distance once per station with a golden part: log the capture position when the camera fires, let the part run to the taught stop, log the drive position there, and store stop_distance = stop − capture. On the worked line the constants are 550 mm for CAM4, 470 mm for CAM3, 300 mm for CAM2 and 200 mm for CAM1. They belong in station configuration, never in the table itself.

Keep the raw capture position beside the result, because the raw value is your diagnostic: when one station's records stop merging with the other three, the raw positions show whether the camera moved or the trigger drifted. Where each station sits along the belt is what sets its stop distance, and the placement reasoning in conveyor tracking camera placement relative to the robot applies to fixed inspection stations as much as to robot-mounted ones.

How do four capture positions become one stop position?

Add the station's stop distance to the capture position and round the sum to the bin grid: on the worked line all four sums land at 2550 mm give or take a hundredth of a micron, and a 1 mm bin turns them into the single key 2550. Call the variables capture_position and stop_distance, both in millimetres, and bin_width_mm the grid pitch.

stop_position = capture_position + stop_distance bin_key = round(stop_position / bin_width_mm)

Rounding to nearest is the right default: a floor operation splits every nominal sum that sits exactly on a whole millimetre, while round-to-nearest only breaks on a sum landing exactly halfway, at x.5 mm — if your line does that, offset the whole grid by 0.5 mm and the problem disappears.

Station Capture position Stop distance Sum Bin key (1 mm grid)
CAM4 2000.00001 mm 550 mm 2550.00001 mm 2550
CAM3 2080.00003 mm 470 mm 2550.00003 mm 2550
CAM2 2249.99997 mm 300 mm 2549.99997 mm 2550
CAM1 2350.00002 mm 200 mm 2550.00002 mm 2550

Read the last two columns together: exact equality yields four keys for one part, the 1 mm grid yields one. CAM2's sum lands 0.00003 mm below 2550 and still rounds up, because the nearest grid edge sits at 2549.5 mm — more than 10,000 times further away than the jitter. That margin, not luck, is what makes the merge hold shift after shift.

How wide should the position bin be?

Size the bin between five times your stop spread — about twice the belt's repeatability — and one fifth of the smallest part pitch; at ±0.1 mm repeatability and 250 mm pitch that window runs from 1 mm to 50 mm, so pick 1 mm. Both bounds come from numbers you can measure on the line this week.

Measure the lower bound by running twenty parts and logging the four sums each one collects: the full spread of those sums is your stop spread. A servo-driven index belt lands anywhere between ±0.1 mm and ±0.5 mm of stop repeatability, so a 1 mm bin clears a 0.2 mm spread five times over, and a 5 mm bin covers the worst belts. The upper bound keeps parts apart: consecutive parts' stop positions sit one pitch from each other, and a bin no wider than a fifth of the pitch can never hold two of them — 50 mm at a 250 mm pitch.

The costs of getting it wrong are asymmetric. Too narrow and you are back to double stops; too wide and two parts share a record, and the commanded stop drifts by up to half a bin. A 1 mm bin costs half a millimetre of placement accuracy at the rework stop and discards encoder digits the belt never honoured: one bin spans 100,000 counts of a hundredth-of-a-micron encoder.

How does one merged record produce one stop and one acknowledgment?

Scan the merged table from the far end, and when a record whose bin matches the current position carries any failed flag, issue one stop request to that bin and hold it until the operator acknowledges once, then clear all four flags and keep scanning for the next failing bin. This is your proven single-camera logic with the comparison target quantized; nothing else in the cycle changes.

Give each bin a small record: four result flags, one per station, the raw sums beside them, and the nominal stop value. A record with any failed flag fires exactly one stop request — to 2550 mm in the worked line — and the acknowledgment clears the whole record, so the operator deals with the part once, with all four verdicts on screen.

Two failing parts inside the stop window at once is the remaining edge, and belt order settles it: stop for the nearer part first, acknowledge, then serve the second from the same table. The start/stop sequencing in vision controlled conveyor feeding: start stop logic that works covers that handshake.

What breaks the merged table in production?

Four things break a merged table in production: encoder or position-register rollover, a part removed between stations, a camera that someone moved without re-teaching, and belt slip — check each before trusting the merge, and re-teach all four stop distances after any mechanical change. None of them is exotic; all four show up in the first month.

Rollover first: position registers wrap, and a wrapped value looks like a stop request at the start of the belt. Compare bins in a signed window around the current position, or keep a total-distance figure wide enough never to wrap within a shift, and fire the wrap case on the bench; the failure modes are catalogued in conveyor target acknowledgment at tracking position rollover.

Then the part-handling cases. A part rejected at CAM4 and pulled off before CAM3 must not carry two phantom no-shows: stations that see no part write a no-part flag, and the stop decision reads only the flags that exist. If one station's sums stop merging with the other three, its stop distance no longer matches reality — re-teach it. If every sum drifts together, suspect the encoder or its coupling; conveyor encoder calibration troubleshooting: position resets walks the reset symptoms.

Which hardware should run the merged table?

A four-camera merged table needs a node with at least four camera connections, a link to the belt PLC, and a few kilobytes of table memory; a fanless vision controller with five or more LAN ports hosts all four cameras and hands the PLC a single merged result stream.

Consolidating on one chassis collapses four tables into one process: the controller captures all four cameras, runs the inspections, holds the binned records, and hands over one fault word plus one stop position. Capturing from four cameras on one host has its own timing rules, set out in multi-camera video capture synchronization for four cameras, but the merge itself becomes an array write instead of cross-node messaging.

The catalog vision controllers below differ mainly in LAN port count, onboard memory and bundled license — the port count decides how many camera stations one chassis absorbs:

Specification MV-VC2140-128G40-1T MV-VC3301H-128G66 MV-VC5525-256G70-NN
CPU Intel® Processor N97 Intel® Core i3-8100 Intel® Core i5-12400
Memory 8 GB 8 GB 32 GB
Storage 128 GB SSD + 1 TB HDD 128G SSD 256 GB SSD
GPU Intel® UHD Graphics Intel® HD Graphics 630 Intel® UHD Graphics 730
Operating system Unactivated 64-bit Windows 10 LTSC 21H2 Windows 10 64-bit, Not activated Unactivated Windows 10
Encryption method Not support VM6200Pro license key –
Video output HDMI interface × 1, VGA interface × 1; Supports independent display outputs at the same time; Max. resolution 1920 × 1080 @ 60 Hz HDMI interface × 1, VGA interface × 1; Supports independent display output at the same time; Max. resolution 1920 × 1080 @ 60 Hz HDMI interface × 1, VGA interface × 1; Supports independent display output at the same time; Max. resolution 1920 × 1080 @ 60 Hz
Digital I/O Opto-isolated input × 8; Opto-isolated output × 8 8 digital isolated inputs supported; 16 opto-isolated outputs supported (NPN/PNP switchable) Opto-isolated input × 8; Opto-isolated output × 12 ( supports NPN/PNP switching), digital-isolated low-side driver output × 8; Non-isolated bi-directional differential I/O × 4
Light interface Light interface with 24 VDC constant voltage × 4; (Brightness is adjustable. Max. current 3 A for single light interface, and total max. power consumption 80 W. Supports light mode switching between strobe and solid via external control) 4-channel 24 V constant-voltage light drive, Max. power per channel: 72 W, Max. power (4 channels): 150 W 24 VDC constant voltage × 8; (Max. power consumption of single channel is 72 W, total max. power consumption 190 W)
Network interface GigE interface × 4 6× Gigabit Ethernet ports GigE interface × 7, including interface for PoE × 4
USB Interface USB 2.0 × 2; USB 3.0 × 2 USB 2.0 × 4; USB 3.0 × 4; Built-in USB 2.0 × 1 USB 2.0 × 4, USB 3.0 × 4, built-in USB 2.0 × 1
Serial Port RS-232 × 1, supports switching to RS-485 or RS-422 2× full-function RS-232, RS-485/RS-422 switchable RS-232 × 2 by default, supports switching to RS-485 and RS-422
Price $1,679.00 $2,419.00 $4,479.00 · quoted

All 3 share: Certification CE, KC. Values as printed in each product's data sheet; open a part for its drawing and full specifications.

The MV-VC5525-256G70-NN lists five or more LAN ports, eight built-in light channels and 32 GB of memory. Four cameras and four strobed station lights therefore run on that one chassis with ports and channels to spare. If you would rather buy the inspection runtime with the box, one catalog controller ships with the VM6200Pro license included:

Vision controllersHikrobot MV-VC3301H-128G66 I3-8100, 8GB+128G SSD, No PoE, PCIe expansion supported, Incl. VM6200Pro licenseMV-VC3301H-128G66
LAN ports
5+ LAN ports
USB 3 ports
3-4 USB 3 ports
Light outputs
4 built-in channels
Memory
8 GB
$2,419.00View partBuild a system with it

Keep the stations independent instead by using smart cameras: each camera decides its own pass or fail and reports result plus capture position to the node that owns the stop, which runs the same binned merge on incoming messages. The camera finder filters by shutter type and interface — on a belt that never stops for photos, set the global-shutter filter. Two catalog stations cover the common ends of the range, a 5 MP color sensor for detail work and a 1.6 MP mono sensor for presence checks:

Smart cameras & vision sensorsHikrobot HK-TD032-12-WBN 1.6 MP mono vision sensorHK-TD032-12-WBN
Interface
Fast Ethernet
Resolution
Up to 3 MP
$1,699.00View part
Smart cameras & vision sensorsHikrobot MV-SC3050XC-16M-ATN-H 5 MP color vision sensorMV-SC3050XC-16M-ATN-H
Interface
Fast Ethernet
Resolution
5 MP
$1,809.00View part

Table memory is trivial at either architecture: a thousand bins at four flags plus two 32-bit reals is about 12 kB, so the merge fits wherever the stop output already lives. Where the PLC owns tracking from the ground up, a high-speed-counter approach to conveyor tracking with camera triggers shows the encoder side done entirely in the controller.

When should you key records by part number instead of position?

Key the table by a sequence number instead of position when parts run closer than ten bins apart, when a photo-eye trigger adds more jitter than half a bin, or when the belt reverses — assign an ID at the entry sensor and let position ride as data. The sequence table is smaller and immune to quantization: the entry sensor numbers parts as they pass, each station writes its flag into record N, and the stop uses the position stored with that same record.

On the worked line the tracking window is 550 mm of stop distance plus a 250 mm pitch — 800 mm of belt — so three or four records cover every part in flight. Belt reversal and trigger bounce stop being position problems at all, because the merge rides on the ID, and the quantization step drops out of the code entirely.

The decision, case by case:

  • Servo index belt, parts at 250 mm pitch, repeatability ±0.1 mm: one position-binned table, 1 mm bins, one record and one stop per part.
  • Parts closer than ten bins, a reversing belt, or a bouncing photo-eye: sequence-number records assigned at the entry sensor.
  • Smart-camera stations reporting over sockets: merge at whichever node owns the stop output, bins included.

Before you order, run four checks: teach all four stop distances on one golden part and re-check after any mechanical change; log raw sums beside bin keys for the first week, where a split-record symptom shows up first; replay 1,000 parts of station logs offline and confirm the merge stops once per bad part, never twice; and fire the rollover case on the bench. If you are consolidating four stations onto one chassis, send the station count, pitch and repeatability through the quote form and we will size the controller and the table with you; the conveyor-side patterns on the systems topic page cover the rest of the line.

Questions

How many entries does the merged table need?

Size the span from the longest stop distance plus one part pitch. On the worked line the longest stop distance is 550 mm and the pitch is 250 mm, so the table must cover 800 mm of travel; at a 1 mm bin that is 800 entries. A sequence-number table instead holds one record per part in flight — about 800 mm of belt divided by a 250 mm pitch, so four records.

Can the cameras and the PLC share one network?

Keep them separate. Put the four cameras and the vision controller on their own subnet or VLAN, with one link from that subnet into the PLC network; inspection traffic moves megabytes per second per camera, and a broadcast storm on the office side then shows up as lost frames on the line.

How short must the exposure be if the belt keeps moving during capture?

Blur in pixels equals belt speed times exposure divided by pixel size on the part. At 300 mm/s with 0.05 mm per pixel, one pixel of blur allows 0.05 ÷ 300 ≈ 0.17 ms of exposure; halve that for margin, or strobe the light for 20-50 µs and let the flash set the exposure. A global shutter sensor keeps the rows identical.

What does the operator see at a merged stop?

One stop and one acknowledgment, but the screen should list every failed station for that record — station ID, result flag and the raw sum beside each — so the operator reworks the part once with all defects in view. Showing which stations passed is just as useful: two green flags on a scratched part point straight at the two stations that missed it.

Can a pass/fail-only station join the merged table without sending a position?

Yes. Let the PLC timestamp that station's trigger with its own encoder reading, then apply the station's taught stop distance exactly as it does for camera stations — the position comes from the PLC's encoder, not from the camera. The station keeps its discrete result line, and the merged record still shows four flags against one bin.