조이 컨트롤

모드버스TCP란 본문

산업용 통신 프로토콜

모드버스TCP란

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

모드버스 TCP (Modbus TCP) 개요

모드버스 TCP(Modbus TCP 또는 Modbus TCP/IP)는 널리 사용되는 모드버스(Modbus) 프로토콜을 현대적인 TCP/IP 네트워크, 주로 이더넷(Ethernet) 상에서 사용할 수 있도록 만든 버전입니다. 기존의 시리얼 통신 기반 모드버스(RTU, ASCII)의 단순함과 개방성을 유지하면서, 이더넷의 속도와 유연성을 활용할 수 있게 해줍니다.

핵심 개념

모드버스 TCP는 기존 모드버스 프로토콜 데이터 유닛(PDU: Protocol Data Unit - 기능 코드와 데이터 부분)을 **TCP/IP 패킷 안에 캡슐화(Encapsulation)**하여 전송합니다. 즉, 모드버스의 기본적인 요청/응답 메커니즘과 기능 코드(Function Codes)는 그대로 사용하면서 전송 수단만 이더넷과 TCP/IP로 바꾼 것입니다.

주요 특징

  1. 이더넷 기반: 표준 이더넷(Ethernet) 네트워크 인프라(케이블, 스위치, 네트워크 카드 등)를 사용합니다. 이를 통해 10 Mbps, 100 Mbps, 1 Gbps 등 시리얼 통신보다 훨씬 높은 속도를 이용할 수 있습니다.
  2. TCP/IP 전송:
    • TCP (Transmission Control Protocol): 신뢰성 있는 연결 지향 통신을 제공하여 데이터가 순서대로 오류 없이 전달되는 것을 보장합니다.
    • IP (Internet Protocol): 네트워크 상의 장치 주소(IP 주소)를 사용하여 데이터를 목적지까지 라우팅합니다.
  3. 클라이언트-서버(Client-Server) 모델:
    • 기존 모드버스의 마스터-슬레이브(Master-Slave)와 유사한 개념입니다.
    • 클라이언트(Client): 통신을 시작하고 서버에게 데이터 요청 또는 쓰기 명령을 보냅니다 (마스터 역할).
    • 서버(Server): 클라이언트의 요청을 받아 처리하고 응답을 보냅니다 (슬레이브 역할).
    • 이더넷 환경에서는 여러 클라이언트가 동시에 하나의 서버에 접속하여 통신하는 것이 가능합니다.
  4. 표준 포트 번호: 일반적으로 TCP 포트 502번을 사용합니다.
  5. MBAP 헤더 (Modbus Application Protocol Header):
    • 모드버스 RTU/ASCII 프레임의 시작/끝 구분, 슬레이브 주소, CRC/LRC 오류 검사 필드 대신, TCP/IP 패킷의 모드버스 데이터 앞에 MBAP 헤더가 추가됩니다.
    • Transaction Identifier (2 Bytes): 거래 식별자. 클라이언트가 보낸 요청과 서버가 보낸 응답을 일치시키는 데 사용됩니다. 여러 메시지가 동시에 처리될 때 유용합니다.
    • Protocol Identifier (2 Bytes): 프로토콜 식별자. 모드버스의 경우 항상 0입니다.
    • Length (2 Bytes): 뒤따라오는 데이터(Unit ID + PDU)의 바이트 수를 나타냅니다.
    • Unit Identifier (1 Byte): 단위 식별자. 주로 모드버스 TCP/IP 게이트웨이를 통해 하위의 시리얼 모드버스(RTU/ASCII) 네트워크에 연결된 슬레이브 장치(Unit)를 식별하는 데 사용됩니다. 모드버스 TCP를 직접 지원하는 장치와 통신할 때는 무시되거나 특정 값(예: 255 또는 1)으로 설정될 수 있습니다.
  6. 오류 검사: TCP/IP 프로토콜 스택 자체에 강력한 오류 검출 및 수정 메커니즘(체크섬 등)이 포함되어 있으므로, 모드버스 TCP 레벨에서는 별도의 CRC(RTU)나 LRC(ASCII)와 같은 오류 검사 코드를 추가하지 않습니다.

Modbus RTU/ASCII와의 주요 차이점

항목 Modbus TCP Modbus RTU/ASCII
물리 계층 이더넷 (Ethernet) 직렬 통신 (RS-232, RS-485, RS-422)
전송 계층 TCP/IP (직렬 프레임)
프레이밍/헤더 TCP/IP 헤더 + MBAP 헤더 + PDU 시작/끝 구분 + 슬레이브 주소 + PDU + CRC/LRC
오류 검사 TCP/IP 체크섬 활용 CRC (RTU), LRC (ASCII)
통신 속도 높음 (10/100 Mbps, 1 Gbps+) 낮음 (최대 115.2 kbps 일반적)
네트워크 구조 유연함 (스타, 트리, 버스 등 이더넷 토폴로지) 주로 버스 (RS-485) 또는 포인트-투-포인트
주소 지정 IP 주소 + TCP 포트 (+ Unit ID) 슬레이브 주소 (1-247)
통신 모델 클라이언트-서버 (다중 클라이언트 가능) 마스터-슬레이브 (단일 마스터 기본)
장점
  • 고속 통신: 이더넷 기반으로 빠른 데이터 전송이 가능합니다.
  • 표준 인프라 활용: 널리 보급된 표준 이더넷 장비(케이블, 스위치 등)를 사용하여 비용 효율적이고 설치가 용이합니다.
  • 네트워크 확장성 및 유연성: 대규모 및 복잡한 네트워크 구성이 가능합니다.
  • IT 시스템 통합 용이: 기업의 다른 IT 시스템과의 연동이 용이합니다.
  • 동시 접속: 여러 클라이언트가 서버에 동시에 접속하여 데이터를 요청할 수 있습니다.

단점

  • 결정론성(Determinism): 표준 이더넷 및 TCP/IP의 특성상, PROFINET IRT, EtherCAT, CC-Link IE 등 실시간 제어에 특화된 다른 산업용 이더넷 프로토콜에 비해 통신 시간의 예측 가능성(결정론성)이 떨어질 수 있습니다. (스위치 기반 네트워크에서는 충돌 문제가 거의 없지만, TCP/IP 처리 지연 등은 존재)
  • TCP/IP 오버헤드: TCP/IP 헤더 정보로 인해 순수 데이터 전송 효율은 시리얼 방식보다 약간 낮을 수 있습니다.

주요 응용 분야

  • SCADA 시스템과 PLC, HMI, DCS 등 제어 장치 간의 통신
  • 분산된 필드 장치(계측기, 센서, 드라이브 등)와의 데이터 교환
  • 기존 시리얼 모드버스 네트워크를 이더넷 네트워크에 연결하기 위한 게이트웨이 활용
  • 빌딩 자동화, 전력 감시 시스템 등 다양한 산업 분야

현재 상태 (2025년 4월 기준)

모드버스 TCP는 매우 널리 사용되는 산업용 통신 프로토콜 중 하나입니다. 기존 모드버스에 대한 친숙성, 구현의 용이성, 그리고 이더넷의 보편성 덕분에 수많은 장비와 시스템에서 기본적으로 지원하고 있습니다. 엄격한 마이크로초 단위의 실시간 제어가 요구되지 않는 대부분의 산업용 데이터 수집 및 감시 제어 애플리케이션에서 비용 효율적이고 신뢰성 있는 솔루션으로 인정받고 있습니다.

 

요약하자면, 모드버스 TCP는 검증된 모드버스 프로토콜을 표준 이더넷 및 TCP/IP 기술과 결합하여, 고속의 유연한 네트워크 통신을 가능하게 하는 개방형 산업용 프로토콜입니다.

 

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

PROFINET (프로피넷)  (0) 2025.04.15
EtherNet/IP란  (0) 2025.04.15
CC-Link란  (0) 2025.04.15
디바이스넷(DeviceNet)이란  (0) 2025.04.15
프로피버스DP 란  (0) 2025.04.15