简单程控keithly2400万用表(MFC)

在做测试的过程中,无可避免要使用仪器,有些时候需要速度较快的读数,此时就需要程控这些仪器来实现了。刚开始没有接触的时候觉得这个东西太难了,经过这次的试验之后发现其实程控仪器是有规律可寻的。并不是想象中的那么难。程控仪器主要使用的是SCPI标准语法。可编程仪器标准命令(英语:Standard Commands for Programmable Instruments,缩写:SCPI)定义了一套用于控制可编程测试测量仪器的标准语法和命令。http://blog.sina.com.cn/s/blog_a8b07c9801014o5k.html这个博客简要的介绍SCPI语法,并且有提供例子,这是我找到的比较全面、易懂的的SCPI语法表了。同时,还要给电脑安装仪器的驱动,用来识别仪器,以及和仪器之间的通信。需要下载的可以到这个网站进行下载,绝对安全靠http://www.keysight.com/main/software.jspx?cc=CN&lc=chi&ckey=2175637&nid=-536900526.697048.02&id=2175637&ml=chi。而且这个驱动支持绝大多数的仪器。
程控仪器用到的另一个就是visa库,这个库提供函数来和仪器之间进行通信。我写的程控2400的程序比较简单,其功能就是能够当电流表使用,读出电流值;另外,可以当电压表,设置输出的电压。(2400功能比较全,既可以当万用表,也可以当源表来使用)。程序的开发步骤大致是以下几步:
step1:打开缺省的设备资源,然后再打开2400的设备资源

ViSession m_VisSessionRM;//定义缺省设备资源
ViSession m_ViSessionKeithley;//定义2400设备资源
viOpenDefaultRM(&m_VisSessionRM);//打开缺省资源
viOpen(m_VisSessionRM, "GPIB0::30::INSTR", VI_NULL, VI_NULL, &m_ViSessionKeithley)//打开2400资源

“GPIB0::30::INSTR”中的30表示我使用的2400的GPIB的通道是30,所以不同的仪器可能是不同的。但是是可以通过2400的面板进行设置的。

step2:读取电压表(电流表)读数

char *CurrentValue=new char[255];
viPrintf(dlg->m_ViSessionKeithley, "READ?\n");
viScanf(dlg->m_ViSessionKeithley, "%t", CurrentValue);

“READ?”就是在SCPI的语法表里面读到的。温馨提示,每次发送的命令都必须要以“\n”结尾,比如“READ?\n”,要不然仪器无法识别,我在2400上实验过了。

step3:将2400设置成电压源,并设置输出的电压

char *voltBuf = new char[255];
viPrintf(m_ViSessionKeithley, ":SOUR:VOLT:LEV %d\n",m_voltageValue);//将2400设置成电压源,并设置输出电压
viPrintf(m_ViSessionKeithley, "OUTP ON\n");//输出设置的电压值
viPrintf(m_ViSessionKeithley, "READ?\n");//发送读数的命令
viScanf(m_ViSessionKeithley, "%t",voltBuf);//把2400读数存储到voltbuf中

“:SOUR:VOLT:LEV %d\n”这条命令中有空格要注意。这条命令并不是SCPI的标准的命令,这是我在2400的产品手册上面看到的。所以如果需要开发其他的功能的话还需要查看参考手册上面提供的指令。

以上就是我开发所使用到的资源和资料了,有需要开发的可以参看参考。另外,如果有写的不对的地方,欢迎批评指正。

  • 2
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值