vb怎么通过串口和安捷伦34410a通信?要有visa-vb.netvb.net操作visa,和仪器同心很容易vb.net操作visa,先装一个io suite
怎么使用VS2010调用visa进行程控一、首先在计算机上安装NI提供的驱动库vb.net操作visa,然后在计算机上找到相应的库文件和头文件
文件目录:C:\Program Files (x86)\IVI Foundation\VISA\WinNT
其中lib文件在: lib\msc\visa32.lib 和ivi.lib
头文件在: include
二、添加库到工程
博主是直接将库文件和对应的头文件复制到了工程目录下 , 然后在工程中添加了对lib库的引用,vs2010中引用visa库操作如下,
1 菜单 项目— 属性—配置属性–链接器—-输入—附加依赖项, 加入库名,如: visa32.lib;
或是在cpp源文件中用代码#pragma comment(lib,”visa32.lib”)代替. 此时再编译会提示错误:fatal error LNK1104: 无法打开文件“my_API.lib” , 原因应该是编译器不知道去哪里找vb.net操作visa我们的这个库,下面就来解决
2 然后给项目添加库文件路径,添加附加库路径:
“项目—属性—配置属性—连接器–常规–附加库目录” 点右边的向下箭头,这里添加 我们的库所在的路径. F:\my_program\meiyong\PPPP_Decode_ETIM;或 ../../PPPP_Decode_ETIM, 而且经试验测试是以项目文件.vcxproj 所在目录为当前目录,当前以当前目录这个方式设置更好了.这样就好了.
三、在工程中使用visa库
下面的代码中是在VS2010中通过调用visa库发送*IDN?来查询仪器的ID
#include "visa/include/visa.h"
#include "visa/include/ivi.h"
#pragma comment(lib,"visa32.lib")
#pragma comment(lib,"ivi.lib")
/*----------------------------------------------------------------------------*/
/* 宏定义声明*/
/*----------------------------------------------------------------------------*/
#define MAX_SCPI_LENGTH255// 最大的SCPI命令
#define DEFAULT_TIMEOUT5000// 超时:5000ms
int main(void)
{
ViStatus nReturnStatus = 0;// 保存返回数值
ViSession rmSession = 0,pnInstrHandle;
ViUInt32 retCnt = 0;
ViByte wrtBuf[MAX_SCPI_LENGTH];// 写缓冲区
ViByte rdBuf[MAX_SCPI_LENGTH];// 读缓冲区
int Return_Count;
nReturnStatus = viOpenDefaultRM (rmSession);
nReturnStatus = viOpen (rmSession, "TCPIP0::172.141.114.6::5001::SOCKET", VI_NULL, VI_NULL, pnInstrHandle);
/*- Configure VISA Formatted I/O ----------------------------------------*/
nReturnStatus = viSetAttribute (pnInstrHandle, VI_ATTR_TMO_VALUE, DEFAULT_TIMEOUT);// 设置超时
nReturnStatus = viSetAttribute (pnInstrHandle, VI_ATTR_SUPPRESS_END_EN, VI_FALSE);// 不发送终止符
nReturnStatus = viSetAttribute (pnInstrHandle, VI_ATTR_SEND_END_EN, VI_FALSE);// 不接收终止符
nReturnStatus = viQueryf (pnInstrHandle, "*IDN?\n", "%s", rdBuf);
viClose (pnInstrHandle);
viClose (rmSession);
return 0;
}
vb在哪添加visa控件【vb.net操作visa vbnet wcf】要把VISA32.BAS这个模块加到工程中来, 一般, visa32.bas存在 C:'\program files\IVI Foundation\VISA 下面, 就可以调用里面的visa函数了
VISA卡支付流程visa/master交易主要流程:
1.客户支付支付时,如果是无卡交易,出示信用卡的卡号,过期时间 , 收货地址,信用卡验证码cw2 !
2.商户刷卡,输入金额 , 系统向商户银行提交一个交易授权的请求,对于无卡交易,则通过键盘输入 。
3.商户银行把交易授权请求发送到visanet系统 。
4.visanet解析授权请求中的卡号,然后把授权请求转发到发卡行 。
5.发卡行拒绝或同意交易 。
6.visanet把发卡行返回的拒绝或同意的授权应答转发给商户银行系统 。
7.商户银行把授权应答转发给商户 。
8.商户根据授权应答完成交易 。
9.商户把交易收据提交到商广银行 。
10.商户银行贷商户账户,根据交易划拨资金到商户账户 , 并提交交易结账请求到 visanet。
11.visanet结账,借发卡行账户,贷商户银行账户,并提交交易到发卡行 。
12.发卡行在信用卡持卡人账户增加一笔交易,并发送账单到持卡人收账地址 。
13.持卡人收到账单 。
14.持卡人还款,在整个处理过程中 , visa组织要求商户不得存储授权敏感信息,例如cw2码 。
拓展资料:
VISA又译为维萨 , 是一个信用卡品牌,由位于美国加利福尼亚州旧金山市的Visa国际组织负责经营和管理 。
VISA卡于1976年开始发行,它的前身是由美洲银行所发行的Bank Americard 。
2017年6月,《2017年BrandZ全球最具价值品牌百强榜》公布,Visa以1109.99亿美元的品牌价值排第7名 。2018年5月29日,《2018年BrandZ全球最具价值品牌100强》发布,VISA排名第7位 。2018年12月,VISA入围2018世界品牌500强 。2019年10月,Interbrand发布的全球品牌百强榜排名55 。2019年10月23日 , 2019《财富》未来50强榜单公布,Visa排名第43 。2020年1月13日,入选2020胡润至尚优品获奖名单 。
labview 的VISA是什么?在LabVIEW中使用VISA
VISA是仪器编程的标准I/O API 。
VISA的多种用途
VISA可控制GPIB、串口、USB、以太网、PXI或VXI仪器,并根据使用仪器的类型调用相应的驱动程序,用户无需学习各种仪器的通信协议 。VISA独立于操作系统、总线和编程环境 。换言之 , 无论使用何种设备、操作系统和编程语言,均使用相同的API 。
开始使用VISA之前,应确保选择合适的仪器控制方法 。
GPIB、串口、USB、以太网和某些VXI仪器使用基于消息的通信方式 。对基于消息的仪器进行编程,使用的是高层的ASCII字符串 。仪器使用本地处理器解析命令字符串,设置合适的寄存器位,进行用户期望的操作 。SCPI(可编程仪器标准命令)是用于仪器编程的ASCII命令字符串的标准 。相似的仪器通常使用相似的命令 。用户只需学习一组命令,而无需学习各个仪器生产厂商各种仪器的不同命令消息 。最常用的基于消息的函数是:VISA读取、VISA写入、VISA置触发有效、VISA清空和VISA读取STB 。
PXI和许多VXI仪器使用基于寄存器的通信方式 。对基于寄存器的仪器进行编程,使用的是将直接写入仪器控制寄存器的底层二进制信息 。该通信方式的优点是速度快,因为仪器不需解析命令字符串 , 并将信息转换为寄存器层次的程序 。基于寄存器的仪器实际上是在直接硬件操作层上进行通信 。最常用的基于寄存器的函数是:VISA输入、VISA输出、VISA转入和VISA转出 。
vb.net操作visa的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于vbnet wcf、vb.net操作visa的信息别忘了在本站进行查找喔 。
推荐阅读
- 使用jquery实现提交表单验证码,jquery验证码插件
- php有没有和asp.net类似的授权,asp php aspnet jsp
- erp中的存货管理系统,企业erp存货管理子系统主要管理
- python爬虫生成csv文件,python爬取并生成csv文件
- java网上商店源代码 javaweb购物网站源代码
- scrapymysql安装成功,scrapy安装包
- 游戏射击德国,德国射击俱乐部
- 微信视频号直播定向直播,微信视频号直播怎么开启定位
- php连接数据库性能 php8连接数据库