시리얼 통신 시간 계산기
보율·패리티·정지 비트로 문자 시간, Modbus RTU 의 3.5 문자(t3.5)·1.5 문자(t1.5), 요청·응답 전송 시간, 장비 여러 대 폴링 주기와 응답 타임아웃 하한을 계산합니다.
계산식
- 한 문자 비트 = 시작 1 + 데이터(7·8) + 패리티(0·1) + 정지(1·2)
- 문자 시간 = 비트 수 ÷ 보율 · 9600 bps 8E1 이면 11 ÷ 9600 = 1.146 ms
- t1.5 = 1.5 × 문자 시간, t3.5 = 3.5 × 문자 시간 (19200 bps 이하)
- 전송 시간 = 바이트 수 × 문자 시간
- 거래 = 요청 + 슬레이브 처리 + 응답 + t3.5 + 마스터 쉼
RTU 프레임은 바이트 사이에 1.5 문자보다 긴 틈이 생기면 깨진 것으로 보고, 3.5 문자 이상 조용하면 프레임이 끝난 것으로 봅니다. 그래서 보낼 때는 바이트를 쉬지 않고 이어 보내고, 프레임 사이에는 적어도 t3.5 를 쉽니다.
보율별 시간표 (8E1, 11 비트)
| 보율 | 문자 시간 | t1.5 | t3.5 | 초당 바이트 | FC03 10개 거래* |
|---|---|---|---|---|---|
| 1200 | 9.167 ms | 13.75 ms | 32.083 ms | 109 | 334.583 ms |
| 2400 | 4.583 ms | 6.875 ms | 16.042 ms | 218 | 167.292 ms |
| 4800 | 2.292 ms | 3.438 ms | 8.021 ms | 436 | 83.646 ms |
| 9600 | 1.146 ms | 1.719 ms | 4.01 ms | 872 | 41.823 ms |
| 19200 | 572.9 µs | 859.4 µs | 2.005 ms | 1745 | 20.911 ms |
| 38400 | 286.5 µs | 750 µs | 1.75 ms | 3490 | 11.203 ms |
| 57600 | 191 µs | 750 µs | 1.75 ms | 5236 | 8.052 ms |
| 115200 | 95.5 µs | 750 µs | 1.75 ms | 10472 | 4.901 ms |
* 요청 8 + 응답 25 바이트 + t3.5, 슬레이브 처리 시간 0 으로 본 최솟값. 실제 장비는 처리 시간이 더해집니다. 굵은 칸은 규격 권장 고정값.
함수별 RTU 프레임 길이
| 함수 | 요청 바이트 | 정상 응답 바이트 | 개수 한도 |
|---|---|---|---|
| 01·02 코일·입력 읽기 | 8 | 5 + ⌈N ÷ 8⌉ | 2000 |
| 03·04 레지스터 읽기 | 8 | 5 + 2N | 125 |
| 05·06 단일 쓰기 | 8 | 8 (요청 되돌림) | 1 |
| 0F 여러 코일 쓰기 | 9 + ⌈N ÷ 8⌉ | 8 | 1968 |
| 10 여러 레지스터 쓰기 | 9 + 2N | 8 | 123 |
응답 타임아웃은 얼마로?
규격은 응답 타임아웃(Response time-out)을 «응용에 따라» 정하라고 하고, 9600 bps 에서 보통 1 초~수 초, 방송(국번 0) 뒤 쉼(Turnaround delay)은 보통 100~200 ms 라고 적습니다. 이 계산기의 «타임아웃 하한» 은 슬레이브 처리 시간과 응답 전송 시간을 더한 이론 최솟값이라, 실제 설정은 장비 매뉴얼의 응답 시간과 USB 변환기 지연을 더해 넉넉히 잡습니다.
자주 묻는 것
9600 bps 에서 1 초에 몇 바이트를 보낼 수 있나요?
8E1·8N2 처럼 한 문자가 11 비트면 9600 ÷ 11 ≈ 872 바이트, 8N1(10 비트)이면 960 바이트가 최대입니다. 실제로는 요청과 응답 사이 처리 시간과 프레임 사이 t3.5 가 더해져 이보다 적습니다.
Modbus RTU 3.5 문자 시간은 몇 ms 인가요?
11 비트 문자로 9600 bps 에서 약 4.01 ms, 19200 bps 에서 약 2.005 ms 입니다. 19200 bps 를 넘으면 규격이 1.75 ms 고정값을 권장합니다.
장비 10 대를 폴링하면 한 바퀴가 얼마나 걸리나요?
«한 바퀴 거래 수» 에 10 을 넣고, 슬레이브 처리 시간에 장비 매뉴얼의 응답 시간(모르면 실측값)을 넣으면 됩니다. 처리 시간이 전송 시간보다 긴 경우가 많아, 보율을 올려도 생각보다 빨라지지 않을 수 있습니다.
실제 요청·응답 시각과 간격은 PortDock Modbus Master의 통신 기록에서 볼 수 있습니다.