System designExplainer

Vision inspection deployment workflow: keep it editable or freeze it

Where a vision inspection deployment workflow keeps parameters editable: drive the inspection engine from your app, or export code that freezes it.

LumaSpec Vision10 min read Share on LinkedIn

On this page 10 sections
  1. 01The decision rule: will the inspection change after deployment?
  2. 02How the two architectures work
    1. The runtime engine link
    2. The code export
  3. 03What a change costs under each architecture
  4. 04Worked example: what fits down the wire from a 5 MP sensor
  5. 05What the engine link makes routine
  6. 06When exported code is the right answer
  7. 07Choosing the hardware that hosts each path
  8. 08Checks before you commit
  9. 09The decision, per case
  10. 10Questions

An inspection built in a configurable vision environment reaches a fork at commissioning. You can drive it from your own application through the engine's API, or export it as generated code. The two paths look equivalent on a bench and diverge on the line, the first time a threshold, ROI or tolerance needs tuning. This guide gives the decision rule, works the numbers that decide where the inspection physically runs, and lists the checks to make before you commit either way.

The decision rule: will the inspection change after deployment?

Answer one question: after sign-off, will anyone tune the inspection? During ramp-up the answer is almost always yes, so keep the inspection in its runtime engine and let your application drive that engine through its API. Export code only when the inspection is genuinely final and everyone accepts a regeneration cycle for every future change.

The reason is mechanical, not stylistic. Generated code implements the inspection as it existed at the moment of export; the link back to the editable file is cut. Editing a threshold in the original inspection does nothing to the compiled application running on the controller. The API link keeps the editable file as the live artifact, and your application becomes a client of it.

That choice is separate from the tools inside the inspection. For that axis, see AI vs rule-based smart camera inspection: how to choose.

How the two architectures work

The inspection lives as a file that the engine loads. Your application asks the engine to open that inspection, arm the trigger, run each cycle and hand back named results: coordinates, scores, a verdict. The engine executes the same tools you tuned in the editor, on the machine that runs production. Your application never opens the camera and never reimplements a tool; it owns the operator screen, the PLC handshake and the logging around the engine.

The code export

The environment translates the inspection into source that you build into an application. The build may still call a licensed image-processing library, but the editable inspection disappears: thresholds, ROIs and tool settings become values in source. From the first build onwards the code is the product, and every inspection change is a code change.

Runtime engine link Code export
What runs on the machine The engine plus the editable inspection file Your compiled application
Changing a threshold Edit the file and reload; no build Regenerate, rebuild, redeploy
Who owns the camera The engine Your code
Tuning after sign-off In the editor, live on the line Back in source
Fits best when Parameters will be tuned The inspection is final and frozen

What a change costs under each architecture

Take a concrete case. A new lot of parts reflects differently and one segmentation threshold must move from 90 to 110 grey levels — a ten-minute edit in the editor. Under the engine link, you open the inspection, change the threshold, save, and the application loads the file again before the next shift: no build, no redeploy. Under export, the same edit touches source. You regenerate the inspection code, rebuild the application, redeploy it to the controller and repeat whatever validation you ran at sign-off. Each change repeats that cycle, and the deployed build drifts further from the editable master you tuned against golden parts.

Worked example: what fits down the wire from a 5 MP sensor

The architecture choice also has a physical half: where the inspection runs decides what the network must carry. Full frames are heavy; results are not.

The inputs, and where each comes from:

  • Resolution: 5,000,000 pixels at 8 bits per pixel, mono — the common 5 MP 8-bit case, which sets the frame size used below.
  • Link rates: 100 Mbit/s for Fast Ethernet, 1,000 Mbit/s for GigE — the Ethernet standards behind those two interface names.
  • Planning overhead: about 90% of the nominal rate treated as usable — the usual allowance for protocol headers, inter-frame gaps and scheduling.

The rule, in words: bytes per frame equals pixels times bytes per pixel, and the frames per second a link can carry equals its usable bytes per second divided by bytes per frame.

frame size (MB) = pixels × bytes per pixel / 1,000,000 max fps = usable link rate (MB/s) / frame size (MB)

The arithmetic:

  • One frame: 5,000,000 px × 1 B = 5.0 MB.
  • Fast Ethernet: 100 Mbit/s ÷ 8 = 12.5 MB/s; at 90% usable that is 11.25 MB/s, and 11.25 ÷ 5.0 ≈ 2 fps of full frames.
  • Results instead: a verdict with X-Y coordinates and a score fits in about 100 B. At 100 parts/s that is 100 × 100 B = 10 kB/s, which is 0.09% of the 11.25 MB/s usable rate.
  • The same frames over GigE: 1,000 Mbit/s ÷ 8 = 125 MB/s; at 90% that is 112.5 MB/s, and 112.5 ÷ 5.0 ≈ 22 fps.

The result: a Fast Ethernet link carries results, not images, from a 5 MP sensor — full-frame streaming tops out near 2 fps. Over GigE the same frames move at roughly 22 fps, which covers the pace of a single-camera inspection loop.

The decision, with its threshold: multiply inspection rate by frame size and hold it under 90% of the link's nominal rate. Below that line, full frames can reach a runtime engine on a controller and the inspection stays editable there. Above it, run the tools on the device and ship results — which is precisely what a Fast Ethernet vision sensor does. The MV-SC3050XC-16M-ATN-H is that class of device: a 5 MP colour sensor that inspects on board and reports over Fast Ethernet.

Smart cameras & vision sensorsHikrobot MV-SC3050XC-16M-ATN-H 5 MP color vision sensorMV-SC3050XC-16M-ATN-H
Interface
Fast Ethernet
Resolution
5 MP
Sensor format
1/1.45"
Shutter
Global
$1,809.00View part

Because the inspection file stays live, jobs that otherwise become rebuilds stay small:

When exported code is the right answer

Export in three cases: the inspection is validated and stable; the target hardware cannot host the engine, such as a compact embedded board; or you are handing the line to a software team that will own the code permanently. In all three, export once, after golden-part validation, and archive the editable master beside the build. Then treat the export as production code rather than a formality: generated source deserves the same review as hand-written code, and the review-and-verify checklist for AI-generated embedded code transfers directly to vision exports.

What export never buys is freedom from change. If the process later shifts — new supplier, new surface finish, new tolerance — the regeneration cycle from the previous section is the price, every time.

Choosing the hardware that hosts each path

The two families divide cleanly, and the catalog reflects it.

On-device inspection lives in smart cameras and vision sensors. The tools run on the camera's processor and the plant network carries results, so deployment reduces to copying the tuned inspection file to the device. Check the device's tool library before you commit: the on-board tools are fixed at purchase. Where a vision sensor runs out of resolution or tool depth, a smart camera keeps the same architecture on stronger hardware — the camera finder filters by resolution, interface and shutter. The MV-SC5060XM-08M-WBN, a 6 MP mono GigE model in the SC5000X series, is that step up with the inspection still on board.

Smart cameras & vision sensorsHikrobot MV-SC5060XM-08M-WBN SC5000X series Smart Camera, 6 MP, Mono, 8 mm focal length, M12-mountMV-SC5060XM-08M-WBN
Interface
GigE
Resolution
6-10 MP
Sensor format
1/2.4"
Shutter
Rolling
$1,629.00View part

Engine on a controller fits multi-camera cells, heavy tool chains and shared illumination, and the vision controllers category lists them by LAN ports, PoE and memory. The controller's job is ports and headroom: the MV-VC3301H-128G66 hosts the engine with 5+ LAN ports, 4 built-in light channels, 8 GB memory and an Intel Core i3, with the vision software licence included, and its lighting channels drive the lights directly from the panel.

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

Cells that need PoE cameras or more channels step up: the MV-VC5525-256G70-NN adds PoE camera ports and 8 built-in light channels with 32 GB memory, while the compact MV-VC2140-128G40-1T covers 3-4 LAN ports on an Intel N-series processor.

Vision controllersHikrobot MV-VC5525-256G70-NN VC5000 Vision Controller, 12th-I5, 32GB+256G SSD, Supported PCIEMV-VC5525-256G70-NN
LAN ports
5+ LAN ports
USB 3 ports
3-4 USB 3 ports
$4,479.00 · quotedView and quote
Vision controllersHikrobot MV-VC2140-128G40-1T VC2100 Vision Controller, N97, 8GB+128G SSD+ 1THDDMV-VC2140-128G40-1T
LAN ports
3-4 LAN ports
USB 3 ports
2 USB 3 ports
$1,679.00View part

Checks before you commit

  • Four API verbs. Confirm the engine API covers open, run, results and inspection reload — the whole link is those four calls plus your interface code.
  • Licence shape. Confirm which licence the engine needs at runtime and whether the controller bundles it.
  • Link budget. Multiply inspection rate by frame size; hold it under 90% of nominal link rate, per the worked example.
  • Results contract. Agree the protocol, the item names and the timestamp handling with the controls team before wiring.
  • Master custody. Version-control the inspection file and record which file revision produced each exported build.

The decision, per case

  • Tuning expected after sign-off, the common case: runtime engine link, with your application as its client.
  • Inspection frozen, embedded target, or permanent code handover: export once, review the code, archive the master.
  • Part rate times frame size above 90% of the link: on-device inspection in a smart camera or vision sensor, results over the network.
  • Several cameras, heavy tool chain, built-in light control: engine on a vision controller.
Build the whole station

The configurator matches a camera, lens, light, light controller and cables to each other, step by step, and lists only parts that fit what you already picked.

Start with the light controller

For the surrounding integration patterns, the systems topic page gathers them. And if the decision is genuinely 50/50, talk it through with us: bring the part rate and the frame size, and the arithmetic above usually settles it.

Questions

Can I edit an inspection after its code has been exported and deployed?

Not in place. The deployed code is a snapshot: it carries the parameter values that existed at export and no longer reads the inspection file. To change a threshold or ROI, return to the editable master, regenerate, rebuild and redeploy, then revalidate. Keep the master under version control and record which revision produced each build, so any future edit starts from the right baseline.

Does a runtime engine need its own licence on the controller?

Yes. The engine runs under a deployment licence, separate from the development seat you used to build the inspection. Some controllers ship with the vision software licence already included, which removes one line item from the project; others quote the engine separately or omit it. Check the controller listing for the bundled licence before you price the job.

Can my application open the camera directly while the engine is running?

No. Camera access is exclusive: whichever program opens the device owns it until it releases. While an inspection runs, the engine holds the camera, so a second open from your code fails or fights for control. Design the integration so the operator screen and the PLC talk to the engine, and keep direct camera access for setup tools only.

When is exporting code the better deployment choice?

For a validated, frozen inspection; for target hardware that cannot host the engine; or for a permanent code handover to a software team. A fourth case earns its place: when the receiving team must merge the inspection into a larger codebase with its own build system, the export becomes an input to their build rather than the whole deliverable. Either way, export once and archive the master.

How do inspection results reach the PLC?

Through the engine's result interface, not through your image code. The engine exposes named result items — position, score, verdict, timestamp — over industrial protocols, digital I/O or serial lines. Map each tool's output to a named item, let the PLC consume the verdict and coordinates directly, and reserve your application code for logic the engine cannot express.