1. 개요
모드^버스(Modbus) 모드^버스 「001」 『정보·통신』 공장 기반 제품들 사이에 정보를 교환하기 위하여 1978년에 개발된 통신 규약. 데이터 교환 및 피엘시(PLC) 시스템들 사이의 통신 정보를 위한 표준이다. (우리말샘)
지금은 저렴한 마이크로컨트롤러(MCU)끼리에서도 구동가능하다.2. 모드 버스
기원: Modicon (1979)현재 관리: Modbus Organization
라이선스: ❌ 없음
로열티: ❌ 없음
명시적 선언: “royalty-free, open protocol”
모드버스(Modbus)는 이처럼 의도적으로 개방되고 누구나 구현 가능하도록 개발되었다. 말이 “의도적으로 풀어놓은 산업 규칙”이지 AT 명령어처럼 사실상 표준이다. 간단하게는 8비트 MCU에 UART통신으로 RS-485선만 깔아주면 TCP/IP에 접근해서 인터넷도 가능하다.
3. Modbus RTU
Modbus RTU 프로토콜 예시[ Slave ID ][ Function 코드 ] (Byte Count) [ Data ][ CRC ][1]
TCP/IP에 접근하기 위해서는 Modbus RTU를 Modbus TCP와 호환시켜야한다.[2]
따라서 Modbus RTU와 Modbus TCP는 동일한 Modbus 응용 계층을 공유하며, 전송 계층이 다른 두 구현으로 이해해볼수있다.
3.1. Function 코드
| 범위 | 의미 |
| 0x01 ~ 0x7F | 정상 Function Code |
| 0x80 ~ 0xFF | 예외 응답 (Error) |
| 0x00 | 미정의 / 사용 안 함 |
3.1.1. Function 코드 예시
쓰기 명령 (예: 0x06), Byte Count 필요 없음[ Slave ID ] [ Function Code ] [ Addr Hi ] [ Addr Lo ] [ Data Hi ] [ Data Lo ] [ CRC ]
예외 응답(Exception Response)
[ Slave ID ] [ Function Code | 0x80 ] [ Exception Code ] [ CRC ]
3.1.2. 테스트 베드
테스트^베드(test bed) 「002」 『정보·통신』 시스템 컴포넌트나 시스템을 테스트하기 위하여 필요한 시뮬레이터, 인스트루먼테이션(instrumentation) 도구들, 다른 지원 소프트웨어와 하드웨어 따위를 가진 테스트 환경.(우리말샘)
예전에는 고가의 장비들이 이를 수행했었다.