위 제품으로 K열전대 2개의 온도를 그래프로 만들려고합니다.
VISA를 통해 MODBUS RTU 를 받아야 하는데 이 부분을 어떻게 해야할 지 모르겠습니다.
BASIC_SERIAL_WRITE_AND_READ로 돌려보는데 나오는 데이터가 없습니다.
해결되었습니다! 솔루션으로 이동.
글 수정하는 방법을 몰라서 응답으로 올립니다.
올린글 아래의 vi를 돌려보면 이런 오류가 나옵니다.
COM5로 VISA 테스트 패널 열기를 하면 위와같은 오류가 나옵니다.
오류검색해보고 드라이브랑 최대한 할 수 있는거는 해보고있는데 잘 모르겠습니다.
해결할 수 있게 도와주시면 감사드립니다.
기본적으로 통신은 지령을 줘야 응답이 오는 겁니다.
그 지령의 양식이 Modbus라는 프로토콜이고.. 매뉴얼을 보시면 몇 번지에 현재 온도값이 있는지 나올겁니다.
지령으로 그 번지의 데이터를 달라고 해야 응답이 오는 겁니다.
그리고 아래 에러의 대부분은 시리얼 포트 close가 안되어 있어서 리소스를 컴퓨터가 잡고 있어서 발생하는 경우가 대부분입니다.
이런 경우 그냥 빈 VI 열어서 시리얼 close 함수를 써서 포트 닫아주고 다시 시작하면 됩니다.
맨처음 올린 VI는 BODY안에 들어있습니다. 여기서 VI를 실행해보면 에러는 나오지않지만
나오는값이 없습니다.
저 빨간 동그라미부분을 바꿔야될거 같은데 몇 번지 현재 온도값이 이런 파라미터를 말씀하시는건가요?
메뉴얼을 아무리봐도 입력 값을 어떻게 줘야될지 모르겠습니다.
먼저 modbus rtu 통신에 대해서 알아보시구요. ni 에서 만든 modbus lib 를 다운받아서 사용해보세요.
modbus rtu 통신아이콘이 미리 만들어져 있습니다.
오토닉스 홈페이지에서 SCM_USU2I_KO_Communication_180820_W.pdf 를 읽어보시구요.
메뉴얼상의 2.3 PV 항목을 보시면 address 301001 이 pv1 이고 address 301004 가 pv2 입니다.