viInstallHandler(vi, eventType, handler, userHandle);
当你的应用程序捕需要及时相应时,队列法通常被使用。为了使用队列法来接收事件发生时的通知消息,步骤如下:
使用函数viEnableEvent来使能一个或多个事件。
当准备查询时,使用函数viWaitOnEvent来检查队列事件。
如果指定的事件发生,事件信息将会被取得,程序立即返回。如果指定的事件没有发生,应用程序挂起直至指定的事件发生或指定的超时时间到来。
3 函数信号发生器
3.1 Agilent 33250A 80 MHz 函数/ 任意波形发生器介绍
Agilent Technologies 33250A 是高性能的 80 MHz 复合函数发生器,其具有内置任意波形和脉冲功能函数发生器,其80MHz带宽能适应各种各样的应用要求,它具有各种内置信号、自定义的任意波形和脉冲能力,能帮助您验证设计,检验新的构想。直接数字合成技术能获得稳定、精确和低失真的输出信号。Agilent 33250A能提供您需要的所有波形,其输出频率更高达80MHz。标准输出包括正弦波、方波、斜波、噪声波、sin(x)/x、真流和其它波形。当标准信号还不能满足您的要求时,33250A可简化生成任意波形的过程,并赠强这些自定义信号的性能。现在通过达200MSa/s的采样率,12bit分辨率和64K点的存储器深度,您可建立无限多种信号,以精确适应您的应用要求。同时具备工作台特性和系统特性是满足您目前及未来测试需求的多用途解决方案
Agilent Technologies 33250A 的特点如下:
• 10 个标准波形
• 内置的 12 位 200 MSa/s 任意波形功能
• 具有可调边沿时间的精确脉冲波形功能
• LCD 彩色显示器可提供数字和图形视图
• 易用的旋钮和数字小键盘
• 仪器状态存储器用户可自定义名称
• 带有防滑支脚的便携式耐用机箱灵活的系统特性
• 四个可下载的 64K 点任意波形存储器
• GPIB (IEEE-488) 接口和 RS-232 接口为标准配置
• SCPI 可编程仪器的标准命令兼容
Agilent Technologies 33250A 函数/ 任意波形发生器的技术参数如下:
波形
标准波形 正弦波、方波、斜波、脉冲、噪声、SIN(x)/x,指数上升和下降、心律波、真流电压
任意波形 波形长度 1~64K点
非易失性存储器 4个波形(每一个汉形1~64K点)
幅度分辨率 12bit
采样率 200MSa/s
频率特性
正弦波 1μHz~80MHz 白噪声 50MHz带宽
方波 1μHz~80MHz 分辨率 1μHz,除脉冲为5个字
三角波 1μHz~1MHz 准确度 0.3ppm,(18℃~℃)
斜波 500μHz~50MHz THD(dc~20kHz) <0.2%+1mVrms
其它特性
幅度(至50Ω) 10mVpp~10Vpp 准确度(1kHz) ±1%设置值±1mVpp
调制
AM FSK
调制 任何内部波形 内部速率 2mHz~1MHz
频率 2mHz~20kHz 频率范围 1μHz~80MHz
深度 0%~120%
FM 脉冲列
调制 任何内部波形 波形频率 1μHz~80MHz
频率 2mHz~20kHz 计数 1~1,000,000或无穷多个周期
偏移 dc~80MHz 起始/停止相位 -360°~+360°
内部周期 1μ~500s
扫描
类型 线性或对数 扫描时间 1ms~500s
方向 上或下 标记 同步信号下降沿
起动F/停止F 100μHz至80MHz (可编程)
时钟基准
外部锁定范围 10MHz±kHz 内部频率 10MHz
3.2 对函数/任意波形发生器的远端编程控制
3.2.1 编程的准备工作
了解函数信号发生器的功能特点:因为我要操作的函数信号发生器的型号是Agilent Technologies 33250A。所以,上网去搜索关于该型号的资源。在安捷伦-中国的网站上查找到了相关的文件资源。并通过阅读了解了远程控制仪器的方法(通过VISA I/O库对输入输出操作的支持,并使用该仪器的SCPI-standard command for programmable instrument命令来对仪器进行相关的操作。
通过查看“自动测试系统”课本上的例子,对自己编写函数信号发生器的界面有了一定的模型和认识。接下来就是去了解VISA I/O库。通过殷老师提供给我的资料,并通过阅读,对VISA库中的操作函数有了一定的认识。如下给出的程序:
这个例子程序的功能是查询GPIB器件的型号,并输出结果。
#include <visa.h>
#include <stdio.h>//这里是头文件,因为需要使用VISA的数据类型和函数
void main () {
ViSession defaultRM, vi;//变量的声明
char buf [256] = {0};
viOpenDefaultRM(&defaultRM);//打开地址为22的GPIB器件
viOpen(defaultRM, "GPIB0::22::INSTR",VI_NULL,VI_NULL,&vi);
viPrintf(vi, "*RST\n");//初始化器件
viPrintf(vi, "*IDN?\n");//查询器件的型号
viScanf(vi, "%t", buf);//读取结果
printf("Instrument identification string: %s\n", buf);//打印结果
viClo
首页 上一页 1 2 3 4 5 6 7 下一页 尾页 3/14/14
免费资料文档--基于网络的虚拟仪器测试系统(三)由毕业论文网(www.huoyuandh.com)会员上传。