在MATLAB中创建任意波形并下载到任意函数发生器(agilent AG33220A)

时间:2012-03-25 00:06:13

标签: matlab gpib

我收到以下错误: ???使用==>时出错icdevice.connect at 117 GPIB:AGILENT:未正确安装或配置指定的板。 如果此错误不是仪器错误,请使用MIDEDIT检查驱动程序。

请让我知道如何让它发挥作用。我遵循以下指示:

http://cp.literature.agilent.com/litweb/pdf/5990-3465EN.pdf

感谢。

代码:

clear all; close all;clc
time = 0:0.001:1; % Defi ne time vector to contain whole
%number of cycles of waveform
Amp1 = 0.2; % Amplitude for each component of waveform
Amp2 = 0.8;
Amp3 = 0.6;
frequency1 = 10; % Frequency for each component of waveform
frequency2 = 14;
frequency3 = 18;
wave1 = Amp1*sin(2*pi*frequency1*time); % Waveform component 1
wave2 = Amp2*sin(2*pi*frequency2*time); % Waveform component 2
wave3 = Amp3*sin(2*pi*frequency3*time); % Waveform component 3
wave = wave1 + wave2 + wave3; % Some combination of individual waveforms
wave = wave + 0.3*rand(1,size(wave,2)); % Now add random noise into the signal
wave = (wave./max(wave))'; % Normalize so values are between -1 to + 1
% Visualize the signals
% plot(time,wave1,'m',time,wave2,'k',time,wave3,'r');
% hold on; hw = plot(time,wave,'b'); set(hw,'Linewidth',2.5)
% xlabel('Time (s)'); ylabel('Voltage (V)'); axis tight;
% legend('Component 1','Component 2','Component 3', ...
%     'Combination of components \newline with random noise')

v = gpib('agilent',0,10);

device = icdevice('agilent_33220a.mdd',v);
connect(device)

invoke(device.Arbitrarywaveform,'SetData',wave);
invoke(device.Arbitrarywaveform,'CopyData','MATLABWFM1');
set(device.Arbitrarywaveform,'User','MATLABWFM1');
set(device.Output, 'Function','Agilent33220OutputFunctionUser');
set(device.Output, 'Frequency', 1);
set(device.OutputVoltage, 'Amplitude', 10);
set(device.Output,'State','on')

1 个答案:

答案 0 :(得分:0)

我收到了类似的错误消息:

  

GPIB:AGILENT:未安装或配置指定的板   正常。

我的解决方案是使用tmtool命令。

在出现的屏幕上,左侧有一个树状菜单。

我点击了硬件 - > GPIB,屏幕的中间部分显示了一个空列表,标题为“供应商”和“电路板索引”。

然后我点击了这个空列表下方中间部分右下方的“扫描”按钮。

Matlab长期以来一直在考虑生活,然后这个名单突然被一些条目填充。

顶级条目称“安捷伦科技(安捷伦)”的董事会指数为8。

我在我的代码中切换了板索引以匹配这一切,一切正常。

我认为Matlab发现的电路板然后具有正确的索引是必要的。

希望这有帮助!