첫 프로그램 만들기¶
Lite 6 키트로 만드는 첫 통합 예제 — 컨베이어 + 카메라 + 로봇 색상 분류.
무엇을 만드나요?¶
벨트 위 물체를 카메라로 색상 확인 후, 색상별로 다른 위치로 옮기는 자동화 시스템. 100개 처리 후 자동 종료.
학습 목표
이 예제 하나로 시작/종료 + 메시지 + 컨베이어 + 센서 + 카메라 + 로봇 + 변수 + 조건 + 반복 + 카운터 를 모두 활용합니다. 익히면 다른 자동화 흐름도 응용 가능합니다.
사전 준비¶
실행 전 체크리스트
- [x] [장비] 탭에서 메인보드 / 카메라 / 로봇 모두 "● 연결됨" 확인
- [x] 로봇 위치 3개 교시 — A (빨간색 분류), B (파란색 분류), C (기타 색상 분류)
- [x] 작업 범위 확인 (Z=50mm 이상)
- [x] 그리퍼 종류 선택됨 (집게 또는 진공)
- [x] 컨베이어 위에 테스트용 색상 박스 1~3 개 준비
시나리오¶
벨트 회전 시작
→ 물체가 IR 센서 위로 이동
→ 센서 감지 → 벨트 정지
→ 카메라로 색상 확인
→ 빨간색 → 로봇이 A 위치로 옮김
→ 파란색 → 로봇이 B 위치로 옮김
→ 그 외 → 로봇이 C 위치로 옮김
→ 카운터 +1
→ 100개 도달까지 반복
단계별 카드 구성¶
1단계 — 시작 + 변수 초기화¶
2단계 — 무한 반복 시작¶
타임아웃 30초의 의미
30초 동안 물체가 안 들어오면 (작업 완료 신호) 다음 카드로 진행됩니다. 이 흐름에서는 IF 로 감지 실패를 처리할 수도 있지만, 단순히 LOOP 가 다시 시작됩니다.
3단계 — 색상 인식¶
4단계 — 색상별 분류 (IF / ELSIF / ELSE)¶
만약 빨간색이면
├─ 로봇 이동 (A 위치)
├─ 그리퍼 닫기 ← 또는 베큠 그리퍼 켜기
├─ 1초 기다리기
├─ 로봇 홈으로
└─ 그리퍼 열기 ← 또는 베큠 그리퍼 끄기
아니면 파란색이면
├─ 로봇 이동 (B 위치)
├─ 그리퍼 닫기
├─ 1초 기다리기
├─ 로봇 홈으로
└─ 그리퍼 열기
아니면
├─ 로봇 이동 (C 위치)
├─ 그리퍼 닫기
├─ 1초 기다리기
├─ 로봇 홈으로
└─ 그리퍼 열기
만약 끝
5단계 — 카운팅 + 반복 종료 체크¶
횟수 세기 (count, PV=100) ← count + 1, 100 도달 시 count_Q=참
↓
메시지 보내기 ("처리됨: {count}개")
↓
만약 count_Q이면
├─ 메시지 보내기 ("100개 완료!")
├─ 효과음 (완료)
└─ 반복 탈출 ← LOOP 종료
만약 끝
LOOP 끝
6단계 — 종료¶
전체 카드 시각화¶
시작
↓
[카운터 초기화]
[로봇 홈으로]
[메시지: 시작]
↓
LOOP 무한 반복
├─ 컨베이어 켜기
├─ 센서 감지 대기 (IR1, 30초)
├─ 컨베이어 끄기
├─ 카메라 조명 (밝게)
├─ 색깔 확인
├─ 카메라 조명 (끄기)
├─ 메시지: 색상={감지색상}
│
├─ IF 빨간색이면
│ └─ [로봇 이동 A → 그리퍼 닫기 → 홈 → 열기]
├─ ELSIF 파란색이면
│ └─ [로봇 이동 B → 그리퍼 닫기 → 홈 → 열기]
├─ ELSE
│ └─ [로봇 이동 C → 그리퍼 닫기 → 홈 → 열기]
├─ END_IF
│
├─ 횟수 세기 (count, PV=100)
├─ 메시지: 처리됨 {count}개
│
├─ IF count_Q이면
│ └─ [메시지 → 효과음 → 반복 탈출]
└─ END_IF
LOOP 끝
↓
[로봇 홈으로]
[컨베이어 끄기]
[말하기: 완료]
종료
단계별 테스트 (디버깅)¶
전체 흐름을 한 번에 만들기보다, 단계별로 테스트하면서 추가하는 것이 좋습니다.
테스트 3 — 로봇 분류 추가
IF / ELSIF / ELSE 로 로봇 이동 추가. 색상별로 다른 위치로 이동하는지 확인.
테스트 4 — 반복 + 카운터 추가
LOOP 와 카운터 추가. 100개 대신 5개로 먼저 테스트 (PV=5) 권장.
자주 발생하는 문제¶
센서가 감지를 못 함 → 30초 후 LOOP 다시 시작
물체가 센서 위에 정확히 위치하지 않을 가능성. 컨베이어 속도를 1단계로 낮추거나, 물체를 손으로 센서 위에 직접 가져다 대 보세요.
색상이 자주 틀림
센서 카드 → 자주 발생하는 문제 의 "색상 인식이 자주 틀림" 항목 참조.
로봇이 명령 위치로 안 감
Lite 6 작업 범위 Z=50mm 최솟값 확인.
100개 도달했는데 LOOP 안 끝남
[횟수 세기] 카드의 PV 값과 IF 의 count_Q 변수명이 정확히 일치하는지 확인.
다음 학습¶
이 예제를 변형해 보세요
- 색상 종류 추가 — 빨강·파랑·초록 → 7가지 색상 분류
- 음성 안내 추가 — 색상마다 다른 음성 (
"빨간색 박스 발견") - 카운터를 색상별로 —
red_count,blue_count등 별도 카운터 - 속도 조정 — 분류 과정 중 일부에서 [로봇 속도/가속도] 변경
- 센서 1개 → 2개 — IR1 진입, IR2 출구로 더 정확한 위치 제어
강사 팁¶
단계별 테스트가 핵심
학생이 한 번에 전체 흐름을 만들면 디버깅이 어렵습니다. 테스트 1 → 2 → 3 → 4 순서로 점진적 확장 을 강조하세요.
처음엔 100 대신 5
[횟수 세기 PV=100] 은 학습 시 너무 깁니다. PV=5 로 먼저 테스트 후 정상 동작 확인되면 100 으로 변경.
흐름 종료 후 확인
100개 완료 메시지가 화면에 표시되고, 로봇이 HOME 위치로 복귀하면 정상 종료된 것입니다.
다음 단계¶
첫 프로그램이 동작했다면 ST 코드 보기 → 로 카드가 산업용 PLC 코드로 어떻게 변환되는지 확인해 봅시다.
이 페이지에 빠진 내용이나 잘못된 부분을 발견하시면 페이지 하단 📮 피드백 보내기 를 활용해 주세요.