← 링크비온 홈페이지로 돌아가기도움말 목록

비전 검사 도움말

링크비온 게이트웨이 · 비전 검사 English

1. 한눈에 보기

비전 검사는 카메라 한 장을 검사 레시피(.vrp)로 판정해 OK · NG · 판정 없음을 냅니다. 결과는 시스템 태그 vision.<작업>.* 로 나오고, 원하면 사용자 태그(PLC)에 되쓰며, NG 그림과 결과 기록을 게이트웨이에 남깁니다.

비전 엔진은 따로 고르는 설치 항목입니다 — CM4 는 선택 꾸러미를 앱과 따로 설치하고, 윈도우는 설치 파일에서 전체 설치를 고르거나 구성요소 화면에서 비전 검사에 표시합니다(조용한 설치는 /COMPONENTS="vision"). 어느 쪽이든 앱을 갱신해도 지워지지 않습니다. 없으면 설정은 저장되지만 검사는 하지 않고 상태가 “비전 엔진 미설치” 로 보입니다. 라이선스에 vision(무제한) 또는 vision:<n>(작업 n 개)이 있어야 작업을 켤 수 있습니다.

2. 권한

할 일필요한 권한
판정·누적 수·마지막 그림 보기, SCADA 비전 요소viewer
한 번 돌리기 · 한 장 시험 · 일시정지·재개operator
검사 기록(NG 그림 모음·결과 기록 표) · 엔진 속성 값 읽기operator
작업·레시피 바꾸기 · 누적 되돌리기 · 입력 덮기 · 알람 제안admin

3. 검사 레시피

검사 레시피 탭에서 .vrp 를 올립니다. 게이트웨이가 엔진으로 시험 적재해 통과한 것만 담습니다(한 벌 32 MB · 이 장비 전체 32 벌 128 MB · 프로젝트 묶음에 실리는 버전 합 33 MB — 묶음은 48 MB 까지). 담을 때 엔진이 한 번 싣고 다시 저장한 꼴로 담으므로 내려받은 파일이 올린 파일과 글자 차례가 다를 수 있습니다. 엔진이 받지 않으면 까닭을 화면 언어로 보입니다. 레시피는 프로젝트 묶음에 실립니다. 레시피 본문은 관리자만 내려받을 수 있습니다.

형상 정합(AlignmentShape) 레시피는 엔진 r3 부터 받습니다. r3 은 형상 정합 결과가 실행마다 같도록(결정론) 고친 버전입니다.
형상 정합(GHT) 점수는 r2 에서 쓰던 것과 달라질 수 있습니다. 엔진 시험 장면 셋에서 r2 보다 낮게 나왔고, 그중 하나는 OK 가 NG 로 바뀌었습니다. 형상 정합 레시피는 올린 뒤 한 장 시험으로 임계값을 다시 맞추세요.

4. 검사 작업 만들기

  1. id — 영소문자·숫자·_. 결과 태그 이름이 vision.<id>.* 가 됩니다.
  2. 카메라와 검사 레시피를 고릅니다.
  3. 트리거(수동·태그 에지·주기)를 정합니다.
  4. 출력 대응 — 레시피에서 출력을 골라 결과 태그 out.<이름> 로 냅니다. 주소(작업 UUID)는 손으로 적지 않습니다. 작업 UUID 는 늘 소문자로 저장됩니다 — 비전 엔진 r5 부터 엔진이 레시피의 작업 ID 를 소문자로 읽기 때문입니다. 대문자로 저장된 옛 설정은 게이트웨이가 켜질 때 한 번 소문자로 고쳐 적고, 그 아래 버전의 엔진에서도 그대로 돕니다.
  5. 결과 쓰기 — 판정·출력·누적 수를 사용자 태그로 씁니다(PLC 되쓰기). 판정 없음일 때는 “판정 없음일 때 쓸 값” 이 있을 때만 씁니다.

5. 트리거와 프레임

6. 출력·범위 판정

출력에 최소·최대를 두면 결과 태그 out.<이름>.ok(1 = 범위 안, 0 = 밖)가 생깁니다. 값이 없거나 수가 아니면 범위 밖입니다. 판정 출처로 무엇이 OK·NG 를 정할지 고릅니다.

판정 출처OK 가 되는 때
엔진 판정(기본)엔진이 OK. 범위 판정은 정보로만 냅니다
출력 범위만범위를 둔 출력이 모두 범위 안
엔진 + 출력 범위엔진 OK 이고 모두 범위 안

판정 출처가 엔진 판정이면 검사 기록 표의 범위 밖 표시는 “참고 — 범위 밖” 으로 흐리게 보입니다(판정에 들어가지 않았다는 뜻).

레시피의 부분 판정(JudgeLogics)은 결과 태그 partial.0, partial.1 … 로 나옵니다(1 · 0, 판정 없음이면 비어 있음).

출력·입력 고르기의 이름은 엔진 라벨 표가 있는 도구는 그 이름을, 없는 도구는 게이트웨이가 영문 이름으로 만든 이름(“자동 이름”)을 보입니다.

7. 레시피 입력 덮기

열거 입력(예: OCR 띄어쓰기·읽기 방식, 코드 판독 맞춤 방식)은 비전 엔진 r4(C API 레벨 4) 이상에서 덮을 수 있습니다. 후보는 엔진이 지금 들고 있는 목록을 보이고(저장해 엔진에 올라간 작업), 값은 이름으로 넣습니다. 그 아래 버전의 엔진이면 목록에 “보류” 로 보이고 저장도 거절합니다. 형식을 바꾸는 입력(TypeConverter·CreateObject·ObjectAttribute·ArrayElementAccess 의 형 고르기)은 그 작업의 출력이 다른 작업에 이어져 있으면 엔진이 “연결된 출력이 있어 바꿀 수 없음” 으로 거절합니다 — 레시피에서 연결을 먼저 끊으세요. 이미 고른 값을 다시 고르는 것은 됩니다.

레시피를 바꾸지 않고 임계값 같은 입력만 바꿀 때 씁니다. 작업 편집의 레시피 입력 덮기에서 입력을 고르고 값을 적으면, 레시피를 실은 뒤 그 값으로 덮습니다. 수·참거짓·글자 입력과 열거 입력(엔진 r4 이상)을 덮을 수 있습니다(영상·영역·좌표는 안 됩니다).

입력 덮기는 결과 태그를 바꾸지 않으므로 폴링 중에도 저장할 수 있습니다. 저장하면 그 작업만 새 값으로 덮습니다 — 다른 작업은 그대로이고, 이 작업이 검사 중이면 그 검사가 끝난 뒤에 덮습니다(검사를 끊지 않습니다). 덮기를 빼면 레시피를 다시 실어 레시피 값으로 돌아갑니다.

하나라도 덮지 못하면 작업이 “오류” 가 되고 검사하지 않습니다 — 덮지 못한 임계값으로 판정하지 않기 위해서입니다.

8. 결과 태그

태그뜻
resultok · ng · none(판정 없음 — NG 가 아닙니다)
judgment1 · 0. 판정 없음이면 품질 uncertain
reason · error판정 없음의 까닭(camera · timeout · cancelled …)
count · okCount · ngCount · noneCount · overrun누적 수
ngStreak잇단 NG 수(OK 면 0, 판정 없음은 건너뜀)
latencyMs · runMs트리거부터 결과까지 · 엔진 실행 시간
out.<이름> · out.<이름>.ok출력 값 · 범위 판정
partial.<i>부분 판정
det.*물체 검출 결과(20 장) — 물체 검출 작업이 있는 레시피만
paused · state · busy일시정지 · 상태 · 검사 중
seq검사 번호 — 맨 마지막에 바뀝니다. seq 가 바뀌면 이번 결과가 다 실린 것입니다

9. 누적 수와 자동 리셋

누적 수는 재시작을 넘어 이어집니다. 누적 자동 리셋을 켜면 게이트웨이 현지 시각으로 경계를 지날 때 0 으로 합니다.

손으로 되돌리려면 작업 카드의 누적 되돌리기(admin)를 씁니다.

10. 결과 그림·검사 기록

11. 돌리기·시험·일시정지

12. SCADA 비전 요소

SCADA 카메라 요소의 소스를 비전 검사 결과(vision:<작업>)로 고르면 마지막 결과 그림과 판정 띠(위·아래·없음), 누적 수를 보입니다. 그림은 검사 번호가 바뀔 때만 받습니다. viewer 키오스크에서도 보입니다.

13. 알람 제안·OEE

14. 스크립트·MCP

15. 문제 해결

보이는 것볼 곳
늘 판정 없음, reason=camera카메라가 프레임을 주는지(카메라 화면), 트리거 뒤 기다림이 너무 크지 않은지
reason=timeout작업의 시간 상한, 레시피 무게
overrun 이 는다트리거가 검사보다 잦습니다 — 주기를 늘리거나 레시피를 가볍게
작업 상태 “오류”작업 카드의 오류 문구(레시피 적재·입력 덮기 실패)
트리거가 안 먹음일시정지인지(카드의 “일시정지” 표시), 라이선스·시험 버전 운전 시간
RTSP 카메라를 더 등록할 수 없음장비의 RTSP 카메라 상한(CM4 6 대) — 쓰지 않는 RTSP 카메라를 지우세요(5 절 권장치)

16. 샘플 프로젝트 — 비전 검사 라인

동봉 샘플 비전 검사 라인(프로젝트 › 샘플)은 검사 작업 넷을 폴더 재생 카메라로 돌립니다. 합성 영상 26 장(앞 세 작업은 OK 3 · NG 3, 정밀 검사는 8 장)을 2 초마다 판정해 OK·NG·양품률·연속 NG 를 보입니다. 화면은 두 장이고 머리의 검사 화면 · 정밀 검사 탭으로 옮깁니다.

작업그림 폴더OK 기준화면의 값
개수 세기 countvision-count트레이 부품 6 개(5·7 개는 NG)부품 수
면적 · 얼룩 areavision-area판 면적 83,500~89,500 px², 얼룩 150 px² 이하판 면적 · 얼룩 면적
코드 판독 codevision-code라벨에서 LOT-2026-001 을 읽음읽은 코드 · 형식
정밀 검사 precisionvision-flange부품 위치를 찾고(위치 맞춤 점수 60 이상) 구멍 지름 9.85~10.15 mm위치 맞춤 점수 · 구멍 지름 · 읽은 로트(정밀 검사 화면) — 16-1

준비(관리자, 열기 전에)

  1. vision-sample-images.zip(3.2 MB)을 받아 풉니다. 그림 폴더 넷(6 · 6 · 6 · 8 장)과 보정 연습 파일(calibration/)이 있습니다.
  2. 구성 › 공용 연결 › 영상 › 카메라 등록에서 종류 폴더 재생 카메라를 넷 만듭니다 — id vision_count · vision_area · vision_code · vision_flange, 그림 폴더 vision-count · vision-area · vision-code · vision-flange, 한 장 간격 2500 ms.
  3. 각 카메라를 저장하기 전에 창 아래 그림 폴더 판의 JPEG 올리기로 같은 이름 폴더의 그림을 올립니다(저장한 뒤에 더 올리면 카메라를 다시 저장해야 반영됩니다).
  4. 프로젝트 › 샘플에서 비전 검사 라인을 엽니다. 카메라가 먼저 있어야 검사 작업이 들어옵니다 — 순서를 바꿨다면 카메라를 만든 뒤 샘플을 다시 엽니다. 열면 이 장비의 비전 작업 · 레시피 · 보정이 샘플 것으로 바뀝니다.

16-1. 정밀 검사 — 레시피 조정(티칭) 연습

넷째 작업 precision 은 판 부품 한 장에서 도구 셋을 차례로 돌립니다: Locate(패턴 모델로 위치 맞춤) → Bore(구멍 지름) → Lot(로트 글자 읽기). Bore 와 Lot 의 영역은 Locate 가 찾은 위치를 따라 옮겨집니다(위치 맞춤 결과를 받는 입력 Align). 카메라 vision_flange 의 보정(격자 판 그림으로 만든 0.1 mm/화소)이 프로젝트에 함께 실려 있어 지름이 mm 로 나옵니다.

처음 레시피는 연습을 위해 일부러 덜 가르쳐 두었습니다. 패턴 모델은 회전 ±5° 까지만 찾고, 글자 모델에는 8 표본이 없습니다.

그림부품처음 레시피연습 뒤
flange_01_ok_ref기준 자세OKOK
flange_02_ok_shift · 07_ok밀린 부품OKOK
flange_03_ok_rot · 05_ok_rot11~12° 돈 부품NG — 위치를 못 찾음(점수 약 31)OK(①)
flange_04_ng_big · 06_ng_small구멍 지름 10.42 · 9.62 mmNGNG
flange_08_ok_lot8로트 2610B08OK, 로트를 2610B0B 로 읽음2610B08(③)

연습(관리자 · 라이선스 vision-teach) — 작업 카드 › 레시피 조정으로 작업대를 열고, 영상 출처는 폴더 재생 그림 vision-flange 에서 고릅니다. 자세한 화면은 17 의 각 절에 있습니다.

  1. 패턴 모델(17-3) — 그림 01 을 고르고 위 줄 마스터 영상의 지금 영상 넣기. 도구 Locate 의 모델 줄 가르치기 → 회전 범위(±도) 15 → 가르치기. 영역은 그대로 둡니다(기준 위치). 그림 03 · 05 로 돌리면 위치를 찾습니다(점수 약 97~99).
  2. 보정(17-2) — 폴더 그림은 보정 없이 열리므로 Bore 가 화소(약 100)로 재어 NG 입니다. 위 줄 보정 없음 옆 고르기에서 vision_flange 를 고르면 10.02 mm 로 OK 가 됩니다.
  3. 글자 학습(17-4) — 그림 08 을 고르고 도구 Lot 의 글자 학습 → (1) 나누기(상자 7 개) → (2) 2610B08 입력 → (3) 표본으로 더하기 → (4) 학습 시작 → (5) 이 영상 읽기 가 2610B08. 표본은 약 90 개라 학습은 맥에서 1 초가 안 걸립니다.

세 가지를 마친 뒤 게시로 새 버전을 만들고 게시 창에서 precision 을 고르면 운전 검사에 쓰입니다. 처음 상태로 돌아가려면 버전 관리에서 원본 버전으로 되돌립니다.

16-2. 번호판 인식 — 글자 읽기 · 등록 차량 대조

동봉 샘플 자동차 번호판 인식(프로젝트 › 샘플)은 검사 작업 하나(plate)가 합성 번호판 그림 20 장을 읽고, 프로젝트 스크립트 plate-judge 가 읽은 글자를 등록 차량 목록과 맞춰 등록 차량 · 미등록 차량 · 읽기 실패 로 가릅니다. 번호판과 번호는 모두 컴퓨터로 그린 합성물(번호는 무작위)이라 실제 차량 번호와 우연히 같을 수 있고, 실제 차량 판독이나 출입 통제에 쓸 수 없습니다.

준비(관리자, 열기 전에)

  1. plate-sample-images.zip(0.3 MB)을 받아 풉니다. plate-demo 폴더에 JPEG 20 장, 등록 목록, 글꼴 고지(SIL OFL 1.1)가 있습니다.
  2. 구성 › 공용 연결 › 영상 › 카메라 등록에서 종류 폴더 재생 카메라를 만듭니다 — id plate_cam, 그림 폴더 plate-demo, 한 장 간격 2500 ms. 카메라를 저장하기 전에 창 아래 그림 폴더 판의 JPEG 올리기로 그림 20 장을 먼저 올립니다(저장한 뒤에 더 올리면 카메라를 다시 저장해야 반영됩니다).
  3. 프로젝트 › 샘플에서 자동차 번호판 인식을 엽니다. 카메라가 먼저 있어야 검사 작업이 들어옵니다.

판정 규칙(검사 엔진은 글자를 읽었는지만 압니다 — 기준 글자는 비워 둡니다)

순서조건결과
1검사 결과가 none(카메라 지연·시간 초과 등)갱신하지 않고 누적도 올리지 않음
2엔진이 글자를 못 읽음(ng)읽기 실패(글자를 읽지 못함)
3공백을 뺀 글자가 번호판 꼴(숫자 2~3 + 한글 1 + 숫자 4)이 아님읽기 실패(번호판 자리 수가 맞지 않음)
4등록 목록에 있음등록 차량 — 차단기 열림
5그 밖미등록 차량 — 경보(plate-unreg)

16-3. 주차장 출입 번호판 장면 — 번호판 찾기 · 글자 읽기

동봉 샘플 주차장 출입 번호판 장면(프로젝트 › 샘플)은 16-2 와 달리 판만 찍은 그림이 아니라 입구 장면(1280×720)을 봅니다. 검사 작업 gate 의 레시피는 도구 둘 — 번호판 찾기(Finder)가 장면에서 판 자리를 찾아 그 영역을 글자 읽기(Plate)의 검사 영역으로 넘깁니다. 차 위치 · 판 크기(0.8~1.15 배) · 기울기(±5°) · 밝기가 장마다 다릅니다. 스크립트 gate-judge 가 16-2 와 같은 규칙으로 등록 차량 · 미등록 차량 · 읽기 실패를 가르고, 판을 못 찾은 장은 차 없음(누계 · 경보에 넣지 않음)으로 둡니다. 장면 · 번호판 · 번호는 모두 합성이며 실제 차량 · 현장 판독에 쓸 수 없습니다.

준비(관리자, 열기 전에)

  1. plate-scene-images.zip(3.9 MB)을 받아 풉니다. gate-scene 폴더에 장면 28 장(차 24 · 빈 차로 4), 등록 목록(18 대), 글꼴 고지가 있습니다.
  2. 폴더 재생 카메라 gate_cam(그림 폴더 gate-scene, 한 장 간격 2500 ms)을 만들고, 저장하기 전에 그림 28 장을 올립니다.
  3. 프로젝트 › 샘플에서 주차장 출입 번호판 장면을 엽니다. 비전 검사 기능 r13 이상이 필요합니다(번호판 찾기 도구).

16-4. 컨베이어 물체 세기 — 같은 영상 · 초당 2 · 5 · 10 장

동봉 샘플 컨베이어 물체 세기(프로젝트 › 샘플)는 같은 합성 컨베이어 영상(상자 8 개가 왼쪽 → 오른쪽 160 px/s, 한 바퀴 약 38 초)을 초당 2 · 5 · 10 장 세 폴더로 나란히 돌립니다. 작업 셋(c2 · c5 · c10)의 레시피는 같은 꼴 — 글자 읽기(Label, 맨 앞) · 움직임 영역(Motion) · 물체 추적(Track)이고, 화면은 작업마다 개수(A→B · B→A · 합) · 지난 바퀴 / 이번 바퀴 · 최근 사건(번호 · 읽은 라벨) · 한 장 처리 시간 중앙값 · 배우는 중을 보입니다. 영상은 합성이며 실제 현장 계수에 쓸 수 없습니다.

준비(관리자, 열기 전에)

  1. conveyor-sample-images.zip(21 MB)을 받아 풉니다. 폴더 셋 conveyor-2fps(76 장) · conveyor-5fps(190 장) · conveyor-10fps(380 장) — 장 수 × 간격이 셋 다 38.0 초라 오래 돌려도 세 칸 장면이 어긋나지 않습니다.
  2. 폴더 재생 카메라 셋 — conv2_cam · conv5_cam · conv10_cam, 그림 폴더는 같은 이름, 한 장 간격 500 · 200 · 100 ms. 각각 저장하기 전에 그림을 올립니다.
  3. 프로젝트 › 샘플에서 컨베이어 물체 세기를 엽니다. 링크비온 게이트웨이 0.1.0.19 이상(100 ms 주기 트리거)과 비전 검사 기능 r18 이상(다수결 학습 · 물체별 읽기 · 놓침 허용 시간)이 필요합니다.

17. 레시피 조정(티칭)

검사 레시피의 임계값·선택 값을 영상으로 돌려 보며 맞추는 작업대입니다. 운전 검사와 따로 연 엔진에서 돌므로, 작업 덮기로 저장하거나 게시해 작업에 적용하기 전에는 운전 검사가 바뀌지 않습니다. 관리자만 쓰고, 라이선스에 vision-teach 기능이 있어야 합니다(시험 버전에서는 열리지 않습니다).

여는 길

영상 출처 — 머리의 영상 출처에서 다섯 가지 중 고릅니다: 카메라 지금 한 장 · 폴더 재생 그림 · 파일 올리기(JPEG·PNG, 8 MB) · 검사 기록 NG 그림 · 시험 묶음 그림. 검사 기록 그림은 보통 결과를 덧그린 겹그림이라 그 위에서 다시 돌린 판정은 참고만 하세요. 작업 편집 › 결과 그림의 NG 원본도 남김을 켜 두면 NG 마다 카메라 원본을 함께 남겨 그것을 씁니다(같은 용량 상한).

화면

자리하는 일
도구(왼쪽)레시피의 도구 차례, 도구마다 OK·NG·걸린 시간, 전체·부분 판정. 누르면 캔버스에서 그 영역이 강조됩니다.
캔버스(가운데)원본 해상도 영상. 휠·두 손가락으로 확대, 끌어서 이동, 맞춤·1:1. 겹그림은 벡터(초록 OK · 빨강 NG · 점선 = 아직 안 돎 또는 기준 위치, 화면 언어)와 엔진 그림(엔진이 그린 결과 — 글은 영어) 사이를 바꿉니다.
속성(오른쪽)고른 도구의 입력. 수·참거짓·글자·열거와 검사 영역(사각형·회전 사각형·원·고리·화살표)을 바꿀 수 있습니다. 영역은 캔버스에서 손잡이를 끌거나(안쪽 = 옮기기, 변·꼭짓점 = 크기, 위 동그라미 = 회전) 숫자 칸에 넣습니다. 도구가 받지 않는 모양을 고르면 거절 까닭이 보입니다. 다각형과 연결된 입력은 보기만 됩니다. 연결된 입력은 연결 출처만 보입니다. 바꾼 칸에는 레시피 값으로 단추가 생깁니다. 아래에 마지막 실행의 출력 값.

자동 미리보기를 켜 두면 값을 바꿀 때마다 잠시 뒤 한 번 돌립니다. 끄면 돌리기를 누릅니다.

시험 묶음 — 머리의 시험 묶음에서 OK·NG 그림을 모아(한 묶음 100 장, 전체 200 MB) 한꺼번에 돌립니다. 기대는 기대 들이기로 expected.json(그림 이름 → judgment OK·NG, outputs 의 {"eq": 값}·{"min": a, "max": b}, 열쇠는 도구 이름.출력 이름)을 넣습니다. 결과는 조정 값과 열 때 값 두 갈래로 나란히 나오고, 맞음·거짓 합격·거짓 불합격·바뀐 판정 수를 보입니다. 어긋난 것만·CSV 받기·캔버스로(그 그림을 영상으로)를 씁니다. 시험 묶음은 게이트웨이에 남지만 프로젝트 묶음(.acproj)에는 담기지 않습니다.

저장 — 작업 덮기로 저장은 지금 조정 값을 같은 레시피를 쓰는 작업의 입력 덮기로 저장합니다. 레시피 값으로 되돌린 칸은 덮기에서 빠집니다. 저장한 다음 검사부터 운전에 쓰입니다. 영역 바꾼 것은 덮기로 남지 않습니다 — 게시하세요.

게시 — 머리의 게시는 지금 조정 값과 영역을 레시피의 새 버전으로 담습니다(엔진이 저장한 꼴, 메모를 붙임). 기존 버전은 바뀌지 않고, 게시 창에서 고른 작업만 새 버전을 씁니다. 세션을 연 작업은 입력 덮기 지움이 기본으로 켜집니다(그 덮기 값은 이미 새 버전에 들어 있습니다). 다른 작업의 덮기는 새 버전에 들어가지 않으므로 작업마다 따로 골라 지웁니다. 옛 버전과 같은 내용을 게시하면 새 버전을 만들지 않고 그 버전이 다시 게시 버전이 됩니다. 엔진이 레시피 저장을 못 하는 버전이면 게시 단추가 꺼집니다. 폴링 중에는 게시·적용이 거절됩니다.

버전 관리 — 검사 레시피 탭의 버전 관리에서 한 계보의 버전(게시·지난)을 보고, 지난 버전을 게시 버전과 비교하고(값이 다른 칸·연결·도구 이름·판정 논리), 이 버전으로 되돌리기로 작업이 옛 버전을 쓰게 합니다. 처음 올린 원본 버전은 늘 남고, 그 밖에 쓰는 작업이 없는 지난 버전은 계보마다 3 개까지 남깁니다(오래된 것부터 지움). 프로젝트 묶음에는 작업이 쓰는 버전과 게시 버전만 실립니다 — 원본·지난 버전은 이 게이트웨이에만 남고, 프로젝트를 다른 장비로 옮기면 버전 이력은 따라가지 않습니다(옮긴 장비에서는 실린 버전이 새 계보의 첫 버전처럼 보이고, 없는 앞 버전을 가리켜도 깨지지 않습니다). 이 장비 전체가 128 MB 를 넘으면 쓰지 않는 지난 버전부터 지워 자리를 내고, 그래도 모자라면 게시·올리기를 거절합니다. 작업대 머리와 게시 창에 남은 여유를 보입니다.

되돌리기·초안 — 머리의 되돌리기·다시하기(Ctrl+Z · Ctrl+Shift+Z)는 값·영역 바꾸기를 한 단계씩 거꾸로 돌립니다(세션당 100 단계). 바꾼 세션은 30 초마다 초안으로 자동 저장되고(머리에 "자동 저장 시각"), 닫거나 시간이 지나도 남습니다. 다시 열 때 초안이 있으면 이어서 열지, 버리고 게시 버전에서 열지 묻습니다. 초안이 다른 버전에서 시작했으면 그 버전 번호를 함께 보이고, 이어서 열면 초안의 버전으로(작업 덮기 없이) 열립니다. 초안은 프로젝트 묶음에 담기지 않습니다. 같은 레시피(계보)는 한 사람만 고칠 수 있습니다.

자동 설정·작업 이름·중간 영상·진단(비전 검사 기능 버전 r6 이상)

17-1. 마스터 영상

작업대 머리 아래 줄에 마스터 영상: 있음 W×H 또는 없음 과 지금 영상 넣기 · 지우기 가 있습니다. 지금 세션 영상을 레시피의 기준 영상으로 넣습니다.

17-2. 보정(캘리브레이션)

보정이 실리면 지름 · 길이 · 각도 · 면적 같은 측정 도구가 화소 대신 보정의 단위(보통 mm)로 값을 냅니다. 보정은 카메라마다 파일 하나이고 레시피와 따로 둡니다.

올리기 — 비전 검사 화면의 캘리브레이션 탭에서 카메라 줄의 올리기(있으면 바꾸기) → 보정 파일 고르기 → 가로 · 세로(비우면 파일에 든 원본 영상 크기, 0 이면 크기를 보지 않음) · 메모 → 올리기. 게이트웨이가 검사 기능으로 읽어 본 뒤 담고, 그 카메라를 쓰는 작업을 다시 적용합니다(“다시 적용한 작업 n · 실패 f”). 지우기는 그 작업들을 보정 없이 다시 적용합니다. 내려받기는 담은 파일 그대로입니다.

작업대에서 고르기 — 머리 아래 줄에 보정: <카메라> 또는 보정 없음 과 고르기 가 있습니다. 영상 출처가 카메라 지금 한 장이면 그 카메라의 보정이 저절로 실립니다. 폴더 재생 · 파일 · 검사 기록 · 시험 묶음 그림은 보정 없음 으로 시작하므로 고르기 → 세션 보정 고르기 창에서 카메라를 고릅니다. 그런 그림으로 영상을 바꾸면 다시 보정 없음이 되니 다시 고릅니다. 세션에서 고른 보정은 운전 작업의 보정을 바꾸지 않습니다. 캘리브레이션 탭에서 파일을 바꾸면 줄에 “(보정 파일이 바뀜 — 다음 카메라 영상 때 다시 실음)” 이 보입니다.

보정을 올리거나 바꾸거나 지운 뒤에는 자동 설정을 다시 하세요. 허용 범위(하한 · 상한)는 값과 같은 단위로 저장됩니다. 보정 없이 자동 설정으로 정한 범위는 화소라 보정을 실은 뒤에는 맞지 않고(예: 지름 화소 100 → 10 mm), 보정을 바꾸면 mm 값도 달라집니다. 보정이 실린 세션(그 카메라 영상이나 고르기)에서 측정 도구마다 자동 설정을 다시 하고, 시험 묶음으로 확인한 뒤 게시합니다.

17-3. 패턴 모델 가르치기

위치 맞춤처럼 패턴 모델 입력이 있는 도구는 속성 판의 모델 줄에 패턴 모델 있음(또는 패턴 모델 없음(아직 가르치지 않음))과 가르치기 단추가 있습니다. 세션 영상이 있어야 켜집니다.

  1. 가르치기 → 패턴 모델 가르치기 창. 위에서 영상을 이 도구가 보는 영상(앞 도구의 전처리를 거친 것) 또는 원본으로 봅니다.
  2. 모델 영역(기준 위치) — 처음에는 모델의 지금 영역입니다. 그대로 두거나, 모양을 골라 영상에서 끌어 새 영역으로 가르칩니다(큰 영상은 줄여 보여도 원본 좌표로 보냅니다).
  3. 설정 — 에지 임계값 · 에지 모양 · 에지 대비 · 회전 범위(±도) · 피라미드 단계 등 모델 형마다 다릅니다. 빈 칸은 모델의 지금 값을 그대로 둡니다.
  4. 가르치기(최대 30 초, 가르치기 취소). 결과는 되돌리기 한 단계이고, 미리보기를 다시 돌려 확인합니다.

17-4. 글자 표본 · 학습

글자 읽기 도구의 모델 줄에 표본 n 과 글자 학습 단추가 있습니다. 글자 읽기 학습 창은 다섯 단계입니다.

  1. (1) 나누기 — 그 도구의 지금 글자 영역(또는 고른 모양)으로 영상을 글자 상자로 나눕니다. 나누기 설정(이진화 · 기울기 보정 · 조각 거르기 · 조각 잇기)을 바꿔 상자를 맞춥니다. 장비 버전에 따라 글자 높이 자동 추정(r11 이상)과 판 꼴 힌트(r12 이상 — 꼴 문자 N 숫자 칸 · H 한글 칸 · A 영문 칸 · / 줄 바꿈 · | 꼴 구분, 예 NNHNNNN|NNNHNNNN) 칸이 보입니다. 둘 다 기본은 끔이고, 켠 레시피는 그 기능이 없는 옛 버전 장비에서 쓸 수 없습니다. 한 모델의 표본은 한 나누기 설정이라, 표본이 있으면 설정이 잠깁니다(바꾸려면 표본을 모두 지웁니다).
  2. (2) 이름 붙이기 — 왼쪽 위 상자부터 한 줄로 한 글자씩 칩니다. 빈칸은 그 상자를 건너뜁니다. 글자 수가 상자 수와 같아야 하고, 한글은 완성형으로 칩니다.
  3. (3) 표본 — 표본으로 더하기. 글자별 개수, 목록(고른 것 지우기), 글자마다 모두 지우기, 내보내기 · 들이기(이 화면에서 내보낸 파일만, 32 MiB 까지). 표본 고침은 되돌리기 단계입니다.
  4. (4) 학습 — 정확도 확인(교차 검증)(끄면 학습이 약 4~5 배 짧고 모델은 같습니다) · 나눌 묶음 수 · 표본 보존을 정하고 학습 시작.
  5. (5) 확인 — 이 영상 읽기로 지금 영상의 읽은 글을 봅니다.

학습 시간 · 진행률 — 시작 전에 “표본 n · 이 장비 예상 약 t · 메모리 약 m MiB” 가 보이고, 남은 메모리가 모자라면 시작하지 않습니다(리눅스 장비). 학습 중에는 “p % · 지난 시간 / 예상 약 t” 와 단계(특징 만들기 · 분류기 맞추기 · 교차 검증)가 보이며, 진행률은 예상 시간의 몫이라 지난 시간과 거의 같이 갑니다. 창을 닫아도 학습은 계속되고 머리 줄에 “글자 학습 p %” 가 남습니다. 학습 취소는 표본 · 모델을 그대로 둡니다. 게이트웨이마다 한 번에 하나만 학습합니다.

운전 보호 — 학습은 운전 검사와 같은 게이트웨이에서 돕니다. 먼저 운전 검사의 평소 걸린 시간을 잡고(“운전 검사 기준을 잡는 중”), 학습하는 동안 운전 검사가 늦어지면 학습을 멈췄다가 처음부터 다시 시작합니다(자동 재개 3 회). 3 회를 다 쓰면 지금 재개를 사람이 누릅니다. 그래도 끝나지 않으면 세 길이 있습니다.

  1. 운전(통신)을 멈추고 학습합니다.
  2. 다른 게이트웨이(맥 · PC)에서 학습해 레시피를 올립니다 — 여기서 학습한 것과 같은 레시피가 됩니다.
  3. 관리자가 확인하고 운전 보호 없이 재개합니다 — 학습하는 동안 운전 검사가 느려지고 감사 기록에 남습니다.

표본 보존(8 MiB) — 표본 보존을 켜면 학습 뒤에도 표본이 레시피에 남아 나중에 표본을 더해 다시 학습할 수 있습니다. 끄면 레시피가 작아지는 대신 그 레시피로는 다시 학습할 수 없습니다. 학습하면 예상 레시피가 8 MiB 이하이면 표본 보존이 기본으로 켜지고, 넘으면 기본으로 꺼집니다 — 끌 때는 먼저 표본을 내보내기로 받아 두세요. 표본을 보존한 채 레시피가 32 MiB 를 넘으면 학습을 거절합니다.

17-5. 자주 보는 오류

보이는 글할 일
세션 영상이 없습니다 — 영상 출처를 먼저 고르세요머리의 영상 출처에서 영상을 고릅니다.
가르치기 설정이 틀렸거나 영역이 없습니다 — 모델은 그대로입니다영역을 그렸는지, 설정 값이 범위 안인지 봅니다.
패턴 모델을 가르치지 못했습니다 — 모델은 그대로입니다영역에 에지가 있는지, 영역이 영상 안인지 봅니다. 에지 임계값을 낮춰 봅니다.
모델 가르치기가 30 초를 넘어 멈췄습니다영역을 줄이거나 피라미드 단계를 올립니다.
글자를 나누지 못했습니다 — 글자가 없거나 영역이 비었거나 영상 밖입니다글자 영역 · 이진화 오프셋 · 밝은 바탕을 맞춥니다.
글자 수가 나눈 상자 수와 다릅니다상자 수만큼 칩니다(건너뛸 상자는 빈칸).
글자가 풀어 쓴 꼴(조합형 자모 · 결합 부호)입니다완성형으로 다시 칩니다.
이 모델의 표본과 나누기 설정이 다릅니다설정을 표본과 같게 두거나, 표본을 모두 지운 뒤 바꿉니다.
글자가 두 종류 이상이어야 학습할 수 있습니다다른 글자의 표본을 더합니다.
표본을 보존하면 레시피가 32 MiB 를 넘습니다표본 보존을 끄거나(먼저 내보내기) 표본을 줄입니다.
다른 글자 학습이 이 게이트웨이에서 도는 중입니다그 학습이 끝나거나 취소된 뒤 합니다.
남은 메모리가 모자라 학습하지 않습니다표본을 줄이거나 다른 게이트웨이에서 학습해 레시피를 올립니다.
보정 파일이 아닙니다 — 지금 보정은 그대로입니다검사 기능이 저장한 보정 파일인지 봅니다.
보정 파일 합계가 16 MiB 를 넘습니다쓰지 않는 카메라의 보정을 지웁니다.
레시피가 32 MiB 를 넘어 앞 상태로 되돌렸습니다마스터 영상을 지우거나 표본 보존을 끕니다.

18. 움직임 영역·물체 추적(프레임 흐름)

레시피에 움직임 영역이나 물체 추적(비전 검사 기능 r15 이상)이 있으면 그 작업은 카메라 하나의 프레임 흐름입니다. 트리거마다 프레임 한 장을 차례로 넣어 배경을 배우고 물체에 번호를 붙여 따라갑니다. 고정 카메라와 주기 트리거로 씁니다.

19. 초점 맞추기(선명도)

레시피에 선명도 작업(비전 검사 기능 r24 이상)이 있으면 작업 카드 더보기의 초점 맞추기(operator 이상)로 렌즈 초점을 맞춥니다. 카메라 한 장으로 선명도 작업의 값만 읽고 그림은 받지 않으며, 누적 수·결과 태그·PLC 결과 쓰기·검사 기록은 바뀌지 않습니다. 작업 상태 조건은 한 장 시험과 같습니다.

  1. 기준 맞추기 — 초점이 맞은 영상으로 레시피 조정에서 선명도 작업을 가르칩니다. 그때의 점수가 기준(100 %)이 됩니다. 기준을 맞추기 전에는 막대 대신 점수만 보이고 '기준 없음: 먼저 기준을 가르치세요' 안내가 붙습니다.
  2. 막대 보기 — 작업마다 막대 한 줄이 기준 대비 %(Relative)를 보입니다. 눈금은 0~150 % 이고 세로 선은 그 작업 Relative 출력에 둔 허용 범위의 하한이고, 범위가 없으면 기본 85 %로 봅니다. 줄 아래에 '허용 범위 하한 90 %' 처럼 실제 값이 보이고(범위가 없으면 '기본 85 %'), 값이 하한보다 낮으면 막대가 빨강입니다. 렌즈를 돌려 막대가 100 % 근처에 오게 맞춥니다. 화면은 응답을 받은 뒤 0.1 초 쉬고 다음 장을 읽습니다(응답이 느리면 간격을 늘려 최대 1 초). 창을 닫거나 탭이 가려지면 읽기를 멈춥니다.
  3. 읽기 실패 — 읽기가 실패하면 막대를 비우고(지난 값을 초록·빨강으로 남기지 않음) 까닭을 보입니다. 최고값은 남습니다. 일시정지 아님·흐름 작업 거절이 아니면 1 초 간격으로 다시 읽습니다.
  4. 최고값 — 줄마다 지금까지의 최고값과 지금 값의 최고값 대비 % 가 보입니다. 최고값은 '측정' 상태로 잰 값으로만 오르고 게이트웨이를 다시 켜면 지워집니다. 최고값 초기화 뒤 아무것도 건드리지 않고 두면 최고값 대비 % 로 값이 얼마나 흔들리는지 봅니다.
  5. 허용 범위 — 작업 편집에서 선명도 작업의 Relative 출력을 고르면 허용 범위 하한 85 % 가 기본으로 채워집니다(이미 범위가 있으면 그대로). 생산 판정은 판정 출처 규칙(6 장)을 따릅니다. 판정 출처가 엔진 판정이면 이 허용 범위는 참고용이고 줄에 그 안내가 붙습니다 — 게이트웨이 허용 범위가 판정에 쓰이려면 판정 출처를 출력 범위만(rules) 또는 엔진 + 출력 범위(both)로 바꿉니다.
상태뜻
잰 것 없음아직 값이 없습니다(읽기 실패 포함)
측정값을 쟀습니다
평평함영역에 초점 점수를 잴 화소가 없습니다. 무늬·모서리가 있는 곳으로 영역을 옮깁니다.

레시피에 선명도 작업이 없거나 카메라·검사가 실패하면 막대 자리는 비고 까닭이 보입니다.

20. 물체 검출 결과

안전 기능이 아닙니다 — 물체 검출은 인증된 안전 기능이 아닙니다. 사람의 안전이나 설비 보호를 위한 유일한 수단으로 쓰지 마세요. 검출 결과는 조명·카메라 각도·모델에 따라 달라지며, 물체를 놓치거나 잘못 검출할 수 있습니다.

레시피에 물체 검출 작업이 있으면 그 작업의 결과가 vision.<작업>.det.* 결과 태그로 나옵니다. 물체 검출 작업이 여럿이면 레시피 앞의 작업 하나입니다. 상자(위치)는 태그로 내지 않습니다 — 결과 그림의 겹그림과 물체 추적 입력으로 씁니다.

태그뜻
det.isResult1 · 0 — 대상 갈래 개수가 최소~최대 개수 안이면 1
det.count걸러진 갈래의 상자 수
det.targetCount대상 갈래의 상자 수
det.maxScore가장 높은 점수(천분율 0~1000)
det.classes · det.scores상자마다 갈래 번호 · 점수(천분율), 점수 높은 차례 — JSON 배열 글자
det.classCounts갈래 번호마다 상자 수 — JSON 배열 글자
det.valid1 · 0 — 이번 검사의 검출 값을 믿을 수 있으면 1. 판정 없음 · 검출 작업 오류 · 실행에서 건너뛴 검출 작업이면 0(늘 값이 있어 알람에 씁니다)