В этом примере показано, как инициализировать драйвер, прочитать несколько свойств драйвера, измерить напряжение переменного тока с помощью Agilent Technologies 34410A цифрового мультиметра и вывести результат в MATLAB ®.
Этот пример требует следующего:
Библиотеки Keysight IO версии 17.1
Драйвер Keysight 34410A Digital Multimeter IVI версии 1.1.0.0
Здесь перечисляются драйверы 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'
% 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 для выполнения анализа, который может быть невозможен с помощью встроенной возможности оборудования.