PLC Engineer's Field Notes

Practical solutions for industrial automation


[실무] 타이머·카운터를 ‘어디에’ 걸어야 오동작이 안 날까?

시운전에서 로직이 꼬이는 건 대부분 이 지점입니다.

타이머로 시간을 재고 카운터로 숫자를 세는 건 누구나 합니다.

타이머(T)와 카운터(C)가 비트인지 데이터인지 헷갈린다면 아래 글부터 먼저 보세요.

👉 [실무] PLC 타이머(T)·카운터(C)는 비트일까 워드일까?

하지만 현장에서 문제가 터지는 이유는 기능을 몰라서가 아닙니다. 그 시간을‘어디에 걸어야 하는지’를 모르기 때문입니다.

단순히 동작을 늦추는 용도인지, 다음 단계로 넘기는 조건인지, 아니면 현재 동작을 확실히 끊어주는 인터락인지 구분하지 못하면 설비는 반드시 오동작합니다.

[한 줄 직설] “타이머는 시간을 기다리는 도구가 아니라, 공정의 순서를 정리하는 ‘검문소’다.”


1. 타이머의 진짜 역할: 조건과 안정화

실무에서 타이머는 단순히 멍하니 기다리는 시간이 아닙니다. 앞선 동작이 수행된 후, 일정 시간 동안 상태를 유지하거나 안정화시키고 다음 동작으로 넘어가기 위한 조건을 만들어주는 역할입니다.

  • 동작 지연 (On-Delay): “실린더가 목표 위치까지 이동했나? 오케이, 0.5초 정도 기계적 안정화 대기 후 다음 동작으로 넘어가자.”
  • 안전 인터락: “센서가 감지됐나? 노이즈일 수 있으니 0.1초 동안 신호가 유지되면 그때 진짜 정상 신호로 인정하자.”
  • 공정 제어 (Off-Delay/Interlock): 타이머 완료 신호(T)는 다음 동작의 조건으로 쓰이거나, 필요에 따라 이전 동작을 끊는 인터락으로 사용됩니다. 설비 구조에 따라 이전 동작을 유지할지, 확실히 끊을지를 구분해서 설계하는 것이 실력입니다.

2. 카운터의 실전: 리셋(RST) 타이밍이 전부다

카운터 로직에서 숫자를 올리는 것보다 중요한 건 ‘언제 0으로 돌릴 것인가’입니다.

  • 수량 제어 로직: 제품 10개가 쌓여서 카운터(C0)가 완료되면 ‘박스 배출’ 동작이 시작됩니다. 이때 바로 리셋하는 것이 아니라, 박스가 실제로 빠져나가고 다음 사이클을 시작할 준비가 되었는지를 확인한 뒤 리셋하는 것이 일반적입니다.
  • 포인트: 리셋 시점이 너무 빠르면 아직 남아있는 제품을 놓칠 수 있고, 너무 늦으면 다음 사이클에 이전 값이 섞여버립니다. 수량 제어의 핵심은 ‘카운트’ 그 자체가 아니라 ‘정확한 리셋 타이밍’에 있습니다.

🔥 [실무 팁] “왜 내 로직은 한 박자씩 늦거나 꼬일까?”

현장에서 타이머/카운터를 다룰 때 무조건 체크해야 하는 3가지입니다.

  • 이중 코일의 함정 (중복 사용 금지):동일한 번호의 타이머($T0$)를 로직 여기저기서 호출하지 마세요. 위에서는 ON인데 아래서 OFF라면, PLC는 마지막 줄의 명령만 듣습니다. 타이머는 절대 켜지지 않습니다. “하나의 타이머 신호는 한 곳에서만 살린다”는 원칙을 지키세요.
PLC 타이머 T0 이중 코일 예시 (서로 다른 조건에서 중복 제어)
[Fig. 1] 동일 타이머(T0)를 중복 사용한 이중 코일 예시 (오동작 발생)
  • 스캔 타임과 펄스의 배신:너무 짧은 센서 신호는 카운터가 숫자를 놓칠 수 있습니다. 이때는 하드웨어 설정에서 ‘펄스 캐치’ 기능을 확인하거나 신호 길이를 물리적으로 확보해야 합니다. 로직만 탓한다고 해결될 문제가 아닙니다.
  • MOV와 조합된 가변 제어 : 설정값을 무조건 로직에 직접 박는 것은 위험하지만, 반대로 모든 값을 가변으로 만드는 것도 정답은 아닙니다. 타이머 값은 설비 성격에 따라 구분해서 써야 합니다.
    • 고정값: 안전 인터락이나 충돌 방지용 보호 타이밍 등 절대 변하면 안 되는 시간.
    • 가변값: 공정 최적화나 제품별 세팅 등 현장에서 조정이 필요한 시간. [OUT T0 D100]처럼 레지스터를 사용해 설계하면 터치스크린에서 유연하게 대응할 수 있습니다.
      ※ MOV 명령어를 이용한 값 이동 방식은 아래 글에서 자세히 다뤘습니다.
      👉 [실무] MOV·BMOV·FMOV로 래더 줄이는 방법

💡 실전 인터락 설계 예시: 실린더 반복 및 자동 정지

이전 글에서 다룬 이론들이 실제 현장 로직에서 어떻게 엮이는지, 아래 예시를 통해 한눈에 확인해 보겠습니다. 이 구조는 전진 → 확인 → 대기 → 카운트 → 자동 정지로 이어지는 표준 시퀀스입니다.

PLC 카운터(C0)와 타이머(T2)를 이용한 실린더 전진 인터락 및 반복 제어 로직
[Fig. 2] 카운터(C0)와 복귀 스위치(X1)를 활용한 실린더 인터락 로직

Step ① 카운터 인터락 (C0)

현재 작업 횟수가 목표치(K3)에 도달하면 C0 B접점이 열립니다.

  • 핵심: 목표를 채우면 시작 스위치(X0)를 눌러도 실린더 동작이 진행되지 않도록 막아주는 안전장치입니다.

Step ② 타이머(T2)로 공정 안정화

실린더 전진 확인 센서(X10)가 들어오면 바로 다음 단계로 넘어가지 않고, 500ms(K5) 동안 대기합니다.

  • 역할: 기계적 진동이 멈추고 공정이 안정될 시간을 확보하는 일종의 ‘검문소’ 역할을 수행합니다.

Step ③ 카운터(C0) 횟수 관리

타이머(T2)가 완료될 때마다 작업 횟수를 1회씩 증가시킵니다. 시스템이 현재 몇 번째 동작인지 상태를 유지하게 만드는 단계입니다.

Step ④ 복귀 조건 + 리셋 (RST)

카운트 완료(C0) + 후진 확인(X11) + 작업자 확인(X1) 세 조건이 모두 만족되어야만 카운터가 리셋됩니다.

  • 핵심: 단순히 횟수만 찼다고 자동으로 초기화되지 않도록 리셋 조건을 강화했습니다. 작업자의 의지(X1)가 포함되어야 다음 사이클을 준비할 수 있도록 설계된 구조입니다.

한 줄 정리 “타이머로 타이밍 잡고, 카운터로 끊고, 리셋으로 다시 시작한다.”


📌 빠른 점검 체크리스트

  • [ ] 타이머 완료 신호가 이전 공정을 확실히 끊고 있는가?
  • [ ] 카운터 리셋 조건이 다음 사이클 시작 전에 확실히 들어오는가?
  • [ ] 터치스크린에서 입력한 수치(D레지스터)가 타이머 범위 내에 있는가?
  • [ ] 동일한 T/C 번호를 다른 장소에서 중복 사용하지 않았나?

결론

시간과 횟수는 설비의 ‘박자’입니다

타이머와 카운터를 잘 쓰는 엔지니어는 설비의 템포를 지배합니다. 단순히 기다리는 로직이 아니라, “이 신호가 공정을 어떻게 매끄럽게 넘겨줄 것인가”를 고민하는 것이 실력의 차이를 만듭니다.


[다음 포스팅 예고]

시간, 횟수 맞춰도 로직 끝난 거 아닙니다
SET/RST, 자기유지 같은 기본 구조를 잘못 쓰면 설비는 반드시 꼬입니다.

👉 [실무] 자기유지랑 SET 같아 보이는데 왜 다를까