[PLC 프로그래밍 6편 ] PLC Timer(타이머) 완벽 이해하기 – TON, TOF, TP 사용법과 실무 예제
PLC(Programmable Logic Controller)를 배우다 보면 가장 많이 사용하는 명령어 중 하나가 Timer(타이머)입니다. 단순히 시간을 지연시키는 기능이라고 생각하기 쉽지만, 실제 자동화 설비에서는 모터 제어, 실린더 동작, 경고등 점등, 컨베이어 제어, 인터록(Interlock) 등 거의 모든 자동화 프로그램에서 Timer가 사용됩니다.
이번 글에서는 PLC Timer의 개념부터 종류, 동작 방식, 실무 예제까지 초보자도 이해하기 쉽게 설명하겠습니다.
Timer란?
시퀀스 프로그램중 지정된 시간 이상의 시간 동안 조건 만족을 유지할 때 어떤 동작을 수행해야하는 경우 등 시간 지연 요소가 필요할 경우 사용하는 프로그램 요소가 타이머 입니다.
XGK PLC에는 2,048개의 타이머가 있으며, 타이머의 기능별로 TON, TOFF, TMR, TMON, TRTG등 5종, 시간 설정 단위로 100ms, 10ms, 1ms, 0.1ms의 4 종의 타이머가 있습니다. 또, 타이머를 사용하지 않고, 비트 디바이스를 직접 시간으로 제어하는 TFLK 가 있습니다. 1개의 타이머는 최대 6,553.5초(65,535 X 100ms)까지 시간 제어를 할 수 있으며, 타이머를 사용하지 않는 TFLK 는 최대 65,535초까지 시간 제어를 할 수 있습니다.
타이머는 조건이 만족된 후 타이머 동작 특성에 따라 시간 지연 후 타이머 접점을 제어하게됩니다. 이 후 타이머 접점을 이용하여
시퀀스 프로그램을 작성하면 됩니다.
본 예제에서 설정값을 10으로 설정한 경우 P00000 입력 접점이 1초 이상 ON을 유지할 경우 P00020 출력 접점이 ON 되며, P00000 입력 접점이 OFF 될 때 P00020 출력 접점이 OFF 됩니다.

타이머를 리셋 할 때 아래와 같이 리셋 코일 -(R)- 을 이용하여 타이머를 리셋 합니다.

예를 들어 다음과 같은 상황에서 Timer가 사용됩니다.
타이머의 동작 특성
TON (ON Delay Timer) 명령어 : ON Delay Timer는 조건이 만족된 후 설정된 시간 이상 조건이 유지될 때 타이머의 접점이 ON 되는 타이머로 세부 동작 사항은 다음과 같습니다.
- 타이머의 기동 조건이 만족되면현재값을 설정 시간 단위로 1씩 증가시키며, 현재값 = 설정값이 될 때 타이머 접점이 ON 됩니다.
- 타이머 동작 중 기동 조건이 해제되면 현재값 = 0 이 됩니다.
- 타이머 접점이 ON 된 상태에서 기동 조건이 해제되면 타이머 접점이 OFF 됩니다.
- 타이머를 리셋하면 현재값 = 0 이 되며, 타이머 접점이 ON 되어 있는 경우 접점은 OFF 됩니다.

예제1 ) P00000 입력 스위치가 ON 된 후 0.5초 이상 ON 상태를 유지하면 P00020이 ON 되고, P00000이 OFF되면 P00020이
OFF됩니다.

TOFF (OFF Delay Timer) 명령어 : OFF Delay Timer는 조건이 만족될 때 타이머 접점이 ON 되고, 조건이 OFF 된 후 설정된 시간 동안 접점이 ON 상태를 유지하는 타이머로 세부 동작 사항은 다음과 같습니다.
- 타이머의 기동 조건이 만족되면 현재값 = 설정값이 되고, 타이머 접점은 ON 됩니다.
- 타이머의 기동 조건이 해제되면 현재값을 설정 시간 단위로 1씩 감소 시키고 현재값이 0 이될 때 타이머의 접점은 OFF 됩니다.
- 타이머의 현재값이 감소하고 있는상태에서 다시 기동 조건이 만족되면 현재값 = 설정값이 되고, 접점은 ON 됩니다.
- 타이머를 리셋하면 현재값 = 0 이 되며, 타이머 접점이 ON 되어 있는 경우 접점은 OFF 됩니다.

예제1 ) P00001 입력 스위치가 ON 되면 P00021이 ON 되고, P00001 이 OFF 되면 1초 후에 P00021이 OFF 됩니다.

예제) 플리커 회로: 두 개의 타이머를 사용하여 P00002 입력 스위치가 ON 되면 P00022 LED가 0.5초 동안 ON, 0.6초 동안 OFF를 반복합니다.

* 위의 프로그램은 타이머를 사용하지 않고 TFLK 명령어를 사용하여 아래와 같이 구현할 수 있으며, TFLK 명령어의 내용은 다음과 같습니다.
명령어 형식: [ TFLK D1 S1 S2 D2 ] 여기서 D1은 ON/OFF 할 접점(bit), S1은 ON 시간(word), S2는 OFF 시간(word)입니다.
D2는 총 4word의 데이터 메모리 영역이 사용되며 각메모리 영역의 내용은 다음과 같습니다.
D(2+0): 현재치저장 D(2+1): 시간 단위 설정 (0: ms, 1: 10ms, 2: 100ms, 3: 1s)
D(2+2) ~ D(2+3): 명령어 사용 영역

예제2 ) 화장실 자동 밸브 제어: 사용자가 변기에 접근한 후 1초 뒤 2초간 물이 나오고 이탈 후 즉시 3초간 물이 공급되는 회로입니다.


예제3) 신호등 제어
- 평상시에는 녹색신호가 ON
- 보행을 입력하면 녹색이 10초간 ON 후 OFF하면 황색이 2초간 ON, 황색 OFF와 동시에 적색이 20초간 ON
- 보행을 다시 입력하기 전까지 녹색이 ON


TMR (적산Timer) 명령어 : 적산Timer는 조건이 만족된 후 설정된 시간 이상 조건이 유지될 때 타이머의 접점이 ON 되는 타이머로 세부 동작 사항은 다음과 같습니다. -> TON과 동작이 같으나 리셋동작이 다르다. TON의경우 조건이 fail시 TMR은 타이머를리셋코일로 리셋 한다.
- 타이머의 기동 조건이 만족되면현재값을 설정 시간 단위로 1씩 증가시키며, 현재값 = 설정값이 될 때 타이머 접점이 ON 됩니다.
- 타이머의 접점이 ON 된 상태에서 기동 조건을 계속 만족하더라도 더 이상 현재값은 증가하지 않습니다.
- 타이머 동작 중 기동 조건이 해제되면 현재값을 유지합니다.
- 타이머 접점이 ON 된 상태에서 기동 조건이 해제되면 타이머 접점이 ON 상태를 유지합니다.
- 타이머를 리셋하면 현재값 = 0 이 되며, 타이머 접점이 ON 되어 있는 경우 접점은 OFF 됩니다.

예제1) P00006 입력 스위치가 ON 되면 P00028 LED가 ON 되고, P00028 LED의누적된 ON 시간이 1시간이 되면 P00029 LED가 200ms 주기로 점멸(100ms ON, 100ms OFF 반복)합니다.

TMON (Mono-Stable Timer) 명령어 : Mono-Stable Timer는 조건이 만족되면 설정된 시간 동안 타이머 접점이 ON 되는 타이머로 세부 동작사항은 다음과 같습니다.
-> TOFF과 기동조건시동작은 동일하나 TOFF의 경우 기동조건 OFF일때 감산을 시작하고 TMON은 기동조건과 동시에 감산을 시작한다. 기동시 동작을 제외한 나머지 동작은 동일하다
- 타이머의 기동 조건이 만족되면현재값 = 설정값이 되고, 타이머 접점이 ON 됩니다.
- 타이머의 기동 조건이 만족된 후 기동 조건의 변화와 관계없이 현재값이 설정 시간 단위로 1씩 감소되며, 현재값 = 0 이 될 때 접점이 OFF 됩니다.
- 타이머를 리셋하면 현재값 = 0 이 되며, 타이머 접점이 ON 되어 있는 경우 접점은 OFF 됩니다.

예제) 상시 출력 P00002A LED가 P00008 입력 스위치가 ON 되면 5초간 점멸합니다.

TRTG (리트리거블Timer) 명령어 : 리트리거블Timer는 조건이 만족되면 설정된 시간 동안 타이머 접점이 ON 되는 타이머로 세부 동작 사항은 다음과 같습니다.
- 타이머의 기동 조건이 만족되면현재값 = 설정값이 되고, 타이머 접점이 ON 됩니다.
- 타이머의 기동 조건이 만족된 후 설정 시간 단위로 1씩 감소되며, 현재값 = 0 이 될 때 접점이 OFF 됩니다.
- 타이머 동작 중 타이머의 기동 조건에서 상승 에지가 발생 (OFF →ON)하면 현재값 = 설정값이 된 후 현재값이 다시 설정 시간 단위로 1씩 감소하고 현재값 = 0 이 될 때 접점이 OFF 됩니다.
- 타이머를 리셋하면 현재값 = 0 이 되며, 타이머 접점이 ON 되어 있는 경우 접점은 OFF 됩니다.

예제) P00009 입력 스위치가 5초 이상 ON 또는 OFF 상태를 유지하면 P0002B LED가ON 됩니다.

Timer의 기본 구성
대부분 PLC 제조사의 Timer는 아래와 같은 요소를 가지고 있습니다.
- Timer 번호(T0, T1, T2...)
- 설정시간(Preset)
- 현재시간(Current Value)
- 완료 출력(Done Bit)
예를 들어 Timer T0 , Preset : 5초 라면 입력이 ON된 후 5초가 지나면 Timer 출력이 ON됩니다.
Timer 동작 순서
예를 들어 TON Timer가 있다고 가정하면
- 입력 OFF
→ Timer 초기화 - 입력 ON
→ 시간 카운트 시작 - 설정시간 도달
→ Timer 출력 ON - 입력 OFF
→ Timer 리셋
이것이 가장 기본적인 Timer 동작 방식입니다.
TON 실무 예제
버튼을 누르면 5초 후 모터가 시작되는 프로그램입니다.
X0 ---- TON T0 K50
T0 ---- Y0
설명 : 버튼을 누르면 Timer가 동작하고, 5초 후 모터가 켜집니다.
- X0 : 시작 버튼
- T0 : Timer
- K50 : 5초(PLC 기종에 따라 시간 단위가 다름)
- Y0 : 모터 출력
TP 실무 예제
센서를 감지하면 부저가 3초 동안 울립니다.
X1 ---- TP T2 K30
T2 ---- Y2
설명 : 센서가 감지되면 부저는 3초 동안만 울리고 자동으로 꺼집니다.
- X1 : 센서
- T2 : 타이머
- K30 : 3초 타이머
- Y2 : 부저 출력
Timer 사용 시 주의사항
1. 시간 단위를 확인하자
PLC마다 Timer의 단위가 다릅니다.
예를 들어 0.01초, 0.1초, 1초 등 제조사마다 차이가 있으므로 반드시 매뉴얼을 확인해야 합니다.
2. Timer 번호 중복 사용 금지
같은 Timer 번호를 여러 곳에서 사용하면 예상하지 못한 동작이 발생할 수 있습니다.
예를 들어
T0 → 다른 회로에서도 T0 사용
이런 경우 프로그램이 꼬일 수 있습니다.
3. Reset 여부 확인
일부 Timer는 입력이 OFF되면 자동으로 초기화되지만, Retentive Timer(누적 Timer)는 시간이 유지됩니다.
사용 목적에 맞는 Timer를 선택해야 합니다.
Timer와 Counter의 차이
많은 초보자가 Timer와 Counter를 혼동합니다.
Timer
- 시간을 센다.
- 예) 5초 후 동작
Counter
- 횟수를 센다.
- 예) 제품 10개 생산 후 정지
즉, 시간을 세면 Timer 횟수를 세면 Counter입니다.
실무에서 Timer가 가장 많이 사용되는 분야
자동화 설비에서 Timer는 거의 모든 공정에 적용됩니다.
대표적인 예시는 다음과 같습니다.
- 모터 순차 운전
- 컨베이어 제어
- 신호등 제어
- 자동문 제어
- 실린더 동작 지연
- 경고등 점멸
- 부저 제어
- 포장기계
- 사출기
- 반도체 장비
- 공장 자동화 설비
특히 여러 장비를 순차적으로 동작시키는 시스템에서는 Timer가 핵심적인 역할을 합니다.
마무리
PLC Timer는 자동화 프로그램의 기본이자 핵심 기능입니다. 단순히 시간을 지연시키는 기능을 넘어 설비의 안정성과 순차 제어를 구현하는 데 필수적인 요소입니다. PLC를 처음 배우는 분이라면 TON(On Delay)의 동작 원리를 먼저 충분히 이해한 뒤 TOF(Off Delay)와 TP(Pulse Timer)를 익히는 것이 좋습니다.
다음 편에서는 PLC 프로그래밍에서 Timer와 함께 가장 많이 사용되는 Counter(카운터) 명령어의 종류와 사용법, 실무 예제를 자세히 알아보겠습니다.