近期在做测试站,用到了示波器,第一次接触,很有意思的设备。
在使用过程中有些参数需要设置,开发测试站,就i尽量减少人工手动操作,所以必须实现一些基本操作,比如AUTO和设置时基,以下为设置后的显示结果
以下为执行AUTO操作的结果
需要设置下边的Time参数改变成需要的波形
以下为相关内容
RIGOL DS1072U示波器支持USB和RS232通信,这里使用的是USB。
首先去设备官网下载相关手册和编程手册等PDF文件 ,https://www.rigol.com/https://www.rigol.com/
型号系列是DS1000U。
然后是一些官方提供的程序。可以查看下载数据。不赘述。
下载到官方的C#例程,提供了CVisaOpt类,实现了一些基本操作,还有例程的主体:
static void Main(string[] args)
{
string m_strResourceName = null; //仪器资源名
CVisaOpt m_VisaOpt = new CVisaOpt();
string[] InstrResourceArray = m_VisaOpt.FindResource("?*INSTR"); //查找资源
if (InstrResourceArray[0] == "未能找到可用资源!")
{
}
else
{
//示例,选取DSG800系列仪器作为选中仪器
for (int i = 0; i < InstrResourceArray.Length;i++ )
{
if (InstrResourceArray[i].Contains("DSG8"))
{
m_strResourceName = InstrResourceArray[i];
}
}
}
//如果没有找到指定仪器直接退出
if (m_strResourceName == null)
{
return;
}
//打开指定资源
m_VisaOpt.OpenResource(m_strResourceName);
//发送命令
m_VisaOpt.Write("*IDN?");
//读取命令
string strback = m_VisaOpt.Read();
//设置操作命令 1GHz频率 -10dBm幅度 打开RF输出开关
m_VisaOpt.Write(":SOURce:FREQuency 1GHz");
m_VisaOpt.Write(":SOURce:LEVel -10dBm");
m_VisaOpt.Write(":OUTPut:STATe ON");
//显示读取内容
Console.Write(strback);
//是否设备资源
m_VisaOpt.Release();
例程里还一并有了2个dll文件,记得加入自己的项目
NationalInstruments.Common.dll
NationalInstruments.VisaNS.dll
using NationalInstruments.VisaNS;
有了以上内容基本就可以做了,我使用的是VS2015,界面如下:
很简单,从手册查询指令,来添加相关代码就可以了,
在要发送的指令位置可以输入要发的指令,也可以点解界面上的常用操作,
注意点是有些指令不能读取返回数据,做个字符串数组排除一下就可以了。
我这个只针对一个型号,而且不会在其它设备使用,所以直接没做设备型号判定,直接进入了具体操作。