
PLC를 다루다 보면 꼭 마주치는 데이터 타입! REAL과 LREAL의 차이, 그리고 IEEE 754 방식이 뭔지 궁금하셨죠? 저도 처음엔 그냥 숫자 크기 차이 정도로만 생각했는데요, 알고 나니 완전 다른 세계가 펼쳐지더라고요. 오늘 이 글로 깔끔하게 정리해드릴게요!
📚 목차
- PLC에서 부동소수점이 필요한 이유
- REAL과 LREAL의 구조 차이
- IEEE 754 표준이란?
- 표현 범위 및 정밀도 비교
- 실제 예제로 보는 차이
- PLC 프로그래밍 시 주의사항
- 요약과 실전 적용 팁
PLC에서 부동소수점이 필요한 이유
현장에서 센서 데이터를 다룰 때, 소수점 아래까지 정확하게 계산해야 할 일이 많죠. 예를 들어 유량, 온도, 압력 같은 데이터를 정확히 측정하려면 정수(Int) 타입만으로는 한계가 있어요. 바로 이럴 때 부동소수점(Floating Point) 타입인 REAL, LREAL이 활약합니다.
정수는 표현 범위는 크지만 소수점 표현이 안 되고, 부동소수점은 소수 표현이 가능하면서도 꽤 큰 숫자까지 다룰 수 있어요. 단, 정밀도와 메모리 차이가 존재합니다.

REAL과 LREAL의 구조 차이
REAL은 32비트, LREAL은 64비트 구조를 가집니다. 각각 부호 비트(S), 지수부(Exponent), 가수부(Fraction)로 구성되어 있어요.
- REAL (32비트)
- 부호: 1비트
- 지수: 8비트
- 가수: 23비트
- 범위: 1.4E-45 ~ 3.4E+38
- LREAL (64비트)
- 부호: 1비트
- 지수: 11비트
- 가수: 52비트
- 범위: 4.9E-324 ~ 1.79E+308
LREAL이 더 많은 비트로 표현되기 때문에 정밀도와 범위가 훨씬 넓어요.

IEEE 754 표준이란?
REAL과 LREAL이 사용하는 부동소수점 표현 방식은 국제 표준인 IEEE 754에 기반합니다. 이 표준은 컴퓨터에서 실수를 어떻게 표현할지를 정의하죠.
간단히 정리하면 아래 구조를 따릅니다:
- 부호(S): 숫자의 양수/음수 여부
- 지수(Exponent): 소수점의 위치를 좌우
- 가수(Fraction): 실제 값의 정밀도
이 방식을 사용하면 소수점 아래 매우 작은 값부터, 매우 큰 값까지 폭넓게 표현할 수 있어요!

표현 범위 및 정밀도 비교
두 타입의 차이를 아래와 같이 비교할 수 있어요.
항목 | REAL (32비트) | LREAL (64비트) |
---|---|---|
총 비트 수 | 32비트 | 64비트 |
소수점 정밀도 | 약 7자리 | 약 15~17자리 |
최소값 | 1.401298E-45 | 4.940656E-324 |
최대값 | 3.402823E+38 | 1.797693E+308 |
사용 메모리 | 작음 | 큼 |
👉 단순 연산이나 비정밀 제어는 REAL로 충분하지만, 정밀도나 누적 오차가 중요한 경우는 반드시 LREAL을 사용해야 합니다.

실제 예제로 보는 차이
예를 들어 같은 계산을 REAL과 LREAL로 실행했을 때 결과값이 미세하게 달라지는 걸 종종 보셨을 거예요.
REAL 예시: 1.0000001 + 0.0000001 = 1.0000001
LREAL 예시: 1.0000001 + 0.0000001 = 1.0000002

PLC 프로그래밍 시 주의사항
📌 메모리 사용량: LREAL은 REAL보다 2배 크기이므로 메모리 제한이 있는 컨트롤러에서는 신중히 선택해야 해요.
📌 데이터 타입 일치: REAL과 LREAL을 섞어 쓰면 암묵적 형변환이 일어나서 연산 오류나 오차가 생길 수 있어요.
📌 라이브러리 함수: 일부 함수는 REAL만 지원하는 경우가 있으니 함수 사양서도 꼭 확인해야 합니다!

요약과 실전 적용 팁
이제 정리해볼게요!
✅ REAL은 속도와 공간 절약이 필요할 때
✅ LREAL은 정밀도와 안정성이 중요할 때
✅ 둘 다 IEEE 754 방식 사용
✅ PLC 내 계산 목적에 따라 타입을 골라 쓰는 것이 핵심!
실제로는 복잡한 수식이나 센서 누적값이 쌓이는 곳에는 무조건 LREAL을 추천드려요!

❓ FAQ
Q1. REAL과 LREAL은 왜 정밀도가 다른가요?
비트 수가 다르기 때문이에요. LREAL은 더 많은 비트를 가수부에 할당하여 더 높은 정밀도를 제공합니다.
Q2. PLC에서 LREAL을 쓰면 속도가 느려지나요?
일반적인 제어에서는 체감하기 어렵지만, 반복 연산이 많은 루프나 고속 제어에서는 성능 영향을 줄 수 있어요.
Q3. IEEE 754 표준은 모든 PLC에 동일하게 적용되나요?
대부분의 PLC 제조사는 IEEE 754를 따르지만, 내부 구현이나 표현 방식은 약간씩 다를 수 있어요. 매뉴얼 참고가 필요합니다.
Q4. REAL과 LREAL을 혼용해도 되나요?
가능은 하지만, 자동 형변환이 일어나서 오차나 버그를 유발할 수 있습니다. 명시적 형변환 또는 타입 통일을 권장합니다.
Q5. 어떤 상황에서 LREAL이 꼭 필요한가요?
누적 계산, PID 제어, 실시간 계측, 고정밀 센서 연산 등에서 오차 없는 처리가 필요할 때 사용해야 합니다.
💬 여러분은 어떠신가요?
여러분은 PLC 프로그램에서 REAL과 LREAL을 어떻게 활용하고 계신가요?
혹시 타입 선택으로 인한 버그나 성능 차이를 경험한 적 있으신가요? 댓글로 공유해주시면 다른 분들에게도 큰 도움이 될 거예요 🙌
'Programmable Logic Controller' 카테고리의 다른 글
PLC 정수와 2의 보수 표현 Integer (음수는 2' Complement표현) (0) | 2025.04.12 |
---|---|
PLC 데이터 타입 구조 요약 비트 스트링(Bit String) (0) | 2025.04.11 |
미쓰비시 PLC의 종류, 프로그램 및 설명서 다운로드 방법 (0) | 2024.11.21 |
LS산전에서 PLC 프로그램 다운로드 방법 (0) | 2024.11.20 |
GM-IN이라는 PLC 프로그램이란? 다운로드 방법 (0) | 2024.11.19 |
댓글