티스토리 뷰

반응형

ESP32 서버 모드

Client가 Server에 접속해서 정보를 가져오는 방식

modbus-esp8266 라이브러리 설치

modbus 예제의 IP-server-AnalogInput 열기

WiFi 정보 입력 후 컴파일 업로드

 

Modbus Client에서 ESP32로 접속 후,

주소를 100으로 설정하고 Read Input Register를 하면 됨.

 

소스 변경

delay(); 삭제해서 최대 성능을 낸다.

Coil, Hreg, Ists, Ireg 각각 4개씩 데이터를 기록한다. (3개씩은 타이머 분할 기록)

남은 1개의 103번 주소엔 millis(); 값을 실시간으로 기록한다.

 

C#으로 작성한 Modbus TCP Client에서 테스트 해보니

103번 값이 매우 빠른 속도로 갱신이 됐다.

Task Timer는 1ms초 단위로 갱신하도록 코딩 했음.

 

ESP32 성능은 아주 만족 스럽다.

PC에서 초당 64~65 회 수신으로 매우 빠르게 갱신된다. 1회 수신 처리에 약 15ms 소요.

동시에 100개를 수신하면 초당 60회가 주로 수신 되고, 28~70 회까지도 튄다.

다축 로봇 제어 등, 실시간 정밀 제어에 충분히 사용할 수 있을 것 같다.

반응형
댓글
댓글쓰기 폼