您的位置首页生活百科

如何对程控电源进行编程控制

如何对程控电源进行编程控制

的有关信息介绍如下:

如何对程控电源进行编程控制

程控电源是测试自动化常用程控仪器,本文对程控电源开发做出总结,对如何进行仪器控制,如何读写仪器进行了说明,并提供可用示例代码,以便大家快速投入到工作或学习中。

到官方下载驱动NI vsia 驱动安装包

安装驱动,注意,默认并不安装Visa 库,但是我们开发程序需要用到它,请选择安装Visa,其他选择下一步,直至安装完成。安装结束后可以在安装目录下找到开发所用到的头文件和库文件。(注:安装结束后需要重启电脑)。

仪器连接

Visa支持Ethernet, GPIB, GPIB-VXI, VXI, PXI, or 串口连接. 程控仪器66311可用的控制端口有GPIB和串口两种,为了可靠性连接及传输的高速度,通常选用GPIB连接。另外,GPIB卡有PCI内置(较便宜),还有秤激USB外置型(较贵),按照电脑--> GPIB卡-->GPIB线-->仪器连接。 并参照66311B手册,设定GPIB地址为5 (出厂默认设置为5) 。

开发环境建立。笔者使用VC2010 (即VC10) 开发, 有2种方法加入header 和lib文件:

a.在工程文件属性中加入include目录和程式库目录,如图

b.直接在源文件中使用#include包含头文件路径(可用相对路径或绝对路径),使用#pragma命令定义库文件路径,(推荐使用第二种方法)。如

#include "../../Nivisalib/include/visa.h"

#pragma comment (lib, "../../Nivisalib/lib/msc/visa32.lib")

开亲闲发验证。

建立基于控制台的win32 程序,加入cpp文件,键入如下代码,按F7编译。

代码解读。以上代码示范了如何使用visa API连接并控制仪器读写。

line 1~3 包含必须的头文件和库文件

line 8~11 定义变量,ViStatus用来检查仪器初始化及读写状态

ViSession用来定义Visa库资源句柄

ViUint32用来定义读写字符长度

ViBuf 用来定义读取仪器缓冲区

Line 14 使用viOpenDefaultRM初始化Visa 库,如果电脑上没有正确安装Visa 库,该调用会失败,在此,需要加入出错处理,检测ViStatus 可以判断是否调用成功

Line 22 使用viOpen打开指定仪器,该实例打开GPIB地址为5的设备

Line 28viSetAttribute设定连接仪器属性,实例中设定VI_ATTR_TMO_VALUE=5000ms, 如果读写仪器在给定的5秒时间没有回应,调用失败

Line 30viWrite向仪器发送指令,实例中"*IDN?"是查询仪器厂家型号指令,扯常胳通常要加入一个换行符,变为"*IDN?\n"

Line 31viRead读取仪器回应结果,将结果存储到buffer 中

Line 32,33, 将仪器回应结果显示出来

line 36 释放仪器连接

line 37 关闭仪器句柄

(注意:示例使用VC2010,默认使用unicode编码,所以在viWrite, viRead函数中加入了强制类型转换,否则无法编译通过)。

因为调用较频繁,所以经常把所需要的功能,如打开,读写仪器,上电,断电,读取电流值,归到特定的模块中,示例代码如下。

以上使用到DC source 66311 常用的仪器控制指令: OUTP ON (上电),OUTP OFF(断电), VOLTAGE 4.0 (设置电压4.0V),

CURR 3.0 (设置电流值3.0A), MEAS CURR DC? (读取直流电流值), *IDN? (查询设备型号), 另外,对仪器复位也是常用的指令,指令为*CLS;*RST;。