Modbus rs485디버깅 어떻게 해야할까요?

이희주   
   조회 6089   추천 0    

MEC10_Moisture&Temperature&EC_Sensor_Instructions.doc (865.5K), Down : 7, 2022-03

 9600,8,N,1  으로 통신하는 토양센서입니다.


Ttl to rs485컨버터를 꽂아서 pc에서 확인하려는데 modbus simulator에서조차 올라오지 않습니다.


데이터시트도 갖고 있는데 이걸 어떻게 활용해야 통신할 수 있는걸까요?



+ 모드버스 레지스터 추가

++판매자로부터 받은 데이터시트 추가
+++모드버스 폴 설정 및 에러 추가



짧은글 일수록 신중하게.
Noman 2022-03
pc쪽  시리얼이 usb 인가요?
보통 신뢰성 있는 시스템 베이스 제품을 많이 씁니다.
시리얼 루프백 테스트 먼저 해보세요.
     
이희주 2022-03
애초에 센서가 잘못된건지 ttl-usb가 불량인건지 결선이 잘못된건지 프로그램에서의 통신 프로토콜 설정이 잘못된건지 도저히 짚지를 못하겠습니다.

프로그램에서 통신 프로토콜 설정하는 상황에서
위와같이 9600,8, non-parity,1비트 설정하면 어드레스 미지정인 상태에서도 뭔가 올라와야 정상인가요?
     
이희주 2022-03
https://luckygg.tistory.com/301

이곳 참고하여 진행한 시리얼 루프백 테스트는 문제 없습니다.,
타디스 2022-03
MODBUS 통신에서 slave ID 가 맞지 않으면 아무것도 응답이 없습니다. slave ID 확인해 보십시오.
     
이희주 2022-03
본문에 센서 데이터 시트상의 모드버스 레지스터 자료를 올려두었습니다.

여기서 SLAVE ID가  레지스터 어드레스인 0X0000/0번이 맞을까요?
          
타디스 2022-03
데이터시트  11페이지에 slave address 1 로 표시되어 있네요.
구차니 2022-03
모드버스 레지스터 말고 모드버스 슬레이브 id가 필요할듯 합니다.
센서 모델을 공개하기 힘드실까요?
     
이희주 2022-03
https://www.infwin.com/mec10-soil-moisture-ec-and-temperature-sensor-rs485-modbus/

MEC10이라는 센서입니다.

위 주소는 구글링으로 나오는 자료인데 제 센서와 똑같고 좀 더 자세한 설명이 되어있는듯합니다.

 판매자로부터 받은 데이터시트도 본문에 첨부하겠습니다.
          
구차니 2022-03
11페이지
https://www.infwin.com/wp-content/uploads/UM-MEC10-Soil-Moisture-EC-and-Temperature-Sensor.pdf

default serial communcation settings is slave address 1.

modbus에서 slave id 1로 설정하시고 통신 시도해보시면 될 것 같습니다.
modbus poll 이라는 툴을 사용해 보니 편하더라구요.(30일 무료)
               
이희주 2022-03
MODBUS POLL에서도 사진과같은 설정에서도 TIMEOUT으로 에러가 나서 로깅이 불가능한 상황입니다.

TTL USB 는 문제없음을 시리얼 루푸백 테스트를 통해 확인했다면 결선이나 센서 문제일까요..?
                    
구차니 2022-03
센서 - 485 to ttl - ttl usb
이렇게 2단계 연결해서 사용하시는건가요?
henol 2022-03
센서타입이 rs485modbus모델이고 센서와 PC사이에 결선하신게 rs485 to USB 제품인지요.
메뉴얼대로 노란선+, 흰선- 에 연결하셨으면 될텐데 말이죠.
     
이희주 2022-03
네 그렇습니다, rs485 to USB ttl을 사용중이며 rx-tx연결하여 루브백 테스트를 통해 ttl의 고장유무는 확인했고 이제 센서나 결선 문제를 짚어봐야할텐데

말씀하신대로 노란선 + 흰선-에 연결했고 파워도 연결해두었습니다...

센서가 고장인 확률이 크겠죠?
구차니 2022-03
output interface rs485 / mobus-rtu
power supply 3.6-40vdc
485에 modbus rtu로 설정하시고

red v+
black g
yellow t+ rs485+ a/t+
white t- rs485-/b/t-

modbus poll에는 문제 없어 보이는데
usb 시리얼 장비 모델은 어떻게 되나요?
굳이 rs485 to ttl이 아니라
usb to rs485면 될 것 같고, yellow를 485의 t+에 white를 t-에 연결하면 1:n 버스이기 때문에 통신에 문제가 없어야 합니다.

modbus poll에서는 F8 눌러
address 0, quantity 6 으로 시도해보시면 되지 않을까 합니다.
green set
구차니 2022-03
아 속도 계산은 해봐야겠지만.. 9600bps 에서 20ms delay between poll이 적절한진 모르겠습니다.
486 특성상 TX enable이 들어가고 풀리는 시간이 있어서 232 처럼 노딜레이 통신이 가능하지 않습니다.
폴링 주기를 500ms나 100ms 로 늦춰서 해보시는것도 방법일듯 합니다.

9600/(8+1) = 약 1000byte/s 패킷 길이 10byte정도 감안하면
10ms 로는 조금 빠듯하겠지만
txen을 usb485에서 길게 잡고 있으면 그 시간동안 장치에서 응답을 해도 usb485 에서 rx를 할 수 없는 시간이 생깁니다.
     
이희주 2022-03
ttl과 usb-485컨버터의 개념을 잘 이해하고 있지 못했습니다.
usb-rs485는 여러개 보유중인데 모두 불통입니다.
https://smartstore.naver.com/openidea/products/4833188952
https://smartstore.naver.com/openidea/products/4833189119

시간을 늘려보고
댓글로 알려주신 모든방법을 해봐도 응답이 없어서 정말 답답합니다..

번거로우시겠지만 물건 보내드리면 테스트 부탁드릴 수 있을까요..?
          
구차니 2022-03
CH340 USB to RS485
만 사용하셔서 rs485의 D+과 센서의 T+을 연결하시고, D-와 T-를 연결하시면 됩니다.

485는 루프백으로 테스트가 불가능하고(TXEN 때문에)
2개가 있으시면 두개를 서로 T+ <->T+ / T- <-> T- 연결하시고 시리얼 포트 두개 열어서
한번에 하나씩 half-duplex로 전송해 보시고 양쪽다 받아지면 문제 없는 것입니다.
               
이희주 2022-03
앗,,,485가 루프백 테스가 불가능하다면 애초에  rs485부터 정상인건지 말씀하신 방법으로 진단해보겠습니다..
               
이희주 2022-03
장치관리자에서 물음표는 없지만 해당 컨버터 칩셋명은 안뜨고 Usb Serial port com1만 떠있는데 설마 드라이버가 안잡혀서 그런건 아니겠죠 ...?
                    
구차니 2022-03
느낌표 없이 com1 이렇게 떴으면 잡힌거니 그냥 쓰시면 됩니다만..
COM1으로는 잘 안잡히는데 특이한 보드인가 보네요
                         
이희주 2022-03
모드버스 커뮤니케이션의 문제라기보다는 rs485 컨버터의 문제일 가능성이 상당할듯합니다.

싸구려여서 그런건지... 갖고 있는 usb-rs485두 제품 모두 칩셋명은 안뜨고  시리얼포트 COM #으로만 되어있습니다
구차니 2022-03
일단 com1 이렇게 뜨는게 이상은 아닙니다.
다만 컴퓨터에서 포트가 나와있지 않지만 com1,com2 정도는 점유하는 걸로 되어있어 com3 부터 일반적으로 잡히는데 com1이 잡혀서 신기해 하고 있었습니다.
rs485 컨버터 부터 확인해보시는게 우선일 것 같습니다.
그리고 usb의 경우 칩셋 이름이 안뜰수도 있습니다.
usb 디바이스 만들면서 디바이스 명을 넣는데 기본 펌웨어라면 칩 이름이 뜨겠지만 그게 아니라면 제품명을 넣어 둘테니까요.
     
이희주 2022-03
그렇군요..새로운 사실을 배웠습니다.

센서 제조사 홈페이지에 모드버스 통신 데이터값을 기반으로 센서값을 변환해서 보여주는 프로그램이 있어서 열어봤더니 여기서도 통신이 불가능합니다.

한가지 다른점은 통신 시도시에 컨버터의 RX LED 인디케이터가 반짝이고 TX는 안들어오는 상황입니다..

RS485를 좀 더 디테일하게 진단해보도록 하겠습니다.
          
구차니 2022-03
결선이 잘못되었을 가능성이 있을 것 같습니다.
정상대로라면.. 테스트 프로그램이 읽기 위해 명령어를 날리면(read command) 485 컨버터의 TX에 불이 들어와야 합니다.
정안된다면.. 센서 데이터시트의 green(set) 케이블을 + 였나.. 연결해서 켜면 장치 설정이 초기화 되어있다고 본 것 같은데
해당 내용 다시 확인해보시고 센서쪽도 초기화 후 테스트 해보시기 바랍니다.
               
이희주 2022-03
뭘해도 불가능하네요...주변에서 작동 보장된rs485컨버터로 테스트 해보면 센서를 바로 진단가능할텐데 그런 도움 주실분이 제게는 없을듯합니다ㅜ
                    
구차니 2022-03
*비밀글입니다
                         
이희주 2022-03
*비밀글입니다
     
dateno1 2022-03
포트가 실재로 활성화되어있거나, SOL같은게 먼저 안 쓰는한 아에 미사용 영역이라 1부터 할당됩니다

가끔 구형이나 발로 만든 소프트는 1~9 흑은 1~4만 되므로 주의해주세요
henol 2022-03
모델명이 정확하게 MEC10-_____002 에서
4번째칸이 전압인데 A부터 E모델까지 전압레인지가 다르네요.
맞게 넣으셨을 것 같은데.
     
이희주 2022-03
제가 보유하고 있는 제품은 3.6-30 볼트 제품이며 5볼트에 물려둔 상태입니다..

주변이나 이곳에서 rs485컨버터 보유하고 계신분께 도움을 청할 수 밖에 없을듯합니다.
          
백룡 2022-03
지역이 어디신지요?
               
이희주 2022-03
*비밀글입니다
                    
백룡 2022-03
*비밀글입니다
                         
이희주 2022-03
*비밀글입니다


QnA
제목Page 2206/5710
2014-05   5160796   정은준1
2015-12   1695100   백메가
2019-08   5871   올빼미잠와
2013-07   5871   김장우
2011-10   5871   왕용필
2014-11   5871   제상현
2005-07   5871   김세권
2016-12   5871   노가리강추
2005-11   5871   유호준
2005-10   5871   김형주
2008-04   5871   김병우
2014-09   5870   MikroTik이진
2012-01   5870   김우성
2008-04   5870   정영철
2005-08   5870   조항주
2017-05   5870   유포리아
2005-08   5870   조대헌
2016-10   5870   Dfens
2005-10   5870   이성준
2013-04   5870   오준호5
2005-08   5870   송경민
2017-10   5870   심바트