Calculator
입력값을 넣고 계산하세요
장비마다 Word Order, Byte Order, 데이터 타입 기준이 다를 수 있으니 실제 매뉴얼과 매핑표를 함께 확인해 주세요.
Quick answer
한눈에 보기
Modbus 레지스터 값 변환기는 16bit Word 1개 또는 2개를 signed, unsigned, 32bit integer, Float32 값으로 해석합니다.
Word order, byte order, scale 설정을 바꿔 보면서 PLC나 계측기에서 읽은 값이 어떻게 달라지는지 빠르게 확인할 수 있습니다.
Formula
계산 기준
- 16bit Unsigned: 0~65535 범위로 해석
- 16bit Signed: 32768 이상이면 value - 65536
- 32bit 값: Word 2개를 4 byte로 조합
- Float32: 조합한 4 byte를 IEEE754 Float32로 해석
- Scale 적용값 = interpretedValue × scale 또는 interpretedValue ÷ scale
Guide
Modbus 레지스터 값 변환 방법
- Modbus로 읽은 Word 값을 Hex 또는 Decimal 방식으로 입력합니다.
- Data Type, Word Order, Byte Order를 선택해 값을 해석합니다.
- 필요하면 scale을 곱하거나 나누어 실제 단위 값으로 가볍게 환산합니다.
Examples
레지스터 값 변환 예시
- Word1 0x42DC, Word2 0x0000을 Float32, High Word first로 해석하면 약 110.0입니다.
- 0x000A를 16bit Unsigned로 해석하면 10입니다.
- 0xFF00을 16bit Signed로 해석하면 -256입니다.
Use cases
이럴 때 사용하세요
FAQ
자주 묻는 질문
Float32는 왜 register 2개가 필요한가요?
Modbus register 1개는 보통 16bit Word입니다. Float32는 32bit라서 보통 register 2개를 묶어 해석합니다.
Word Swap과 Byte Swap은 무엇인가요?
Word Swap은 두 Word의 순서를 바꾸는 것이고, Byte Swap은 각 Word 안의 상위/하위 byte 순서를 바꾸는 것입니다.
값이 너무 크거나 이상하게 나오면 어떻게 하나요?
Data Type, Word Order, Byte Order, Scale 설정이 장비와 맞지 않을 수 있습니다. 여러 조합을 비교하고 장비 매뉴얼을 확인해 주세요.
Decimal 입력도 가능한가요?
네. 입력 방식을 Decimal로 선택하면 0~65535 범위의 Word 값을 10진수로 입력할 수 있습니다.
이 값으로 실제 통신 문제를 판단할 수 있나요?
참고용 변환 도구입니다. 실제 통신 문제는 주소, Function Code, 데이터 타입, 장비 설정, 배선과 통신 상태를 함께 확인해야 합니다.