조이 컨트롤

모드버스RTU(Modbus RTU)란 본문

산업용 통신 프로토콜

모드버스RTU(Modbus RTU)란

조이컨 2025. 4. 15. 11:12

산업 자동화 분야에서 매우 널리 사용되는 통신 프로토콜인 **모드버스 RTU(Modbus RTU)**에 대해 설명드리겠습니다.

 

1. 정의 및 특징

  • Modbus RTU는 1979년 모디콘(Modicon, 현재 슈나이더 일렉트릭 소속)에서 PLC용으로 개발한 시리얼 통신 프로토콜입니다.
  • 마스터-슬레이브(Master-Slave) 구조를 기반으로 동작합니다.
  • 구현이 비교적 간단하고, 로열티가 없는 **개방형 프로토콜(Open Protocol)**이어서 수많은 제조사의 다양한 장비에서 폭넓게 지원됩니다.
  • 데이터를 바이너리(Binary) 형식으로 표현하여 전송 효율성이 Modbus ASCII 방식보다 높습니다.
  • 산업 현장에서 간단하고 신뢰성 있는 통신이 필요할 때 여전히 많이 사용되고 있습니다.

2. 통신 방식

  • 물리 계층(Physical Layer): 주로 RS-485 시리얼 통신 방식을 사용합니다. RS-485는 최대 32개의 장치(리피터 사용 시 더 많음)를 멀티 드롭(Multi-drop) 방식으로 연결할 수 있고, 차동 신호(Differential Signaling)를 사용하여 노이즈에 강하며, 비교적 장거리(최대 1.2km) 통신이 가능합니다. RS-232 또는 RS-422 상에서도 사용될 수 있습니다.
  • 데이터 표현: 각 8비트 바이트 데이터가 그대로 전송됩니다. 메시지 프레임 내의 각 바이트는 두 개의 4비트 16진수 문자로 구성됩니다.
  • 프레임 구조: Modbus RTU 메시지 프레임은 일반적으로 다음과 같은 구조를 가집니다.
    • 슬레이브 주소 (Slave Address - 1 byte): 통신 대상이 되는 슬레이브 장치의 고유 주소 (1 ~ 247). 0번은 브로드캐스트용으로 사용됩니다.
    • 기능 코드 (Function Code - 1 byte): 마스터가 슬레이브에게 요청하는 동작의 종류를 지정합니다. (예: 코일 읽기, 레지스터 쓰기 등).
    • 데이터 (Data - 가변 길이): 기능 코드에 따라 필요한 데이터(예: 읽거나 쓸 시작 주소, 데이터 개수, 쓸 데이터 값 등)가 포함됩니다.
    • CRC (Cyclic Redundancy Check - 2 bytes): 전송 중 데이터 오류를 검출하기 위한 오류 검증 코드입니다. 프레임 내용 전체를 계산하여 추가하며, 수신측에서 동일하게 계산하여 오류 여부를 판단합니다.
  • 프레임 구분: 메시지 프레임의 시작과 끝을 구분하기 위해 일정 시간(최소 3.5 문자 전송 시간) 동안 통신 라인에 데이터 전송이 없는 **무응답 시간(Silent Interval)**을 사용합니다.

3. 동작 구조 (Master-Slave)

  • 네트워크 상에 **하나의 마스터(Master)**와 하나 이상의 슬레이브(Slave) 장치가 존재합니다.
  • 마스터만이 통신을 시작할 수 있으며(요청, Query), 슬레이브에게 데이터를 요청하거나 쓰기 명령을 보냅니다.
  • 슬레이브는 자신의 주소로 요청이 들어왔을 때만 응답(Response)하며, 스스로 통신을 시작하거나 다른 슬레이브와 직접 통신할 수 없습니다.
  • 마스터는 여러 슬레이브와 통신하기 위해 각 슬레이브를 순차적으로 폴링(Polling)합니다.

4. 데이터 모델 (주요 오브젝트 타입)

Modbus는 4가지 기본 데이터 영역을 정의합니다.

  • 코일 (Coils - Discrete Outputs): 단일 비트(On/Off), 읽기/쓰기 가능 (주소 0xxxx). 주로 릴레이나 램프 제어 등에 사용됩니다. (기능 코드: 01, 05, 15)
  • 이산 입력 (Discrete Inputs): 단일 비트(On/Off), 읽기 전용 (주소 1xxxx). 주로 스위치나 센서의 접점 상태를 읽는 데 사용됩니다. (기능 코드: 02)
  • 입력 레지스터 (Input Registers): 16비트 워드(Word), 읽기 전용 (주소 3xxxx). 주로 아날로그 입력 값(온도, 압력 등)이나 상태 정보를 저장하는 데 사용됩니다.
  • 홀딩 레지스터 (Holding Registers): 16비트 워드(Word), 읽기/쓰기 가능 (주소 4xxxx). 가장 범용적으로 사용되며, 설정값(Setpoint), 아날로그 출력 값, 카운터 값, 설정 파라미터 등 다양한 데이터를 저장하는 데 사용됩니다. (기능 코드: 03, 06, 16)

5. 장점

  • 단순성: 프로토콜 구조가 간단하여 이해하고 구현하기 쉽습니다.
  • 개방성: 로열티가 없는 공개된 표준으로, 관련 자료를 얻기 쉽습니다.
  • 광범위한 지원: 수많은 제조사의 PLC, HMI, 인버터, 계측기, 센서 등 다양한 장비에서 기본적으로 지원합니다.
  • 신뢰성: CRC 오류 검증 메커니즘을 통해 데이터 무결성을 확보하며, RS-485 물리 계층 사용 시 노이즈 내성이 우수합니다.

6. 단점

  • 통신 속도: 시리얼 통신 속도(보통 9600 bps ~ 115.2 kbps)에 제한을 받아 고속 데이터 전송에는 한계가 있습니다.
  • 마스터-슬레이브 제약: 마스터 중심의 폴링 방식으로, 슬레이브 수가 많아지면 전체 응답 시간이 길어집니다. 슬레이브 간 직접 통신이 불가능합니다.
  • 데이터 처리량 제한: 한 번에 주고받을 수 있는 데이터 양(메시지 크기)이 제한적입니다.
  • 동기화 기능 부재: 프로토콜 자체에 시간 동기화 기능이 없습니다.
  • 진단 기능 부족: 단순 오류 검출 외에 상세한 네트워크 진단 기능이 부족합니다.
  • 단일 마스터: 기본적으로 하나의 시리얼 라인에는 하나의 마스터만 존재할 수 있습니다.

7. 주요 적용 분야 (2025년 현재)

  • 비교적 간단한 장치(온도 조절기, 전력량계, 간단한 센서/액추에이터 등)와 PLC 또는 HMI 간의 연결.
  • 기존에 설치된 레거시(Legacy) 장비와의 연동.
  • 고속 통신이 중요하지 않은 소규모 시스템.
  • 비용 효율성과 단순성이 중요한 애플리케이션.
  • Modbus TCP 게이트웨이의 시리얼 측 통신 인터페이스.

 

결론적으로, 모드버스 RTU(Modbus RTU)는 개발된 지 오래되었지만, 그 단순성과 광범위한 호환성 덕분에 여전히 산업 현장에서 특정 용도로 널리 사용되는 중요한 시리얼 통신 프로토콜입니다. 다만, 최신 산업용 이더넷 프로토콜에 비해 속도나 기능 면에서는 한계가 있어, 시스템 설계 시 이러한 장단점을 잘 고려해야 합니다.

 

'산업용 통신 프로토콜' 카테고리의 다른 글

모드버스TCP란  (0) 2025.04.15
CC-Link란  (0) 2025.04.15
디바이스넷(DeviceNet)이란  (0) 2025.04.15
프로피버스DP 란  (0) 2025.04.15
산업용 통신 프로토콜에 대하여  (0) 2025.04.15