Qt 调用VISA库通过SCPI程控仪器-以IT8906A电子负载为例

SCPI是一种可编程仪器的标准命令,可通过 GPIB, RS232, USB, LAN接口等控制仪器功能的编程语言。 SCPI 置于 IEEE 488.2 硬件部分的顶层。相同 SCPI 命令和参数控制着不同机器的相同功能。一般标准仪器都支持SCPI协议,如示波器、台式万用表、频率计、矢量分析仪、电子负载、台式电源等。通过SCPI协议与设备通信,实现自动化测试。本篇博文以电子负载为例,在Qt 框架下编写程控通信Demo。

一、运行环境

  • window 10
  • Qt 5.15.2, 64位 MinGW编译器
  • VISA 21.0.064位
  • IT8906A电子负载,使用LAN口通信

运行前下载NI的VISA软件,在线安装:下载NI-VISA - NI

 配置好电子负载的LAN口参数,在PC机上确保能Ping同该设备。

用一根交叉网线通过负载的Ethernet接口连接至电脑, 或用一根直连网线连接到路由器( 此时电脑也连接到路由器) 。按前面板上的按键进入菜单, 根据菜单结构选择LAN通讯并在配置中设置网关地址( Gateway), IP地址( IP), 掩码地址( Mask) 和端口( Socket Port) 。网关地址需要与PC的网关地址保持一致,IP地址需要与PC的IP地址在同一网段。

实际配置如下:

  • PC机:192.168.137.19,255.255.255.0,192.168.137.137.1
  • 电子负载:192.168.137.55,255.255.255.0,192.168.137.137.1

二、添加VISA设备

打开安装的NI MAX软件,设备和接口中添加一个网络设备。

输入配置的电子负载IP进行查找校验。

 

可以看到当前LAN口的资源设备能够正确识别到。点击完成,保存当前的网络资源设备。

记住此时的VISA资源名称,在QT通信时,需要用到,作为设备的访问ID。

此时可以打开VISA测试面板,在Input/Output栏测试SCPI指令。

 至此,说明仪器设备通信链路是正常的。

三、VISA程控通信

 新建Qt工程,添加VISA的头文件和库依赖。由于NI VISA安装默认到C盘下,C:\Program Files (x86)\IVI Foundation,路径存在空格,因此在添加依赖时需要用到$$quote

应用代码添加VISA的头文件:visa.h

使用visa.h中提供的接口函数即可正常编程。demo如下:

  可以看到输出结果和NI MAX执行结果一致。

部分接口如下:

 

 简单的demo界面:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/404594.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于如何使用的MSCS(微软群集服务器)中的iSCSI Guest Initiators (客户机启动器)...

发布者:Dell-Terry Z 作者:戴尔公司 William U 嗨,大家好!过去的几周实在太激动人心了。第一届戴尔全球存储论坛(Dell Storage Forum)刚刚结束,我有一大堆的东西想跟大家分享,我想…

openssl版本信息和支持的命令

1、查看openssl版本 openssl version -a openssl version 可以看到版本信息和安装位置: 2、查看openssl支持的命令 openssl help Standard commands asn1parse ca ciphers cms crl crl2pkcs7 dgst …

栅格像元做地理坐标映射后的坐标值是像元中心点还是其他位置?

做了下实验,GDAL做完映射后像元(x,y)--->(lat,lon),得到的坐标值是像元左上角的坐标值。 下面这个看到更清楚:(其实我做了一个替换,实际我求的是左上点和右下点(通过&…

QT Openssl no OPENSSL_Applink 解决

QT5.15.2安装时候选择了openssl1.1.1库,在开发过程中出现OPENSSL_Applink。 解决办法:将openssl include文件下的applink.c 添加到工程中,即可。

Java学习----运算符与表达式

一.运算符 1.算术运算符 - * / % -- public class Test7 {public static void main(String[] args) {int x 10;int y 3;float f 3.5f;System.out.println(x/y); // 3System.out.println(x%y); // 1System.out.println(x/f); // 2.857143 x隐式转换成floatSystem…

Tomcat 6 数据源配置

近来换了TOMCAT6&#xff0c;配置MYSQL数据库的数据源&#xff0c;在网上查找相关解决方案&#xff0c;后调试解决如下&#xff1a; 修改$CATALINA_HOME/conf/context.xml文件&#xff0c;加入如下代码&#xff1a;<Context reloadable"true"> <Watche…

OpenSSL签发证书时编码UTF8STRING PRINTABLESTRING不匹配

问题如下&#xff1a; Check that the request matches the signature Signature ok The countryName field is different between CA certificate (CN) and the request (CN) 可以看出&#xff0c;CA和REQ的DN内容是一致的&#xff0c;依旧报错。其实是编码的问题。 使用以下…

SSL 多线程通信 linux openSSL C API编程

一、环境 需要提前准备好服务端和客户端的证书和私钥&#xff0c;以及CA的证书。 OpenSSL 1.1.1f 31 Mar 2020 built on: Wed Nov 24 13:20:48 2021 UTC platform: debian-amd64 options: bn(64,64) rc4(16x,int) des(int) blowfish(ptr) Thread model: posix gcc version …

分享一个CSS3和jQuery实现的模糊显示效果 - 帮助你的访问用户更好的阅读内容

为什么80%的码农都做不了架构师&#xff1f;>>> 日期&#xff1a;2011/12/20 来源&#xff1a;GBin1.com 在线演示 本地下载 这 个教程将实现一个页面部分内容突出显示效果&#xff0c; 大家可能经常见到一些页面组成内容比较多&#xff0c;可能会分散用户的…

Cracked me --1--Acid_burn

结合ida和od结合效果最好。 打开程序&#xff0c;首先是一个nag窗口&#xff08;去除nag&#xff09; 常用方法&#xff0c;一寻找字符串&#xff0c;发现和以往的 不同&#xff0c;不是对话框句柄的形式。只能第二种方法&#xff0c;单步找到对话框出现的位置。0042fd97-->…

QT 开发openSSL CSR证书请求工具

1、环境 QT 5.15.2 MinGW8.1.0 64Bit OpenSSL 1.1.1f 31 Mar 2020 built on: Wed Nov 24 13:20:48 2021 UTC platform: debian-amd64 options: bn(64,64) rc4(16x,int) des(int) blowfish(ptr) 本机的OpenSSL是随QT安装的。 2、QT使用openSSL 2.1 项目文件添加以下依赖 …

2012网页设计趋势(下)

CSS3 技术 不确定你可以利用CSS3吗&#xff1f;再想想。网络先锋如Andy Clarke 和 Jeremy Keith一直提倡网页设计要“逐步加强”。逐步增强是指在网站设计师时要兼顾到旧版浏览器的可用性&#xff0c;而“增强”则是针对喜欢最新技术的用户。在这样的设计阵营&#xff0c;你利用…

树莓派CM4 装系统和换源

一、系统下载 官网&#xff1a;Operating system images – Raspberry Pi 最新的版本删除了默认账号pi。考虑以前的使用习惯&#xff0c;此处下载以前的buster debian版本。CM4是arm64架构&#xff0c;根据板子的配置容量不同可选相应的版本&#xff0c;我这里选择lite版本。…

C++沉思录

C沉思录 第五章 代理类 : 为了实现容器或数组的多态性。 1 #include <iostream> 2 3 using namespace std; 4 5 class Vehicle 6 { 7 public: 8 virtual void start() const 0 ; 9 virtual Vehicle* copy() const 0 ;10 virtual ~Vehicle() {};11 };12 1…

VC内存泄露检查工具:VisualLeakDetector

From: http://www.xdowns.com/article/170/Article_3060.html 初识Visual Leak Detector 灵活自由是C/C语言的一大特色&#xff0c;而这也为C/C程序员出了一个难题。当程序越来越复杂时&#xff0c;内存的管理也会变得越加复杂&#xff0c;稍有不慎就会出现内存问题。内…

JQuery Easy Ui 可装载组合框 - ComboBox

JQuery Easy Ui 可装载组合框 - ComboBox 可装载组合框 - ComboBox 继承自$.fn.combo.defaults,通过$.fn.combobox.defaults覆盖默认值 combobox显示的是一个可以编辑的文本框和一个下拉列表.允许用户从里面选择一个或者是多个值,用户可以直接输入值到列表顶部,或者可以从列表选…

用SQL实现统计报表中的“小计”和“合计”

客户提出需求&#xff0c;针对某一列分组加上小计&#xff0c;合计汇总。网上找了一些有关SQL加合计的语句。都不是很理想。决定自己动手写。 思路有三个&#xff1a; 1.很多用GROUPPING和ROLLUP来实现。 优点实现代码简洁&#xff0c;要求对GROUPPING和ROLLUP很深的理解。 …

Linux串口驱动程序-termios结构体中的VTIME和VMIN应用

#Linux串口驱动程序-termios结构体中的VTIME和VMIN应用 参考 https://tldp.org/HOWTO/Serial-Programming-HOWTO/x115.html 最近在看Unix-linux系统编程一书&#xff0c;做到第六章的时候需要做一个标准输入的超时处理。如下图所示 需要改动的&#xff0c;是原书的play_aga…

C# 线程手册 第一章 线程定义 .NET 和 C# 对线程的支持

由于.NET Framework 支持自由线程&#xff0c;所以自由线程在所有.NET 语言中都存在&#xff0c;包括C#和VB.NET. 在下一部分&#xff0c;我们将着重关注如何提供这种支持以及更多关于线程是如何做到的&#xff0c;而不再关注线程是什么。我们将讨论一些能够进一步帮助区分进程…

前端第一天 HTML基础

前端第一天 HTML基础 1.是什么 HTML里值得记住的就几个点&#xff0c;第一&#xff0c;这东西还有自身也有结构 这东西是个超文本&#xff0c;可以挂载文字图片视频或者别的超文本自身可以通过各种各样的tag进行标记&#xff0c;排版给浏览器提供渲染的依据&#xff0c; 2.…