
PLC 프로그램에서는 센서 ON/OFF만 처리하는 것이 아니라 생산 수량 계산, 목표값 보정, 비율 계산, 속도 계산처럼 숫자를 직접 계산해야 하는 경우도 많습니다.
이때 사용하는 것이 PLC의 사칙연산 명령어입니다.
이번 PLC 기초 시리즈 14탄에서는 미쓰비시 PLC를 기준으로 덧셈, 뺄셈, 곱셈, 나눗셈 명령어의 기본 사용법과 실제 래더 프로그램 예제를 쉽게 정리해보겠습니다.
1. PLC 사칙연산 명령어란?
PLC 사칙연산 명령어는 데이터 레지스터에 저장된 숫자나 상수를 이용하여 계산하고 그 결과를 다시 PLC 내부 디바이스에 저장하는 기능입니다.
| 연산 | 의미 | 미쓰비시 명령 예 |
|---|---|---|
| 덧셈 | 두 값을 더함 | +P |
| 뺄셈 | 두 값의 차를 계산 | -P |
| 곱셈 | 두 값을 곱함 | *P |
| 나눗셈 | 값을 나누어 몫과 나머지를 계산 | /P |
블로그나 다른 PLC 브랜드에서는 이해하기 쉽게 ADD, SUB, MUL, DIV라고 표현하기도 하지만, 미쓰비시 Q시리즈 프로그램에서는 +, -, *, / 형태의 산술 연산 명령을 볼 수 있습니다.
2. PLC 덧셈 명령어 사용법
가장 기본적인 연산은 두 값을 더하는 덧셈입니다.
X0 ───── [ +P D0 K100 D10 ]
위 프로그램은 X0가 ON되는 순간 D0의 값에 100을 더한 결과를 D10에 저장하는 예입니다.
D0 = 200일 경우
200 + 100 = 300
D10 = 300
원본 D0 값은 그대로 유지되고 계산 결과만 D10에 저장됩니다.
덧셈 활용 예
- 생산수량 합계
- 보정값 추가
- 현재값에 설정값 더하기
- 여러 공정 생산량 합산
3. PLC 뺄셈 명령어 사용법
뺄셈은 현재값에서 다른 값을 빼거나 두 데이터의 차이를 계산할 때 사용합니다.
X1 ───── [ -P D0 K50 D11 ]
D0에 300이 저장되어 있다면 다음과 같이 계산됩니다.
300 - 50 = 250
D11 = 250
현재 생산수량과 목표수량의 차이, 위치 편차, 남은 수량 등을 계산할 때 활용할 수 있습니다.
4. PLC 곱셈 명령어 사용법
곱셈은 수량, 비율, 단위 환산 등에서 자주 사용됩니다.
X2 ───── [ *P K30 D0 D20 ]
예를 들어 D0가 2000이라면 다음과 같습니다.
30 × 2000 = 60000
여기서 중요한 점이 있습니다.
16비트 데이터 × 16비트 데이터의 곱셈 결과는 32비트가 필요할 수 있습니다.
미쓰비시 Q시리즈 공식 교육자료의 예에서는 결과 60000을 저장하기 위해 지정한 D10과 다음 디바이스 D11을 함께 사용하여 32비트 결과를 저장합니다.
따라서 곱셈 결과를 이후 MOV하거나 다른 연산에 사용할 때는 결과 데이터의 크기를 반드시 확인해야 합니다.
곱셈 활용 예
- 제품 수량 × 제품당 중량
- 펄스값 × 이동 거리
- 수량 × 단가
- 단위 환산
- 스케일 계산
5. PLC 나눗셈 명령어 사용법
나눗셈은 전체 수량을 일정 값으로 나누거나 비율과 평균값을 계산할 때 사용합니다.
X3 ───── [ /P D0 K600 D30 ]
예를 들어 D0가 2000이라면 PLC는 2000을 600으로 나눕니다.
미쓰비시의 16비트 BIN 나눗셈에서 워드 디바이스를 결과 저장 대상으로 사용할 경우 몫과 나머지를 함께 저장합니다.
일반적으로 지정한 결과 디바이스에는 몫이, 다음 디바이스에는 나머지가 저장되는 구조이므로 결과를 사용할 때 두 디바이스의 의미를 구분해야 합니다.
특히 0으로 나누는 프로그램은 작성하지 않도록 반드시 조건을 확인해야 합니다.
미쓰비시 매뉴얼에서도 0으로 나누기를 실행하면 연산 오류가 발생한다고 설명합니다.
6. + 와 +P는 무엇이 다를까?
미쓰비시 PLC 프로그램을 보다 보면 +와 +P처럼 뒤에 P가 붙은 명령어를 볼 수 있습니다.
P는 입력 조건이 OFF에서 ON으로 바뀌는 순간에 연산을 한 번 실행하는 펄스 실행 방식으로 이해하면 쉽습니다.
예를 들어 아래와 같이 일반 + 명령을 사용하고 입력 조건을 계속 ON 상태로 유지하면 스캔마다 계산이 반복될 수 있습니다.
X0 ───── [ + K1 D0 ]
반대로 한 번 눌렀을 때 D0를 1만 증가시키고 싶다면 펄스형 명령을 사용하는 것이 훨씬 안전합니다.
X0 ───── [ +P K1 D0 ]
미쓰비시 Q시리즈 교육자료에서도 반복 덧셈이나 뺄셈을 방지하기 위해 +P 또는 -P 사용을 설명하고 있습니다.
7. 사칙연산 명령어 차이 한눈에 보기
| 종류 | 계산 | 활용 예 |
|---|---|---|
| 덧셈 | A + B | 생산량 합산 |
| 뺄셈 | A - B | 목표값과 현재값 차이 |
| 곱셈 | A × B | 단위 환산·스케일 계산 |
| 나눗셈 | A ÷ B | 비율·평균 계산 |
8. PLC 사칙연산 실무 활용 예제
생산 목표까지 남은 수량 계산
D0에 목표 생산량 1000개, D1에 현재 생산량 750개가 저장되어 있다고 가정해보겠습니다.
D0 = 1000
D1 = 750
D0 - D1 = 250
계산 결과 250을 별도의 D 레지스터에 저장하면 HMI에서 남은 생산수량 250개처럼 표시할 수 있습니다.
제품 묶음 수량 계산
총 생산수량을 박스당 제품 수량으로 나누면 현재 몇 박스를 생산했는지 계산할 수도 있습니다.
이처럼 PLC 사칙연산은 데이터 레지스터와 HMI를 함께 사용할 때 활용도가 매우 높습니다.
9. PLC 계산값이 이상할 때 확인할 것
- D 레지스터에 실제로 어떤 값이 들어있는지 확인
- 16비트와 32비트 데이터 범위 확인
- 곱셈 결과가 1워드를 초과하는지 확인
- 나눗셈에서 몫과 나머지 저장 위치 확인
- 나누는 값이 0인지 확인
- 일반 명령과 펄스형 명령의 차이 확인
- 연산 순서가 의도한 순서와 같은지 확인
- GX Works2 모니터에서 연산 전후 D값 확인
특히 버튼을 한 번 눌렀는데 값이 계속 증가한다면 연산 명령이 매 스캔 실행되고 있는지 먼저 확인해보는 것이 좋습니다.
10. PLC 사칙연산 핵심 정리
덧셈 → 두 데이터를 더합니다.
뺄셈 → 두 데이터의 차이를 구합니다.
곱셈 → 두 값을 곱하며 결과 데이터 크기에 주의합니다.
나눗셈 → 몫과 나머지를 확인하고 0으로 나누지 않도록 합니다.
펄스형 명령 → 입력이 ON되는 순간 한 번만 계산해야 할 때 유용합니다.
PLC 사칙연산을 이해하면 단순 ON/OFF 제어를 넘어 생산량 계산, HMI 표시값 계산, 위치와 거리 계산 등 다양한 데이터 처리 프로그램을 만들 수 있습니다.
함께 보면 좋은 글
다음 글 예고
PLC 기초 시리즈 15탄
PLC INC·DEC 명령어 사용법|데이터 값을 1씩 증가·감소시키는 래더 프로그램
버튼이나 센서 입력이 들어올 때마다 데이터 값을 1씩 증가하거나 감소시키는 INC·DEC 명령어의 원리와 실무 활용 방법을 알아보겠습니다.
'PLC 기초' 카테고리의 다른 글
| PLC INC·DEC 명령어 사용법|미쓰비시 INCP·DECP 래더 프로그램 예제 (0) | 2026.09.09 |
|---|---|
| PLC 카운터란? CNT 명령어와 RST 사용법|미쓰비시 PLC 래더 프로그램 예제 (0) | 2026.09.09 |
| PLC 타이머란? TON·TOF·RTO 동작 원리와 래더 프로그램 예제 (0) | 2026.09.03 |
| PLC 비교 명령어 사용법|=, <>, >, <, >=, <= 조건과 래더 프로그램 예제 (0) | 2026.09.03 |
| PLC MOV·BMOV·FMOV 명령어 차이와 사용법|미쓰비시 PLC 데이터 전송 예제 (0) | 2026.09.03 |
댓글