본문 바로가기
산업 자동화 기술(PLC편)/PLC프로그래밍

[PLC프로그래밍 11편] PLC 산술연산 완벽 이해하기

by eins-solutionlab 2026. 8. 12.

PLC 프로그래밍을 공부하다 보면 단순히 입력 신호를 받아 출력 신호를 ON/OFF 하는 것만으로는 부족하다는 것을 알게 됩니다. 실제 자동화 설비에서는 센서로 측정한 값을 계산하고, 생산량을 누적하거나, 온도와 압력 등의 데이터를 비교하며, 특정 조건에 따라 설비를 제어해야 합니다.

이때 꼭 필요한 기능이 바로 **산술연산(Arithmetic Operation)**입니다.

PLC의 산술연산은 일반적인 프로그래밍 언어에서 사용하는 덧셈, 뺄셈, 곱셈, 나눗셈과 같은 계산을 PLC 내부에서 수행하는 기능입니다. 이번 글에서는 PLC에서 사용하는 대표적인 산술연산의 종류와 사용 방법, 데이터 타입, 주의사항, 그리고 실제 자동화 현장에서 활용할 수 있는 예제까지 차근차근 알아보겠습니다.

1. PLC에서 산술연산이 필요한 이유

PLC는 기본적으로 입력(Input)을 받아 프로그램을 실행하고 출력(Output)을 제어하는 장치입니다.

예를 들어 컨베이어를 통해 제품이 이동하고 있고 센서가 제품을 감지한다고 생각해 보겠습니다.

센서가 제품을 하나 감지할 때마다 생산수량을 1씩 증가시키려면 다음과 같은 계산이 필요합니다.

현재 생산수량 = 기존 생산수량 + 1

또 다른 예로 탱크의 전체 용량이 1,000L이고 현재 수위가 60%라면 실제 액체의 양을 계산하기 위해 다음과 같은 산술연산을 사용할 수 있습니다.

현재 용량 = 전체 용량 × 수위(%) ÷ 100

이처럼 PLC에서는 단순한 ON/OFF 제어뿐 아니라 실제 값을 계산하고 가공하는 과정이 매우 중요합니다.

특히 다음과 같은 작업에서 산술연산이 자주 사용됩니다.

  • 생산수량 계산
  • 온도 및 압력 데이터 보정
  • 아날로그 센서값 스케일링
  • 탱크의 액체량 계산
  • 모터 속도 계산
  • 생산시간 계산
  • 원료 투입량 계산
  • 전력 및 에너지 사용량 계산
  • 위치 및 이동거리 계산

따라서 산술연산은 PLC 프로그램을 작성할 때 반드시 이해해야 하는 기본 기능이라고 할 수 있습니다.

2. PLC에서 사용하는 대표적인 산술연산

PLC에서 가장 기본적으로 사용하는 산술연산은 다음과 같습니다.

연산의미예
ADD 덧셈 10 + 5 = 15
SUB 뺄셈 10 - 5 = 5
MUL 곱셈 10 × 5 = 50
DIV 나눗셈 10 ÷ 5 = 2
MOD 나머지 10 ÷ 3 → 나머지 1

PLC 제조사와 프로그래밍 소프트웨어에 따라 명령어 이름이나 입력 형식에는 차이가 있을 수 있지만, 기본적인 개념은 동일합니다.

3. ADD 연산 – 덧셈

가장 먼저 알아볼 연산은 ADD입니다.

ADD는 두 개 이상의 값을 더하는 연산입니다.

예를 들어 다음과 같은 계산을 한다고 가정해 보겠습니다.

10 + 20 = 30

PLC에서는 입력값 A와 B를 더한 후 결과값을 별도의 메모리 영역에 저장하는 방식으로 사용할 수 있습니다.

예를 들어 개념적으로 다음과 같이 표현할 수 있습니다.

A + B → 결과값

A에 10이 저장되어 있고 B에 20이 저장되어 있다면 ADD 연산 결과는 30이 됩니다.

실제 현장에서는 생산량 누계에서 자주 활용됩니다.

예를 들어 현재 생산량이 1,000개이고 새로운 생산량이 250개라면,

1,000 + 250 = 1,250개

가 됩니다.

이런 방식으로 여러 공정에서 발생한 생산량을 합산하거나 일일 생산량과 누적 생산량을 계산할 수 있습니다.

4. SUB 연산 – 뺄셈

SUB는 두 값을 빼는 연산입니다.

예를 들어,

100 - 30 = 70

이라는 계산을 수행할 수 있습니다.

자동화 설비에서는 재고량이나 잔량을 계산할 때 많이 사용됩니다.

예를 들어 저장탱크에 원료가 500kg 들어 있고 120kg을 사용했다면 남은 양은 다음과 같이 계산할 수 있습니다.

500 - 120 = 380kg

또한 목표 생산량에서 현재 생산량을 빼서 앞으로 생산해야 하는 수량을 계산하는 것도 가능합니다.

목표 생산량이 10,000개이고 현재 생산량이 7,500개라면,

10,000 - 7,500 = 2,500개

이므로 앞으로 2,500개를 더 생산해야 합니다.

5. MUL 연산 – 곱셈

MUL은 곱셈을 수행하는 명령입니다.

예를 들어,

10 × 5 = 50

이라는 계산을 할 수 있습니다.

PLC에서는 제품의 수량과 개당 무게를 곱해 전체 무게를 계산하는 경우 등에 사용할 수 있습니다.

제품 1개의 무게가 2.5kg이고 현재 생산된 제품이 100개라면 전체 무게는,

2.5 × 100 = 250kg

이 됩니다.

또한 생산속도, 거리, 시간 등을 이용한 계산에도 곱셈 연산이 활용됩니다.

6. DIV 연산 – 나눗셈

DIV는 나눗셈을 수행합니다.

예를 들어,

100 ÷ 4 = 25

와 같은 계산이 가능합니다.

PLC에서는 평균값을 계산하거나 비율을 구할 때 매우 자주 사용됩니다.

예를 들어 1시간 동안 600개의 제품을 생산했다면 평균 생산속도는,

600 ÷ 60 = 분당 10개

가 됩니다.

또한 아날로그 센서값을 실제 공정값으로 변환하는 스케일링 과정에서도 나눗셈이 자주 사용됩니다.

다만 DIV 연산에서 가장 주의해야 할 부분은 0으로 나누는 상황입니다.

분모가 0이 되면 정상적인 계산이 불가능하기 때문에 프로그램에서 반드시 사전에 조건을 확인하는 것이 좋습니다.

예를 들어 나누는 값이 0보다 큰 경우에만 DIV 연산을 실행하도록 조건을 구성할 수 있습니다.

7. MOD 연산 – 나머지 계산

PLC에 따라 제공되는 명령어나 지원 방식에는 차이가 있지만, MOD는 나눗셈의 나머지를 구하는 연산입니다.

예를 들어,

10 ÷ 3 = 3 … 나머지 1

이므로 MOD 결과는 1입니다.

MOD는 단순한 계산처럼 보이지만 자동화 설비에서는 상당히 유용하게 사용할 수 있습니다.

예를 들어 제품을 3개씩 묶어서 포장한다고 가정해 보겠습니다.

현재 생산수량이 10개라면,

10 MOD 3 = 1

입니다.

즉 3개 단위로 포장하고 1개가 남았다는 의미로 활용할 수 있습니다.

또한 홀수/짝수 판별, 일정 개수마다 특정 동작 실행, 그룹 단위 생산관리 등에도 응용할 수 있습니다.

산술연산 사용 예제 

- P0000A 스위치를 ON 시키면 D00020 과 D00021에 저장된 데이터를 부호있는 십진 사칙연산을수행하여 그 결과를저장 합니다.

8. 정수와 실수의 차이

PLC 산술연산에서 매우 중요한 부분 중 하나가 데이터 타입입니다.

대표적으로 정수형과 실수형 데이터가 있습니다.

예를 들어 정수 데이터에서는 다음과 같은 값을 사용할 수 있습니다.

10, 20, 100, 500

반면 실수 데이터는,

10.5, 25.3, 100.75

처럼 소수점을 포함할 수 있습니다.

이 차이는 실제 계산 결과에 큰 영향을 줍니다.

예를 들어 5를 2로 나누면 수학적으로 결과는 2.5입니다.

하지만 정수형 데이터만 사용하는 상황에서는 PLC의 데이터 타입 및 명령어 처리 방식에 따라 소수 부분이 표현되지 않을 수 있습니다.

따라서 온도, 압력, 유량, 무게 등 소수점이 필요한 데이터를 처리할 때는 실수형 데이터의 사용 여부를 반드시 확인해야 합니다.

9. 아날로그 신호와 산술연산

PLC 산술연산이 특히 많이 사용되는 분야가 바로 아날로그 신호 처리입니다.

PLC가 아날로그 센서로부터 데이터를 받으면 센서의 실제 물리량이 PLC 내부에서 바로 섭씨 온도나 압력값으로 들어오는 것이 아니라 특정 디지털 값으로 변환되어 들어오는 경우가 많습니다.

예를 들어 어떤 센서의 입력 범위가 0~10V이고 측정 범위가 0~100℃라고 가정해 보겠습니다.

센서에서 5V가 입력되었다면 선형적인 조건에서는 약 50℃에 해당합니다.

이러한 변환에는 곱셈과 나눗셈 등의 산술연산이 사용됩니다.

개념적으로는 다음과 같은 형태입니다.

실제값 = 입력값 × 측정범위 ÷ 입력범위

예를 들어 입력값을 50%, 측정범위를 100이라고 하면,

50 × 100 ÷ 100 = 50

이라는 방식으로 실제값을 계산할 수 있습니다.

물론 실제 PLC에서는 아날로그 입력 모듈의 원시값 범위와 사용하는 명령어에 따라 계산식이 달라질 수 있으므로 사용 중인 PLC의 매뉴얼을 확인해야 합니다.

10. 산술연산에서 중요한 것은 계산 순서

PLC 프로그램을 작성할 때는 단순히 계산식을 입력하는 것뿐만 아니라 계산 순서도 중요합니다.

예를 들어 다음과 같은 계산이 있다고 가정해 보겠습니다.

10 + 20 × 2

일반적인 수학에서는 곱셈을 먼저 계산하므로 결과는 50입니다.

하지만 PLC 프로그램에서 여러 산술연산을 단계별로 실행한다면 명령어의 실행 순서와 결과 저장 위치를 정확하게 확인해야 합니다.

특히 복잡한 계산식을 한 번에 처리하기보다는,

  1. 필요한 값을 먼저 계산하고
  2. 중간 결과를 저장한 후
  3. 다음 계산을 수행하고
  4. 최종 결과를 저장하는 방식

으로 구성하면 프로그램을 이해하고 유지보수하기가 쉬워집니다.

11. 산술연산과 인터록 조건을 함께 사용하기

산술연산은 단독으로 사용하기보다는 비교 명령이나 조건문과 함께 사용하는 경우가 많습니다.

예를 들어 생산 목표가 1,000개이고 현재 생산량이 1,000개 이상이 되면 컨베이어를 정지한다고 가정해 보겠습니다.

PLC 프로그램에서는 먼저 생산량을 계속 누적하고, 그 값을 목표값과 비교합니다.

현재 생산량 ≥ 목표 생산량

이라는 조건이 참이 되면 생산 완료 신호를 발생시키고 설비를 정지시킬 수 있습니다.

이처럼 실제 PLC 프로그램에서는 다음과 같은 흐름이 자주 등장합니다.

입력 → 산술연산 → 비교연산 → 조건판단 → 출력제어

따라서 산술연산을 제대로 이해하면 이후 비교연산, 데이터 처리, 아날로그 제어 등을 공부할 때도 큰 도움이 됩니다.

12. 산술연산 프로그램 작성 시 주의할 점

산술연산을 사용할 때는 몇 가지 주의사항이 있습니다.

첫 번째, 데이터 타입을 확인해야 합니다.

INT, DINT, REAL 등 사용하는 데이터 타입에 따라 저장할 수 있는 값의 범위와 계산 방식이 달라질 수 있습니다.

두 번째, 오버플로를 주의해야 합니다.

너무 큰 값을 작은 데이터 타입에 저장하면 허용 범위를 초과할 수 있습니다.

예를 들어 누적 생산량처럼 계속 증가하는 값은 충분한 데이터 범위를 가진 데이터 타입을 선택하는 것이 좋습니다.

세 번째, 0으로 나누지 않도록 해야 합니다.

DIV 연산을 사용할 경우 분모가 0이 될 가능성이 있는지 반드시 확인해야 합니다.

네 번째, 소수점 처리에 주의해야 합니다.

실수 계산이 필요한 상황에서 정수형 데이터를 사용하면 원하는 결과가 나오지 않을 수 있습니다.

다섯 번째, 계산 결과를 어디에 저장하는지 확인해야 합니다.

산술연산의 결과가 기존 데이터를 덮어쓰지 않도록 메모리 영역을 적절하게 구성하는 것도 중요합니다.

13. 실전 예제 – 생산량 계산

간단한 실전 예제를 살펴보겠습니다.

제품 감지 센서가 제품 하나를 감지할 때마다 생산량을 1 증가시키고, 하루 목표 생산량이 5,000개라고 가정하겠습니다.

기본적인 개념은 다음과 같습니다.

현재 생산량 = 현재 생산량 + 1

제품이 감지될 때마다 ADD 연산을 수행하여 생산량을 증가시킵니다.

그리고 현재 생산량이 5,000 이상이 되면 생산 완료 비트를 ON시키고 설비를 정지시킬 수 있습니다.

이 프로그램을 구성할 때는 센서가 한 번 감지되었을 때 ADD가 여러 스캔에서 반복 실행되지 않도록 상승에지(One Shot) 또는 펄스 처리를 함께 고려하는 것이 중요합니다.

즉 단순히 센서 입력이 ON이라는 조건만 가지고 생산량을 증가시키면 센서가 ON되어 있는 동안 PLC 스캔마다 값이 증가할 수 있습니다.

따라서 실제 설비에서는 제품 1개를 정확히 1회 카운트하도록 프로그램을 구성해야 합니다.

 

14. 산술연산은 자동화의 핵심 기능

PLC의 산술연산은 처음 배울 때는 단순히 덧셈, 뺄셈, 곱셈, 나눗셈 정도로 생각하기 쉽습니다.

하지만 실제 현장에서는 산술연산이 매우 다양한 형태로 활용됩니다.

센서값을 실제 단위로 변환하고, 생산량을 계산하고, 설비의 속도를 계산하며, 목표값과 현재값의 차이를 구하고, 공정 데이터를 보정하는 등 자동화 시스템의 수많은 기능에 산술연산이 들어갑니다.

특히 ADD, SUB, MUL, DIV 네 가지 기본 연산을 확실하게 이해해 두면 이후 PLC 데이터 처리 능력을 크게 향상시킬 수 있습니다.

또한 산술연산 자체만 공부하기보다는 데이터 타입 → 산술연산 → 비교연산 → 조건처리 → 출력제어의 흐름으로 이해하는 것이 좋습니다.

마무리

이번 PLC프로그래밍 11편에서는 PLC에서 사용하는 산술연산에 대해 알아보았습니다.

정리하면 PLC에서 대표적으로 사용하는 산술연산은 다음과 같습니다.

  • ADD : 덧셈
  • SUB : 뺄셈
  • MUL : 곱셈
  • DIV : 나눗셈
  • MOD : 나머지 계산

산술연산은 단순한 숫자 계산을 위한 기능이 아니라 실제 자동화 설비의 데이터를 처리하고 제어하기 위한 중요한 기본 기능입니다.

특히 생산량 누계, 아날로그 센서 스케일링, 온도 및 압력 보정, 속도 계산, 잔량 계산 등 다양한 현장 업무에서 활용되기 때문에 PLC 프로그래밍을 공부한다면 반드시 익혀야 합니다.

다음 단계에서는 산술연산과 함께 자주 사용되는 비교연산을 이해하면 PLC 프로그램의 조건 판단 능력을 한 단계 더 높일 수 있습니다.

PLC 공부는 명령어 하나하나를 외우는 것보다 **“이 명령어를 실제 설비에서 어디에 사용할 수 있는가?”**를 생각하면서 연습하는 것이 가장 효과적입니다.

이번 글에서는 산술연산의 기본 개념을 확실하게 익히고, 직접 간단한 생산량 계산이나 센서값 변환 프로그램을 만들어 보면서 실습해 보시기 바랍니다.

반응형