GPIB控制仪器完成测试的例子.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GPIB控制仪器完成测试的例子

GPIB控制仪器完成测试的例子 许多公司都生产和销售GPIB卡,如美国的惠普(HP)公司、国家仪器(National Instrument)公司,中国的研华公司等。GPIB卡具有标准的计算机总线接口,如ISA、PCI、PCMCIA等,可以插在计算机的扩展槽中,这样,计算机就可以作为系统的控者。用户可以编写自动测试软件,控制系统中的各种仪器,完成测试任务。 生产厂家在出售GPIB卡的同时,都提供GPIB卡的驱动程序(为DOS系统提供静态链接库,为WINDOWS系统提供动态链接库),用户可以用C++、VISUAL BASIC等多种语言方便的调用其驱动程序。在GPIB卡的驱动程序中,提供了完成所有GPIB卡控制的函数,例如:向某一地址的仪器发送命令的函数,向某一地址的仪器读取数据的函数、向某一地址的仪器进行串行点名的函数等等,用户在调用这些函数的时候,无须对GPIB总线的底层管理进行控制,使用起来非常方便。 下面就以台湾AXION公司出品的AX5488卡为例,介绍实现测试衰减器衰减特性曲线的控制程序。 测试系统的布置如下图所示:信号发生器HP8648C产生频率和幅度都非常稳定的正弦测试信号,把该信号通过同轴电缆送到被测衰减器的输入端,衰减器输出信号送到测量接收机RS ESI26中测量,那么衰减器在各个频率点上的衰减值(dB)=信号发生器输出信号电平(dB)―测量接收机读数(dB)。计算机作为系统的控者,控制各个仪器的动作。自动测试程序用C++编写如下。 struct CAttData { double frequency; double attvalue; char frequnit[10]; } struct CAttData AttData[1001]; int RecAddress = 19; //接收机GPIB地址 int SigAddress = 20; //信号发生器GPIB地址 double StartFreq = 1; //测量的起始频率 double StopFreq =1000; //测量的终止频率 double StepFreq = 1; //测量的频率地址 void TestAttenu() { double frequency; char Command[100]; strcpy(Command,INPUT:TYPE INPUT2); //设置接收机输入口 ibwrt(RecAddress,Command,strlen(Command)); strcpy(Command,SENSE1:DETECTOR:RECEIVER POSITIVE); //设置接收机检波方式 ibwrt(RecAddress,Command,strlen(Command)); strcpy(Command,SENSE:BANDWIDTH 120KHZ); //设置接收机测量带宽 ibwrt(RecAddress,Command,strlen(Command)); strcpy(Command,SENSE2:SCAN1:TIME 0.001S); //设置接收机测量时间 ibwrt(RecAddress,Command,strlen(Command)); strcpy(Command,INPUT2:ATTENUATION 10dB); //设置接收机输入衰减 ibwrt(RecAddress,Command,strlen(Command)); frequency = StartFreq; for(int i=0;i1000;i++) { frequency = frequency+i*StepFreq; char ctemp[100]; sprintf(ctemp,%.4f,frequency); strcpy(Command, FREQ:CW ); //设置信号发生器输出频率 strcat(Command,ctemp); strcat(Command,”MHZ”); ibwrt(SigAddress,Command, strlen(Command)); strcpy(Command,POW:AMPL 50DBUV); //设置信号发生器输出幅度 ibwrt(SigAddress,Command, strlen(Command)); strcpy(Command,SENSE1:FREQUENCY:CW ); //设置接收机测量频率 strcat(Command,ctemp); strcat(Command,”MHZ”); ibwrt(RecAddress

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档