핸드셰이크 타이밍 차트 — 검사 요구·검사 완료와 판정의 주고받기 (샘플)
마지막 수정: 2026-09-23 / 분류: 샘플, 타이밍 차트
PLC와 검사 장치의 검사 요구·검사 완료·판정의 주고받기를 정상적인 1회분, 100 ms 단위로 그린 샘플입니다. "완료가 돌아오지 않는다" "양품이 NG가 된다"를 시운전에서 보고 싶지 않은 PLC 소프트웨어 담당자를 위한 것입니다.
브라우저에서 동작하는 무료 에디터가 새 탭에서 열리고 이 차트가 읽어 들여집니다. 설치도 등록도 필요 없고, 입력한 내용은 어디에도 전송되지 않습니다. 고쳐 써도 이 페이지의 샘플은 변하지 않습니다. JSON은 에디터에서 다시 열거나 AI에게 넘길 때의 원본 데이터입니다.
1. 신호는 6개, 요구와 완료는 상대를 본 뒤에 떨어뜨린다
| 신호 | 내는 쪽 | 의미 |
|---|---|---|
bWorkSet | PLC (내부) | 워크가 검사 위치에 멈췄다. 검사 요구의 계기 |
bInspReq | PLC → 검사 장치 | 검사 요구. 검사 완료가 ON 될 때까지 계속 낸다 |
bInspBusy | 검사 장치 → PLC | 검사 중. 요구를 받고 있는 동안 계속 ON. PLC는 이것으로 "요구가 도착했다"는 것을 안다 |
bInspDone | 검사 장치 → PLC | 검사 완료. 검사 요구가 OFF 될 때까지 계속 낸다 |
bResultOK / bResultNG | 검사 장치 → PLC | 판정. 검사 완료가 ON인 동안은 바꾸지 않는다 |
bCarryOut | PLC (내부) | 반출 시작. 검사 완료의 OFF를 확인한 뒤에 낸다 |
검사 장치는 요구가 떨어질 때까지 완료를 계속 내는 설정으로 씁니다. 화상 처리 장치의 핸드셰이크 설정이거나, 검사 유닛 측 PLC에서 내는 형태입니다. 판정을 일정 시간의 펄스로 돌려주는 설정 그대로는 이 그림의 형태가 되지 않습니다.
검사 중 (bInspBusy)은 요구를 받았다는 신호입니다. 요구 ON의 다음 스캔에서 ON 하고, 요구 OFF까지 유지합니다. 요구를 냈는데 검사 중이 오지 않으면 장치가 요구를 보고 있지 않다는 것을 알 수 있습니다. 완료를 기다리는 3초보다 먼저 이것으로 이상을 낼 수 있을 것입니다.
2. 순서는 화살표로, 시간은 0.5초와 상한만 정한다
화살표로 이은 변화 사이를 1 눈금 (100 ms)씩 띄운 것은 순서를 보여 주기 위해서입니다. 실제 응답은 스캔과 통신의 지연만큼 (수 ms~수십 ms)으로 돌아옵니다. 시간으로 정하는 것은 촬상과 판정의 0.5초와 4장의 상한뿐입니다.
- 워크가 검사 위치에 멈추면 검사 요구를 낸다
- 검사 장치는 판정을 먼저 내고, 그 뒤에 검사 완료를 낸다 촬상과 판정에 0.5초.
- PLC는 완료의 상승 에지에서 판정을 읽고, 기록한 뒤 요구를 떨어뜨린다 판정은 이 뒤에 검사 장치가 지웁니다. 반출처를 정하는 데 쓰므로 워크별 데이터 (트래킹용 워드의 판정 비트 등)에 남깁니다.
- 검사 장치는 검사 요구가 떨어지면 검사 완료를 떨어뜨리고, 이어서 판정을 떨어뜨린다 낼 때와 반대 순서입니다.
- PLC는 검사 완료의 OFF를 확인한 뒤 반출을 시작한다 워크가 떠나면 bWorkSet이 OFF 됩니다.
3. 판정은 완료보다 먼저, 요구와 완료는 상대를 보고 떨어뜨린다
- 판정은 검사 완료보다 먼저 내고, 완료보다 나중에 떨어뜨린다 PLC는 완료의 상승 에지를 신호로 판정을 읽기 때문입니다. 판정과 완료를 검사 장치가 같은 스캔에서 내도, 패러렐 I/O나 네트워크에서는 PLC에 동시에 도착한다고 장담할 수 없습니다. 먼저 내는 시간은 패러렐 I/O라면 입력 응답 시간의 차, 네트워크라면 갱신 주기 1회분 이상으로 합니다.
- OK와 NG는 2점으로 나누고, 둘 다 OFF면 이상으로 한다 1점이면 배선 불량으로 양품이 전부 NG가 되기 때문입니다. "ON이면 OK"인 1점으로는 판정 선만 빠져도 양품이 모두 NG로 보이고, 알아챌 때까지 계속 버립니다. 2점이라면 완료가 ON인데 OK도 NG도 OFF라는 이상을 그 자리에서 잡아 멈출 수 있습니다.
- 요구는 완료가 올 때까지, 완료는 요구가 떨어질 때까지 계속 낸다 펄스로 넘기면 상대가 놓치기 때문입니다. 타이밍 차트 작성법의 "요구와 응답의 4가지 변화"와 같은 이유입니다. 받는 쪽의 스캔이나 통신의 갱신 주기보다 짧으면 상대가 보기 전에 사라집니다.
- 다음 검사 요구와 반출은 검사 완료의 OFF를 본 뒤에 이전 워크의 결과를 지금 워크의 것으로 읽지 않기 위해서입니다. 완료가 ON인 채 다음 요구를 내면 이전 워크의 완료와 판정을 지금 결과로 읽습니다. 반출 조건에도 넣는 것은 완료를 떨어뜨리지 못하는 이상 (4장의 1초)을 워크가 검사 위치에 있는 동안 잡기 위해서입니다.
4. 대기에는 상한을 두고, 넘으면 이상으로 멈춘다
상한이 없으면 검사 장치가 멈췄을 때 PLC는 완료를 계속 기다립니다. 라인은 이유 표시도 없이 멈춥니다.
- 검사 요구 ON → 검사 완료 ON — 3초. 0.5초의 검사에 재촬상을 1회 예상해도 1초 정도이므로 그 3배입니다. 그림의 bInspDone 설명에도 써 두었습니다
- 검사 요구 OFF → 검사 완료 OFF — 1초. 장치는 요구의 OFF를 보고 떨어뜨리기만 하면 되므로 몇 스캔 안에 돌아옵니다
판정이 NG일 때도 절차는 같으며, bResultOK 대신 bResultNG가 ON 됩니다. 타임아웃이나 장치 이상에서 원위치로 되돌리는 절차는 줄거리가 다릅니다. 별도의 타이밍 차트나 PLC 제어 플로차트 작성법에 그립니다.
5. 고쳐 쓸 곳은 제목·신호명·처리 시간의 3곳
"이 샘플을 에디터에서 열기"로 Timing Chart Editor에 읽어 들였다면 다음 순서로 고쳐 씁니다.
- 제목·기기명·1 Step의 시간 — 툴바의 "차트 정보…" (Ctrl+I). 제목의 "(PLC와 검사 장치)"는 기기명을 바꿔도 남으므로 여기서 고칩니다
- 신호명과 코멘트 — 행 이름을 더블클릭. 코멘트의 "0.5 s" "3 s"도 자기 장치의 값으로 합니다. Y100 같은 디바이스 번호로 쓰는 현장이라면 신호명에 그대로 넣어도 됩니다
- 처리 시간 — bResultOK와 bInspDone의 ON 구간을 다시 칠합니다. 화살표는 변화 지점에 붙어 있으므로 다시 칠했다면 다시 긋습니다. 길이가 모자라면 툴바의 "스텝 수"를 늘리거나 1 Step의 시간을 늘립니다
"출력 → 내보내기…"에서 SVG를 고르면 사양서에 붙일 수 있는 그림이 됩니다. 툴바의 "순서도로 →"를 누르면 플로차트가 됩니다. 화살표를 바탕으로 "어느 입력을 기다린 뒤 어느 출력을 바꿀지"를 나열한 것입니다. JSON을 다운로드해 AI에게 넘기고, 신호명을 자기 명명으로 바꾸게 할 수도 있습니다 (JSON 형식).
이 샘플을 만든 도구
- Timing Chart Editor — 위 그림과 샘플 JSON은 이 에디터로 만들어 내보낸 것입니다.
- Flowchart Editor — 차트의 화살표를 대기와 처리의 순서로 바꿉니다.
관련 글
- 에어 실린더 타이밍 차트 (샘플)
- 벨트 컨베이어 타이밍 차트 (샘플)
- 서보 위치결정 타이밍 차트 (샘플)
- 타이밍 차트 작성법
- PLC 제어 플로차트 작성법
- JSON 데이터 구조 사양
yk.builds