PLC 프로그래밍에서 비교명령(Compare Instruction)은 입력값이나 센서값, 카운터값 등을 서로 비교하여 특정 조건이 만족되었을 때 다음 동작을 실행하도록 만드는 중요한 명령입니다.
자동화 설비에서는 단순히 모터를 ON/OFF하는 것보다 현재 값이 설정값보다 큰지, 작은지, 같은지를 판단하는 경우가 매우 많습니다. 따라서 PLC 프로그래밍을 제대로 이해하기 위해서는 비교명령을 반드시 알아두어야 합니다.
이번 PLC 프로그래밍 9편에서는 PLC에서 자주 사용하는 비교명령의 종류와 동작 원리, 실제 프로그램에서의 활용 방법을 알아보겠습니다.
참고로 여기에서 설명하는 PLC는 LS산전의 XGK모델을 기준으로 설명 합니다.
1. PLC 비교명령이란?
비교명령은 말 그대로 두 개 이상의 데이터를 비교하여 조건의 만족 여부를 판단하는 명령입니다.
예를 들어 온도 센서의 현재 온도가 50℃ 이상이면 냉각팬을 동작시키고, 30℃ 이하가 되면 냉각팬을 정지시키는 제어를 생각해 볼 수 있습니다.
이때 PLC는 다음과 같은 판단을 수행합니다.
현재 온도 ≥ 설정 온도
조건이 참(True)이면 냉각팬을 ON하고, 거짓(False)이면 OFF하는 방식입니다.
이처럼 비교명령은 온도, 압력, 위치, 속도, 수량, 카운터 값, 타이머 값 등 다양한 데이터를 기준으로 설비를 제어할 때 사용됩니다.
2. 대표적인 PLC 비교명령 종류
PLC 제조사와 소프트웨어에 따라 명령어 이름이나 사용 방법에는 차이가 있지만, 기본적인 비교 기능은 대부분 비슷합니다.
① = : 같다
= 는 두 값이 같은지 비교하는 명령입니다.
예를 들어 현재 카운터 값이 100과 같을 때 다음 동작을 실행하도록 설정할 수 있습니다.
현재값 = 100, 제품 생산 수량이 정확히 설정 수량에 도달했을 때 설비를 정지시키는 경우 등에 활용할 수 있습니다.
예) 제품 감지시 히터 온도가 정확히 180℃에 도달하고, 동시에 작업 배출 수량이 100개에 도달 했을때 경광등 출력 하고 리셋 버튼이 있어서 리셋이 가능하도록 하세요.

② <> : 같지 않다
<> 는 두 값이 서로 다른지를 판단합니다.
현재값 ≠ 설정값
정상적인 상태와 다른 값을 감지하거나 특정 조건에서 예외 처리를 해야 할 때 사용할 수 있습니다.
예) 목표 수량(D0)과 현재 생산 수량(D1)이 서로 다를 때 불량/작업 진행 중 경고등(P00020)을 소등하는 회로입니다

③ > : 크다
> 는 앞의 값이 뒤의 값보다 큰지를 비교합니다.
현재값 > 설정값
예) 압력(D0)이 10kgf 설정하고 압력센서(D1)이 10kg 이상일때에 경고등(P21)을 켜고 모터(P20)를 정지시키는 동작 입니다.
※ F0000 : 초기 전원 ON시 D10에 100값을 한번 쓰기 명령

④ < : 작다
< 는 앞의 값이 뒤의 값보다 작은지를 비교합니다.
현재값 < 설정값
예) 탱크스위치(P0)의 수위가 일정 수준보다 낮아졌을 때 펌프(P20)를 동작시키는데 자주 사용 됩니다.
※ _RUN : 초기 전원 ON시 D10에 100값을 한번 쓰기 명령

⑤ >= : 크거나 같다
>= 는 다음 조건을 판단합니다.
현재값 >= 설정값
예) 온도가 설정값 이상이 되었을 때 팬을 작동시키는 것처럼 기준값을 포함하는 제어에서 자주 사용됩니다.

⑥ <= : 작거나 같다
<= 는 다음 조건을 판단합니다.
현재값 <= 설정값
예) 수위가 최소 설정값 이하로 내려갔을 때 펌프를 작동시키는 경우 등에 활용할 수 있습니다.

3. 비교명령을 활용한 간단한 예제
예를 들어 생산라인에서 제품의 생산 수량을 관리한다고 가정해 보겠습니다.
목표 생산량이 100개이고 현재 카운터 값이 D100에 저장되어 있다면 다음과 같이 생각할 수 있습니다.
D100 >= 100
비교 결과가 참이 되면 생산 완료 비트를 ON시키고, 이를 이용하여 컨베이어나 생산 설비를 정지시킬 수 있습니다.
반대로 생산 수량이 100개보다 작다면 설비는 계속 동작하도록 구성할 수 있습니다.
이처럼 비교명령은 단독으로 사용하기보다는 출력 명령, 내부 릴레이, 타이머, 카운터 등의 제어 요소와 함께 사용하는 경우가 많습니다.
4. CMP 명령은 무엇일까?
PLC에서 비교와 관련하여 자주 접하게 되는 또 하나의 명령이 CMP(Compare)입니다.
CMP는 두 데이터를 비교한 결과를 여러 상태로 나누어 처리할 수 있도록 하는 방식입니다.
예를 들어 A값과 B값을 비교했을 때 결과는 크게 다음 세 가지로 구분할 수 있습니다.
- A > B : A가 B보다 크다
- A = B : A와 B가 같다
- A < B : A가 B보다 작다
따라서 단순히 하나의 조건만 판단하는 것이 아니라 크다, 같다, 작다라는 세 가지 상태를 기준으로 서로 다른 동작을 수행해야 하는 경우 CMP 명령을 활용하면 편리합니다.
다만 CMP의 실제 사용법과 결과가 저장되는 디바이스는 PLC 제조사와 CPU에 따라 다르므로 사용하는 PLC의 매뉴얼을 함께 확인하는 것이 좋습니다.
1. CMP 명령어의 동작 방식
- 기본 형식: [ CMP [소스1] [소스2] [출력디바이스] ]
- 동작 원리:
- 소스 1(S1)과 소스 2(S2)를 비교합니다.
- 결과에 따라 연속된 3개의 비트(출력 디바이스 기준)가 각각 ON/OFF 됩니다.
[출력 디바이스 할당 예시]
만약 출력 디바이스를 M10으로 지정했다면 내부적으로 3개의 메모리가 할당됩니다.
- M10 (S1 > S2): 첫 번째 값이 두 번째 값보다 클 때 ON
- M11 (S1 = S2): 두 값이 같을 때 ON (EQU와 동일)
- M12 (S1 < S2): 첫 번째 값이 두 번째 값보다 작을 때 ON
2. 프로그램 예제
현재 온도(D0)를 기준 설정값(100)과 비교하여, 온도가 낮으면 가열기(P0000), 같으면 유지(P0001), 높으면 냉각기(P0002)를 동작시키는 회로

5. PLC 비교명령 사용 시 주의할 점
비교명령을 사용할 때는 데이터 타입과 데이터 크기를 확인해야 합니다.
예를 들어 정수값을 비교하는지, 실수값을 비교하는지에 따라 사용하는 명령이 달라질 수 있습니다.
특히 아날로그 센서값이나 온도처럼 소수점이 포함된 값을 사용하는 경우에는 정수와 실수 데이터의 차이를 반드시 확인해야 합니다.
또한 비교 대상이 상수인지, 데이터 레지스터인지, 타이머·카운터의 현재값인지도 확인해야 합니다.
PLC 제조사에 따라 명령어 표기와 프로그램 작성 방식이 다르기 때문에 Mitsubishi, LS ELECTRIC, Siemens, Omron 등 사용하는 PLC의 명령어 체계를 기준으로 학습하는 것이 중요합니다.
6. 비교명령은 자동화 제어의 기본이다
PLC에서 비교명령은 단순한 숫자 비교 기능처럼 보이지만 실제 자동화 설비에서는 매우 중요한 역할을 합니다.
온도 제어, 수위 제어, 압력 제어, 생산 수량 관리, 위치 제어, 속도 제어, 알람 발생, 설비 인터록 등 다양한 분야에서 비교명령이 사용됩니다.
특히 PLC 프로그램이 복잡해질수록 단순한 접점 논리만으로 모든 제어를 구성하기 어렵기 때문에 비교명령을 적절하게 활용하는 능력이 중요합니다.
이번 글에서는 PLC 비교명령의 기본 개념과 =, <, <>, >, >=, <=, CMP 명령에 대해 알아보았습니다.
다음 PLC 프로그래밍에서는 비교명령과 함께 자주 사용되는 데이터 이동 및 연산 명령에 대해 알아보겠습니다.
PLC를 처음 공부하고 있다면 명령어의 이름만 암기하기보다는 "어떤 값을 비교하고, 비교 결과에 따라 어떤 동작을 할 것인가?"를 생각하면서 프로그램을 작성해 보는 것이 가장 효과적입니다.
'산업 자동화 기술(PLC편) > PLC프로그래밍' 카테고리의 다른 글
| [PLC프로그래밍 11편] PLC 산술연산 완벽 이해하기 (0) | 2026.08.12 |
|---|---|
| [PLC프로그래밍 10편] PLC 이동명령(MOV) 완벽 정리 – LS산전 XGT/XGK 기준 (0) | 2026.08.11 |
| [PLC프로그래밍 8편] PLC 데이터레지스터(D)란? PLC D레지스터 개념과 활용 방법 (0) | 2026.08.09 |
| [PLC 프로그래밍 7편 ] PLC 내부릴레이(M) 완벽 이해하기 (0) | 2026.08.08 |
| [PLC 프로그래밍 6편 ] PLC Timer(타이머) 완벽 이해하기 – TON, TOF, TP 사용법과 실무 예제 (0) | 2026.08.05 |