PortDock

시리얼 통신 시간 계산기

보율·패리티·정지 비트로 문자 시간, Modbus RTU 의 3.5 문자(t3.5)·1.5 문자(t1.5), 요청·응답 전송 시간, 장비 여러 대 폴링 주기와 응답 타임아웃 하한을 계산합니다.

결과
한 문자 비트 수
비트 시간
문자(바이트) 시간
초당 최대 바이트
t1.5 — 문자 사이 허용 틈
t3.5 — 프레임 사이 최소 쉼
요청
정상 응답
예외 응답(5 바이트)
거래 하나(요청+처리+응답+t3.5+쉼)
한 바퀴
초당 거래 수
응답 타임아웃 하한(처리+응답)
선로 사용률

USB-시리얼 변환기를 쓰면 받은 바이트가 묶여서 PC 에 넘어갑니다(FTDI 기본 16 ms). 타임아웃·프레임 구분이 이 계산보다 그만큼 늦어질 수 있습니다.

값을 바꾸면 바로 다시 계산합니다. 계산은 이 브라우저 안에서만 하고, 입력한 값은 어디에도 보내지 않습니다.

계산식

  • 한 문자 비트 = 시작 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.5t3.5초당 바이트FC03 10개 거래*
12009.167 ms13.75 ms32.083 ms109334.583 ms
24004.583 ms6.875 ms16.042 ms218167.292 ms
48002.292 ms3.438 ms8.021 ms43683.646 ms
96001.146 ms1.719 ms4.01 ms87241.823 ms
19200572.9 µs859.4 µs2.005 ms174520.911 ms
38400286.5 µs750 µs1.75 ms349011.203 ms
57600191 µs750 µs1.75 ms52368.052 ms
11520095.5 µs750 µs1.75 ms104724.901 ms

* 요청 8 + 응답 25 바이트 + t3.5, 슬레이브 처리 시간 0 으로 본 최솟값. 실제 장비는 처리 시간이 더해집니다. 굵은 칸은 규격 권장 고정값.

함수별 RTU 프레임 길이

함수요청 바이트정상 응답 바이트개수 한도
01·02 코일·입력 읽기85 + ⌈N ÷ 8⌉2000
03·04 레지스터 읽기85 + 2N125
05·06 단일 쓰기88 (요청 되돌림)1
0F 여러 코일 쓰기9 + ⌈N ÷ 8⌉81968
10 여러 레지스터 쓰기9 + 2N8123

응답 타임아웃은 얼마로?

규격은 응답 타임아웃(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의 통신 기록에서 볼 수 있습니다.

출처