MACHCTRL합성 교육 예시 · 현장 실측 아님

Trigger ACK가 왔는데 왜 이전 판정을 읽었을까? Cognex 비전–PLC 핸드셰이크

MACHCTRL · 비전 검사 실무 | 제조사 기준: Cognex In-Sight 5.1.0 이상, 지원 PROFINET I/O 구성과 해당 GSD. 교육용 합성 타이밍이며 현장에 적용한 PLC 프로그램이나 실측 실패 사례가 아닙니다.

트리거를 보냈고 카메라에서도 ACK가 왔습니다. 그런데 PLC에 들어온 NG 값이 이번 제품의 값인지 확신할 수 없을 때가 있습니다. 이런 상황에서는 NG 판정 조건보다 먼저 어느 신호가 어느 단계의 완료를 뜻하는지 확인해야 합니다.

ACK는 결과 완료가 아닙니다

같은 카메라에서 오더라도 신호가 가리키는 사건은 다릅니다.

신호 의미 PLC에서 성급하게 판단하면 안 되는 것
Trigger Ready 새 촬영 트리거 수신 가능 판정 결과가 준비됐다는 뜻 아님
Trigger Ack 트리거 신호의 수신 확인 검사 완료·OK/NG 확정이 아님
Exposure Complete 이미지 노출 완료 검사 결과 전송이 끝난 것이 아님
Inspection Completed 검사 완료 때마다 상태 토글 1 상태 유지 자체가 새 결과를 뜻하지 않음
Results Valid 검사 결과 데이터 읽기 가능 반드시 이번 제품 ID와 짝지어 확인 필요

제조사 문서는 오프라인에서 Trigger가 들어간 경우 Trigger Ack와 Missed Acq가 함께 켜질 수 있다고 설명합니다. 따라서 ACK 하나만으로 성공 처리하는 로직은 위험합니다.

PLC에서 확인할 9단계: 결과 버퍼 사용 가정

아래 Acquisition ID=108과 Inspection ID=108은 순서 설명을 위해 만든 숫자입니다. 실제 주소·모듈 오프셋·신호 동작은 모델·펌웨어·GSD에 따라 확인해야 합니다.

단계 모의 신호 확인할 동작
0 Online=1, Trigger Enable=1, Trigger Ready=1 새 촬영을 받을 조건인지 확인
1 Trigger ↑, Trigger Ack=1, Acquisition ID=108 트리거 수신을 확인하고 ID 보관, Missed Acq도 검사
2 Trigger=0, Trigger Ack=0 트리거를 내리고 ACK 복귀 확인
3 Exposure Complete=1 노출 완료와 판정 완료를 구분
4 Inspection Completed 토글, Results Valid=1 새 결과인지 확인한 뒤 읽기 준비
5 Inspection ID=108, 검사 코드=NG 앞서 보관한 ID와 결과 ID가 일치할 때만 데이터 래치
6 Inspection Results Ack=1, Results Valid→0 PLC가 결과를 복사한 뒤 수신 확인 전송
7 Inspection Results Ack=0 ACK 해제 후 다음 버퍼 결과 대기
8 Overrun=0, ID 연속성 확인 결과 누락·중복 없이 다음 사이클 진행 가능한지 판단

이는 개념을 이해하기 위한 모의 순서입니다. 장비의 실제 스캔 시간, 제품 위치 추적, Reject/Auto Hold와 안전 인터록에 곧바로 복사할 수 있는 프로그램은 아닙니다.

결과가 꼬일 때 보는 다섯 가지 조합

증상 우선 확인할 것
Trigger Ack=1 / Results Valid=0 아직 판정 데이터를 읽을 시점이 아닐 수 있음
Trigger Ack=1 / Missed Acq=1 오프라인·취득 실패 원인 확인
Exposure Complete=1 / Results Valid=0 촬영은 끝났지만 결과는 아직 준비되지 않음
Results Valid=1 / ID 불일치 이전 제품 결과를 현재 제품에 적용하지 않도록 보류
Results Buffer Overrun=1 검사 결과 누락 가능성·ID 연속성·이벤트 기록 확인

버퍼를 켜면 해결되는가?

결과 버퍼를 끄면 새 검사 결과가 이전에 읽지 못한 결과를 덮을 수 있습니다. Cognex의 해당 In-Sight PROFINET 문서에서는 버퍼 사용 시 최대 8개 결과가 대기하고, ACK가 따라오지 않아 가득 차면 이후 신규 결과가 유실될 수 있다고 설명합니다. 버퍼만 켠다고 끝나는 것이 아니라 결과를 복사한 뒤 ACK를 올렸다 내리는 순서와 ID 대응까지 있어야 합니다.

모든 PROFINET 카메라에 같은 비트 구조를 적용해서는 안 됩니다. 이 내용은 Cognex In-Sight 5.1.0 이상 PROFINET IO/GSD에 관한 제조사 문서를 설명한 것이며 EtherNet/IP, SLMP, 타사 비전의 주소표와 혼용하지 않습니다.

현장 적용 전에

장비의 모델·펌웨어·GSD와 I/O 오프셋을 확인하고, 안전이 확보된 시뮬레이터/격리 설비에서 ACK, Results Valid, Inspection ID, Overrun을 타임라인으로 로깅하세요. 제품 추적과 배출 인터록은 별도 안전 검토가 필요합니다. 이 글을 위해 실제 PLC·카메라를 조작하지 않았습니다.

제조사 원문: In-Sight PROFINET IO module reference, FW 5.1.0+ · Typical acquisition sequence