본문 바로가기
제어/modbus 통신

Modbus(4) Modbus 통신을 이용하여 python으로 입력하기

by su-bi 2023. 8. 16.

저번 블로그에 이어서 데이터를 컨트롤러(Slave)로 보내는것을 해보자. 

https://seung-seop.tistory.com/7?category=1086640 

ㄴ python으로 데이터 수집하기

 

D resister datasheet에서 OUT1이 있길래 손쉽게 데이터를 받아올수 있을줄 알고 42006 주소에 data를 Write 했는데 자꾸 결과값이 none이 뜨거나 read로 확인해봐도 데이터가 바뀌지 않았다. 

함수를 잘못썻나 찾아보다가 알고보니 이 영역에서는 Read 밖에 되지 않는다는것을 데이터 시트에서 확인했다.ㅋㅋㅋ

UT52A의 D register

그래서 메뉴얼에서 OUTPUT setting이 있길래 이것을 확인했는데 파라미터값들이 다 뭔지 모르겠어서 역시 for문으로 전체 출력해봤는데 비슷해보이는건 없었다...

UT52A의 D register OUTPUT setting

인터넷에서도 관련된 정보가 거의 없어서 계속 찾아보다가 "PC값을 보내서 출력하는거는 포기해야 하나.." 하던 찰나 메뉴얼에서 찾아버렸다.. 캬캬컄

UT52A maual

 위 방법을 auto 모드가 아니고 maul모드를 써서 컨트롤러 내부의 PID제어를 사용하지는 못하지만 수동으로 값을 줄 수 있는거 같다. (PID파라미터를 수동으로 튜닝해주면 가능할지도,,)

1. MAN 모드로 변경한다. 

2. MOUT_L1, MOUT_L2, MOUTc_L1, or  MOUTc_L2에 값 저장`

출력을 최댓값 10으로 설정했을때

다음과 같이 OUT값이 변함을 확인할 수 있고 멀티미터기를 이용하여 출력 전압을 측정하였다.

\\\

위와 같이 거의 10V가 흐름을 확인 할 수 있다.