Keysight DMM 34461A에서 전압을 읽고 그래프 그리기 ①

5910 단어 SCPImatlab
 Instrument Control Toolbox를 추가하고 있습니다. Matlab을 사용하는 것은 처음입니다.

DMM과의 연결



34461A는 표준으로 USB와 LAN 포트를 가지고 있습니다. LAN을 사용하면 소켓으로 통신할 수 있으며, LAN과 USB는 비사 라이브러리를 사용하면 SCPI 언어로 프로그래밍할 수 있습니다. 파이썬 사례는 이쪽에서 썼습니다.
이번, DMM과 Windows10 PC와는 USB 케이블로 접속했습니다.

주소 확인



무료 툴인 Keysight의 IO 라이브러리 스위트(Keysight Connection Expert 2020)를 사용하여 주소를 찾습니다.



VISA Address의 USB0::...를 복사합니다.

샘플을 기반으로 수정



주소를 수정합니다. obj1 = visa('KEYSIGHT', 'USB0::0x2A8D::0x1301::MY53216054::0::INSTR');
% Instrument Connection
% Find a VISA-USB object.
obj1 = instrfind('Type', 'visa-usb', 'RsrcName', 'USB0::0x2A8D::0x1301::MY53216054::0::INSTR', 'Tag', '');

% Create the VISA-USB object if it does not exist
% otherwise use the object that was found.
if isempty(obj1)
    obj1 = visa('KEYSIGHT', 'USB0::0x2A8D::0x1301::MY53216054::0::INSTR');
else
    fclose(obj1);
    obj1 = obj1(1);
end

% Connect to instrument object, obj1.
fopen(obj1);

본체 부분입니다. 50회의 데이터 읽기입니다. 실험용 전원 TR6142에서 1.0000V를 발생시키고 있습니다.
  최초로 리셋 *RST;*CLS 합니다.
  직류 모드로 설정합니다. :CONF:VOLT:DC:RANG AUTO  단, 리셋 후에는 이 모드로 되어 있으므로 불필요합니다만.
SCPI의 read?로 계측 데이터를 읽습니다. 반환되는 것은 ASCII이며 +1.000000E+00과 같은 형식이므로 숫자로 변환하여 배열 data에 추가합니다.
for문으로 50회 반복합니다.
% Instrument Configuration and Control
% Communicating with instrument object, obj1.
fprintf(obj1, '*RST;*CLS');

% Communicating with instrument object, obj1.
fprintf(obj1, ':CONF:VOLT:DC:RANG AUTO');
data=[]
counter = 50
for i = 1:counter
    data(i) = str2num(query(obj1, 'read?'));
end

x=[1:counter];
plot(x, data,'-o')
title('34461A DC')
xlabel('x')
ylabel('Volt [V]')

종료 처리는 변경 없음입니다.
% Disconnect and Clean Up
% The following code has been automatically generated to ensure that any
% object manipulated in TMTOOL has been properly disposed when executed
% as part of a function or script.

% Disconnect all objects.
fclose(obj1);

% Clean up all objects.
delete(obj1);
clear obj1;

실행 결과입니다.

좋은 웹페이지 즐겨찾기