摘要:数据采集是科学研究中一个重要手段,数据有效的采集和精确的计算就成为研究中关键的一环。如今随着USB3.0标准的发布,其传输速率可达到5GB/s,采用USB与虚拟仪器设备进行通信是大势所趋。由于USB的简单易用和通信的稳定性,许多测试系统开发人员已经在仪器I/O中采用USB的连接方式。本文简要地介绍了USB技术的最新发展,SCPI命令的语法结构及使用方法及Agilent 34410A万用表的技术特性,采用VISA-COM技术实现对Agilent34410A数字万用表的远程控制,结果表明开发出来的程序能满足自动控制系统的需求。
论文关键词:USB,VISA-COM,Agilent34410A,SCPI
2008年11月,USB 3.0 Promoter Group宣布,该组织负责制定的新一代USB 3.0标准已经正式完成并公开发布。制定完成的USB 3.0标准已经移交给该规范的管理组织USB Implementers Forum(简称USB-IF)。USB 3.0最大传输带宽高达5.0Gb/s,也就是625MB/s,同时在使用A型的接口时向下兼容 。随着大量支持USB的个人电脑的普及,USB逐步成为个人电脑的标准接口。USB设备主要具有以下优点:可以热插拔,携带方便,标准统一,可以连接多个设备,最高可连接至127个设备。
SCPI是建立在现行标准IEEE488.1和IEEE488.2基础上,并遵循了IEEE754标准中浮点运算规则。它规定了在控制器到仪器和仪器到控制器之间交换层消息的构造和内容;它的目的是减少自动测试设备程序开发时间。适用于可编程仪器。SCPI实现了助记符的一致性、参数格式的统一性及执行方式和功能扩展战略的一致性;减少了测试软件开发时间,使仪器的互换更容易。
SCPI是以ASCII字符组成的标准仪器命令语言,可以用于任何一种标准接口,如GPIB,VXI,RS232,USB,LAN,SCPI命令语法采树型结构,方括弧 ( [ ]) 表示选择性的关键字或参数。大括弧 ({ }) 中为命令字串的参数。三角括弧(<>)表示必须用一数值来取代括号中的参数。(|)隔开多重参数的选择 。
MEASure
:VOLTage:DC?{|MIN|MAX|DEF},{|MIN|MAX|DEF}
:VOLTage:AC?{|MIN|MAX|DEF},{|MIN|MAX|DEF}
:CURRent:DC?{|MIN|MAX|DEF},{|MIN|MAX|DEF}
:CURRent:AC?{|MIN|MAX|DEF},{|MIN|MAX|DEF}
命令语法示出,大多数命令(和部分参数)是以大写和小写字母混合使用。大写字母指出命令中缩写拼读,对于比较短的程序行,送缩写结构,对于比较易读的程序送一长的结构。
SCPI必备命令:
SYSTem
:ERRor[:NEXT]?
:VERSion?
STATus
:QUEStionable
[:EVENt]?
:CONDition?
:ENABle
:ENABle?
:OPERation
:[EVEnt]?
:CONDition?
:ENABle
:ENABle?
通过USB把用于测量的万用表Agilent 34410A与PC连接起来,本文主要实现在此平台上通过VISA-COM技术远程通信的控制。
1 硬件的安装与配置
Agilent 34410A 数字万用表提供了一个USB 2.0 接口,能实现了PC 和DMM(数字万用表)简单稳定的通信。USB接口满足TMC-488.2 标准,与Agilent Connectivity 软件无缝操作,可以通过业内标准SCPI命令和Agilent IO Libraries Suite软件能实现对其远程控制 。
1)在计算机上安装Agilent IO Libraries Suite,然后使用USB 电缆把34410A DMM 直接连接到计算机上。
2)配置万用表的通信模式;打开万用表菜单中的utility项,进入到remote i/o项,选中usb选项中的enable usb,启动或禁用USB后,必须重新加电以使更改生效。一般情况下不需要知道USB ID字符串。格式如下:USB0::<制造商ID>::<模式ID>::<序列号>::INSTR。远程接口操作:启用USB:SYSTem:COMMunicate:ENABle ON,USB ON换成?表示查询状态。
3)在34410A 连接到PC 并开机后,打开Agilent Connection Expert(连接专家)会自动执行识别设备ID。在连接专家中,可以向34410A发送一些SCPI基本命令,来测试计算机与万用表是否正常通信。
安装完IO包并确定计算机能与34410A进行通信之后,就可以编程了。Agilent的IO库支持多种语言的编程,有C,C#,VB,VB.net,我们这里选择VB开发工。下面我们以VB程序设计为基础,利用Agilent IO suite实现对34401A的远程控制 。
2 系统设计
Agilent 34410A中的SCPI控制命令如下:
CONF:VOLT:AC
VOLT:AC:BAND 200
VOLT:AC:RANGE 1.0
TRIG:DELAY:AUTO OFF
TRIG:DELAY 0
Agilent 34410A的所有测量计数都存储在存储器中,测量条件是DCV功能,使用精确采样触发子系统:
CONF:VOLT:DC
VOLT:ZERO:AUTO OFF
VOLT:RANGE 1.0
VOLT:APER 20e-6
TRIG:DELAY:AUTO OFF
TRIG:DELAY 1e-3
TRIG:SOUR EXT
SAMP:SOUR TIMER
SAMP:TIMER 20e-6
INIT
下面以VB为基础,简单实现Agilent 34401A的电阻测量。启动Visual Basic 程序后,进入Project,然后选择References。核对'Agilent VISA COM Resource Manager 1.0'和'VISA COM 1.0 Type Library',点击'OK' 按钮 。在增加两个参考源后,增加下面的代码:
Private Sub cmdSet_Click()
Dim io_mgr As VisaComLib.ResourceManager
Dim DigitalMultiMeter As VisaComLib.FormattedIO488
1/2 1 2 下一页 尾页 |