使用VISA编程入门教程

概述

下图示出对具有VISA的仪器进行控制的流程。当用可视Basic语言(Visual Basic languagee)开发VISA程序时,必须回顾一个特殊的编程注意事项(在下面列出的自述文本文件中)。

有关VISA程序库的利用以及利用带有E5071A宏程序(E5071A VBA)的VISA的编程注意事项的详情,请参考包含在IO程序库光盘(CD-ROM)上的下列文件。

  • visa.hlp (VISA程序库的在线帮助)。

  • vbreadme.txt (对利用具有VB的VISA程序库的注释)。

使用VISA控制仪器的流程

 

第1步:起动VISA

样本程序ctrl_ext.vba. 中的90行处理VISA系统起动对话。VISA的viOpenDefaultRM功能对VISA系统进行初始化和起动。viOpenDefaultRM 功能必须在调用其它VISA功能之前执行,而这个功能的参数是起动信息(ctrl_ext.vba中的Defrm)。

语法

viOpenDefaultRM(param)

参数

参数

(param)

说明

起动信息(输出)

数据类型

长整型

第2步:连接

130行处理连接对话。VISA的viOpen功能进行与规定仪器的连接。viOpen功能返回某个值,使得VISA功能可以将其应用于规定仪器,这个功能的参数是起动信息(Defrm)、规定仪器的地址信息(ctrl_ext.vba中的“GPIB::17::INSTR”)、接入方式(ctrl_ext.vba中的0)、超时(ctrl_ext.vba中的0)和连接信息(ctrl_ext.vba中的Equip)。

语法

viOpen(param1, param2, param3, param4, param5)

参数

参数

(param1)

说明

起动信息(输入)

数据类型

长整型

 

参数

(param2)

说明

规定仪器的地址信息(输入)

数据类型

字符串型

语法

"GPIB0::gpib address::INSTR"

"USB0::manufacturer ID::model code::serial number::0::INSTR"
(ex. "USB0::2391::2312::MY12345678::0::INSTR")

"TCPIP0::IP address::inst0::INSTR"

 

参数

(param3)

说明

接入方式(输入0)

 

参数

(param4)

说明

超时(输入0)

 

参数

(param5)

说明

连接信息(输出)

数据类型

长整型

第3步. 通信

170行进行通信对话。VISA的viVPrintf功能将程序消息(GPIB命令)发送到规定仪器。这个功能的参数是连接信息(Equip)、程序消息(*EDN?)和待格式化变量(ctrl_ext.vba中的0)。

  • 为了输入/输出GPIB命令,主要是利用viVPrintf 功能和viVScanf功能信息,但也可以利用其它VISA功能。欲知详情,请参考visa.hlp (VISA程序库的在线帮助)。

语法

viVPrintf(param1, param2, param3)

参数

参数

(param1)

说明

连接信息(输出)

数据类型

长整型

 

参数

(param2)

说明

发送GPIB命令的程序消息时的程序消息,消息结束处要求一个消息终结符(ctrl_ext.vba中的Chr$(10))

数据类型

字符串型

 

参数

(param3)

说明

变量待格式化,若不可应用,则输入0。

数据类型

规定的数据类型

 

 

210行控制接收对话。VISA的viVScanf 功能接收来自规定仪器的结果,并将其存储在输出变量中。这个功能的参数是连接信息(ctrl_ext.vba中的Equip)、输出变量的格式参数(ctrl_ext.vba中的%t)和输出变量(ctrl_ext.vba中的Prod)。

语法

viVScanf(param1, param2, param3)

参数

参数

(param1)

说明

连接信息(输入)

数据类型

长整型

 

参数

(param2)

说明

输出变量的格式参数

数据类型

字符串型

 

参数

(param3)

说明

输出变量(输出)

数据类型

字符串型

 

第4步: 断开

280行处理断开对话。VISA的 viClose 功能将通信中断并使VISA系统终结,这个功能的参数是起动信息(ctrl_ext.vba中的Defrm)。

语法

viClose(param)

Parameter

参数

(param)

说明

起动信息(输入)

数据类型

长整型

 

 

 

样本程序 用来读出外围设备(仪器)产品信息

ctrl_ext.vba 是利用E5071C作为系统控制器时,控制通过USB/GPIB接口电缆连接的仪器的样本程序。这个VBA程序由下列程序模块组成。

对象名

模块类型

内容

mdlVisa

标准模块

读出外部仪器的产品信息。

模块1
模块2

标准模块

利用VISA程序库的两个定义文件

 

  • 当您由E5071C VBA来控制外围设备时,利用对仪器提供的GPIB命令经VISA进行通信。相反,当您由E5071C VBA来控制仪器本身时,则利用对仪器提供的COM对象进行通信。

90行到100行

对VISA系统进行初始化和起动,并将起动信息输出到Defrm变量。在这个过程期间,若发生差错,程序便转到错误处理程序(320行到360行)。

130行到140行

建立与经GPIB连接的外部仪器(GPIB地址:17)的连接,并将连接信息输出到Equip变量。在这个过程期间,若发生差错,程序便转到错误处理程序(320行到360行)。

170行到180行

查询利用VISA经USB/GPIB接口电缆连接的外部仪器的产品信息,在这个过程期间,若发生差错,程序便转到错误处理程序(320行到360行)。

210行到250行

通过VISA对产品信息进行检索,并将产品信息输出到Prod变量。在消息框中显示读出结果。在这个过程期间,若发生差错,程序便转到错误处理程序(320行到360行)。

280行

中断通信并使VISA系统终结。

320行到360行

若VISA功能发生差错,将显示错误的细节并使程序终结。

读出产品信息(ctrl_ext.vba)

10| Sub Main()

20|

30| Dim status As Long 'VISA function status return code

40| Dim Defrm As Long 'Session to Default Resource Manager

50| Dim Equip As Long 'Session to instrument

60| Dim Prod As String * 100 'String to receive the result

70|

80| ' Initializes the VISA system.

90| status = viOpenDefaultRM(Defrm)

100| If (status <> VI_SUCCESS) Then GoTo VisaErrorHandler

110|

120| ' Opens the session to the specified instrument.

130| status = viOpen(Defrm, "GPIB0::17::INSTR", 0, 0, Equip)

140| If (status <> VI_SUCCESS) Then GoTo VisaErrorHandler

150|

160| ' Asks for the instrument's product information.

170| status = viVPrintf(Equip, "*IDN?" & Chr$(10), 0)

180| If (status <> VI_SUCCESS) Then GoTo VisaErrorHandler

190|

200| ' Reads the result.

210| status = viVScanf(Equip, "%t", Prod)

220| If (status <> VI_SUCCESS) Then GoTo VisaErrorHandler

230|

240| ' Displays the result.

250| MsgBox Prod

260|

270| ' Closes the resource manager session (which closes everything)

280| Call viClose(Defrm)

290|

300| GoTo Prog_end

310|

320| VisaErrorHandler:

330| Dim VisaErr As String * 200

340| Call viStatusDesc(Defrm, status, VisaErr)

350| MsgBox "Error : " & VisaErr, vbExclamation

360| Exit Sub

370|

380| Prog_end:

390|

400| End Sub

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

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

相关文章

Zebec联合Visa推出实体借记卡持续利好生态,$ZBC表现强劲

Zebec联合Visa推出实体借记卡持续利好生态&#xff0c;$ZBC表现强劲 Zebec生态从今年年初开始&#xff0c;持续的释放利好提振市场信心。此前&#xff0c;Zebec曾以 10 亿美元的完全稀释估值筹集了 850 万美元&#xff0c;该轮融资投资者包括 Circle Ventures、Shima 和 Resolu…

visa虚拟卡生成器_虚拟银行卡汇总

为后续做跨境支付,提前储备虚拟银行卡渠道 1. 全球付http://www.globalcash.hk/​ 在线申请,可充值,微信支付,开卡简单。2. 爱汇旅之卡http://www.ihui.com/​此卡是目前最方便容易获得,并大量获得的实体mastercard实体卡,可以直接联系客服大量拿卡,一次上百张甚至是数…

VISA编程实例(C实现)

今天写这个文章&#xff0c;是因为自己工作中用到了ROHDE&SCHWARZ&#xff08;即罗德-施瓦茨公司&#xff09;的仪表设备&#xff0c;需要通过编程的方式来读取仪表上功率测试结果&#xff0c;本来仪表上显示了测试结果&#xff0c;不知道硬件部门为什么需要通过程序来获取…

visa虚拟卡生成器_英国虚拟卡 获取多张VISA和Mastercard

这是一家英国的虚拟卡平台,主要提供虚拟信用卡。 官方网址: https://www.swiftpaycard.com/cards.php 进入之后,点上角的sign up进行注册。不懂得可以网页翻译注册。 输入你的个人信息。类似姓名,邮箱,密码,用户名之类的。自己填好就行。然后就会提示你注册成功。并提示…

【编程实践】24个实用代码优化技巧实例讲解

写代码的同学都有一些明显的共性,整体来说都比较符合代码特性中的可读性、严谨性、扩展性的要求。本文将举例一些自己看到的代码以及感受建议,从以上三个角度进行总结,希望能够对大家日常编码有一些帮助。 ChatGLM: 优秀的程序员通常具备以下特质: 1. 良好的逻辑思维能力:…

OpenAI-ChatGPT最新官方接口《从0到1生产最佳实例》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(十一)(附源码)

Production Best Practices 生产最佳实例 前言Introduction 导言Setting up your organization 设置您的组织Managing billing limits 管理计费限额API keys API密钥Staging accounts 演示账户 Building your prototype 构建您的原型Additional tips 其它技巧 Techniques for i…

chatgpt赋能python:Python数据搜索指南

Python数据搜索指南 对于很多Python程序员来说&#xff0c;从互联网上查找数据是非常常见的需求。本文将介绍一些使用Python高效地搜索数据的技巧和工具。 Google Custom Search API Google Custom Search API是一个用于在Google搜索引擎中搜索内容的接口。使用该接口&#…

【Python】用python高效查询gptkey的额度(封装pytqt5版本)

文章目录 前言一、源码二、运行效果展示总结 前言 昨天发了python查询gpt-key剩余额度和近10天使用额度查询情况的源码&#xff0c;有伙伴反馈很实用&#xff0c;但是如果能封装UI版就更好了 那徐浪老师今天就给大家做一个封装吧&#xff01; 一、源码 话不多说&#xff0c;…

无需订阅的GPT-4?

上周末&#xff0c;MegaEase 创始人兼 CTO 陈皓老师&#xff08;左耳朵耗子&#xff09;在推特推荐了一款 ChatGPT 套壳网站 Forefront Chat&#xff0c;称其可以“免费使用 GPT-3.5 和 GPT-4”。溯源了一番&#xff0c;其官方 Forefront AI 公司在前一天进行了官宣&#xff1a…

异常检测专栏(一)异常检测概述

前言 异常检测一直是机器学习中一个活跃的研究领域&#xff0c;由于风险管理、合规、安全、将抗和医疗风险以及人工智能安全等广泛领域的需求和应用不断增加&#xff0c;异常检测发挥和越来越重要的总用。近年来&#xff0c;随着深度学习和计算机视觉技术的不断发展&#xff0c…

GPG密钥生成与使用教程

以下命令只需Ubuntu用户执行 sudo yum install gnupg 生成密钥 gpg --gen-key 密钥种类选择&#xff1a;键入1 RSA密钥长度&#xff1a;键入1024&#xff08;此操作仅为提高RSA生成的速度 密钥的有效期&#xff08;默认为0选项&#xff09;&#xff1a;回车 真实姓名&…

腾讯AI开放平台使用尝试:通过文本翻译API进行汉译英

这篇文章继续尝试使用腾讯AI开放平台提供的文本翻译API进行汉译英的示例说明。 目录 事前准备请求参数返回格式示例代码使用示例常见问题总结参考内容 事前准备 实现需要申请申请账号&#xff0c;获得如下接入凭证&#xff1a; AppID&#xff1a;应用IDAppKey&#xff1a;应…

GitHub英译中设置方法

GitHub 英译中设置方法 相信有很多小伙伴初次打算使用GitHub然后去浏览器搜索之后&#xff0c;发现打开官网内容全部是英文&#xff0c;这可难倒了很多英文不好的小伙伴。但凡事都有解决之道&#xff0c;我们只需要将GitHub官网的英文转换为中文就能够很好很快学习运用GitHub&…

现在各行各业的人们越来越多地依靠计算机来解决各种难题.翻译英语,公共英语PETS三级阅读与翻译试题训练 四...

三级英语汉译英 1、他这次考试失败使他意识到定期复习功课是多么重要。 He failed in the exam, which has made him aware of the importance of reviewing his lessons regularly. 2、请一定不要忘记离家前你父母对你说过的话。 Be sure not to forget what your parents sai…

论文中文翻译成英文有什么好办法?

不知道大家是否想过这个问题&#xff1a;到大学为止&#xff0c;我们可以说已经学了十年英语了&#xff0c;但为什么英语水平高的人却没有那么多&#xff1f;尤其是涉及英语口语或写作这种需要输出的内容&#xff0c;对我们来说更是难上加难。原因主要在于&#xff0c;我们的思…

Abaqus取消汉化(汉译英,英译汉)

1、创建abaqus 桌面快捷方式 拖拽到桌面上即可 2、打开文件所在位置 3、点击win_b64 4、然后依次打开 win_b64--->SMA---->Configuration--->locale 5、加 和 改 汉化&#xff1a;在1处添加 Chinese (Simplified)_China.936zh_CN 在2处把 0 改成 1 汉化取消&…

AndroidStudio翻译辅助工具(中译英与英译中)

1.设置 File -> Settings 2.Browse repositories File -> Settings->Plugins->Browse repositories… 3.下载Translation 4.Restore点击一下 5.重启一下 6.申请ID和密匙 自己随便注册一下即可 7 创建有道智云实例 名字随便写 翻译实例-》创建实例 8 创建应…

微信小程序 通过百度API接口实现汉译英翻译

目录 先看一下做出来的效果&#xff1a; 一、微信开发平台的网址&#xff08;微信开发者工具的官方使用说明&#xff09; 二、百度API&#xff08;文本翻译的API&#xff09; 三、进入正文&#xff0c;微信小程序的代码部分 先看一下做出来的效果&#xff1a; 一、微信开发…

Python实现汉译英

引言 你是否还在用老套的方式网页打开数据&#xff1f;你是否想要打造一个属于自己的翻译程序&#xff1f; 看完这篇博客实现你的梦想&#xff0c;打造一个属于自己的翻译器。 代码解析 首先我们要导入两个库爬虫库&#xff08;requests&#xff09;和json库。Requests库就不多…

HuggingFace学习3:加载预训练模型完成机器翻译(中译英)任务

加载模型页面为&#xff1a;https://huggingface.co/liam168/trans-opus-mt-zh-en 文章目录 整理文件跑通程序&#xff0c;测试预训练模型拆解Pipeline&#xff0c;逐步进行翻译任务 整理文件 首先下载模型所需的全部文件&#xff1a;https://huggingface.co/liam168/trans-op…