본문 바로가기

카테고리 없음

ESP32 Modbus Library for Arduino

반응형

 

Arduino용 Modbus 라이브러리

 

ModbusRTU, ModbusTCP 및 ModbusTCP 보안

 

라이브러리 사용에 대한 자세한 내용은 설명서 섹션을 참조하세요.

 

Github 자료 출처를 참고하세요.

 

기능

 

  • 모든 Arduino 플랫폼 지원
  • 다중 인스턴스의 모든 조합에서 작동
  • Modbus RTU 서버
  • Modbus RTU 클라이언트
  • ESP8266/ESP32 및 이더넷 라이브러리용 Modbus TCP 서버
  • ESP8266/ESP32 및 이더넷 라이브러리용 Modbus TCP 클라이언트
  • MODBUS/TCP 보안 서버(ESP8266)
  • MODBUS/TCP 보안 클라이언트(ESP8266/ESP32)

 

지원되는 Modbus 함수:

 

  • 0x01 - 코일 읽기
  • 0x02 - 입력 상태 읽기(개별 입력 읽기)
  • 0x03 - 홀딩 레지스터 읽기
  • 0x04 - 입력 레지스터 읽기
  • 0x05 - 단일 코일 쓰기
  • 0x06 - 단일 레지스터 쓰기
  • 0x0F - 다중 코일 쓰기
  • 0x10 - 다중 레지스터 쓰기
  • 0x14 - 파일 레코드 읽기
  • 0x15 - 파일 레코드 쓰기
  • 0x16 - 마스크 쓰기 레지스터
  • 0x17 - 다중 읽기/쓰기 레지스터
  • 콜백 기반 설계

 

실제 복잡한 예시:

 

  • Modbus를 통한 ESP8266/ESP32 펌웨어 업데이트
  • ModbusRTU-ModbusTCP 브리지

 

참고

 

  1. 레지스터의 오프셋은 0부터 시작합니다. 따라서 감시 시스템이나 테스트 소프트웨어를 설정할 때 주의해야 합니다. 예를 들어, ScadaBR에서 오프셋은 0부터 시작합니다. 따라서 라이브러리에서 100으로 설정된 레지스터는 ScadaBR에서도 100으로 설정됩니다. 반면, CAS Modbus 스캐너의 오프셋은 1부터 시작합니다. 따라서 라이브러리에서 100으로 설정된 레지스터는 이 소프트웨어에서 101로 설정되어야 합니다.
  2. MAX-485 기반 RS-485 트랜시버는 최소 115200까지 작동합니다. XY-017/XY-485는 어떤 이유에서인지 최대 9600까지만 작동합니다.

 

Modbus에 대한 자세한 내용은 다음을 참조하세요.

 

 

 

참고: PC에 설치하여 사용한 그래픽 제어 소프트웨어입니다. 

 

 

 

이미지: https://esp32io.com/tutorials/esp32-modbus

 

 

반응형