В этом примере показано, как инициализировать драйвер, прочитать несколько свойств драйвера, получить данные формы сигнала с помощью осциллографа Agilent Technologies DSO-X 2002A и вывести результат в MATLAB ®.
В этом примере требуется установить на компьютере следующее:
библиотеки ввода-вывода Keysight (Agilent) версии 17.1 или более поздней;
Keysight (Agilent) 2000, 3000, 4000, 6000 осциллограф серии InfiniiVision X - драйвер IVI версии 2.1.6.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('AgInfiniiVision','AgInfiniiVision.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('AgInfiniiVision.mdd', 'GPIB0::01::INSTR','optionstring','simulate=true'); % Connect driver instance connect(myInstrument);
Запрос информации о водителе и приборе
% 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 fprintf('Revision: %s\n', Revision); fprintf('Vendor: %s\n', Vendor); fprintf('Description: %s\n', Description); fprintf('InstrumentModel: %s\n', InstrumentModel); fprintf('FirmwareRev: %s\n', FirmwareRev); fprintf(' \n');
Revision: 2.1.6.0 Vendor: Agilent Technologies Description: IVI driver for the Keysight 2000X, 3000X, 4000X and 6000X family of Oscilloscopes [Compiled for 64-bit.] InstrumentModel: DSO-X 2002A FirmwareRev: Sim2.1.6.0
Measurement = get(myInstrument, 'Instrumentspecificmeasurement'); invoke(Measurement, 'measurementsautosetup'); WaveformArray = zeros(1,100); [WaveformArray,ActualPoints,InitialX,Xincreament] = invoke(Measurement, 'measurementfetchwaveform', 'Channel1', size(WaveformArray,2), WaveformArray);
% Display the fetched data plot(WaveformArray(1:ActualPoints)); % 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
ErrorQuery: 0, No error.

disconnect(myInstrument);
% Remove instrument objects from memory
delete(myInstrument);
В этом примере показана настройка и получение данных с осциллографа с использованием драйвера IVI. Как только измеренная форма сигнала извлекается из прибора, MATLAB может использоваться для визуализации и выполнения анализа данных с использованием богатой библиотеки функций в Toolbox™ Toolbox™ обработки сигналов и систем связи. С помощью Toolbox™ управления приборами можно автоматизировать управление приборами и создать тестовые системы, использующие MATLAB для выполнения анализа, который может оказаться невозможным с использованием встроенных возможностей аппаратных средств.