[PLC실무 1편 ] PLC 모터제어 하기
PLC를 처음 공부할 때는 기본 명령어와 자기유지 회로부터 시작하는 경우가 많습니다. 하지만 실제 자동화 설비 현장에서는 단순히 램프를 ON/OFF 하는 것보다 모터를 안전하고 정확하게 운전하는 제어가 훨씬 중요합니다.
이번 PLC실무 1편에서는 LS산전, 현재의 LS ELECTRIC XGK PLC를 기준으로 모터제어의 기본 개념부터 실제 현장에서 사용하는 운전회로, 자기유지, 정지조건, 비상정지, 과부하 보호, 정·역회전 제어까지 단계적으로 알아보겠습니다.
※ 본 내용은 XGK PLC의 래더 프로그램을 이해하기 위한 교육용 예제입니다. 실제 설비에서는 모터 정격, 전원 계통, 차단기, 전자접촉기, 과부하계전기, 안전릴레이 및 비상정지 회로 등을 설비 기준에 맞게 별도로 설계해야 합니다.
참고로 LS ELECTRIC 프로그래 개발툴은 XG5000이며 무료 다운로드 사용 가능 하며, 다운로드는 LS ELECTRIC 홈페이지에서 직접 다운로드 하시면 됩니다.
1. PLC에서 모터제어를 하는 이유
산업현장에서 사용하는 모터는 컨베이어, 펌프, 팬, 압축기, 믹서, 리프트 등 다양한 설비의 동력원으로 사용됩니다.
예를 들어 컨베이어 모터를 생각해 보겠습니다.
작업자가 START 버튼을 누르면 모터가 동작하고, STOP 버튼을 누르면 모터가 정지해야 합니다. 그런데 실제 현장에서는 이것만으로 끝나지 않습니다.
모터가 운전 중 과부하가 발생하면 정지해야 하고, 비상정지 버튼을 누르면 즉시 설비가 안전상태로 전환되어야 합니다. 또한 공정에 따라 다른 설비가 동작하고 있을 때만 모터를 운전할 수 있도록 인터록을 구성해야 할 수도 있습니다.
즉 실제 모터제어는 다음과 같은 구조로 생각하는 것이 좋습니다.
운전명령 + 운전조건 + 안전조건 + 인터록 → 모터 운전
PLC는 이러한 조건을 논리적으로 판단하여 모터를 구동하기 위한 출력 신호를 만들어 줍니다.
2. 모터제어의 기본 구성
XGK PLC를 이용한 일반적인 모터제어 시스템은 다음과 같은 구조로 생각할 수 있습니다.

중요한 점은 PLC 출력이 모터의 전력을 직접 공급하는 것이 아니라는 것입니다.
일반적인 구성에서는 PLC의 출력이 전자접촉기(Magnetic Contactor)의 코일 등을 제어하고, 전자접촉기가 실제 모터의 전원 회로를 개폐하는 방식으로 구성합니다.
따라서 PLC 제어회로와 모터 주회로를 구분해서 이해해야 합니다.
3. 가장 기본적인 모터 START/STOP 회로
가장 먼저 만들어 볼 프로그램은 START와 STOP 버튼을 이용한 모터 운전회로입니다.
예를 들어 다음과 같이 장치를 설정해 보겠습니다.
- P00000 : START 버튼
- P00001 : STOP 버튼
- P00020 : 모터 운전 출력
- P00002 : 과부하 이상
- P00003 : 운전 허가 조건
여기서 P00000을 START 입력, P00001을 STOP 입력, P00020을 모터 운전 출력으로 사용한다고 가정하겠습니다.
기본적인 동작은 다음과 같습니다.
START 버튼 ON → P00020 ON → 모터 운전
그리고 STOP 버튼을 누르면, STOP 버튼 → P00020 OFF → 모터 정지가 됩니다.
하지만 여기서 한 가지 문제가 있습니다.
START 버튼에서 손을 떼면 입력 P00000이 OFF가 되기 때문에 모터 출력 P00000도 OFF되어 버립니다.
모터를 계속 운전하려면 자기유지 회로가 필요합니다.
4. 모터제어의 핵심, 자기유지
PLC 모터제어에서 반드시 이해해야 하는 것이 바로 **자기유지(Self Holding)**입니다.
전기 시퀀스에서 사용하는 자기유지 회로와 PLC 래더의 개념은 매우 비슷합니다.
기본적인 논리는 다음과 같습니다.
START OR 자기유지 접점 → STOP → 출력
개념적으로 표현하면 다음과 같은 구조입니다.

START 버튼을 눌러 P00000이 ON되면 P00020의 자기 접점도 ON됩니다.
그러면 START 버튼에서 손을 떼더라도 P00020의 자기 접점이 회로를 유지해 주기 때문에 P00020이 계속 ON 상태로 유지됩니다.
즉, START → P00020 ON → P00020 자기유지 → 계속 운전이라는 흐름입니다.
이것이 PLC 모터제어에서 가장 기본적인 패턴입니다.
5. STOP 버튼은 어떻게 구성할까?
모터를 정지시키려면 STOP 조건이 필요합니다.
일반적인 제어 개념에서는 STOP 버튼을 정상상태에서 닫힌 접점(NC) 개념으로 구성하여 정지 명령이 발생했을 때 운전회로를 끊는 방식이 많이 사용됩니다.
PLC 프로그램에서는 사용하는 입력 모듈과 현장 배선 방식에 따라 논리 상태를 확인해야 합니다.
따라서 중요한 것은 단순히 "STOP은 P00001이다"라고 외우는 것이 아니라,
실제 배선에서 STOP 버튼을 눌렀을 때 PLC 입력 LED와 디바이스 상태가 어떻게 변하는지 확인하는 것입니다.
XG5000에서는 PLC 프로그램 작성뿐 아니라 모니터링과 디버깅이 가능하기 때문에 실제 현장에서는 입력 상태와 출력 상태를 확인하면서 프로그램을 점검할 수 있습니다.
6. 과부하 보호를 반드시 고려해야 한다
모터제어에서 START와 STOP만큼 중요한 것이 과부하 보호입니다.
모터가 기계적인 문제로 지나치게 큰 부하를 받거나 전기적인 이상이 발생하면 모터에 과도한 전류가 흐를 수 있습니다.
이때 사용하는 대표적인 장치가 **과부하계전기(Overload Relay)**입니다.
예를 들어 과부하 발생 신호를 P00002로 입력한다고 가정하면 PLC 프로그램에서는 다음과 같은 조건을 추가할 수 있습니다.
과부하 정상 + 운전조건 정상 + START → 모터 운전 반대로 과부하가 발생하면 모터 운전을 차단하도록 구성할 수 있습니다.
즉 모터 운전 조건을 단순히, START = 운전으로 구성하는 것이 아니라,START AND 과부하 정상 AND 인터록 정상 = 운전
이라는 구조로 만들어야 합니다.
이러한 조건 구성이 실제 PLC 실무에서 매우 중요합니다.
7. 인터록이란 무엇인가?
**인터록(Interlock)**은 특정 조건에서는 설비가 동작하지 못하도록 제한하는 기능입니다.
예를 들어 컨베이어 A와 컨베이어 B가 있다고 가정해 보겠습니다.
공정상 A 컨베이어가 먼저 운전된 상태에서만 B 컨베이어가 운전되어야 한다면 B 컨베이어의 운전조건에 A 컨베이어의 운전상태를 포함할 수 있습니다.
또 다른 예로 정회전과 역회전을 사용하는 모터라면 정회전 출력과 역회전 출력이 동시에 ON되지 않도록 해야 합니다.
이 경우,정회전 운전 ↔ 역회전 운전사이에 서로 상대방의 운전을 차단하는 인터록을 구성합니다.
모터제어에서는 이러한 인터록이 매우 중요합니다.
8. 정·역회전 모터제어
현장에서는 모터를 한 방향으로만 운전하는 경우도 있지만, 설비에 따라 정회전과 역회전을 모두 사용하기도 합니다.
예를 들어 다음과 같이 구성할 수 있습니다.
- P00000 : 정회전 START
- P00001 : 역회전 START
- P00002 : STOP
- P00020 : 정회전 출력
- P00021 : 역회전 출력
정회전 버튼을 누르면 P00020이 ON되고, 역회전 버튼을 누르면 P00021이 ON되는 구조입니다.
하지만 여기서 가장 중요한 문제가 있습니다.
P00020과 P00021이 동시에 ON되면 안 됩니다.
따라서 정회전 회로에는 역회전 출력이 OFF일 때만 운전할 수 있도록 조건을 넣고, 역회전 회로에는 정회전 출력이 OFF일 때만 운전할 수 있도록 조건을 넣어야 합니다.
개념적으로,
정회전 = 정회전 START AND NOT 역회전
역회전 = 역회전 START AND NOT 정회전
과 같은 인터록을 구성할 수 있습니다.
다만 실제 정·역회전 회로에서는 PLC 프로그램상의 논리적 인터록뿐 아니라 전자접촉기 측에서도 상호 인터록을 구성하는 등 하드웨어적인 안전대책을 함께 검토해야 합니다.

9. 모터 운전 상태를 표시해 보자
PLC 프로그램을 만들었다면 모터가 실제로 운전 중인지 작업자가 쉽게 확인할 수 있도록 표시 기능을 추가하는 것이 좋습니다.
예를 들어,
- P00020 : 모터 운전
- P00021 : 운전 표시 램프
- P00022 : 이상 표시 램프
등으로 구성할 수 있습니다.
P00020이 ON되면 운전 표시 램프를 ON시키고, 과부하가 발생하면 이상 램프를 ON시키는 방식입니다.
HMI를 사용하는 설비라면 PLC의 내부 디바이스나 상태 정보를 HMI 화면에 표시할 수도 있습니다.
이렇게 하면 작업자는 현장에서 단순히 모터가 멈췄다는 사실뿐만 아니라 운전 중인지, 정지 상태인지, 이상이 발생했는지를 쉽게 확인할 수 있습니다.
10. XG5000을 이용한 실무적인 점검
XGK PLC 프로그램을 작성할 때는 XG5000을 기본적인 엔지니어링 도구로 사용할 수 있습니다.
LS ELECTRIC은 XGK/XGB용 XG5000 사용자 매뉴얼을 별도로 제공하고 있으며, XG5000은 프로그램 작성뿐 아니라 온라인 기능, 모니터링, 디버깅 등에 사용됩니다.
모터제어 프로그램을 작성한 후에는 다음과 같은 순서로 확인하는 것이 좋습니다.
① START 입력 확인
START 버튼을 눌렀을 때 해당 P 디바이스가 정상적으로 ON되는지 확인합니다.
② STOP 입력 확인
STOP 버튼의 실제 배선 논리와 PLC 입력 상태를 확인합니다.
③ 운전 출력 확인
조건이 모두 만족되었을 때 P00000이 정상적으로 ON되는지 확인합니다.
④ 자기유지 확인
START 버튼을 놓은 후에도 P00000이 계속 유지되는지 확인합니다.
⑤ 과부하 입력 확인
과부하 조건이 발생했을 때 운전 출력이 적절하게 차단되는지 확인합니다.
⑥ 인터록 확인
다른 설비의 조건이 만족되지 않았을 때 모터가 운전하지 않는지 확인합니다.
이러한 방식으로 하나씩 확인하면 프로그램의 문제를 훨씬 쉽게 찾을 수 있습니다.
11. 실제 현장에서 자주 사용하는 모터제어 구조
실무에서는 다음과 같은 조건을 많이 사용합니다.
모터 운전 = START + 운전허가 + 안전조건 + 인터록 + 이상없음
예를 들어 컨베이어 모터라면,
- START 버튼 ON
- 비상정지 정상
- 과부하 정상
- 안전문 닫힘
- 상위 공정 운전 허가
- 하위 공정 준비 완료
등의 조건이 모두 만족되어야 모터가 운전되도록 만들 수 있습니다.
이러한 구조로 프로그램을 작성하면 단순한 START/STOP 프로그램보다 훨씬 안정적인 설비 제어가 가능합니다.
12. 모터제어에서 가장 중요한 것은 안전
모터제어를 공부할 때 프로그램 작성법만 생각하면 안 됩니다.
모터는 실제로 회전하는 기계장치를 움직이기 때문에 프로그램 오류가 사람이나 설비에 위험을 줄 수 있습니다.
특히 비상정지, 안전문, 과부하, 정·역회전, 브레이크, 안전릴레이 등의 기능은 단순한 PLC 논리만으로 해결해서는 안 되는 경우가 있습니다.
설비의 위험도와 관련 규격에 따라 적절한 안전회로를 구성해야 하며, PLC의 일반 출력만을 안전기능의 유일한 수단으로 사용해서는 안 됩니다.
따라서 실무에서는 PLC 제어회로와 안전회로를 구분해서 설계하는 습관이 중요합니다.
13. PLC 모터제어를 공부할 때 꼭 익혀야 할 것
이번 내용을 공부하면서 다음 항목을 순서대로 익혀보시기 바랍니다.
첫 번째는 입력과 출력의 관계입니다.
START 버튼이 어떤 입력 디바이스에 연결되고, 모터 운전 출력이 어떤 P 디바이스에 연결되는지를 이해해야 합니다.
두 번째는 자기유지입니다.
START 버튼을 한 번 눌렀을 때 모터가 계속 운전되는 원리를 이해해야 합니다.
세 번째는 정지조건입니다.
STOP, 과부하, 이상조건 등이 발생했을 때 어떻게 출력을 OFF시키는지 이해해야 합니다.
네 번째는 인터록입니다.
여러 모터가 동시에 운전하면 안 되는 상황이나 특정 조건에서만 운전해야 하는 상황을 프로그램으로 제한할 수 있어야 합니다.
다섯 번째는 모니터링과 디버깅입니다.
XG5000을 이용해 실제 입력과 출력의 상태를 확인하면서 프로그램이 의도대로 동작하는지 점검하는 능력이 필요합니다.
마무리
이번 PLC실무 1편에서는 LS산전 XGK PLC를 기준으로 모터제어의 기본 개념을 살펴보았습니다.
가장 기본적인 모터제어는 START와 STOP에서 시작하지만, 실제 현장에서는 여기에 자기유지, 과부하 보호, 인터록, 이상신호, 운전표시 등의 조건이 추가됩니다.
핵심적인 흐름을 다시 정리하면 다음과 같습니다.
START 입력 → 운전조건 확인 → 자기유지 → PLC 출력 ON → 전자접촉기 동작 → 모터 운전
그리고, STOP / 이상 / 과부하 / 인터록 해제 → PLC 출력 OFF → 모터 정지
라는 구조로 이해할 수 있습니다.
LS ELECTRIC에서 제공하는 XGK 관련 자료에서도 XGK CPU와 XG5000, XGK/XGB 명령어 및 프로그래밍 자료를 별도로 제공하고 있으므로 실습할 때는 사용 중인 CPU와 XG5000 버전에 맞는 공식 매뉴얼을 함께 확인하는 것이 좋습니다.
PLC를 처음 배울 때는 명령어를 많이 외우는 것보다 실제 설비가 어떻게 움직이는지를 생각하면서 래더를 작성하는 것이 중요합니다.
특히 모터제어는 PLC 실무의 가장 기본이 되는 분야이기 때문에, XGK로 START/STOP 자기유지 회로부터 직접 만들어 보고 이후 정·역회전, 타이머를 이용한 순차제어, 여러 대의 모터 인터록 제어까지 단계적으로 확장해 보시면 좋습니다.
다음 PLC실무에서는 이러한 기본 모터제어를 바탕으로 타이머를 이용한 모터 순차제어를 구성해 보면 PLC 프로그램의 실무적인 흐름을 더욱 쉽게 이해할 수 있습니다.