Измерьте напряжение переменного тока на цифровом мультиметре Keysight ® 34410A с помощью драйвера IVI-C

В этом примере показано, как инициализировать драйвер, прочитать несколько свойств драйвера, измерить напряжение переменного тока с помощью Agilent Technologies 34410A цифрового мультиметра и вывести результат в MATLAB ®.

Требования

Этот пример требует следующего:

  • Библиотеки Keysight IO версии 17.1

  • Драйвер Keysight 34410A Digital Multimeter IVI версии 1.1.0.0

Перечисление доступных драйверов IVI-C на компьютере

Здесь перечисляются драйверы IVI, установленные на компьютере

IviInfo = instrhwinfo('ivi');
IviInfo.Modules
ans = 

  Columns 1 through 6

    'Ag33220'    'Ag3352x'    'Ag34410'    'Ag34970'    'Ag532xx'    'AgAC6800'

  Columns 7 through 11

    'AgE36xx'    'AgInfiniiVision'    'AgMD1'    'AgRfSigGen'    'AgXSAn'

  Columns 12 through 13

    'KtRFPowerMeter'    'rsspecan'

Создайте драйвер прибора MATLAB и соединитесь с прибором

% Create the MATLAB instrument driver
makemid('Ag34410','Ag34410.mdd')

% Use icdevice with the MATLAB instrument driver name and instrument's
% resource name to create a device object. In this example the instrument
% is connected by GPIB at board index 0 and primary address 1.
myInstrument = icdevice('Ag34410.mdd', 'GPIB0::01::INSTR','optionstring','simulate=true');

% Connect driver instance
connect(myInstrument);

Определение атрибутов и переменных

% These values are defined in the driver's header file 'Ag34410.h'
AG34410_VAL_AC_VOLTS = 2;
AG34410_VAL_IMMEDIATE = 1;

Получение общих свойств устройства

Запросите информацию о драйвере и приборе

% Get information about the driver
Utility = get(myInstrument, 'Utility');
Revision = invoke(Utility, 'revisionquery');
DriverIdentification = get(myInstrument,'Inherentiviattributesdriveridentification');
InstrumentIdentification = get(myInstrument,'Inherentiviattributesinstrumentidentification');
Vendor = get(DriverIdentification, 'Specific_Driver_Vendor');
Description = get(DriverIdentification, 'Specific_Driver_Description');
InstrumentModel = get(InstrumentIdentification, 'Instrument_Model');
FirmwareRev = get(InstrumentIdentification, 'Instrument_Firmware_Revision');

% Print the queried driver properties
disp(['Revision:        ', Revision]);
disp(['Vendor:          ', Vendor]);
disp(['Description:     ', Description]);
disp(['InstrumentModel: ', InstrumentModel]);
disp(['FirmwareRev:     ', FirmwareRev]);
fprintf('\n');
Revision:        1.1.0.0 
Vendor:          Agilent Technologies
Description:     IVI driver for the Agilent 34410/11 family of digital multimeters. [Compiled for 64-bit.]
InstrumentModel: 34410A
FirmwareRev:     Sim1.1.0.0

Сконфигурируйте измерение напряжения переменного тока

AutoRange = -1;
Resolution = 0.001;
ConfigGroup = get(myInstrument, 'Configuration');
invoke(ConfigGroup, 'configuremeasurement', AG34410_VAL_AC_VOLTS, AutoRange, Resolution);

Сконфигурируйте многопозиционное приобретение

TriggerCount = 1;
SampleCount = 10;
SampleInterval = 0.0001;
ConfigMultipoint = get(myInstrument, 'Configurationmultipoint');
invoke(ConfigMultipoint, 'configuremultipoint', TriggerCount,SampleCount,AG34410_VAL_IMMEDIATE,SampleInterval);

Инициируйте низкоуровневое измерение

Вызовите INITIATE функция

LowLevelMeasurement = get(myInstrument, 'Measurementlowlevelmeasurement');
invoke(LowLevelMeasurement, 'initiate');
fprintf('Measuring AC Volts\n');
Measuring AC Volts

Получение данных

ReadingArray = zeros(1,10);
[ReadingArray,actualPoints] = invoke(LowLevelMeasurement, 'fetchmultipoint', 5000,10,ReadingArray);

Визуализация данных и отображение любых ошибок

% Display the fetched data
fprintf('Measured Data: ');
fprintf('%d ',ReadingArray(1:actualPoints));
fprintf('\n\n');

% If there are any errors, query the driver to retrieve and display them.
ErrorNum = 1;
while (ErrorNum ~= 0)
    [ErrorNum, ErrorMsg] = invoke(Utility, 'errorquery');
    fprintf('ErrorQuery: %d, %s\n', ErrorNum, ErrorMsg);
end
Measured Data: 0 0 0 

ErrorQuery: 0, No error. 

Отключите объект устройства и очистите

disconnect(myInstrument);
% Remove instrument objects from memory
delete(myInstrument);

Дополнительная информация:

Этот пример показывает настройку и выполнение измерений с цифрового мультиметра с помощью драйвера IVI. После извлечения измеренных данных из прибора MATLAB может использоваться, чтобы визуализировать и выполнить анализ данных с помощью богатой библиотеки функций в Toolbox™ Signal Processing Toolbox™ и коммуникационных систем. Используя Instrument Control Toolbox™, можно автоматизировать управление инструментами, и, создать тестовые системы, которые используют MATLAB для выполнения анализа, который может быть невозможен с помощью встроенной возможности оборудования.

Для просмотра документации необходимо авторизоваться на сайте