安捷伦示波器使用说明书_安捷伦labview采集

安捷伦示波器使用说明书_安捷伦labview采集Step1:配置VISA协议。VISA协议是AgilentIOLibraries的一部分,主要包含一个虚拟仪器软件架构VISA(一个比较通用的工业仪器软件架构)和标准控制库SICL.我理解前者相当一个底层架构,后者相当于一个指令集.先配置好VISA,然后通过SICL指令集发命令。直接上例子,简单明了。agilent示波器可以直接用VISA,所以只要在C++项目里进行配置。首先在C++里配…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

Step1:配置VISA协议。

VISA协议是Agilent IO Libraries的一部分, 主要包含一个虚拟仪器软件架构VISA (一个比较通用的工业仪器软件架构) 和标准控制库SICL.我理解前者相当一个底层架构,后者相当于一个指令集.先配置好VISA,然后通过SICL指令集发命令。

直接上例子,简单明了。agilent示波器可以直接用VISA,所以只要在C++项目里进行配置。

首先在C++里配置VISA的库,这里会比较麻烦,需要去网站找下资源和说明。先在库函数里加上VISA的路径如下图,还要在链接器里的附加依赖项加上visa64.lib。

安捷伦示波器使用说明书_安捷伦labview采集

加库函数

安捷伦示波器使用说明书_安捷伦labview采集

在link的附加依赖项里添加visa64.lib

值得一提的是,在配置库函数时,发现库里还包括了NI的库,说明VISA协议也适用于NI仪器。

然后,在c++文件里include “visa.h” 文件,这样就可以使用VISA库了。库里面有很多VISA的数据类型和函数,大多以vi开头,比如ViSession,vistate, viPrintf, viScanf。后两者是最重要的函数,用来向示波器读写命令。比如viPrintf(vi, message); vi是程序里连接示波器的句柄的地址,message是需要发送给示波器的SCIP指令集里的字符串。

之后,在示波器的帮助文件里找到一个地址,名为”USB0::0x0957::0x900B::MY52090114::0::INSTR”。将其宏定义在C++里,

#define VISA_ADDRESS “USB0::0x0957::0x900B::MY52090114::0::INSTR”

用来识别机器。连接方式有好几种,我们选择的是usb端口,所以需要用这个address,其他还有用IP地址等。

Step2: 写代码

在agilent的programme reference帮助文件里可以查询所有的命令集,用来做各种远程操作,我是直接把示波器里的help拷贝出来啦。

安捷伦示波器使用说明书_安捷伦labview采集

我的主要方法是参考aglient的C例程,直接代码复用,非常方便。比如查询仪器是否error的函数代码如下,其中有些QT界面的代码请忽略:

void VISA_Control::check_instrument_errors()

{

char str_err_val[255] = { 0 };

char str_out[800] = “”;

err = viQueryf(vi, “:SYSTem:ERRor? STRing\n”, “%t”, str_err_val);

if (err != VI_SUCCESS) QMessageBox::warning(pParent, “QueryStringFail”, “check_instrument_errors”);

while (strncmp(str_err_val, “0,”, 2) != 0)

{

strcat(str_out, “, “);

strcat(str_out, str_err_val);

err = viQueryf(vi, “:SYSTem:ERRor? STRing\n”, “%t”, str_err_val);

if (err != VI_SUCCESS) QMessageBox::warning(pParent, “QueryStringFail”, “check_instrument_errors”);

}

if (strcmp(str_out, “”) != 0)

{

err = viFlush(vi, VI_READ_BUF);

if (err != VI_SUCCESS) QMessageBox::warning(pParent, “QueryStringFail”, “check_instrument_errors”);

err = viFlush(vi, VI_WRITE_BUF);

if (err != VI_SUCCESS) QMessageBox::warning(pParent, “QueryStringFail”, “check_instrument_errors”);

}

}

利用visa库,我们写了一个VISA_Control.cpp的自用库函数,将功能进一步集成,用来在以后的程序中调用。

Step3: 有些BUG

用C++里的visa函数连接示波器后,示波器的面板按键经常就无法使用。但有时又可以,挺麻烦的。。。因为有些东西的调节程控并不方便,比如信号窗格,时间窗格等。

help例程里操作的存储的指令(writeString 貌似是一些其他平台的语法,只看引号里的内容即可),如

myScope.WriteString “:DISK:CDIRECTORY “”C:\Document and Settings\All Users\Shared Documents\Infiniium\Data”””(设置存储路径),

貌似无效。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182856.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 抖音程序员表白专用代码教程(如何玩抖音)

    最近很多小伙伴都在抖音上看到了一个vbs表白代码这个玩法,感觉非常的有趣。那么这个是怎么弄的呢?其实很简单。下面小编为大家带来了具体的教程,快来看看吧!抖音vbs表白代码制作教程步骤一:在电脑上新建一个txt文件。步骤二:打开txt文件,复制以下代码粘贴进去(可以修改中文部分,其它代码不要动!)。保存并关闭txt文件。SetSeven=WScript.CreateObject(“WScript.S…

    2022年4月11日
    63
  • 职称计算机考试模块教程怎么用,【职称计算机考试模块怎么选择?】- 环球网校…

    职称计算机考试模块教程怎么用,【职称计算机考试模块怎么选择?】- 环球网校…【摘要】环球网校分享的“职称计算机考试模块怎么选择?”,以下介绍了职称计算机考试模块选择相关资料,希望对大家有帮助,更多资料敬请关注环球网校职称计算机考试频道,网校会及时更新考试资讯……问:职称计算机考试模块怎么选择?答:全国职称计算机考试模块一共设置有13类24个模块,可供各位考生选择一般评聘高级职务人员自选4个模块,评聘中级职务人员自选3个模块,评聘初级职务人员自选2个模块。在职称计算机考试模…

    2022年6月2日
    36
  • 最新仿金蝶电商ERP进销存系统软件源码 销售库存仓库财务管理收银系统网络版「建议收藏」

    最新仿金蝶电商ERP进销存系统软件源码 销售库存仓库财务管理收银系统网络版「建议收藏」源码说明:超强的工作流系统,强大的可视化工作流编辑器,灵活自定义表单设计,充分实现企业基于工作流的各项业务管理,与其他模块数据(如HRM等)完美结合。全面综合的任务系统,实现基于信息录入、单据管理、业务协作、工作流转、任务提醒、统计分析等的智能管理。所有单据均支持上传附件功能;且报价单、销售合同、采购订单、发货出库、入库单、派工单等所有模板均支持自定义编辑打印。集成功能实用的CRM系统、进销存系统、生产ERP系统,实现对客户销售、供应商采购、产品物料、库存统计、生产监控等的精细化管理,直观强大的销售

    2022年5月11日
    49
  • directshow是什么_showpoint

    directshow是什么_showpoint1.DirectShow介绍DirectShow是一个windows平台上的流媒体框架,提供了高质量的多媒体流采集和回放功能。它支持多种多样的媒体文件格式,包括ASF、MPEG、AVI、MP3和WAV文件,同时支持使用WDM驱动或早期的VFW驱动来进行多媒体流的采集。DirectShow整合了其它的DirectX技术,能自动地侦测并使用可利用的音视频硬件加速,也能支持没有硬件加速的系统。DirectShow大大简化了媒体回放、格式转换和采集工作。但与此同时,它也为用户自定义的解决方…

    2022年10月12日
    3
  • 数据库中的schema

    数据库中的schema数据库中的schema

    2022年4月25日
    49
  • MAC 上抓取网页数据的工具有哪些?「建议收藏」

    MAC 上抓取网页数据的工具有哪些?

    2022年2月9日
    108

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号