PLC Analog Input 12bit·16bit 차이, 숫자만 높으면 더 정확할까? 분해능·측정오차 계산법
PLC의 Analog Input 모듈 사양을 보면 12bit, 14bit, 16bit 같은 숫자가 표시되어 있습니다.
처음 보면 단순히 “16bit가 12bit보다 좋은 제품”이라고 생각하기 쉽습니다. 하지만 실제 현장에서는 비트 수가 높다고 해서 측정값의 정확도가 반드시 그만큼 좋아지는 것은 아닙니다.
PLC 아날로그 입력을 제대로 이해하려면 다음 세 가지를 구분해야 합니다.
- Resolution, 즉 분해능
- Accuracy, 즉 정확도
- 실제 시스템 전체의 측정오차
이 세 가지를 구분하면 12bit와 16bit의 차이뿐 아니라 어떤 Analog Input 모듈을 선택해야 하는지도 훨씬 명확해집니다.
PLC Analog Input의 Resolution이란?
압력, 온도, 유량, 레벨 등의 센서는 일반적으로 0~10V 또는 4~20mA와 같은 연속적인 아날로그 신호를 출력합니다.
하지만 PLC 내부에서는 이 신호를 그대로 처리할 수 없습니다.
따라서 Analog Input 모듈 내부의 ADC, 즉 Analog-to-Digital Converter가 아날로그 신호를 디지털 값으로 변환합니다.
이때 아날로그 입력 범위를 얼마나 세밀하게 나눌 수 있는지를 나타내는 값이 Resolution입니다.
이론적으로 N비트 ADC가 구분할 수 있는 단계 수는 다음과 같습니다.
2^N
따라서
- 12bit : 2^12 = 4,096단계
- 16bit : 2^16 = 65,536단계
가 됩니다.
즉 같은 입력 범위를 기준으로 보면 16bit가 12bit보다 16배 더 세밀하게 입력 신호를 구분할 수 있습니다. (NI)
0~10V 입력에서 12bit와 16bit는 얼마나 차이 날까?

0~10V 신호를 입력받는다고 가정해 보겠습니다.
ADC 한 단계가 나타내는 전압은 다음과 같이 계산할 수 있습니다.
최소 변화량 = 입력범위 ÷ 2^비트수
12bit
10V ÷ 4,096 = 약 0.00244V
즉 약 2.44mV마다 디지털 값이 한 단계 변합니다.
16bit
10V ÷ 65,536 = 약 0.000153V
즉 약 0.153mV마다 한 단계가 변합니다.
정리하면 다음과 같습니다.
| 구분 | 12bit | 16bit |
|---|---|---|
| 이론적 단계 수 | 4,096 | 65,536 |
| 0~10V 기준 1단계 | 약 2.44mV | 약 0.153mV |
| 상대적 분해능 | 기준 | 약 16배 세밀 |
따라서 아주 작은 신호 변화를 구분해야 하는 시스템에서는 높은 분해능이 유리합니다.
온도 0~100℃라면 실제로 얼마나 차이 날까?
이번에는 0~10V가 0~100℃에 대응하는 온도 측정 시스템을 생각해 보겠습니다.
12bit의 경우
100℃ ÷ 4,096 = 약 0.0244℃
따라서 디지털 값 1count 변화는 약 0.0244℃에 해당합니다.
16bit의 경우
100℃ ÷ 65,536 = 약 0.00153℃
1count가 약 0.00153℃에 해당합니다.
숫자만 보면 16bit가 압도적으로 정밀해 보입니다.
하지만 여기서 중요한 부분이 있습니다.
0.00153℃ 단위로 숫자가 변한다고 해서 실제 온도를 0.00153℃ 정확도로 측정한다는 뜻은 아닙니다.
Resolution과 Accuracy는 서로 다른 사양이기 때문입니다. (NI Knowledge Base)
Resolution과 Accuracy는 왜 다른가?

이 부분이 PLC Analog Input을 이해할 때 가장 중요합니다.
Resolution은 ADC가 신호를 얼마나 작은 단계로 나눌 수 있는지를 의미합니다.
반면 Accuracy는 실제 입력값과 PLC가 측정한 값이 얼마나 가까운지를 의미합니다.
예를 들어 16bit 모듈이 0~100℃를 0.00153℃ 단위로 구분할 수 있다고 하더라도 다음과 같은 오차가 존재할 수 있습니다.
- 센서 자체 정확도
- Transmitter 정확도
- Analog Input 모듈의 기본 오차
- 비선형성
- 온도에 따른 드리프트
- 전원 변동
- 배선 저항
- 접지 상태
- EMI·RFI 노이즈
따라서 16bit라는 숫자 하나만 보고 시스템 전체의 측정 정확도를 판단해서는 안 됩니다.
실제로 고분해능 ADC에서도 주변 회로나 노이즈가 ADC의 이론적인 분해능보다 크게 작용할 수 있습니다. (NI Knowledge Base)
양자화 오차는 어떻게 계산할까?
ADC는 연속적인 아날로그 값을 일정한 단계의 디지털 값으로 바꿉니다.
이 과정에서 발생하는 기본적인 오차를 양자화 오차라고 합니다.
이상적인 ADC에서 반올림 방식으로 변환한다고 가정하면 일반적으로 최대 양자화 오차를 약 ±0.5LSB로 볼 수 있습니다.
앞에서 계산한 0~100℃ 시스템을 다시 사용해 보겠습니다.
12bit에서 1LSB는 약 0.0244℃이므로
±0.5LSB ≈ ±0.0122℃
입니다.
16bit에서는 1LSB가 약 0.00153℃이므로
±0.5LSB ≈ ±0.00076℃
입니다.
여기까지만 보면 16bit가 훨씬 유리합니다.
하지만 실제 시스템에서는 이 양자화 오차에 센서와 Transmitter, Analog Input 모듈 등의 오차까지 고려해야 합니다.
센서 정확도가 ±0.5%라면 어떻게 될까?
0~100℃ 센서의 정확도가 ±0.5% of Full Scale이라고 가정해 보겠습니다.
센서에서만 발생할 수 있는 최대 오차는
100℃ × 0.5% = ±0.5℃
입니다.
12bit ADC의 이론적인 양자화 오차는 약 ±0.0122℃였습니다.
이 경우 센서의 ±0.5℃ 오차가 ADC 양자화 오차보다 훨씬 큽니다.
따라서 단순히 12bit를 16bit로 바꾼다고 해서 전체 시스템 정확도가 16배 좋아지는 것은 아닙니다.
이것이 Analog Input을 선정할 때 Resolution과 Accuracy를 반드시 따로 확인해야 하는 이유입니다.
실제 최대오차를 계산할 때도 센서, Transmitter, Analog Input 카드의 데이터시트에 표시된 Accuracy 조건을 각각 확인해야 합니다. 단순히 모든 오차를 무조건 더하는 방식보다는 각 제조사가 정의한 정확도 조건과 온도범위를 먼저 확인하는 것이 중요합니다.
12bit는 항상 0~4095, 16bit는 항상 0~65535일까?
그렇지 않습니다.
이 부분 역시 현장에서 자주 혼동합니다.
이론적인 12bit ADC는 4,096개의 코드를 표현할 수 있지만 PLC 프로그램에서 실제로 사용하는 Raw Data 범위는 제조사와 모듈에 따라 다를 수 있습니다.
예를 들어 Siemens의 일부 PLC Analog Input에서는 정격 입력범위를 0~27648과 같은 정수 범위로 표현합니다.
따라서 PLC 프로그램을 작성할 때는 단순히
12bit = 0~4095
16bit = 0~65535
라고 가정하면 안 됩니다.
반드시 해당 Analog Input 모듈 매뉴얼에서 다음 항목을 확인해야 합니다.
- 입력 신호 범위
- ADC Resolution
- Raw Data 범위
- Overrange 범위
- Bipolar 또는 Unipolar 입력 여부
- Sign bit 포함 여부
특히 PLC 제조사를 변경하거나 Analog Input 모듈을 교체할 때는 기존 스케일링 프로그램을 그대로 사용할 수 있는지 확인해야 합니다.
16bit인데 측정값이 계속 흔들리는 이유
높은 Resolution은 작은 신호 변화까지 구분할 수 있다는 장점이 있습니다.
반대로 말하면 아주 작은 전기적 노이즈도 숫자로 나타날 수 있습니다.
따라서 높은 분해능의 Analog Input을 사용했는데 오히려 측정값의 마지막 몇 자리가 계속 변하는 경우도 있습니다.
이때 단순히 PLC 프로그램에서 값을 강제로 고정하기보다 먼저 다음 사항을 확인하는 것이 좋습니다.
- Analog Signal Cable의 Shield 처리
- 동력선과 신호선의 배선 분리
- 접지 방식
- 50Hz·60Hz 전원 노이즈
- Transmitter 전원 품질
- Analog Input 필터 설정
- Moving Average 등 프로그램 필터 적용 여부
일부 산업용 Analog Input 모듈은 자체적으로 입력 신호 평활화나 50Hz·60Hz 간섭 억제 기능을 제공하기도 합니다.
따라서 값이 흔들린다고 해서 무조건 센서가 고장 났다고 판단해서는 안 됩니다.
측정범위를 좁히면 Resolution이 좋아질까?
여기에는 중요한 조건이 있습니다.
단순히 PLC 프로그램에서 0~500℃ 값을 100~200℃로 스케일링한다고 해서 Analog Input 하드웨어의 Resolution 자체가 좋아지는 것은 아닙니다.
센서 또는 Transmitter의 출력 범위를 실제 사용하는 공정 범위에 맞게 조정하고, Analog Input 모듈에서도 그 신호 범위를 적절하게 사용할 수 있어야 실제 ADC 범위를 더 효율적으로 활용할 수 있습니다.
예를 들어 공정에서 실제로 0~100℃만 측정하는데 Transmitter가 0~1,000℃를 4~20mA로 출력하도록 설정되어 있다면 전체 신호범위의 10% 정도만 사용하는 셈입니다.
가능하다면 Transmitter를
0~100℃ = 4~20mA
로 설정하는 편이
0~1,000℃ = 4~20mA
로 설정하는 것보다 같은 Analog Input에서도 공정 온도 변화를 더 세밀하게 표현할 수 있습니다.
중요한 것은 소프트웨어 숫자 범위를 좁히는 것이 아니라 실제 아날로그 입력범위를 효과적으로 사용하는 것입니다.
12bit와 16bit 중 어떤 것을 선택해야 할까?
무조건 16bit를 선택할 필요는 없습니다.
먼저 공정에서 필요한 최소 측정 변화량과 전체 허용오차를 계산하는 것이 좋습니다.
12bit로도 충분할 가능성이 높은 경우
- 일반적인 탱크 레벨 감시
- 대략적인 압력·유량 모니터링
- 높은 정밀도가 필요하지 않은 공정
- 센서 자체 오차가 ADC 양자화 오차보다 훨씬 큰 경우
- 비용을 중요하게 고려해야 하는 시스템
높은 Resolution을 검토할 필요가 있는 경우
- 아주 작은 압력 변화를 구분해야 하는 경우
- 미세한 온도 변화를 제어에 이용하는 경우
- 계량·시험·검사 시스템
- 작은 신호 변화를 기록하고 분석해야 하는 경우
- 센서와 Transmitter의 정확도 역시 충분히 높은 시스템
다만 이러한 경우에도 16bit라는 이유만으로 적합하다고 판단해서는 안 됩니다.
Analog Input의 Accuracy, Noise, Temperature Drift, Conversion Time 등의 사양까지 함께 비교해야 합니다.
4~20mA와 0~10V 중 어느 쪽이 유리할까?
산업 현장에서는 장거리 신호 전송에 4~20mA Current Loop가 많이 사용됩니다.
전압 신호는 케이블의 전압강하와 Ground Potential Difference 등의 영향을 고려해야 하는 반면, 4~20mA 방식은 일정한 Loop Current를 이용하기 때문에 장거리 산업용 계측 신호에 적합한 경우가 많습니다.
하지만 4~20mA를 사용한다고 해서 노이즈 문제가 자동으로 사라지는 것은 아닙니다.
Shield, Ground, Cable Route, Loop Power Supply 등의 설계가 잘못되면 전류 신호에서도 측정값이 흔들릴 수 있습니다.
따라서 신호 방식을 선택할 때는 단순히 Resolution만 볼 것이 아니라 배선거리와 현장 환경까지 함께 고려해야 합니다.
PLC Analog Input에서 가장 먼저 확인할 것
PLC Analog Input을 선정할 때 저는 다음 순서로 확인하는 것이 가장 이해하기 쉽다고 봅니다.
- 공정에서 필요한 측정범위를 정합니다.
- 필요한 최소 변화량을 계산합니다.
- 센서와 Transmitter 정확도를 확인합니다.
- Analog Input Resolution을 확인합니다.
- Analog Input Accuracy를 확인합니다.
- Raw Data 범위를 확인합니다.
- 배선거리와 노이즈 환경을 검토합니다.
- 최종적으로 시스템 전체가 요구 허용오차 안에 들어오는지 확인합니다.
Resolution은 분명 중요한 사양입니다.
하지만 PLC의 측정 성능을 결정하는 것은 비트 수 하나가 아닙니다.
12bit와 16bit의 가장 큰 차이는 신호를 얼마나 세밀하게 구분할 수 있느냐이고, 실제 측정 정확도는 센서·Transmitter·Analog Input·배선·노이즈를 포함한 전체 시스템의 결과입니다.
따라서 Analog Input을 선택할 때는 “몇 bit인가?”에서 끝내지 말고 “우리 공정에서 실제로 몇 ℃, 몇 bar, 몇 L/min까지 구분해야 하는가?”를 먼저 계산하는 것이 가장 실무적인 접근입니다.
참고자료
- NI, Differences Between Accuracy, Code Width and Bits of Resolution — ADC의 Code Width를
입력 범위 ÷ 2^bit로 계산하는 방법과 Resolution만으로 실제 Accuracy를 판단할 수 없는 이유를 설명한 자료. Gain Error, Offset Error, Noise, Temperature Drift 등이 실제 측정 정확도에 영향을 준다고 설명합니다. - NI, Resolution vs Accuracy of ADC — ADC Resolution은 한 Count를 변화시키는 최소 입력 변화량이고, Accuracy는 실제 입력값과 측정값이 얼마나 일치하는지를 나타내므로 서로 다른 사양이라는 설명 자료. 고분해능 ADC에서도 노이즈와 주변 회로가 이론적 분해능보다 크게 영향을 줄 수 있음을 설명합니다.
- NI, Calculating Absolute Accuracy or System Accuracy — 비트수와 Code Width만으로 장치의 정확도를 결정할 수 없으며, Gain·Offset·Noise·Temperature Drift 등 각 오차 요소를 이용해 장치 및 시스템 전체의 Accuracy를 평가하는 방법.
- Siemens, S7-1200 Programmable Controller System Manual — PLC Analog Input의 실제 Resolution과 Raw Data 표현 방식에 대한 공식 자료. 일부 S7-1200 아날로그 입력은 정격 범위를
0~27648또는-27648~27648로 표현하며, 이 값이 단순히 ADC의0~4095또는0~65535와 일치하지 않을 수 있음을 보여줍니다.
댓글 0
첫 댓글을 남겨보세요.