이벤트 감시 카드¶
흐름이 진행되는 동안 백그라운드에서 GPIO·MQTT·센서를 감시 하다가, 특정 이벤트 발생 시 자동으로 동작하는 카드들입니다.
무엇을 하는 단계인가요?¶
일반 카드는 순차 로 실행되지만, 이벤트 감시 카드는 별도 백그라운드 에서 신호를 감시합니다. 감시하는 중에도 메인 흐름은 계속 진행되며, 이벤트가 들어오면 정해진 동작을 자동 실행합니다.
언제 사용하나요?
- 작업 진행 중 비상 정지 버튼 을 항상 감시하고 싶을 때
- 다른 스테이션의 MQTT 신호 가 언제 올지 모를 때
- 컨베이어 동작 중 물체가 통과하면 자동 카운팅 하고 싶을 때
카드 종류¶
-
감시 시작
감시 시작(블록 열기)백그라운드 감시 시작
-
이벤트 감지 시
이벤트 감지 시(블록 중간)이벤트 발생 시 실행할 동작
-
감시 끝
감시 끝(블록 닫기)백그라운드 감시 종료
블록 구조¶
3개 카드는 항상 함께 사용됩니다.
- 메인 흐름 (감시 시작 ~ 감시 끝 사이의 일반 카드들) 은 정상 진행
- 이벤트 감지 시 블록 은 백그라운드에서 신호 대기 → 들어오면 자동 실행
- 감시 끝 카드 도달 시 백그라운드 감시 자동 종료
카드 사용법¶
감시 시작 (블록 열기)¶
- 파라미터: 없음
- 동작: 이 카드 시점부터 백그라운드 감시 시작
이벤트 감지 시 (블록 중간)¶
이벤트 종류와 세부 설정을 선택하고, 그 이벤트가 발생할 때 실행할 카드들을 안에 둡니다.
- 파라미터:
- 이벤트 종류 (드롭다운):
- GPIO 입력 — 외부 버튼·스위치 신호
- MQTT 메시지 — 다른 스테이션의 메시지
- 센서 감지 — IR 센서 신호
- 종류에 따른 추가 옵션:
- GPIO 입력: 핀 (CI0 ~ CI7)
- MQTT 메시지: 보낸 스테이션 + 토픽
- 센서 감지: 센서 (IR1 / IR2)
- 이벤트 종류 (드롭다운):
감시 끝 (블록 닫기)¶
- 파라미터: 없음
- 동작: 백그라운드 감시 종료
사용 예시¶
예시 1 — 비상 정지 버튼 상시 감시
시작
↓
감시 시작
│
이벤트 감지 시 (GPIO 입력, CI0)
├─ 메시지 보내기 ("비상 정지 신호 수신")
├─ 컨베이어 끄기
└─ 종료
│
[메인 작업 — 컨베이어 + 로봇 분류]
│
감시 끝
↓
종료
메인 작업이 진행되는 내내 CI0 비상 버튼을 감시 → 눌리면 즉시 정지.
예시 2 — 다른 스테이션 알림 받기
예시 3 — 센서 통과 자동 카운팅
자주 발생하는 문제¶
이벤트 감지 시 블록이 한 번도 실행 안 됨
- 이벤트 종류와 세부 설정 (핀/스테이션/센서) 이 정확한지 확인
- 실제로 신호가 들어오는지 GPIO 카드 의 [GPIO 읽기] 등으로 별도 확인
- 감시 시작 ~ 감시 끝 사이에 메인 흐름 카드가 있어야 함 (감시 시작 → 감시 끝 사이가 너무 짧으면 감시 즉시 종료)
이벤트 처리 중에 메인 흐름이 멈춤
이벤트 감지 시 블록 안의 카드들이 너무 길면 메인 흐름과 자원 충돌할 수 있습니다. 이벤트 처리는 짧고 가볍게 작성 권장.
여러 이벤트를 동시에 감시하려면?
감시 시작 블록 안에 [이벤트 감지 시] 카드를 여러 개 둘 수 있습니다 (각각 다른 이벤트 종류 가능).
강사 팁¶
이벤트 감시는 중급 학습
학생이 순차 흐름·IF·LOOP 에 익숙해진 후 도입하세요. 백그라운드 처리 개념은 PLC 의 인터럽트와 유사합니다.
비상 정지 패턴이 가장 실용적
예시 1 의 패턴은 모든 자동화 흐름의 안전 장치로 활용 가능합니다. 학생이 만든 어떤 흐름에든 추가 권장.
이벤트 처리 중 자원 충돌 주의
이벤트 감지 시 블록과 메인 흐름이 같은 자원 (예: 같은 로봇) 을 동시 제어하면 충돌합니다. 병렬 실행 의 자원 충돌 주의사항과 동일.
다음 단계¶
이벤트 감시까지 익혔다면 나만의 블록 / 서브루틴 → 으로 자주 쓰는 동작을 묶어 재사용해 봅시다.
이 페이지에 빠진 내용이나 잘못된 부분을 발견하시면 페이지 하단 📮 피드백 보내기 를 활용해 주세요.