GPIB Commands

VISA로 연결된 계측기(GPIB·USB·LAN)에 SCPI 명령 전송과 측정값 수집.

GPIB 명령어는 VISA 규격을 지원하는 계측기에 SCPI 같은 텍스트 명령을 보내고 응답을 받아오기 위한 명령어 모음입니다. 이름은 GPIB지만 실제로는 VISA가 다루는 모든 인터페이스 — GPIB, USB(USBTMC), LAN — 를 같은 방식으로 제어합니다.

이 카테고리의 명령어는 프로젝트에 GPIB 장비가 등록되어 있어야 명령어 목록에 나타납니다. 등록된 장비가 하나도 없으면 툴박스에 GPIB 페이지 자체가 만들어지지 않습니다.

VISA 런타임 준비

Aurora는 계측기와 직접 통신하지 않고 PC에 설치된 VISA 런타임을 통해 통신합니다. 따라서 장비를 쓰기 전에 VISA를 먼저 설치해야 합니다.

  • NI-VISA 또는 Keysight IO Libraries Suite 같은 벤더 VISA 런타임을 설치합니다.
  • Aurora는 32비트 프로그램이므로 32비트 VISA가 필요합니다. NI-VISA 설치 관리자는 32비트/64비트를 함께 설치하므로 별도 선택이 필요하지 않습니다.
  • 설치 후 장치 설정 창의 Search 또는 Test 버튼이 동작하면 준비가 끝난 것입니다.

VISA가 없거나 불완전하면 다음 메시지가 표시됩니다.

메시지원인
visa32.dll 을 불러올 수 없다는 안내VISA 런타임이 설치되지 않음
VISA는 있으나 초기화에 실패했다는 안내32비트 VISA가 없거나 설치가 손상됨
The installed VISA runtime does not support resource discovery.검색 기능이 없는 VISA 구현 — 주소를 직접 입력해 사용

지원하는 주소 형식

장비는 VISA 리소스 문자열로 지정합니다.

인터페이스주소 예시비고
GPIBGPIB0::5::INSTRGPIB 보드·컨트롤러 필요
USB (USBTMC)USB0::0x05E6::0x2230::<serial>::INSTR연결만 하면 검색됨
LAN (VXI-11 / LXI)TCPIP0::192.168.0.10::inst0::INSTR장비가 VXI-11을 지원할 때
LAN (Raw socket)TCPIP0::192.168.0.10::5025::SOCKET포트는 장비 매뉴얼 확인, 종단 문자 필수

VISA 도구(NI MAX 등)에서 지정한 별칭(alias) 도 주소 자리에 그대로 쓸 수 있습니다.

장치 등록 방법

GPIB 장비는 프로젝트 속성(Project Information) 창의 Select DUT(Device Under Test) 영역에서 등록합니다. 왼쪽 트리에서 GPIB 를 선택하고 > 버튼을 누르면 설정 창이 열립니다.

설정 창은 위에서 아래로 세 단계로 되어 있고, 그 순서가 곧 사용 순서입니다.

1. Find an instrument

Search 버튼을 누르면 VISA가 알고 있는 계측기를 목록에 채웁니다. 각 항목에 *IDN? 질의를 보내 장비 식별 문자열을 함께 보여주므로, 어느 주소가 어떤 장비인지 바로 알 수 있습니다.

LAN 장비는 대부분 검색되지 않습니다. VISA는 벤더 도구(NI MAX, Connection Expert)에 미리 등록해 둔 LAN 장비만 열거합니다. 등록하지 않은 장비는 목록에 나오지 않으니, 아래 2단계에서 주소를 직접 입력하고 Test 로 확인하세요. GPIB와 USB 장비는 등록 없이 자동으로 검색됩니다.

목록에서 행을 선택하면 아래 Address 칸에 주소가 자동으로 들어갑니다. 응답이 없는 장비는 식별 문자열 자리에 (no response) 로 표시되지만, 주소 자체는 그대로 사용할 수 있습니다.

2. Address and connection

필드설명
AddressVISA 리소스 문자열 — 위 목록에서 선택하거나 직접 입력
Test입력한 주소로 접속해 *IDN? 질의 — 결과가 팝업과 아래 상태줄에 표시됨
Timeout읽기·쓰기 제한 시간 (Milliseconds, 기본값 3000)
Read termination응답의 끝을 판단할 문자 — None / LF / CR / CR+LF (기본값 LF)

Test 결과는 상태줄에 남습니다. 연결되면 초록색으로 Connected - <장비 식별 문자열>, 실패하면 빨간색으로 Failed - <사유> 가 표시되고, 주소를 고치면 다시 Not tested yet. 로 돌아갑니다. 화면에 보이는 상태와 실제 주소가 어긋나지 않습니다.

대부분의 SCPI 계측기는 Read terminationLF 입니다. Raw socket(::SOCKET) 장비는 프로토콜 차원의 메시지 끝 표시가 없어 종단 문자가 반드시 필요합니다. None 으로 두면 응답을 끝까지 기다리다 Timeout으로 실패합니다.

3. Register

Alias 에 스크립트에서 장비를 가리킬 이름을 넣고 OK 를 누르면 등록됩니다. OK 를 누를 때 두 가지를 확인합니다.

  1. 주소 형식 검사 — VISA 주소 꼴이 아니면 등록을 막습니다. 오타를 걸러내는 단계라 VISA가 없어도 동작합니다.
  2. 연결 확인 — 아직 Test 하지 않았거나 그 뒤로 주소가 바뀌었으면 자동으로 한 번 접속해 봅니다. 실패하면 그래도 등록할지 묻습니다.

연결에 실패해도 등록할 수 있습니다. 아직 전원을 켜지 않은 장비나 나중에 연결할 장비를 미리 등록하는 것은 정상적인 사용이기 때문입니다.

자동 연결

Connect GPIB 를 먼저 실행하지 않아도 됩니다. 모든 GPIB 명령어는 실행 시점에 세션이 닫혀 있으면 자동으로 엽니다. 이미 열려 있으면 그대로 재사용하므로, 명령마다 다시 접속하지 않습니다.

Connect GPIB연결 시점을 앞당기고 싶을 때 쓰는 선택 사항입니다.

  • 스크립트 시작 부분에서 장비 연결 실패를 미리 확인하고 싶을 때 — 자동 연결에 맡기면 실제로 통신하는 명령에 가서야 실패합니다.
  • 첫 명령의 응답 시간에 연결 지연이 섞이는 것을 피하고 싶을 때 (특히 LAN 장비).

자동으로 되는 것은 등록된 별칭의 세션을 여는 것이지 장비 등록이 아닙니다. 프로젝트에 없는 별칭이면 다음 메시지가 로그에 남고 명령이 실패합니다.

GPIB device '<별칭>' is not registered in the project.

측정값 받기

Read GPIB · Query GPIB · Find GPIB 가 읽은 응답은 예약 변수 mMeasurementValue 에 저장됩니다. 값을 쓰려면 다음 명령에서 [mMeasurementValue] 로 참조합니다.

Query GPIB      dmm1      MEAS:VOLT:DC?
Set Variable    vdc = [mMeasurementValue]

mMeasurementValue 는 슬롯이 하나뿐이라 다음 측정 명령이 값을 덮어씁니다. 여러 값을 연달아 읽는다면 읽은 직후 각각 다른 변수로 옮겨 두세요.

또한 응답이 비어 있으면 저장 자체를 건너뛰므로 이전 값이 그대로 남습니다. 읽기에 실패했는데 값이 남아 있어 성공한 것처럼 보일 수 있으니, 판정이 중요한 구간에서는 명령 자체의 성공·실패로 먼저 걸러 주세요.

변수에 대한 자세한 내용은 Variables 를 참고하세요.

공통 입력 필드

GPIB 명령어는 별도의 입력 창 없이 스크립트 그리드 행에서 직접 편집합니다.

필드설명
Alias명령을 보낼 GPIB 장비 별칭 — 프로젝트에 등록된 장비 중에서 선택
Expression명령어별 파라미터 (SCPI 명령 문자열, 찾을 문자열 등)
Option첫 번째 슬롯이 읽기 전 지연(Milliseconds)Read · Query · Find 에서만 사용
Delay명령어 실행 후 대기 시간 (Milliseconds)
Description명령어 설명 (스크립트 메모 용도)

속성 창에는 별칭에 연결된 Address 가 읽기 전용으로 표시됩니다. 스크립트는 별칭만 참조하므로, 장비 주소가 바뀌어도 프로젝트 속성에서 한 번만 고치면 스크립트는 그대로 둘 수 있습니다.

문제 해결

증상확인할 것
명령어 목록에 GPIB가 없음프로젝트에 GPIB 장비가 등록되어 있는지, 프로젝트를 열었는지
Search 에 LAN 장비가 안 나옴정상 동작입니다. 주소를 직접 입력하고 Test 로 확인하세요
목록에 (no response) 로 표시됨*IDN? 에 응답하지 않는 장비이거나 종단 문자가 맞지 않음 — 주소는 그대로 사용 가능
Test 는 되는데 명령이 TimeoutRead terminationTimeout 값 확인, 측정에 시간이 걸리면 Option의 지연을 늘리기
응답이 뒤섞이거나 멈춤Clear GPIB 로 장비 입출력 버퍼를 초기화
시험 후 장비 조작이 안 됨Local GPIB 로 전면 패널 제어를 돌려주기

명령어 (8)