Modbus를 사용하여 통신하기 위한 각 장치에는 고유한 주소가 지정됩니다. 직렬 및 MB+ 네트워크에서는 마스터로 할당된 노드만 명령을 시작할 수 있습니다. 이더넷에서 모든 장치는 Modbus 명령을 보낼 수 있지만 일반적으로 하나의 마스터 장치만 보낼 수 있습니다. Modbus 명령에는 의도된 장치의 Modbus 주소(1 ~ 247)가 포함되어 있습니다. 다른 장치가 명령을 수신할 수 있더라도 의도한 장치만 명령에 따라 작동합니다(예외는 노드 0으로 전송되는 특정 브로드캐스트 명령이며, 이 명령은 작동하지만 승인되지 않음). 모든 Modbus 명령에는 수신자가 전송 오류를 감지할 수 있도록 체크섬 정보가 포함되어 있습니다. 기본 Modbus 명령은 RTU에게 레지스터 중 하나에서 값을 변경하도록 지시하고 I/O 포트를 제어하거나 읽으며 장치에 레지스터에 포함된 하나 이상의 값을 다시 보내도록 명령할 수 있습니다. Modbus는 원래 모디콘 (현재 슈나이더 일렉트릭)에 의해 출판 된 직렬 통신 프로토콜입니다 1979 그 프로그래밍 논리 컨트롤러 (PLC)와 함께 사용하기 위해. Modbus는 사실상 표준 통신 프로토콜이 되었으며 이제 산업용 전자 장치를 연결하는 일반적으로 이용 가능한 수단이 되었습니다.

[1] 산업 환경에서 Modbus를 사용하는 주된 이유는 직렬 포트와 인터넷 프로토콜 제품군을 지원하는 이더넷 및 기타 프로토콜에 대해 Modbus 프로토콜 버전이 존재하기 입니다. Modbus 프로토콜의 많은 변형이 있습니다: 다음은 Modbus 슬레이브 장치에서 Modbus 마스터 장치에 제공하는 개체 유형 테이블입니다: Modbus 쓰기 단일 코일, 함수 코드 05, PLC에 단일 코일을 씁니다. 단순성은 Modbus가 널리 퍼져있는 이유입니다. 또한 Modbus가 당시 가장 큰 PLC 제조업체 중 하나에 의해 만들어졌으며 개방적이고 널리 사용 가능해졌습니다. Modbus는 또한 프로세서 코드 공간 이나 RAM의 방법으로 거의 필요. 이것은 우리에게 사용할 수있는 강력한 프로세서와 기술을 감안할 때 오늘날 중요하지 않지만, 프로세서가 RAM 및 ROM과 같은 8 비트 기술과 자원을 사용할 때 산업 자동화의 초기에 매우 중요했고, 부족. 일부 Modbus 장치는 또한 두 개의 8비트 값을 단일 16비트 레지스터로 되돌아갑니다. 두 값은 일반적으로 «높은 바이트» 및 «낮은 바이트»로 문서화되거나 단순히 «H» 및 «L»이 표시됩니다. 이 시나리오에서 실행 하는 경우 바이트에 대 한 마스킹은 다음과 같습니다: 아래는 Modbus RTU 요청 및 각 항목에 대 한 설명과 응답 메시지의 예입니다. 먼저 마스터는 주소 2에서 시작하는 하나의 레지스터값을 반환하도록 슬레이브 1에게 알리는 요청을 보냅니다. Modbus의 다른 모든 것과 마찬가지로 데이터 표현은 간단합니다. 사실, 데이터는 지금까지 찾을 수있는 다른 산업 프로토콜보다 Modbus에서 더 간단하게 표현됩니다.