랩뷰 GPIB 통신 기초
- LabVIEW 랩뷰/Labview 랩뷰 강의
- 2021. 1. 25.
안녕하세요. 지지비입니다.
이번 포스팅에서는 랩뷰를 이용한 GPIB 통신을 하는 방법에 대해서 알아보도록 하겠습니다.
학부생 때, 대학원 때 랩뷰를 잘 쓸 수 있었으면 눌러 놓고 딴짓을 해도 됐을 텐데 라는 생각을 종종 합니다. 사실 랩뷰도 상관없고 파이썬도 상관없지만 계측기를 자동화해서 다룰 수 있었다면 참 좋았을 것입니다(더 게을러질 수 있었을 테니까). 지금이야 능숙하게 관련 드라이버도 잘 알고 사용하고 있지만 그때에는 잘 몰랐고 알려주는 데도 별로 없었습니다. 랩뷰 강의를 들어 봐야 DAQ 가지고 전압 재는 것이나 하고 있으니.. 저한테 필요한 건 오실로스코프에서 전압 가져오는 것, 스펙트럼 분석기에서 파장 읽어오는 것이면 됐는데 말입니다.
여기서는 내셔널 인스트루먼트(NI)에서 나온 GPIB to USB 를 통해서 계측기와 통신하는 방법을 알려 드리려고 합니다. GPIB to USB는 생김새가 그렇게 생겼으니 그렇게 부르는 것이고, 정식 명칭은 GPIB-USB-HS 인가 봅니다. 새 제품 가격은 130만원 정도인데 중고가가 약 50만 원 정도입니다. 별로 고장 나지 않아 보통 중고로 구매했습니다…. 새 제품은 써본 적이 없는 것 같습니다.
1. 통신에 앞서 준비해야 하는 것
- 계측기가 GPIB 통신을 지원해야 합니다.
계측기에 GPIB 또는 IEE488.2 어댑터가 있는지 확인하세요. - 필요한 드라이버
내셔널 인스트루먼트 홈페이지에서 NI-488.2 와 NI-VISA를 모두 다운로드하시고 설치하시기 바랍니다. 혹시 최신 버전이 아닌 다른 버전을 받으실 때에는 Runtime-engine 말고 Full버전을 다운로드 하셔야 합니다. Runtime Engine은 나중에 응용프로그램 배포 시, 응용프로그램을 사용하기 위한 드라이버입니다.
2. 계측기 드라이버 검색
GPIB 통신이 필요한 계측기의 드라이버는 대부분 내셔널 인스트루먼트 또는 계측기 제조사에서 제공하고 있습니다. Agilent사의 전력 공급기(E3631A 등) 제품은 랩뷰를 설치하면 기본적으로 인스트루먼트 드라이버가 설치되어 있기도 합니다.
여기서는 Agilent 사의 DC Power Supply인 E3631A의 계측기 드라이버를 검색하고 설치하는 방법에 대해서 알아보도록 하겠습니다. 일단, 구글에 E3631A Labview Driver라고 검색해 보겠습니다. 맨 위에 검색되는 것을 알 수 있습니다.
아래에 있는 Drivers Available For This Instrument Model 에서 LabVIEW 드라이버를 다운로드 하는 페이지로 이동합니다.
아래와 같이 랩뷰 버전에 따른 계측기 드라이버를 지원하고 있습니다. 이는 랩뷰 하위 버전에서는 상위 버전의 랩뷰에서 저장된 랩뷰 파일을 열 수 없기 때문입니다. 이 포스팅에서는 랩뷰 2020 커뮤니티 에디션을 기반으로 설명하고 있으므로 LabVIEW 2018 에 해당하는 드라이버를 받으시면 되고, 이하 버전을 사용하시는 경우 맞는 버전을 다운로드 하시면 됩니다.
다운로드 파일을 압축을 풀어 아래 경로에 복사해 줍니다.
C:\Program Files(x86)\National Instrument\Labview 2020\instr.lib
랩뷰 버전이 다른 경우 맞는 버전 폴더에 똑같이 위치시켜주시면 되겠습니다.
랩뷰를 재시작합니다. 랩뷰의 시작화면도 완전히 종료했다가 다시 켜야 적용됩니다.
3. 드라이버 사용하기
블록다이어그램의 함수 팔레트에서 Instrument I/O - Instr Drivers 에 방금 설치한 드라이버가 추가된 것을 확인할 수 있습니다.
예를 들어 파워 서플라이의 전압과 전류를 읽는 프로그램을 간단하게 만든다면 Instrument I/O - Instr Drivers - Agilent E363X Series - Data - Read.vi 함수를 사용해서 아래와 같이 만들 수 있습니다.
인스트루먼트 드라이버의 GPIB 번호 설정과 통신에 대해서는 다음 포스팅에서 다루도록 하겠습니다.
'LabVIEW 랩뷰 > Labview 랩뷰 강의' 카테고리의 다른 글
XY 그래프 : 확대축소/오토스케일/커서 (0) | 2021.01.27 |
---|---|
루프와 함께 XY 그래프 그리기 - 실전예제 (2) | 2021.01.26 |
여러 열 리스트박스(Multicolumn Listbox)로 Pass/Fail 나타내기 (0) | 2021.01.24 |
프로퍼티 노드 : 컨트롤 배경색 바꾸기 (0) | 2021.01.23 |
기다림 함수 vs 다음 ms배수까지 기다림 함수 (0) | 2021.01.22 |