KeenVision Light InspectionIşık Denetimi

Complete operator and engineer guide · Build v152 · Made by KeenStudio for AGASAN

Tam operatör ve mühendis kılavuzu · v152 · KeenStudio tarafından AGASAN için yapıldı

🏭 What is KeenVision?KeenVision Nedir?

Machine-vision system that captures images of automotive light assemblies and measures colour and intensity inside polygon zones. Results go to a Siemens PLC as OK / NOK.

Otomotiv ışık montajlarını yakalayan ve çokgen bölgelerde renk/yoğunluğu ölçen makine görme sistemi. Sonuçlar Siemens PLC'ye OK / NOK olarak gider.

📷 Key HardwareDonanım

Camera: DFK 37BUX178 (IC4 SDK, USB3, 1080p @ 130 fps)
PLC: Siemens S7 via Snap7 · default IP 192.168.0.1
Alt cameras: any USB/RTSP via OpenCV backend

Kamera: DFK 37BUX178 (IC4 SDK, USB3, 1080p @ 130 fps)
PLC: Snap7 aracılığıyla Siemens S7 · varsayılan IP 192.168.0.1
Diğer kameralar: OpenCV arka ucu ile herhangi bir USB/RTSP kamera

Full Application View

Tam Uygulama Görünümü

KeenVision — Light Inspection
KeenVision Light Inspection
Home
F1 LEFT
F2 RIGHT
PLC
Users
PLC 192.168.0.1
13:05:04 Admin · AGASAN
F1 LeftNOK
P1 · Turn✗ NOK
Dynamic Timeline · 5 frames · 30ms · 150ms
F1·L1
F2·L2
NOK
F3·L3
OK
F4·L4
OK
F5·L5
OK
Tail F2
Brake F3
⚡ Turn F1
F2 RightOK
P1 · Turn✓ All frames OK
Dynamic Timeline · 5 frames · 30ms · 150ms
F1·L1
OK
F2·L2
OK
F3·L3
OK
F4·L4
OK
F5·L5
OK
Tail F2
Brake F3
⚡ Turn F1
ProgFuncCamFrToolRGBI
11111240230148224
11112227215117207

Navigation & Access

Gezinme & Erişim

PageAccess LevelPurpose
HomeAll usersReal-time OK/NOK dashboard, dynamic timelines, result tables
F1 LeftAdmin+Recipe, camera, tools, measurement setup for LEFT station
F2 RightAdmin+Same as F1 but for RIGHT camera station
PLCOwnerPLC connection settings and DB register mapping
UsersAdmin+User management and config backup/restore
🔑
Login credentials are managed by your system administrator. Contact them to get your card ID and access level assigned.
Giriş bilgileri sistem yöneticiniz tarafından yönetilir. Kart ID'nizi ve erişim seviyenizi öğrenmek için yöneticinizle iletişime geçin.

Home Dashboard

Ana Gösterge Paneli

Visible to all users — no login required

Tüm kullanıcılara görünür — giriş gerekmez

📊 Left Panel (F1)Sol Panel (F1)

Shows the inspection result for the LEFT camera station. Displays Dynamic Timeline (for dynamic functions) or a camera image with overlaid polygon tool results (for static functions).

Sol kamera istasyonunun denetim sonucunu gösterir. Dinamik fonksiyonlar için zaman çizelgesi, statik fonksiyonlar için araç sonuçları ile kamera görüntüsü gösterilir.

🏷 Result BannerSonuç Bandı

Large coloured banner at top of each panel. Green = All OK · Red = NOK. For dynamic functions shows how many frames passed.

Her panemin üstündeki renkli büyük bant genel sonucu gösterir. Yeşil = Tümü OK · Kırmızı = NOK. Dinamik fonksiyonlarda kaç karenin geçtiğini gösterir.

Her panemin üstündeki renkli bant. Yeşil = Tümü OK · Kırmızı = NOK.

Function Pills Strip

Fonksiyon Hapları Şeridi

Below the timeline is a row of pill buttons — one per configured function for this program. Click any pill to switch the display. Dynamic functions show ⚡. Border colour = last result.

Zaman çizelgesinin altında, bu program için yapılandırılmış her fonksiyon için bir hap düğmesi satırı bulunur. Görüntüyü değiştirmek için herhangi bir hap düğmesine tıklayın. Dinamik fonksiyonlar ⚡ gösterir. Kenarlık rengi = son sonuç.

Zaman çizelgesinin altında fonksiyon başına bir hap düğmesi bulunur. Herhangi birine tıklayarak görüntüyü değiştirin. Dinamik fonksiyonlarda ⚡ gösterilir.

Dynamic Timeline on Home Page

Ana Sayfada Dinamik Zaman Çizelgesi

Clicking a frame thumbnail

Kare küçük resmine tıklama

Click the thumbnail image inside any tile to open a full-resolution pop-up viewer. The viewer shows the captured frame with all polygon tools drawn in green/red, a per-tool RGBI sidebar, and an overall OK/NOK result. Scroll to zoom, drag to pan, Esc to close.

Herhangi bir karonun içindeki küçük resim görüntüsüne tıklayarak tam çözünürlüklü açılır pencere görüntüleyiciyi açın. Görüntüleyici, tüm çokgen araçların yeşil/kırmızı çizildiği yakalanan kareyi, araç başına RGBI kenar çubuğunu ve genel OK/NOK sonucunu gösterir. Yakınlaştırmak için kaydırın, kaydırmak için sürükleyin, kapatmak için Esc tuşuna basın.

Herhangi bir karonun içindeki küçük resme tıklayarak tam çözünürlüklü açılır pencere görüntüleyiciyi açın. Araçlar yeşil/kırmızı çizilmiş ve RGBI kenar çubuğu gösterilir.

💡
Double-click anywhere on the tile also opens the full viewer. Single-click outside the thumbnail just selects the tile and shows the detail bar below the timeline.
Karenin herhangi bir yerine çift tıklamak da tam görüntüleyiciyi açar.
Tile elementMeaning
F1, F2…Frame number (matches capture order)
LED 1, LED 2…Corresponding LED number in the lighting sequence
✓ OKAll tools in this frame passed their tolerances
✗ NOKOne or more tools failed — click thumbnail to see which ones
R G B IAverage Red/Green/Blue/Intensity values measured in this frame

Recipe Tab

Reçete Sekmesi

F1/F2 Settings → Recipe

F1 LEFT — Recipe Tab
Recipe
Camera
Tools
Measure
ON
☐ Allow no-tools
☐ Secondary camera
Save Tools
Delete
T1 T2 T3
Frames:
F1
F2
F3
F4
F5
⧉ Copy Tools…

Recipe Controls Reference

Reçete Kontrolleri Referansı

ControlDescription
Program1–9999. Must match the PLC program number in DBW4/DBW6.
Function1–999. Must match DBW8/DBW10 from PLC.
NameHuman-readable label shown on Home page (Turn, Fog, Brake, Park, Reverse, or custom).
⚡ Dynamic FunctionEnables burst capture. Badge turns green ON. Must press Save Tools to persist.
Frames(Dynamic) Number of frames to capture = number of LEDs in your sequence.
Interval(Dynamic) Delay between frames in ms. Min ~7.7ms at 1080p (130fps). Set to match LED on-time.
Edit Frame(Dynamic) Which frame is currently shown in the viewport for tool editing.
Save ToolsSaves all polygons, tolerances, and function options to the database. Always save before leaving.

Camera Tab

Kamera Sekmesi

F1 LEFT — Camera Tab
Recipe
Camera
Tools
Measure
10 ms
0
Full Device / IC4 Props
Save Camera Recipe
Capture
Live View
▶ Advanced Camera Settings
LIVE
ControlDescription
Exposure (ms)Pozlama (ms)Shutter time. Minimum useful ~1ms. In Dynamic keep below interval time. Converted to µs internally for IC4.
GainSensor gain 0–255. Acts like ISO. Keep low for clean measurements.
ResolutionÇözünürlükNative / 1920×1080 (130fps) / 1280×720 / 640×480. Auto-locked to 1920×1080 when Dynamic is ON.
Colour ModeRenk ModuColour (RGB) — full colour debayering (default). Monochrome — greyscale, intensity-only inspection.
Camera BackendKamera Arka UcuIC4: DFK cameras (recommended). OpenCV: USB webcam, IP camera (RTSP/HTTP), WDM. Auto: tries IC4 first.
RotationDöndürmeSoftware rotation after capture: 0°/90°/180°/270°. Use when camera is mounted sideways.
Full Device / IC4 PropsTam CihazOpens full GenICam property browser. View and set any camera property. Changes saved to recipe.
CaptureYakalaSingle frame (static) or full burst sequence (dynamic). Progress bar shown during dynamic.
Live ViewCanlı GörünümContinuous preview for alignment. Not available in Dynamic mode. Click again to stop.

Tools Tab

Araçlar Sekmesi

F1 LEFT — Tools Tab (multi-select + undo/redo)
Recipe
Camera
Tools
Measure
Load Image
Add Tool
Remove Tool
Fit View
Zoom +
Zoom −
UNDO / REDO
↩ Undo
↪ Redo
HOME CROP
Draw Crop
Save Crop
Left-click corner → drag point
Left-click body → move tool
Shift+click → multi-select
Ctrl+Z → undo · Ctrl+Y → redo
Right-click edge → add point
Middle-click point → remove
T1 T2 T3 T1 + T2 multi-selected (amber) — drag to move both
Tools / Tolerances
TR minR maxG minG maxI min
1180255170255160
2185255175255165
Measurement Results
TRGBI
1240228120220
2235222118215
ActionResult
Left-click corner dotköşe noktasıDrag to reshape polygon
Left-click inside polygonçokgen içiSelect + drag to move single tool
Shift+ClickToggle tool into/out of group (amber highlight)
Drag any amber toolKehribar aracı sürükleAll selected tools move together
Ctrl+ASelect all tools at once
Ctrl+ZUndo last action (up to 50 steps)
Ctrl+Y orveya Ctrl+Shift+ZRedo last undone action
EscClear all selections
Right-click edgekenarInsert new vertex
Middle-click pointnoktaRemove vertex (min 3)
ScrollZoom in/out

Measure Tab

Ölçüm Sekmesi

F1 LEFT — Measure Tab
Recipe
Camera
Tools
Measure
30
Measure All Active Cameras
Teach Active Camera
Teach reads current image values and sets min/max = measured ± tolerance. In Dynamic mode each frame is taught independently.
T1 ✓ T2 ✗
Measurement Results
ToolRGBIOK
T1238226119218
T212869
ControlDescription
Teach Tolerance ±Öğret Toleransı ±Range added to measured values. E.g. Red=200, tolerance=30 → R_min=170, R_max=230.
Measure AllHepsini ÖlçMeasures all tools on all enabled cameras for the current frame. Polygons turn green/red. Results saved to DB.
Teach Active CameraAktif Kamerayı ÖğretSets each tool's min/max = (measured ± tolerance). Auto-saves. Run Measure first.

Dynamic Function — What & Why

Dinamik Fonksiyon — Ne & Neden

💡 The Problem it SolvesÇözdüğü Sorun

Your lighting has 15 LEDs firing one at a time over 200ms. A single photo captures all LEDs simultaneously — impossible to inspect each zone independently. Dynamic mode captures one photo per LED in a synchronized burst.

Işıklandırmanızda 200ms boyunca tek tek yanan 15 LED var. Tek bir fotoğraf tüm LED'leri aynı anda yakalar — her bölgeyi bağımsız olarak denetlemek imkânsız. Dinamik mod, senkronize bir patlama halinde her LED için bir fotoğraf çeker.

15 LED 200ms boyunca tek tek yanıyor. Tek fotoğraf hepsini yakalar. Dinamik mod, her LED için bir fotoğraf senkronize patlama halinde çeker.

LED Sequence Animation

LED Dizisi Animasyonu

LEDs firing one at a time → camera captures each LED'ler tek tek yanıyor → kamera her birini yakalar

Burst Capture

Patlama Yakalama

F1
F2
F3
F4
F5
… up to 120 frames
PLC sends DBW12=10 (start)PLC DBW12=10 gönderir (başlat)
App writes 11 immediately (busy)Uygulama hemen 11 yazar (meşgul)
Camera captures all N frames in one burstKamera tüm N kareyi tek patlama ile yakalar
All tools on all frames measuredTüm karelerdeki tüm araçlar ölçülür
Single OK/NOK written back: DBW12=12 or 13Tek OK/NOK geri yazılır: DBW12=12 veya 13

Dynamic Function Setup

Dinamik Fonksiyon Kurulumu

Recipe tab → tick Dynamic FunctionReçete sekmesi → Dinamik Fonksiyon'u işaretle
Badge turns green ON, frames/interval controls appearRozet yeşil ON'a döner, kareler/aralık kontrolleri görünür
Set Frames=15, Interval=13msKareler=15, Aralık=13ms ayarla
Total 195ms. At 1080p min interval is 7.7ms (130fps).Toplam 195ms. 1080p'de minimum aralık 7,7ms'dir (130fps).
Press Save ToolsAraçları Kaydet'e bas
Without this the Dynamic checkbox will reset on reload.Bu olmadan Dinamik onay kutusu yeniden yüklemede sıfırlanır.
Camera tab → CaptureKamera sekmesi → Yakala
Progress bar appears. All frames captured in one burst. Frame strip shown below viewport.İlerleme çubuğu görünür. Tüm kareler tek patlama ile yakalanır. Görünüm penceresinin altında kare şeridi gösterilir.
Click Frame 1 in strip → draw tools → Save ToolsŞeritte Kare 1'e tıkla → araçları çiz → Araçları Kaydet
Click ⧉ Copy Tools… → copy Frame 1 to all others⧉ Araçları Kopyala… → Kare 1'i diğerlerine kopyala
Adjust tolerances per frame → Save Tools on eachHer kare için toleransları ayarla → Her birinde Araçları Kaydet
Dynamic checkbox only persists after Save Tools. Toggle it and navigate away without saving → it resets.
Dinamik onay kutusu yalnızca Araçları Kaydet sonrasında kalıcıdır.

Copy Tools Between Frames

Kareler Arasında Araç Kopyalama

In Dynamic mode the frame strip shows a ⧉ Copy Tools… button. Opens the Copy Tools dialog.

Dinamik modda kare şeridi ⧉ Araçları Kopyala… düğmesini gösterir.

OptionDescription
Copy FROM frameKaynaktan kopyalaSource frame dropdown. Shows tool count per frame.
Copy TO framesHedef karelerCheckboxes for each destination. Select All / Select None shortcuts. Source always disabled.
Replace existing toolsMevcut araçları değiştirDestination cleared first. Best for starting from a uniform baseline.
Keep + add copied toolsTut + kopyalanmış araçları ekleAdds copies on top of existing tools. Use to add a shared polygon to frames that already have unique ones.

App Screenshots & Animations

Uygulama Ekranları & Animasyonlar

Annotated live mockups of every key screen

Her önemli ekranın açıklamalı canlı taslakaları

1
Home Page — Live inspection results Ana Sayfa — Canlı denetim sonuçları
PLC Connected PLC Bağlı
KeenVision Light Inspection
Home
F1 LEFT
F2 RIGHT
PLC
Users
PLC 192.168.0.1
13:05:04 Admin · AGASAN
F1 LeftF1 Sol NOK
P1 · Turn✗ NOK
Dynamic Timeline · 5 frames · 30ms · 150ms total Dinamik Zaman Çizelgesi · 5 kare · 30ms · 150ms toplam
F1·L1
Click to expandGenişletmek için tıkla
F2·L2
NOK
F3·L3
OK
F4·L4
OK
F5·L5
OK
Tail F2
Brake F3
⚡ Turn F1
Frame 2: T1 ✓ · T2 ✗ R8 G6 B5 I7
F2 RightF2 Sağ OK
P1 · TurnAll frames OKTüm kareler OK
F1
OK
F2
OK
F3
OK
F4
OK
F5
OK
FrTRGBI
11240228148224
12235222142218
21242230150226
2
F1 Left — Camera Tab (Live View active) F1 Sol — Kamera Sekmesi (Canlı Görünüm aktif)
Recipe
Camera
Tools
Measure
🔒 1920×1080 (Dynamic)
Stop LiveCanlıyı Durdur
Save RecipeReçeteyi Kaydet
Capturing 15 frames…
15 kare yakalanıyor…
T1 ✓ T2 ✗ LIVE F7/15
T1 passes — greenT1 geçiyor — yeşil
T2 fails — redT2 başarısız — kırmızı
3
F1 Left — Tools Tab (multi-select + Undo/Redo) F1 Sol — Araçlar Sekmesi (çoklu seçim + Geri Al/Yenile)
Recipe
Camera
Tools
Measure
Load ImageGörüntü Yükle
Add ToolAraç Ekle
Remove ToolAracı Kaldır
Fit ViewGörünümü Sığdır
UNDO / REDO
↩ Ctrl+Z
↪ Ctrl+Y
HOME CROP
Draw CropKırpma Çiz
Save CropKırpmayı Kaydet
Shift+Click → multi-select→ çoklu seçim
Ctrl+Z → undo (50 steps)→ geri al (50 adım)
Ctrl+Y → redo→ yenile
T1 T2 T3 T1+T2 selected — drag to move both Ctrl+Z → undo move
Frames:Kareler:
F1
F2
F3
F4
F5
⧉ Copy Tools…
4
F1 Left — Measure Tab (real-time RGBI results) F1 Sol — Ölçüm Sekmesi (gerçek zamanlı RGBI sonuçları)
Recipe
Camera
Tools
Measure
30
Measure All Active CamerasTüm Aktif Kameraları Ölç
Teach Active CameraAktif Kamerayı Öğret
After measuring, press Teach to set tolerances = measured ± 30 automatically. Ölçüm sonrası Öğret'e basın — toleranslar otomatik olarak ölçülen ± 30 olarak ayarlanır.
T1 ✓ R238 G225 I218 T2 ✗ R8 G6 I9 LOW
TolerancesToleranslar
TRminRmaxImin
1180255160
2180255160
ResultsSonuçlar
TRGI
1238225218
2869
5
PLC Page — Live communication state machine PLC Sayfası — Canlı iletişim durum makinesi
Watch the state transition as a PLC cycle runs: PLC döngüsü çalışırken durum geçişini izleyin:
PLC
IDLE
PLC
DBW12=10
PC
Busy=11
Capture
N frames
Measure
all tools
Result
12/13
Waiting for PLC trigger…PLC tetikleyicisi bekleniyor…
IP
Rack Slot Poll
PLC COMMS ONPLC BAĞLANTI AÇIK
Connected · Heartbeat OK Bağlı · Kalp Atışı OK

Undo / Redo

Geri Al / Yenile

New in v152 — up to 50 undo steps in the viewport

v152'de yeni — görünüm penceresinde 50 geri alma adımına kadar

↩↪ How it worksNasıl çalışır

Every time you finish a tool action, a snapshot of the complete polygon state is saved. Undo restores the previous snapshot. Redo re-applies the undone step. The history is per-session and clears when you load new tools or images.

Her araç eylemi tamamlandığında, tam çokgen durumunun bir anlık görüntüsü kaydedilir. Geri Al, önceki anlık görüntüyü geri yükler. Yenile, geri alınan adımı yeniden uygular. Geçmiş, oturum başınadır ve yeni araçlar veya görüntüler yüklendiğinde temizlenir.

Her araç eylemi tamamlandığında, tam çokgen durumunun bir anlık görüntüsü kaydedilir. Geri Al önceki anlık görüntüyü geri yükler. Yenile geri alınan adımı yeniden uygular.

Interactive Demo

Etkileşimli Demo

T1
T2
T3
T4
T5
Move T1+T2
↩ Ctrl+Z
↪ Ctrl+Y
watching…

What Triggers a Snapshot

Anlık Görüntüyü Tetikleyen Eylemler

ActionWhen saved
Move single tool (drag body)On mouse release after drag
Move multiple tools (Shift+drag)On mouse release after group drag
Drag a corner pointOn mouse release after point drag
Add new tool (Add Tool button)Immediately on add
Delete toolImmediately on delete
Add vertex (right-click edge)Immediately on add
Remove vertex (middle-click point)Immediately on remove
Undo/Redo history is in-memory only — it resets when you switch frames, load tools from DB, or load a new image. It does not affect the saved database. Always press Save Tools when you are happy with the result.
Geri Al/Yenile geçmişi yalnızca bellektedir — çerçeve değiştirdiğinizde, araçları yüklediğinizde veya yeni görüntü yüklediğinizde sıfırlanır. Kayıtlı veritabanını etkilemez.

Keyboard Shortcuts for Undo/Redo

Geri Al/Yenile Klavye Kısayolları

ShortcutAction
Ctrl+ZUndo last tool action
Ctrl+YRedo last undone action
Ctrl+Shift+ZAlso Redo (alternative shortcut)
↩ Undo button↩ Geri Al düğmesiSame as Ctrl+Z (Tools tab)
↪ Redo button↪ Yenile düğmesiSame as Ctrl+Y (Tools tab)

PLC Page

PLC Sayfası

Owner access only · Siemens S7 via Snap7

Yalnızca Sahip erişimi · Snap7 üzerinden Siemens S7

PLC Page
PLC COMMS ON
IP
RackSlot
Poll
Communication flow:
PLC
DBW12=10
PC
11 (busy)
Capture
all frames
Measure
all tools
PLC
12/13 OK/NOK
RegisterDirectionValue → Meaning
DBW4/6PLC→PCF1/F2 Program number
DBW8/10PLC→PCF1/F2 Function number
DBW12/14Her iki yön10=start · 11=busy · 12=OK · 13=NOK · 98=reset · 100=done
DBX0.0PC→PLCPC Ready bit
DBX0.1PC→PLCHeartbeat toggle (changes every cycle)

Users Page

Kullanıcılar Sayfası

🔒
User credentials and access levels are managed by your system administrator. Contact your admin to be assigned a card ID and level.
Kullanıcı bilgileri ve erişim seviyeleri sistem yöneticiniz tarafından yönetilir.
💾 Backup & RestoreYedekleme & Geri Yükleme

Export Config — saves a .kvconfig file with the full database (recipes, tools, results) and all reference images. Save to USB/network after each production session.

Yapılandırmayı Dışa Aktar — tam veritabanı ve tüm referans görüntülerini içeren .kvconfig dosyası kaydeder.

Import Config — restores from a .kvconfig. App restarts automatically.

Yapılandırmayı İçe Aktar — bir .kvconfig dosyasından geri yükler. Uygulama otomatik olarak yeniden başlar.

Yapılandırmayı İçe Aktar.kvconfig dosyasından geri yükler. Uygulama otomatik yeniden başlar.

Keyboard Shortcuts

Klavye Kısayolları

KeyActionWhere
F11Toggle fullscreenAnywhere
EscExit fullscreen / clear tool selectionAnywhere / Viewport
Ctrl+ZUndo last tool action (up to 50)Viewport
Ctrl+YRedoViewport
Ctrl+Shift+ZAlso Redo (alternative shortcut)Viewport
Ctrl+ASelect all toolsViewport
Shift+ClickMulti-select toolViewport
Right-click edgekenarAdd polygon vertexViewport
Middle-click pointnoktaRemove vertexViewport
ScrollZoom viewportViewport

Troubleshooting

Sorun Giderme

ProblemFix
Black & white imagesCamera tab → Colour Mode = "Colour (RGB)" → Save Camera Recipe → recapture. Run test_ic4_api.py and send output to support.
Image rotated / sidewaysCamera tab → Rotation → 90°/180°/270° → Save Camera Recipe.
Dynamic stays OFF after savingTick the checkbox, then press Save Tools. The box must be ticked when you click Save.
Camera not foundInstall IC4 SDK, reconnect USB, wait for Windows driver. Full Device / IC4 Props → Refresh.
PLC not connectingPLC page → verify IP (default 192.168.0.1), Rack=0, Slot=1. PC and PLC must be on the same subnet.
All measurements 0 0 0 0Image is likely black. Capture with Live View first to confirm camera is working. Check IC4 SDK installed.
Undo not workingClick inside the viewport first (it needs keyboard focus). Then Ctrl+Z.