Modbus 40001을 읽었는데 왜 주소가 틀릴까?
40001은 전통적 Holding Register 참조번호입니다. 일반적인 FC03 요청에서 첫 번째 레지스터의 실제 상대 주소는 0입니다. 그러나 PLC, HMI 및 클라이언트 API가 사용자에게 40001을 그대로 입력받는지, raw offset 0을 받는지는 다릅니다.
가상 읽기 예제: 장치 레지스터 표에 상태 워드가 40001로 표시된 경우, 실제 wire START_ADDRESS를 받는 클라이언트는 0을 사용할 수 있습니다. 이 값은 실설비 관측 결과가 아닙니다.
현장 확인 순서: 장치 레지스터 맵 → 데이터 종류 → FC03 또는 FC04 → 클라이언트 파라미터 기준 → 승인된 읽기 전용 검사. 실제 PLC/VFD 설정은 변경하지 마세요. 주소에서 무조건 1이나 40001을 빼는 규칙은 사용하지 마세요. Unit ID와 물리 I/O 주소는 별개입니다.
| 데이터 종류 | Holding Register | 16비트 워드 |
| Function Code | 03 | Holding Register 읽기 |
| 매뉴얼 참조번호 | 40001 | 첫 번째 Holding Register |
| 실제 오프셋 | 0 | 첫 번째 레지스터의 zero-based 주소 |
| 다음 참조번호 | 40002 | 일반적으로 상대 주소 1 |
제조사·모델·버전별 문서가 우선입니다.