Modbus TCP 통신 프로토콜

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

Modbus TCP 통신 프로토콜

Mod bus TCP 프로토 콜 분석

Mod bus TCP 와 Mod bus U DP 의 메시지 형 식은 동일 하며 , 그들 사이의 차이 점은 TCP 와 U DP 의 차이 점 이기 때문에 Mod bus TCP 프로토 콜 을 분석 하기 위해 다음과 같습니다 . Mod bus TCP 와 Mod bus R tu (Mod bus AS C II) 의 차이 점은 다음과 같습니다 .

Modbus TCP 통신 프로토콜Figure

위의 그림 에서 알 수 있 듯이 , Mod bus TCP 는 Mod bus 직 렬 통신 을 기반으로 체크 섬 (TC P 자체가 체크 섬 을 가지고 있기 때문에) 및 장치 주소 (Mod bus TCP 는 장치 주 소를 약 화 시키고 IP 주소 로 대체) 를 제거 하고 , MBA P 헤 더 (7 바 이트) 를 추가 합니다 .

Length説明客户机Server

이 더 넷 링크 에서 Mod bus 프로토 콜 의 메시지 형 식은 다음과 같습니다 .

トランザクション処理标识符Protocol IdentifierLengthUnit identifierfunction codedata

위의 이론 적 기초 가 있는 후 , 아래 는 각 기능 코 드에 대한 자세한 분석 을 수행 합니다 .

출 력 코 일 읽기

메시 지는 다음과 같은 형 식으로 보내 집니다 .

Modbus TCP 통신 프로토콜Figure1

메시지 의미 : 서버 1 호 슬 레이 브 출 력 코 일을 읽고 , 시작 주소 0 x 13 = 19, 해당 주소 000 20, 코 일 수 0 x 1 B = 27, 즉 , 슬 레이 브 1 호 출 력 코 일을 읽고 , 주 소는 000 20 - 000 46 에서 , 총 27 개의 코 일의 상태 값 .

여기서 프로토 콜 의 시작 주 소는 인 덱 스를 의미 하며 , 다음 주 소는 특정 주 소를 의미 하며 , 임 의 의 저장 영역 의 경우 인 덱 스는 0 에서 시작 되지만 해당 특정 주 소는 출 력 코 일 , 0 은 00 00 1 에 해당 하며 , 입력 코 일 , 0 은 1000 1 에 해당 하며 , 입력 레 지 스터 , 0 은 3000 1 에 해당 하며 , 레 지 스터 를 유지 하며 , 0 은 4000 1 에 해당 하는 것과 같은 저장 영역 과 관련이 있습니다 .

반환 된 메시 지는 다음과 같은 형 식으로 표시 됩니다 .

Modbus TCP 통신 프로토콜Figure2

반환 메시지 의미 : 반환 서버 1 호 슬 레이 브 스테 이션 출 력 코 일 000 20 - 000 4 6, 총 27 개의 코 일의 상태 값 , 반환 바 이트 수는 4 개 , 각각 CD 6 B B 205 입니다 .

CD = 1100 110 1 은 000 20 - 000 27 에 해당 합니다 .

6 B = 01 10 10 11 은 000 28 - 000 35 에 해당 합니다 .

B 2 = 10 11 00 10 에 해당 하는 000 36 - 000 43

05 = 00 00 0 101 은 000 44 - 000 46 에 해당 합니다 .

입력 코 일 읽기

메시 지는 다음과 같은 형 식으로 보내 집니다 .

Modbus TCP 통신 프로토콜Figure3

메시지 의미 : 서버 1 호 슬 레이 브 스테 이션 입력 코 일을 읽고 , 시작 주 소는 0 x C 4 = 19 6, 해당 주 소는 10 197 이며 , 코 일 수는 0 x 1 D = 29 이며 , 즉 슬 레이 브 스테 이션 입력 코 일을 읽고 , 주 소는 10 197 - 10 22 5, 총 29 개의 코 일의 상태 값 입니다 .

반환 된 메시 지는 다음과 같은 형 식으로 표시 됩니다 .

Modbus TCP 통신 프로토콜Figure4

반환 메시지 의미 : 반환 서버 1 호 슬 레이 브 스테 이션 입력 코 일 10 197 - 10 22 5, 총 29 개의 코 일의 상태 값 , 반환 바 이트 수는 4 개 , 각각 CD 6 B B 205 입니다 .

CD = 1100 110 1 은 10 197 - 10 20 4 에 해당 합니다 .

6 B = 01 10 10 11 10 20 5 - 102 12 에 해당 합니다 .

B 2 = 10 11 00 10 은 10 21 3 - 102 20 에 해당 합니다 .

05 = 00 00 0 101 102 21 - 102 25 에 해당 합니다 .

레 지 스터 읽기 유지

메시 지는 다음과 같은 형 식으로 보내 집니다 .

Modbus TCP 통신 프로토콜Figure5

메시지 의미 : 서버 1 호 슬 레이 브 스테 이션 레 지 스터 를 읽고 , 시작 주 소는 0 x 6 B = 10 7, 해당 주 소는 40 10 8, 레 지 스터 수는 0 x 02 = 2, 즉 슬 레이 브 스테 이션 레 지 스터 를 읽고 , 주 소는 40 10 8 - 40 10 9, 총 2 개의 레 지 스터 의 값 입니다 .

반환 된 메시 지는 다음과 같은 형 식으로 표시 됩니다 .

Modbus TCP 통신 프로토콜Figure6

반환 메시지 의미 : 반환 서버 1 호 슬 레이 브 스테 이션 은 레 지 스터 40 10 8 - 40 10 9 를 유지 하며 , 총 2 개의 레 지 스터 의 값 은 4 개의 바 이트 를 반환 하며 , 각각 0 22 B 01 0 6, 40 10 8 의 값 은 0 x 0 22 B , 40 10 9 의 값 은 0 x 0 10 6 입니다 .

입력 레 지 스터 읽기

메시 지는 다음과 같은 형 식으로 보내 집니다 .

Modbus TCP 통신 프로토콜Figure7

메시지 전달 의미 : 서버 1 호 슬 레이 브 스테 이션 입력 레 지 스터 를 읽고 , 시작 주 소는 0 x 6 B = 10 7, 해당 주 소는 30 10 8, 레 지 스터 수는 0 x 02 = 2, 즉 슬 레이 브 스테 이션 1 호 를 읽고 , 주 소는 30 10 8 - 30 10 9 에서 , 총 2 개의 레 지 스터 의 숫자 값 입니다 .

반환 된 메시 지는 다음과 같은 형 식으로 표시 됩니다 .

Modbus TCP 통신 프로토콜Figure8

반환 메시지 의미 : 반환 서버 번호 1 슬 레이 브 스테 이션 입력 레 지 스터 30 10 8 - 30 10 9, 총 2 레 지 스터 의 숫자 값 , 반환 바 이트 수는 4 개 , 각각 0 22 B 01 0 6, 30 10 8 에 해당 하는 숫자 값 은 0 x 0 22 B , 30 10 9 에 해당 하는 숫자 값 은 0 x 0 10 6 입니다 .

단일 코 일 사전 설정

메시 지는 다음과 같은 형 식으로 보내 집니다 .

Modbus TCP 통신 프로토콜Figure9

메시지 의미 : 사전 설정 서버 1 호 슬 레이 브 스테 이션 의 단일 코 일의 값 , 코 일 주 소는 0 x 00 AC = 17 2, 해당 주 소는 00 17 3, 차단 플 래 그 0 x FF 00 은 설정 , 0 x 000 은 재 설 정 , 즉 설정 1 호 슬 레이 브 스테 이션 출 력 코 일 00 17 3 입니다 .

반환 된 메시 지는 다음과 같은 형 식으로 표시 됩니다 .

Modbus TCP 통신 프로토콜Figure10

반환 메시지 의미 : 사전 설정 단일 출 력 코 일의 원래 메시 지가 반환 됩니다 .

사전 설정 단일 레 지 스터

메시 지는 다음과 같은 형 식으로 보내 집니다 .

Modbus TCP 통신 프로토콜Figure11

반환된 메시지는 다음과 같은 형식으로 표시됩니다.

Modbus TCP 통신 프로토콜Figure12

반환 메시지의 의미: 사전 설정된 단일 보유 레지스터는 원래 메시지가 반환됩니다.

미리 설정된 다중 코일

메시지는 다음과 같은 형식으로 보내집니다.

Modbus TCP 통신 프로토콜Figure13

메시지 의미: 사전 설정 서버 1 호 슬레이브 스테이션의 여러 코일의 값, 코일 주소 0 x 0013 = 19, 해당 주소 00020, 코일 수 0 x 0 A = 10, 쓰기 값 0 x CD 00, 즉 사전 설정 1 호 슬레이브 스테이션 코일 00020 - 00027 = 0 x CD = 1100 1101, 00028 - 00029 = 0 x 00 = 000000.

반환된 메시지는 다음과 같은 형식으로 표시됩니다.

Modbus TCP 통신 프로토콜Figure14

반환 메시지의 의미: 사전 설정된 다중 출력 코일 반환 메시지는 원래 메시지에 기초하여 바이트 수 및 구체적인 바이트를 제거 한 후에 반환됩니다.

미리 설정된 다중 레지스터

메시지는 다음과 같은 형식으로 보내집니다.

Modbus TCP 통신 프로토콜Figure15

메시지 전달 의미: 사전 설정 서버 1 호 슬레이브 스테이션의 여러 레지스터의 값, 레지스터 주소 0 x 0087 = 135, 시작 주소 40136, 레지스터 수 0 x 02 = 2, 종료 주소 40137, 쓰기 값 0 x CD 00 및 0 x 0 A 10, 즉 사전 설정 1 호 슬레이브 스테이션 레지스터 40136 = 0 x 0105, 40137 = 0 x 0 A 10.

반환된 메시지는 다음과 같은 형식으로 표시됩니다.

Modbus TCP 통신 프로토콜Figure16

반환 메시지의 의미: 사전 설정된 다중 보유 레지스터 반환 메시지는 원래 메시지에 기초하여 바이트 수 및 구체적인 바이트를 제거 한 후에 반환됩니다.

Modbus 기술 QQ 교류 그룹

Modbus TCP 통신 프로토콜Figure17
Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.