PLC 프로그래밍 3편 | Coil(코일)이란?
Coil(코일)이란?
PLC를 처음 배우는 사람들이 가장 많이 접하는 명령어가 바로 Coil(코일)입니다.
Coil은 PLC 프로그램에서 출력을 ON 또는 OFF시키는 가장 기본적인 명령어이며, 실제 설비에서는 모터, 램프, 솔레노이드 밸브, 릴레이 등 다양한 출력 장치를 제어하는 핵심 역할을 수행합니다.
쉽게 말하면 조건이 만족되면 출력이 ON되고, 조건이 만족되지 않으면 OFF되는 스위치 역할을 합니다.
PLC 래더 프로그램의 마지막에는 대부분 Coil이 위치하며, 앞에 있는 접점(Contact)의 결과를 받아 최종 출력을 결정합니다.
또한, 코일은 연산의 결과가 비트로 출력될때, 출력된 연산 결과를 지정된 비트 메모리에 저장하는 프로그래밍 기호 입니다.
Coil 명령어 동작 원리
PLC는 Scan Cycle(스캔 사이클)을 반복하면서 프로그램을 실행합니다.
동작 순서는 다음과 같습니다.
- 입력(Input) 상태를 읽는다.
- 프로그램을 좌에서 우로 위에서 아래로 실행한다.
- 입력의 상태에 따라서 Coil의 ON/OFF를 결정한다.
- 출력(Output)에 신호를 보낸다.
- 다시 처음으로 반복한다.
즉, Coil은 프로그램의 실행 결과를 실제 출력으로 전달하는 중요한 역할을 수행합니다.
Coil 명령어 종류
PLC에서는 Coil에도 여러 종류가 존재합니다.
기호(예시)명령어설명
| 기호(예시) | 명령어 | 설명 |
| —( )— | 일반 코일 (OUT) | 조건이 참(ON)이면 출력이 ON, 거짓이면 OFF가 되는 기본 출력 코일 |
| —(S)— | SET 코일 | 조건이 한 번 ON되면 출력을 계속 ON 상태로 유지 |
| —(R)— | RESET 코일 | SET된 출력을 OFF로 해제하는 코일 |
| —(L)— | LATCH 코일 | 출력을 유지하는 래치 코일(일부 PLC에서 사용) |
| —(/)— 또는 —(NOT)— | 반전 코일 | 입력 상태를 반대로 출력하는 코일 |
| —(P)— | 상승 에지(Pulse) 코일 | OFF→ON으로 바뀌는 순간 한 스캔 동안만 ON |
| —(N)— | 하강 에지(Pulse) 코일 | ON→OFF로 바뀌는 순간 한 스캔 동안만 ON |
| —(MCR)— | 마스터 제어 릴레이 코일 | 특정 프로그램 구간의 실행을 일괄 제어하는 코일 |

Coil 명령어 사용 예제
PLC는 LS산전의 XGK모델을 대상으로 설명 합니다.
예제 1. 램프 제어
[ 프로그램 ]

스위치 0,1번이 모두 ON일때에 램프가 켜지고, 둘중 하나라도 OFF이면 램프는 꺼지게 됩니다.
예제 2. 모터 정/역 회전
[ 동작 ]
- 정방향 : 정방향 Push Button을 누르면 모터는 정 방향으로 회전( P1=ON, P2=OFF )
- 역방향: 역방향 Push Button을 누르면 모터는 역 방향으로 회전( P1=OFF, P2=ON )
- 정지: 정지 Push Button을 누르면 모터는 정지( P1=OFF, P2=OFF )
[ 연결도 ]

[ 프로그램 ]

예제 3. 버튼 1개로 3개 모터 동작 제어
[ 동작 ]
START : PB0을 1회 누르면 M1동작, 2회 누르면 M1,M2 동시동작, 3회 누르면 M1,M2,M3 동시 동작
STOP : PB1을 누르면 M1,M2,M3 모든 모터 동작 정지

[ 프로그램 ]

Coil명령어 사용 시 주의사항
Coil 명령어는 간단해 보이지만 잘못 사용하면 다양한 문제가 발생할 수 있습니다.
1. 같은 Coil명령의 주소를 여러 번 사용 하지 말 것
예를 들어
P0 → P20( )
P1 → P20( )
P2 → P20( )
P3 → P20( )
같은 출력을 두 번 사용하면 마지막 프로그램의 결과만 적용되는 경우가 많습니다.
PLC 제조사마다 차이는 있지만 대부분 마지막 Coil이 우선 적용됩니다.
2. SET만 사용하고 RESET을 작성하지 않는 경우
SET은 기억 기능이 있기 때문에 RESET이 없으면 출력이 계속 ON 상태가 됩니다.
실제 설비에서는 매우 위험할 수 있습니다.
3. 출력 주소 중복 사용
P20를 여러 곳에서 동시에 제어하면 예상하지 못한 동작이 발생합니다.
주소 관리는 반드시 체계적으로 해야 합니다.
Coil을 사용하는 대표적인 설비
Coil명령어는 거의 모든 PLC 자동화 설비에서 사용됩니다.
대표적인 예는 다음과 같습니다.
- 컨베이어 시스템
- 자동 포장기
- 산업용 로봇
- 자동문
- 승강기
- 생산라인
- 물류 자동화
- 모터 제어
- 램프 제어
- 솔레노이드 밸브 제어
실무에서 자주 사용하는 팁
실무에서는 실제 출력(Y)보다 내부 릴레이(M)를 활용하는 경우가 많습니다.
예를 들어,
P0 → M100
M100 → P25
이처럼 내부 메모리를 이용하면 프로그램 수정과 유지보수가 쉬워지고, 복잡한 제어도 체계적으로 구성할 수 있습니다.
또한 하나의 출력을 여러 조건으로 제어할 때도 내부 릴레이를 활용하면 중복 Coil 문제를 예방할 수 있습니다.
실패 사례
한 제조 공장에서 컨베이어를 제어하는 PLC 프로그램을 작성하면서 START 버튼에는 SET Coil을 사용했지만 STOP 버튼에 RESET Coil을 추가하지 않는 실수가 있었습니다.
시운전 초기에는 정상적으로 보였지만, 한 번 컨베이어가 동작한 이후에는 어떤 버튼을 눌러도 멈추지 않는 문제가 발생했습니다. 결국 전원을 차단해야만 설비를 정지시킬 수 있었고, 생산 라인은 약 1시간 동안 멈추는 상황이 발생했습니다.
원인을 분석한 결과, SET Coil은 출력 상태를 유지하는 특성이 있기 때문에 반드시 RESET Coil과 함께 사용해야 한다는 기본 원칙을 놓친 것이었습니다.
이 사례는 PLC 초보자뿐 아니라 실무자도 자주 경험하는 실수 중 하나이며, 프로그램 작성 후에는 SET과 RESET의 쌍이 모두 존재하는지 반드시 확인하는 습관이 중요합니다.
자주 묻는 질문(Q&A)
Q1. Coil과 Contact의 차이는 무엇인가요?
A. Contact는 입력 조건을 판단하는 역할을 하고, Coil은 그 결과를 출력으로 전달하는 역할을 합니다.
Q2. Coil은 출력(P)에서만 사용할 수 있나요?
A. 아닙니다. 내부 릴레이(M), 타이머(T), 카운터(C) 등에도 Coil 형태를 사용할 수 있습니다.
Q3. SET과 일반 Coil의 차이는 무엇인가요?
A. 일반 Coil은 조건이 사라지면 OFF되지만, SET Coil은 조건이 사라져도 ON 상태를 유지하며 RESET 명령으로만 OFF됩니다.
Q4. 같은 Coil 주소를 여러 번 사용해도 되나요?
A. 권장되지 않습니다. 대부분의 PLC에서는 마지막에 실행된 Coil의 결과가 적용되어 예상치 못한 오동작이 발생할 수 있습니다.
Q5. 실무에서는 어떤 Coil을 가장 많이 사용하나요?
A. 일반 Coil이 가장 많이 사용되며, 설비 운전 유지가 필요한 경우에는 SET/RESET Coil과 내부 릴레이(M)를 조합하여 사용하는 경우가 많습니다.
마무리
Coil은 PLC 프로그래밍에서 가장 기본적이면서도 중요한 명령어입니다. 단순히 출력을 ON/OFF하는 기능으로 시작하지만, SET·RESET, 내부 릴레이, 자기유지 회로 등과 조합하면 복잡한 자동화 시스템도 안정적으로 구현할 수 있습니다.
PLC를 처음 배우는 단계라면 일반 Coil의 동작 원리를 충분히 이해한 뒤 SET과 RESET의 차이, 그리고 중복 Coil 사용 시 발생하는 문제까지 함께 익히는 것이 중요합니다. 이러한 기초를 탄탄히 다져두면 이후 타이머(Timer), 카운터(Counter), 인터록(Interlock)과 같은 고급 제어를 배우는 데도 큰 도움이 됩니다.