Files
ExperionCrawler/plans/hc900/modbus-scan-time-analysis.md
2026-05-08 17:22:10 +09:00

2.7 KiB

HC900 Modbus TCP 스캔 시간 분석

1. 측정 환경

항목
대상 HC900 C3 컨트롤러 (192.168.0.240)
네트워크 100Mbps LAN
Ping RTT 최소 0ms, 최대 1ms, 평균 0ms
바이트 순서 Big Endian (HC900 기본)
통신 프로토콜 Modbus TCP (FC03 Read Holding Registers)

2. 데이터 양

항목
총 태그 항목 2,554개
float 32 (4바이트) 2,320개 → 4,640 레지스터
unsigned 16 (2바이트) 234개 → 234 레지스터
총 레지스터 4,874개
총 바이트 9,748 bytes
주소 범위 0x0001 ~ 0x7FFF (32,767 스팬)
주소 갭 273개 (불연속)

3. Modbus TCP 읽기 요청 수

  • FC03 최대 125 레지스터/요청
  • 불연속 주소로 인해 최소 290회 읽기 요청 필요

Partition별 읽기 횟수

Partition 항목 수 주소 스팬 읽기 횟수
Loops 1-24 960 6,079 192회
Loops 25-32 329 1,983 65회
Signal Tags 1-1000 549 1,125 11회
Signal Tags 1-4000 549 1,125 11회
Variables 1-600 157 337 9회
Time 7 7 1회
Misc. Parameters 3 5 1회

4. 스캔 시간 계산

단일 스레드 순차 읽기

조건 RTT 전송/요청 총 시간 1초당 스캔
최적 (Ping 그대로) 0.2ms 0.028ms 0.066초 15.1회/s
보수 (Ping+처리) 0.5ms 0.028ms 0.153초 6.5회/s
안전 (Ping 최대) 1.0ms 0.028ms 0.298초 3.4회/s

7개 Partition 병렬 읽기

RTT 총 시간 비고
0.2ms 43.7ms Loops 1-24 (192회)가 병목
0.5ms 101.3ms
1.0ms 197.3ms

5. 실시간 모니터링 가능 여부

샘플링 주기 RTT=0.2ms RTT=0.5ms RTT=1.0ms
10초 ✓ 여유 99% ✓ 여유 98% ✓ 여유 97%
5초 ✓ 여유 99% ✓ 여유 97% ✓ 여유 94%
2초 ✓ 여유 97% ✓ 여유 92% ✓ 여유 85%
1초 ✓ 여유 93% ✓ 여유 85% ✓ 여유 70%
0.5초 ✓ 여유 87% ✓ 여유 69% ✓ 여유 40%
100ms ✓ 여유 34% ✗ 불가 ✗ 불가

6. 결론

  • 290회 Modbus TCP 읽기로 HC900 C3 컨트롤러의 전체 데이터 수집 가능
  • 최적 조건에서 0.066초, 안전 조건에서 0.298초
  • 1초 단위 실시간 모니터링 충분히 가능 (여유 70~93%)
  • 100ms 단위는 최적 조건(RTT 0.2ms)에서만 가능
  • Big Endian는 HC900 기본이므로 바이트 변환 불필요
  • TCP keep-alive 필수 (handshake 오버헤드 제거)