모드버스 프로토콜 예제

Modbus TCP(이더넷)를 사용하면 고가의 스위치를 사용해야 합니다. Modbus RTU (직렬)를 사용하면 모든 장치를 함께 데이지 체인 할 수 있습니다. 오래된 8 비트 프로세서와 약간의 메모리가있는 장치는 Modbus 직렬을 쉽게 수행 할 수 있지만 이더넷을 수행하려면 더 비싼 플랫폼이 필요합니다. RS485는 RS232의 후속입니다. 송신 스테이션에서 수신 스테이션으로의 비트 전송을 동기화하는 동기화 비트와 관련하여 유사한 방식으로 작동합니다. 그러나 RS485를 RS232와 다르게 만드는 두 가지 정의 특성이 있습니다. 첫 번째는 여러 목적지를 구동하는 기능입니다. RS485 송신기는 최대 32개의 대상 장치를 전기적으로 신호할 수 있습니다. 따라서 RS485는 Modbus 메시지를 직렬로 전송하는 기본 방법입니다. LRC는 8비트 값의 합으로 계산되며, 부정(2개의 보체)과 8비트 값으로 인코딩됩니다.

예: 주소, 함수 및 데이터를 247, 3, 19, 137, 0 및 10으로 인코딩하는 경우 합계는 416입니다. 8 비트로 트리밍 된 2의 보체 (-416)는 헥사데피만에서 60으로 표현될 96 (예를 들어 256 × 2 – 416)입니다. 따라서 다음 프레임 : : F70313890000A60. 모드버스 프레임은 프로토콜 데이터 단위(PDU)를 둘러싸는 애플리케이션 데이터 단위(ADU)로 구성됩니다.[9] 모드버스 RTU와 Modbus TCP(모드버스 IP, Modbus EtherNet 및 Modbus TCP/IP라고도 함)의 가장 기본적인 차이점은 Modbus TCP가 이더넷에서 실행된다는 것입니다. 물리 계층과 Modbus RTU는 직렬 수준 프로토콜입니다. Modbus TCP는 6바이트 헤더를 사용하여 라우팅을 허용합니다. 프로토콜 식별자: 클라이언트가 설정한 2바이트, 항상 = 00 00 모든 IEC-1131 데이터 유형은 Modicon PLC의 리틀 엔디안 형태로 표시됩니다. Modbus RTU 메시지는 Checksum의 함수 코드 및 CRC에 따라 SlaveID 장치의 주소, 기능 코드, 특수 데이터로 구성됩니다. 레지스터는 입력 레지스터 및 홀딩 레지스터로 그룹화됩니다. 입력 코일과 마찬가지로 입력 레지스터는 일부 외부 입력의 상태를 0에서 65535 사이의 값으로 보고합니다. 입력 레지스터의 원래 의도는 일부 아날로그 입력의 값을 반영하는 것이었습니다.

전압 이나 전류 와 같은 아날로그 신호의 디지털 표현입니다. 오늘날 대부분의 Modbus 장치는 I/O 장치가 아니며 입력 레지스터는 단순히 홀딩 레지스터와 동일하게 작동합니다. tM 시리즈는 M-7000 시리즈의 컴팩트 한 버전입니다. 표준 DCON 및 Modbus RTU 프로토콜을 제외하고 Modbus ASCII 프로토콜을 사용할 수 있습니다. Modbus와 TCP가 함께 작동할 수 있는 방법에는 두 가지가 있습니다. 하나는 실제 Modbus TCP 프로토콜, 다른 하나는 Modbus RTU 오버-TCP입니다. 표준 Modbus RTU 노드 주소는 1-255이며 0은 브로드캐스트 메시지에 대해 예약되고 쓰기전용입니다. 그러나 메시지가 슬레이브 노드에서 제대로 수신되었다는 확인이 없으므로 0 주소는 거의 사용되지 않습니다.

어쨌든 하나의 노드만 구현할 수 있으므로 물리적 계층이 RS-232인 경우에는 이 에 큰 영향을 미치지 않습니다. RS-485는 노드 수를 32개로 제한하지만 일부 드라이버는 양을 연장할 수 있습니다. 예를 들어 참조 0 (모디콘 984에서 40001)에서 레지스터의 비트 0-3의 필드를 변경 4 헥스 BACnet EtherNEt / IP 모드 버스 모드 버스 RTU 모드 버스 TCP RTA의 블로그 Modbus TCP의 도입과 함께, 모든 것이 단순화되고 쉽게되었다.

2nd August 2019 Uncategorized