← LinkVion homeHelp index

Vision inspection help

LinkVion Gateway · vision inspection 한국어

1. Overview

A vision job judges one camera frame with an inspection recipe (.vrp) and reports OK, NG or no verdict. Results appear as system tags vision.<job>.*, can be written back to user tags (PLC), and NG images and a result log are kept on the gateway.

The vision engine is installed separately — on a CM4 as the optional package next to the app, on Windows by choosing Full installation in the setup or ticking Vision inspection on its components page (silent install: /COMPONENTS="vision"). Either way an app update does not remove it. Without it settings can be saved but nothing is inspected and the status shows “Vision engine not installed”. The license needs vision (unlimited) or vision:<n> (n jobs) to enable jobs.

2. Roles

TaskRole
See verdicts, counters and the last image; SCADA vision elementviewer
Run once, test one shot, pause and resumeoperator
History (NG gallery, result log) and reading engine attributesoperator
Changing jobs and recipes, resetting counters, overrides, alarm suggestionsadmin

3. Recipes

Upload a .vrp on the Recipes tab. The gateway test-loads it in the engine and keeps it only if that succeeds (32 MB each · 32 recipes and 128 MB on this device · 33 MB of versions carried in project bundles, which are limited to 48 MB). It is stored as the engine saves it after loading it once, so a downloaded file may differ in key order from the uploaded one. If the engine rejects it, the reason is shown in the screen language. Recipes travel with the project bundle. Only admins can download recipe contents.

Shape matching (AlignmentShape) recipes need engine r3 or later. r3 makes shape-matching results identical from run to run (deterministic).
Shape-matching (GHT) scores may differ from what r2 gave. Three engine test scenes scored lower than on r2, and one flipped from OK to NG. After uploading a shape-matching recipe, re-tune thresholds with a test shot.

4. Creating a job

  1. id — lowercase letters, digits and _. Result tags are named vision.<id>.*.
  2. Choose the camera and the recipe.
  3. Choose the trigger (manual, tag edge or interval).
  4. Outputs — pick outputs from the recipe; each becomes the result tag out.<name>. You never type the work UUID by hand. Work UUIDs are always stored in lower case: from vision engine r5 on, the engine reads the work IDs of a recipe in lower case. An older setup saved in upper case is rewritten once in lower case when the gateway starts, and it still runs with an older engine.
  5. Write-back — write the verdict, outputs or counters to user tags (PLC). On no verdict a write happens only if “Value on no verdict” is set.

5. Triggers and frames

6. Outputs and range verdicts

Give an output a min and/or max and the result tag out.<name>.ok appears (1 = in range, 0 = out). A missing or non-numeric value counts as out of range. Verdict from decides what makes OK or NG.

Verdict fromOK when
Engine verdict (default)The engine says OK. Range results are informational
Output ranges onlyEvery ranged output is in range
Engine + output rangesThe engine says OK and every ranged output is in range

When verdicts come from the engine, out-of-range marks in the result log are shown dimmed as “Reference — out of range” (they did not affect the verdict).

The recipe’s partial verdicts (JudgeLogics) appear as partial.0, partial.1 … (1 or 0, empty on no verdict).

The output and input pickers use the engine label table where it exists; for other tools the gateway makes a name from the English tool name (shown as “generated name”).

7. Recipe input overrides

Enumeration inputs (for example OCR spacing or read mode, code-reader match mode) can be overridden with vision engine r4 (C API level 4) or later. The list shows the candidates the engine currently holds (for a job that was saved and loaded), and the value is set by name. With an older engine they are listed as “pending” and saving is refused. For inputs that change the layout (the type selection of TypeConverter, CreateObject, ObjectAttribute, ArrayElementAccess), the engine refuses with “cannot change: output is connected” while the job’s outputs feed another job — disconnect in the recipe first. Re-selecting the current value is fine.

Use these to change an input such as a threshold without editing the recipe. In the job editor under Recipe input overrides, pick an input and enter a value; it is applied after the recipe loads. Number, boolean and text inputs, and enumeration inputs (engine r4 or later), can be overridden (not images, regions or coordinates).

Overrides do not change result tags, so they can be saved while polling. Saving applies the new values to that job only — other jobs are untouched, and if this job is inspecting, the values are applied after that inspection finishes (it is not cancelled). Removing an override reloads the recipe so the recipe value returns.

If any override cannot be applied the job goes to “Error” and does not inspect — it never judges with a threshold it failed to set.

8. Result tags

TagMeaning
resultok, ng or none (no verdict — not NG)
judgment1 or 0; quality uncertain on no verdict
reason, errorWhy there was no verdict (camera, timeout, cancelled …)
count, okCount, ngCount, noneCount, overrunCounters
ngStreakNGs in a row (0 after an OK; no verdict is skipped)
latencyMs, runMsTrigger to result, engine run time
out.<name>, out.<name>.okOutput value, range verdict
partial.<i>Partial verdicts
det.*Object detection results (chapter 20) — only recipes with an object detection work
paused, state, busyPaused, state, inspecting
seqInspection number — changes last. When seq changes the whole result is in place

9. Counters and automatic reset

Counters survive restarts. With Automatic counter reset they go to 0 when the gateway’s local time passes a boundary.

To reset by hand use Reset counters on the job card (admin).

10. Result images and history

11. Run, test and pause

12. SCADA vision element

Set a SCADA camera element’s source to Vision inspection result (vision:<job>) to show the last result image with a verdict band (top, bottom or none) and counters. The image is fetched only when the inspection number changes. It works on viewer kiosks.

13. Alarm suggestions and OEE

14. Scripts and MCP

15. Troubleshooting

SymptomCheck
Always no verdict, reason=cameraWhether the camera delivers frames (camera screen); that the wait after trigger is not too long
reason=timeoutThe job’s time limit and how heavy the recipe is
overrun keeps risingTriggers come faster than inspections — lengthen the interval or lighten the recipe
Job state “Error”The error text on the job card (recipe load or override failed)
Triggers do nothingWhether the job is paused (the “Paused” badge), license or trial run time
No more RTSP cameras can be addedThe device's RTSP camera limit (6 on a CM4) — delete RTSP cameras you do not use (see the recommendations in section 5)

16. Sample project — Vision inspection line

The bundled sample Vision inspection line (Project › Samples) runs four inspection jobs on folder-playback cameras. It judges 26 synthetic images (3 OK and 3 NG for each of the first three jobs, 8 for the precision check) every 2 seconds and shows OK, NG, yield and the NG streak. It has two screens; switch with the Inspection · Precision check tabs in the header.

JobImage folderOK whenValues on screen
Part count countvision-count6 parts on the tray (5 or 7 is NG)Parts
Area · stain areavision-areaPlate area 83,500–89,500 px², stain ≤ 150 px²Plate area · stain area
Code reading codevision-codeThe label reads LOT-2026-001Code read · format
Precision check precisionvision-flangeThe part is found (alignment score 60 or more) and the bore is 9.85–10.15 mmAlignment score · bore diameter · lot read (Precision check screen) — 16-1

Setup (admin, before opening)

  1. Download and unzip vision-sample-images.zip (3.2 MB). It has four image folders (6 · 6 · 6 · 8 images) and a calibration practice folder (calibration/).
  2. In Configure › Shared Connections › Video › Register camera, create four Folder playback cameras — ids vision_count, vision_area, vision_code, vision_flange, image folders vision-count, vision-area, vision-code, vision-flange, interval 2500 ms.
  3. Before saving each camera, upload the images of the matching folder in the Image folder panel at the bottom of the dialog (images added after saving take effect when the camera is saved again).
  4. Open Vision inspection line from Project › Samples. The cameras must exist first, or the inspection jobs are not loaded — if you opened it first, open the sample again after creating the cameras. Opening it replaces this device's vision jobs, recipes and calibrations with the sample's.

16-1. Precision check — recipe teaching practice

The fourth job precision runs three tools on each plate part: Locate (alignment with a pattern model) → Bore (bore diameter) → Lot (lot code reading). The regions of Bore and Lot follow the position Locate found (their Align input takes the alignment result). The calibration of camera vision_flange (0.1 mm/pixel, made from a checkerboard image) is stored in the project, so the diameter is in mm.

The first recipe is taught only partly on purpose, for practice. The pattern model finds parts turned up to ±5° only, and the character model has no samples of 8.

ImagePartFirst recipeAfter practice
flange_01_ok_refReference poseOKOK
flange_02_ok_shift · 07_okShifted partOKOK
flange_03_ok_rot · 05_ok_rotPart turned 11–12°NG — not found (score about 31)OK (①)
flange_04_ng_big · 06_ng_smallBore 10.42 · 9.62 mmNGNG
flange_08_ok_lot8Lot 2610B08OK, lot read as 2610B0B2610B08 (③)

Practice (admin · license vision-teach) — open the workbench from the job card › Adjust recipe and pick images from the folder-playback folder vision-flange as the image source. Section 17 describes each screen.

  1. Pattern model (17-3) — pick image 01 and press Use current image next to Master image in the bar. In the model row of tool Locate press Teach → Rotation range (±deg) 15 → Teach. Keep the region (it is the reference position). Images 03 and 05 are now found (score about 97–99).
  2. Calibration (17-2) — folder images open without calibration, so Bore measures pixels (about 100) and fails. Press Choose next to No calibration in the bar and pick vision_flange: 10.02 mm, OK.
  3. Character training (17-4) — pick image 08 and press Character training on tool Lot → (1) Cut (7 boxes) → (2) type 2610B08 → (3) Add as samples → (4) Start training → (5) Read this image gives 2610B08. With about 90 samples training takes less than a second on a Mac.

When all three are done, Publish a new version and pick precision in the dialog so the running job uses it. To go back to the start, roll back to the original version in Versions.

16-2. License plate recognition — text reading and registered-vehicle matching

The bundled sample License plate recognition (Project › Samples) has one inspection job (plate) that reads 20 synthetic plate images; the project script plate-judge then matches the text read against a registered-vehicle list and sorts each plate into Registered · Unregistered · Read failed. The plates and numbers are entirely computer-drawn (the numbers are random) and may coincide with a real vehicle's number by chance. Do not use this for real vehicle reading or access control.

Setup (admin, before opening)

  1. Download and unzip plate-sample-images.zip (0.3 MB). The plate-demo folder has 20 JPEG images; the zip also has the registered list and the typeface notice (SIL OFL 1.1).
  2. In Configure › Shared connections › Video › Register camera, create a Folder playback camera — id plate_cam, image folder plate-demo, interval 2500 ms. Upload the 20 images before saving the camera, using the Image folder panel at the bottom of the dialog (images added after saving take effect only when the camera is saved again).
  3. Open License plate recognition from Project › Samples. The camera must exist first, or the inspection job is not loaded.

Judging rules (the inspection engine only knows whether text was read — the reference text is left empty)

StepConditionResult
1Inspection result is none (camera delay, timeout, ...)Nothing is updated and the totals do not change
2The engine could not read text (ng)Read failed (no text could be read)
3The text without spaces is not a plate format (2-3 digits + 1 Hangul letter + 4 digits)Read failed (plate format does not match)
4The text is in the registered listRegistered — the gate opens
5Anything elseUnregistered — alert (plate-unreg)

16-3. Parking entrance plate scene — plate finding and text reading

The bundled sample Parking entrance plate scene (Project › Samples) differs from 16-2: it looks at a whole entrance scene (1280×720), not a plate-only image. The recipe of the job gate has two tools — the plate finder (Finder) finds the plate in the scene and passes that area to the text reading tool (Plate) as its inspection area. Car position, plate size (0.8–1.15×), tilt (±5°) and brightness change from scene to scene. The script gate-judge sorts the result into registered · unregistered · read failed with the rules of 16-2, and a scene with no plate found becomes No car (not counted, no alert). Scenes, plates and numbers are all synthetic and cannot be used for real vehicle or site reading.

Setup (admin, before opening)

  1. Download and unzip plate-scene-images.zip (3.9 MB). The gate-scene folder has 28 scenes (24 cars · 4 empty lanes); the zip also has the registered list (18 vehicles) and the typeface notice.
  2. Create the folder playback camera gate_cam (image folder gate-scene, interval 2500 ms) and upload the 28 images before saving it.
  3. Open Parking entrance plate scene from Project › Samples. Vision inspection r13 or later is needed (plate finder tool).

16-4. Conveyor object counting — one video at 2 · 5 · 10 frames per second

The bundled sample Conveyor object counting (Project › Samples) runs one synthetic conveyor video (8 boxes moving left to right at 160 px/s, a lap of about 38 s) side by side as three folders at 2, 5 and 10 frames per second. The recipes of the three jobs (c2 · c5 · c10) have the same shape — text reading (Label, first) · motion region (Motion) · object tracking (Track) — and the screen shows, per job, the counts (A→B · B→A · total) · last lap / this lap · recent crossings (ID · label read) · median time per frame · learning. The video is synthetic and cannot be used for real site counting.

Setup (admin, before opening)

  1. Download and unzip conveyor-sample-images.zip (21 MB). Three folders: conveyor-2fps (76 images) · conveyor-5fps (190) · conveyor-10fps (380) — images × interval is 38.0 s in all three, so the three scenes stay in step however long they run.
  2. Three folder playback cameras — conv2_cam · conv5_cam · conv10_cam, image folders of the same names, intervals 500 · 200 · 100 ms. Upload the images of each before saving it.
  3. Open Conveyor object counting from Project › Samples. LinkVion Gateway 0.1.0.19 or later (100 ms interval trigger) and vision inspection r18 or later (majority warm-up · per-object reading · miss time allowance) are needed.

17. Recipe adjustment (teaching)

A workbench for tuning a recipe's thresholds and choices by running it on images. It runs on a separate engine, so running inspections do not change until you save as job overrides or publish and apply to a job. Administrators only; the license must include the vision-teach feature (it does not open on a trial license).

Ways in

Image source — choose one of five under Image source: one camera frame now · a folder playback image · a file upload (JPEG or PNG, 8 MB) · an NG image from the inspection log · a test set image. Log images are usually overlays with results drawn on them, so verdicts re-run on them are for reference only. Turn on Also keep NG originals under Job edit › Result images to keep the camera original next to each NG overlay; that original is used instead (same size limit).

Screen

AreaWhat it does
Tools (left)The recipe's tools in order with OK/NG and time per tool, plus the overall and partial verdicts. Click one to highlight its region on the canvas.
Canvas (centre)The image at full resolution. Zoom with the wheel or two fingers, drag to pan, Fit and 1:1. Switch the overlay between Vector (green OK · red NG · dashed = not run yet or reference position, in the screen language) and Engine drawing (drawn by the engine — text in English).
Properties (right)Inputs of the selected tool. Numbers, true/false, text, enums and inspection regions (rectangle, rotated rectangle, circle, ring, arrow) can be changed. Edit a region by dragging its handles on the canvas (inside = move, edges and corners = size, the circle on top = rotate) or by typing in the number fields. If the tool does not accept a shape, the reason is shown. Polygons and connected inputs are view only. Connected inputs show their source. A changed input gets a Recipe value button. Outputs of the last run are listed below.

With Auto preview on, every change runs once shortly afterwards. With it off, press Run.

Test sets — under Test sets, collect OK and NG images (100 per set, 200 MB in total) and run them all at once. Load expectations with Import expectations from an expected.json (image name → judgment OK/NG and outputs with {"eq": value} or {"min": a, "max": b}, keyed tool name.output name). Results show the adjusted and opening values side by side with matches, false accepts, false rejects and changed verdicts. Use Mismatches only, Download CSV and To canvas (use that image). Test sets stay on the gateway but are not stored in project bundles (.acproj).

Saving — Save as job overrides stores the current adjustments as input overrides of a job that uses the same recipe. Inputs set back to the recipe value are removed from the overrides. Running inspections use them from the next inspection. Region changes are not kept as overrides — publish them.

Publish — Publish in the header stores the current adjustments and regions as a new version of the recipe (as the engine saves it, with a note). Versions never change; only the jobs you pick in the dialog use the new one. For the job the session was opened from, clear input overrides is on by default (those values are already in the new version). Other jobs' overrides are not in the new version, so you pick them one by one. Publishing content identical to an older version makes that version the published one again instead of creating a new one. The Publish button is off when the engine version cannot save recipes. Publishing and applying are refused while polling.

Versions — Versions on the Recipes tab lists a lineage (published and past versions), compares a past version with the published one (changed values, connections, tool names, judgment logic) and rolls back a job to an older version. The first uploaded original version is always kept; besides it, up to 3 unused past versions are kept per lineage (oldest removed first). Project bundles carry only versions used by jobs and published versions — original and past versions stay on this gateway and do not move with the project to another device (there the carried version looks like the first of a new lineage, and a missing previous version does not break anything). When this device exceeds 128 MB, unused past versions are removed first; if that is not enough, publishing and uploading are refused. The workbench header and the publish dialog show the remaining room.

Undo and drafts — Undo and Redo in the header (Ctrl+Z · Ctrl+Shift+Z) step back through value and region changes (100 steps per session). A changed session is autosaved as a draft every 30 seconds ("Autosaved" time in the header) and kept when the session closes or times out. When you open it again you are asked whether to resume the draft or discard it and open the published version. If the draft started from another version, that version number is shown and resuming opens the draft's version (without job overrides). Drafts are not stored in project bundles. Only one person can edit a recipe (lineage) at a time.

Auto set, work names, intermediate images, diagnosis (vision engine r6 or later)

17-1. Master image

The bar under the workbench header shows Master image: W×H or none, with Use current image and Remove. It puts the current session image into the recipe as its reference image.

17-2. Calibration

With a calibration loaded, measuring tools such as diameter, length, angle and area give values in the calibration's unit (usually mm) instead of pixels. There is one calibration file per camera, kept apart from the recipe.

Upload — on the Calibration tab of the Vision page, press Upload (or Replace) in the camera row → Choose calibration file → width · height (empty uses the source image size stored in the file, 0 turns the size check off) · note → Upload. The gateway reads it with the inspection feature before storing it and reapplies the jobs using that camera ("jobs reapplied n · failed f"). Delete reapplies those jobs without calibration. Download returns the stored file as is.

Choosing on the workbench — the bar under the header shows Calibration: <camera> or No calibration, with Choose. With the image source camera, current image, that camera's calibration is loaded by itself. Folder playback, file, history and test set images start with No calibration: press Choose and pick the camera in Choose session calibration. Switching to another such image goes back to no calibration, so choose again. A calibration chosen in the session does not change the calibration of running jobs. When the file changes on the Calibration tab, the bar shows "(calibration file changed — reloaded with the next camera image)".

Run Auto set again after uploading, replacing or deleting a calibration. Limits (lower · upper) are stored in the same unit as the value. Limits set by Auto set without calibration are in pixels and no longer fit once a calibration is loaded (for example a diameter of 100 pixels becomes 10 mm), and a different calibration changes the mm values too. In a session with the calibration loaded (that camera's image, or Choose), run Auto set again for each measuring tool, check with a test set and publish.

17-3. Teaching a pattern model

Tools with a pattern model input, such as alignment, show Pattern model present (or No pattern model (not taught yet)) and a Teach button in the model row of the properties panel. It is enabled once there is a session image.

  1. Teach → the Teach pattern model dialog. At the top, view the Image this tool sees (after the preprocessing of earlier tools) or the Original.
  2. Model region (reference position) — starts with the model's current region. Keep it, or choose a shape and drag it on the image to teach a new region (large images are shown scaled, but the region is sent in original coordinates).
  3. Settings — edge threshold, edge shape, edge contrast, rotation range (±deg), pyramid level and so on, depending on the model type. Empty fields keep the model's current values.
  4. Teach (up to 30 s, Cancel teaching). The result is one undo step; run the preview again to check it.

17-4. Character samples and training

The model row of a character reading tool shows n samples and a Character training button. The Character reading training dialog has five steps.

  1. (1) Cut — cuts the image into character boxes in the tool's current text region (or a shape you choose). Adjust the boxes with Cutting settings (binarization, deskew, blob filter, blob merging). Depending on the device version, the Glyph height estimate (r11 or later) and Plate layout hint (r12 or later — layout letters N digit cell · H Hangul cell · A letter cell · / new line · | between layouts, e.g. NNHNNNN|NNNHNNNN) options appear. Both are off by default, and a recipe with one on cannot be used on older devices that lack it. All samples of a model use one cutting setting, so the settings are locked once samples exist (remove all samples to change them).
  2. (2) Name — type one character per box on one line, starting from the top-left box. A space skips that box. The number of characters must match the number of boxes; type Hangul as precomposed syllables.
  3. (3) Samples — Add as samples. Counts per character, List (remove selected), remove all of one character, Export · Import (only files exported from this screen, up to 32 MiB). Sample edits are undo steps.
  4. (4) Train — set Accuracy check (cross validation) (off makes training about 4 to 5 times shorter with the same model), Number of folds and Keep samples, then Start training.
  5. (5) Check — Read this image shows what the current image reads.

Training time and progress — before starting, "n samples · about t on this device · about m MiB of memory" is shown, and training does not start when free memory is short (Linux devices). While training, "p % · elapsed / about t" and the phase (making features, fitting, cross validation) are shown; progress is a share of the estimated time, so it moves with the elapsed time. Training continues when the dialog is closed, and "Character training p %" stays in the bar. Cancel training leaves samples and model unchanged. Each gateway trains one model at a time.

Protecting running inspections — training runs on the same gateway as the running inspections. It first measures their normal time ("Measuring the running inspections first"), and when they slow down during training it stops and later starts again from the beginning (3 automatic restarts). After those, press Resume now. If it still cannot finish, there are three ways:

  1. Stop operation (communication) and train.
  2. Train on another gateway (Mac or PC) and upload the recipe — it is the same recipe as training here.
  3. An admin confirms and presses Resume without protection — running inspections slow down while it trains, and this is recorded in the audit log.

Keep samples (8 MiB) — with keep samples on, the samples stay in the recipe after training, so more samples can be added and trained later. Off makes the recipe smaller, but that recipe cannot be trained again. Keep samples is on by default when the expected recipe is 8 MiB or less, and off by default above that — export the samples first before turning it off. Training is refused when the recipe with kept samples would exceed 32 MiB.

17-5. Common errors

MessageWhat to do
No session image — choose an image source firstPick an image in Image source in the header.
A teaching setting is wrong or the region is missing; the model is unchangedCheck that a region is drawn and the settings are in range.
The pattern model could not be taught; the model is unchangedCheck that the region has edges and lies inside the image. Try a lower edge threshold.
Teaching the model took longer than 30 seconds and stoppedMake the region smaller or raise the pyramid level.
Could not cut the characters: none were found, or the region is empty or outside the imageAdjust the text region, binarization offset and bright background.
The number of characters differs from the number of boxesType one character per box (a space skips a box).
The characters are in decomposed form (conjoining jamo or combining marks)Type them again as precomposed characters.
The cutting settings differ from this model's samplesKeep the samples' settings, or remove all samples before changing them.
Training needs at least two different charactersAdd samples of another character.
Keeping the samples would make the recipe exceed 32 MiBTurn off keep samples (export first) or use fewer samples.
Another character training is running on this gateway; only one runs at a timeTry again after it ends or is cancelled.
Not enough free memory to trainUse fewer samples, or train on another gateway and upload the recipe.
Not a calibration file; the current calibration is unchangedCheck that the file is a calibration saved by the inspection feature.
Calibrations exceed 16 MiB in totalDelete calibrations of cameras no longer used.
The recipe would exceed 32 MiB; it was revertedRemove the master image or turn off keep samples.

18. Motion region and object tracking (frame stream)

When the recipe has a motion region or object tracking (vision inspection r15 or later) the job is the frame stream of one camera: each trigger puts one frame in, in order; the background is learned and objects are numbered and followed. Use a fixed camera and an interval trigger.

19. Focus check (sharpness)

When the recipe has a Sharpness work (vision inspection r24 or later), use Focus check in the job card's more menu (operator or above) to focus the lens. It reads only the sharpness work values from one camera frame and receives no picture; counters, result tags, PLC result writes and inspection records do not change. The job state conditions are the same as for a test shot.

  1. Set the reference — teach the sharpness work in Recipe adjustment with an in-focus image. The score at that moment becomes the reference (100 %). Until the reference is set, only the score is shown instead of a bar, with the note "No reference: teach the reference first".
  2. Watch the bars — each work has one bar showing % of the reference (Relative). The scale is 0–150 %, and the vertical line is the lower limit of the allowed range set on that work's Relative output; with no range set, the default 85 % is used. The actual value shows under the bar, like "allowed range lower limit 90 %" (or "default 85 %" with no range), and the bar turns red when the value is below it. Turn the lens until the bar is near 100 %. The screen rests 0.1 s after each reply before reading the next frame (longer when replies are slow, up to 1 s). Closing the window or hiding the tab stops reading.
  3. Read failures — when a read fails the bars are cleared (old values are not left in green or red) and the reason is shown. The peak stays. Unless the refusal is "not paused" or "stream job", reading is retried every 1 s.
  4. Peak — each row shows the peak so far and the current value as % of the peak. The peak rises only with values read in the "Measured" state and is cleared when the gateway restarts. After Reset peak, leave everything untouched and the % of peak shows how much the value fluctuates.
  5. Allowed range — in the job editor, choosing the Relative output of a sharpness work fills in a lower limit of 85 % by default (an existing range is kept). The production verdict follows Verdict from (section 6). When the verdict comes from Engine verdict, this allowed range is for reference only and the row says so — for the gateway range to be used in the verdict, set Verdict from to Output ranges only (rules) or Engine + output ranges (both).
StateMeaning
Not measuredNo value yet (including failed reads)
MeasuredA value was measured
FlatThe region has no pixels to measure focus on. Move the region to an area with texture or edges.

When the recipe has no sharpness work, or the camera or inspection fails, the bar area stays empty and the reason is shown.

20. Object detection results

Not a safety function — Object detection is not a certified safety function. Do not use it as the only means of protecting people or equipment. Detection results vary with lighting, camera angle and the model, and objects can be missed or wrongly detected.

When a recipe has an object detection work, its results appear as result tags vision.<job>.det.*. With several object detection works, the first one in the recipe is used. Boxes (positions) are not tags — they are drawn on the result image and feed object tracking.

TagMeaning
det.isResult1 or 0 — 1 when the target class count is within the minimum and maximum count
det.countBoxes of the filtered classes
det.targetCountBoxes of the target class
det.maxScoreHighest score (per mille, 0 to 1000)
det.classes, det.scoresClass number and score (per mille) of each box, highest score first — JSON array text
det.classCountsBoxes per class number — JSON array text
det.valid1 or 0 — 1 when this inspection’s detection values can be used. 0 with no verdict, a detection work error or a detection work skipped in Run (always has a value, so use it for alarms)