시리얼 modbus (모드버스) 통신 방식 설명
본문 바로가기
통신

시리얼 modbus (모드버스) 통신 방식 설명

by 124578 2021. 7. 8.

시리얼 modbus (모드버스) 통신 방식 설명

시리얼 modbus(모드버스) 방식에 대해 포스팅합니다. 시리얼 modbus는 산업현장에서 주로 사용하는 통신 방식 입니다. 주로 주변 장치가 PLC와 통신하기위해 만든 통신 프로토콜 입니다. 서버와 클라이언트간에 통신을 하기위한 통신 프로토콜 입니다. RS232, RS422, RS485 방식이 존재합니다.

 

ModBus 통신 방식은 장비가 서로 다른 이종의 장비라고해도 프로토콜은 정해져 있기 때문에 ModBus 통신 방식을 지원하는 장비라면 통신프로토콜을 새로 맞출 필요가 없습니다. 

 

 

 

1. 시리얼 ModBus통신 하드웨어 통신 방식에 의한 분류

 

  - RS485 Modbus :  다수 : 다수 장비간 통신 방식 입니다. 반이중 통신방식 , 최대 통신거리: 1.2KM, 최대 통신속도:  100Mbps

 

  - RS422 Modbus :  1: 다수간 장비의 통신 방식 입니다. 전이중 통신 방식, 최대 통신거리: 1.2KM, 최대 통신속도:  100Mbps

 

  - RS232 Modbus : 근거리의 1:1 장비간 통신 방식이다. 전이중 통신방식 , 최대 통신거리: 15M, 최대 통신속도: 20 kbps

 

모드버스를 지원하는 장비는 일반적으로 PLC와 다양한 센서류, 모터, 통신카드 등이 있습니다.

모드버스를 지원하는 장비에 대해서는 전문 디바이스 장비 업체에 문의 하시면 됩니다.

 

 

2. 시리얼 ModBus통신 데이터 인코딩 방식에 의한 분류

 

ModBus ASCII: 시리얼로 ASCII통신을 하기위한 프로토콜 입니다.

ASCII코드는 예를 들어 'A'라는 문자를 보낼때는 0x41, 'B'는 0x42 , 십진수 숫자 '1' 은 0x31로  표현하여 통신을 합니다.

 

에를 들어 십진수 1234를 ModBus ASCII로 전송한다면 아래와 같은 데이터 형태로 전송이 됩니다.

 

0x31 0x32 0x33 0x34

 

ModBus RTU(Remote Terminal Unit): 이진수를 주고 받는 통신 프로토콜 입니다.

 

일반적으로 ModBus ASCII보다 산업현장에서는 ModBus RTU방식을 많이 사용합니다. 실제 ModBus 통신이라고 하면 대부분 ModBus RTU 통신이라고 보면 됩니다.

 

 - 아스키 코드에 대한 설명은 아래 링크를 따라가 주세요.

 

>>> 아스키 코드 표에 대한 설명 

 

 

3. 시리얼 Modbus 구성

하나의 마스터 모듈과 다수의 슬레이브 모듈로 구성 됩니다. 일반적으로 PLC가 마스터가 되고 주변장치가 슬레이브가 됩니다. 일반적으로 이렇게 통신을 하며 절대적인 것은 아닙니다. ModBus 통신을 지원하는 시스템이라면 PC나 다른 기타 장치들도 마스터가 될 수 있습니다. 

 

일반적으로 범용PC는 시리얼카드가 없는 경우가 많아 USB to Serial 통신 변환 컨버터등을 연결하여 시리얼 통신이 가능하게 해야 합니다. 

 

요즘은 USB to Serial 카드가 다양하게 나와 있어 쉽게 구할 수 있습니다.

 

 

 

일반적으로 마스터에서 커맨드가 날아가고 그에 따른 피드백을 슬레이브가 응답하는 방식입니다.

마스터는 1개가되며 슬레이브 모듈은 247개까지 연결이 가능합니다.

 

ModBus RTU 구성도
ModBus RTU 구성도

 

 

 

4. 시리얼 통신모드

 

 - Unicast 모드 

마스터 모듈이 단일 슬레이브 모듈에 커맨드를 보내서 응답을 받는 방식 입니다.

 

 - Broadcast 모드

마스터 모듈이 모든 슬레이브 모듈에 커맨드를 보내는 방식입니다. 

 

 

5. 시리얼 ModBus 최대 통신거리

 

1000m 까지 통신가능

 

 

6. 시리얼 ModBus 통신 속도

 

1200 bps , 2400 bps , 4800 bps ,9 600 bps ,19200 bps , 115200 bps

 

 

7. 시리얼 ModBus 에러체크 방식

 

 - CRC 에러체크

모드버스 RTU에 적용됩니다.

 

 - LRC 에러체크

모드버스 ASCII 방식에 적용됩니다.

 

 

8. 시리얼 ModBus 프로토콜 프레임 구성요소

 

Discrete input : 디지털 입력

Coils : 디지털 출력

input registers : 아날로그 입력 및 내부메모리 용

Holding registers : 래치메모리 용

 

 

9.ModBus 메모리 맵

ModBus RTU 매모리 맵
ModBus RTU 매모리 맵

위 메모리 맵은 모드버스를 지원하는 장비들 모두 공통으로 사용하는 메모리 맵입니다. 모드버스를 지원하는 장비는 예외없이 상기의 메모리 맵을 사용하는 것이 원칙 입니다.

 

 

10. ModBus RTU 프로토콜 구성

 

ModBus RTU 프로토콜
ModBus RTU 프로토콜

 

Address : 디바이스 장치를 구분하기 위해 1~247의 값을 가질 수 있습니다.

Function Code: Master에서 slave로 어떤 동작을 할지 지정합니다. 

Data : Function Code에 따라 달라집니다.

CRC: 에러 체크를 위한 코드 입니다.

 

댓글


TOP

TEL. 02.1234.5678 / 경기 성남시 분당구 판교역로