Skip to content
RFrftools.io
Comms

모드버스 RTU 프레임 타이밍 계산기

Modbus RTU 문자 시간, 3.5자 프레임 간 간격, 총 프레임 지속 시간 및 최대 프레임 속도를 계산합니다.

Loading calculator...

공식

Tchar=1+8+P+Sbaud_rate,T3.5=3.5×TcharT_{char} = \frac{1+8+P+S}{baud\_rate},\quad T_{3.5} = 3.5 \times T_{char}

참고: Modbus Application Protocol V1.1b3, Modbus.org

T_char캐릭터 타임 (ms)
T_3.5프레임 간 간격 (ms)
P패리티 비트 (bits)
S스톱 비트 (bits)

작동 방식

이 계산기는 산업용 통신 시스템의 Modbus RTU 프레임 타이밍 파라미터를 결정합니다.SCADA 엔지니어와 PLC 프로그래머는 이를 사용하여 마스터-슬레이브 폴링 간격과 타임아웃 값을 구성합니다.< 1.5 character times, and inter-frame gap >모드버스 사양 (modbus.org, '직렬 회선을 통한 MODBUS 사양 및 구현 가이드 V1.02') 및 IEC 61158 (산업용 통신 네트워크 — 필드버스 사양) 에 따라 RTU 프레이밍에는 정확한 문자 및 프레임 간 타이밍이 필요합니다. 문자 시간 = bits_per_char/baud_rate, 문자 간 간격은 3.5자 시간입니다.문자당 11비트 (시작 1개+데이터 8개 + 패리티 1개+중지 1개) 의 9600 보드에서 문자 시간은 1.146밀리초, 문자 간 최대값은 1.72밀리초, 프레임 간 최소값은 4.01밀리초입니다.이러한 타이밍을 위반하면 프레임 동기화 오류가 발생합니다. 산업용 Modbus 네트워크를 대상으로 한 연구에 따르면 통신 실패의 23% 가 잘못된 타임아웃 구성으로 인한 것으로 나타났습니다.19200을 초과하는 전송 속도의 경우 사양은 과도한 유휴 시간을 방지하기 위해 프레임 간 간격을 1.75ms로 고정합니다.

계산 예제

빌딩 자동화 시스템은 19200 보드에서 RS-485 상에서 32개의 모드버스 RTU 디바이스를 폴링하여 디바이스당 10개의 레지스터를 읽습니다.모드버스 사양 섹션 2.5.1.1에 따름: 문자당 비트 = 1 (시작) + 8 (데이터) + 1 (짝수 패리티) + 1 (중지) = 11비트.문자 시간은 11/ 19200 = 0.573밀리초입니다.요청 프레임: 1 (주소) + 1 (함수) + 4 (데이터) + 2 (CRC) = 8자 = 4.58밀리초.응답 프레임 (10개 레지스터): 1 + 1 + 1 + 20 + 2 = 25자 = 14.32밀리초프레임 간 간격: 최소 3.5 x 0.573ms = 2.01ms이지만 사양에서는 19200 보드에서 최소 1.75ms를 요구합니다.디바이스당 총 폴링 시간은 4.58 + 2 + 14.32 + 2 = 22.9밀리초입니다.전체 스캔 시간은 32 x 22.9밀리초 = 733밀리초이며, 업데이트 속도는 1.36Hz입니다.

실용적인 팁

  • 모드버스 구현 가이드에 따라 마스터 타임아웃을 t_turnaround + (max_response_bytes x char_time) + 50ms의 안전 여백으로 설정합니다.
  • 19200을 초과하는 전송 속도에서는 프레임 간 간격이 1.75ms로 고정됩니다. 즉, 3.5자시간을 계산하지 마십시오 (38400에서는 0.9ms가 표시됨).
  • 브로드캐스트 주소 0을 사용하여 여러 장치에 동시에 명령을 쓸 수 있으므로 동기화된 출력의 스캔 시간을 최대 90% 까지 줄일 수 있습니다.

흔한 실수

  • 응답 타임아웃을 왕복 시간 미만으로 설정 - 전파 지연만 편도 3.3us인 500미터 RS-485 네트워크에서는 100ms 타임아웃이 실패함
  • 모드버스 사양 섹션 2.5.1.1당 고정된 최소 750us 대신 38400보드에서 1.5자 간격을 사용하여 5-10% 의 프레임 조각화가 발생합니다.
  • 디바이스가 응답할 수 있는 속도보다 빠른 폴링 - 대부분의 PLC는 요청 수신과 응답 전송 사이에 10~50ms의 처리 시간이 필요합니다.

자주 묻는 질문

Modbus 사양에 따르면 간격이 3.5자 미만 (또는 19200 보우드보다 1.75ms 이상) 이면 프레임 연결이 발생합니다. 즉, 슬레이브가 새 데이터를 이전 프레임 버퍼에 추가하여 CRC 오류가 발생합니다.연구에 따르면 프레임 간 간격이 2자 미만일 때 프레임이 100% 실패하는 것으로 나타났습니다.
문자 시간은 반대로 조정됩니다. 9600 보드 = 1.146밀리초, 19200 = 0.573밀리초, 38400 = 0.286밀리초입니다.프레임 간 간격은 최대 19200 보트까지의 3.5배 규칙 (9600에서 4.01밀리초, 19200에서 2.01밀리초) 을 따르며, 속도가 빨라지면 1.75ms로 수정됩니다.10레지스터 응답은 9600보드에서 28.6밀리초가 걸리는 반면 38400 보우드에서는 7.2밀리초가 걸립니다.

Shop Components

As an Amazon Associate we earn from qualifying purchases.

USB-UART Adapter

USB to serial adapter for protocol debugging and flashing

USB Logic Analyzer

8-channel USB logic analyzer for capturing digital bus traffic

관련 계산기