1.第一步,硬件准备。
一台安捷伦8753ES矢网,一台E4440A频谱仪,GPIB448连接线一条,安捷伦GPIB转usb连接器一条,win7计算机一台。
2.第二步,软件准备。
*如果你还没有VISA库,建议去NI官网下载安装。
3.第三步,创建vs c#工程
然后添加引用
主要一定要添加正确的库,如果你的电脑里面没有这两个库,那么你可能没有安装相应的库文件,可以去VISA官网里找。
正确添加后,你点引用里面会出现VisaComLib这个引用。
然后你需要添加Visa的引用using Ivi.Visa.Interop;。
到这一步,前期的准备工作已经做完了。
4.第四部,打开GPIB.
在全局定义接口的实例。
private Ivi.Visa.Interop.FormattedIO488 ioDmm;
private Ivi.Visa.Interop.FormattedIO488 ioAvocado;
ResourceManager grm = new ResourceManager();
ioDmm是用来打开矢网(8753ES),ioAvocado是用来打开频谱仪(E4440A)。grm是资源管理器的实例。接下来创建一个按键Button,下面是button的点击事件。主要是打开设备。GPIB0::16::INSTR和GPIB0::18::INSTR就是你仪器的地址,不同的环境下会不一样,可以连接Agilent IO Libraries查看。发送“*IDN?”就是查询仪器的信息,正确连接设备的话,设备会返回你信息。
private void button1_Click(object sender, EventArgs e)
{
try
{
ioDmm.IO = (IMessage)grm.Open("GPIB0::16::INSTR", AccessMode.NO_LOCK, 2000, "");
ioAvocado.IO = (IMessage)grm.Open("GPIB0::18::INSTR", AccessMode.NO_LOCK, 2000, "");
//ioDmm.WriteString("POWE -52dBm");
}
catch (SystemException ex)
{
MessageBox.Show("Open failed on " + this.textBox2.Text + " " + ex.Source + " " + ex.Message, "EZSample", MessageBoxButtons.OK, MessageBoxIcon.Error);
ioDmm.IO = null;
//SetAccessForClosed();
return;
}
//SetAccessForOpened();
ioDmm.WriteString("*IDN?", true);
textBox1.Text = ioDmm.ReadString()+" ";
ioAvocado.WriteString("*IDN?", true);
textBox1.AppendText(ioAvocado.ReadString());
}
5.第五步,控制矢网和频谱仪。
设置矢网的中心频率和带宽。
ioDmm.WriteString("CENT 1568MHz");
ioDmm.WriteString("SPAN 30MHz");
设置频谱仪的中心频率和带宽。
ioAvocado.WriteString("FREQ:CENT 1568e6");
ioAvocado.WriteString(":FREQ:SPAN 130e6");
其他操作请上官网查询编程手册,或加我私人qq934103320有偿帮助。