Python

[Modbus Program] Modbus-RTU

nicedaddy 2021. 9. 22. 17:28

PLC로 구성된 Robot을 수리하기 위한 통신 방식인 Modbus-RTU를 study 해본다.

일단 기본 개념부터 확실히 정리하자.

https://badayak.com/4809

 

MODBUS-RTU 프로토콜 쉽게 이해하기

MODBUS 프로토콜 이 글은 시리얼 통신을 잘 알고 있지만, MODBUS-RTU를 처음 접하는 분을 위해 저의 경험을 바탕으로 작성했습니다. 시리얼 통신을 꽤 오랫동안 다루었지만, MODBUS-RTU를 처음 접했을 때

badayak.com

1) Modbus Memory Map

coil vs register

coil -> 1bit, switch

register -> 16bit(2byte), value

2) modbus 프로토콜 기본구성

3) modbus 프로토콜 메모리맵과 함수 정리

예) CB405
예) CB405
HMI/SCADA 적용시

4) Modbus-ASCII vs Modbus-RTU

Modbus-ASCII  -> 개행문자를 섞은 아스키통신 (0x0d, 0x0a)

Modbus-RTU -> 바이너리 통신

 

5) HIM/SCADA hacking

>> 패킷분석 프로그램

https://www.wireshark.org/

https://github.com/riptideio/pymodbus

 

GitHub - riptideio/pymodbus: A full modbus protocol written in python

A full modbus protocol written in python. Contribute to riptideio/pymodbus development by creating an account on GitHub.

github.com

https://youtu.be/6UwvRD908sk

>>Modbus RTU용 다중 레지스터 읽기/쓰기

https://github.com/ljean/modbus-tk

 

GitHub - ljean/modbus-tk: Create Modbus app easily with Python

Create Modbus app easily with Python. Contribute to ljean/modbus-tk development by creating an account on GitHub.

github.com

https://youtu.be/FYPQgnQE9fk

https://github.com/Johannes4Linux/Simple-ModbusTCP-Server