首页 > 其他分享 >KEYSIGHT LCR使用visa通信的几个问题

KEYSIGHT LCR使用visa通信的几个问题

时间:2023-12-28 21:00:31浏览次数:33  
标签:session KEYSIGHT VI float viError visa visa32 LCR fValue

C#中使用visa网口与LCR通信

1.在Keysight官网上下载IO Libraries suite并安装,将

  C:\Program Files\IVI Foundation\VISA\Win64\ktvisa\include\visa32.cs

  C:\Program Files\IVI Foundation\VISA\Win64\agvisa\agbin\visa32.dll

  拷贝到自己工程中,此dll为非托管,属性设置资源始终复制。

2.初始化仪表     

var viError = visa32.viOpenDefaultRM(out var viDefultRM);
if (viError != visa32.VI_SUCCESS)
{
  return false;
}
string resourceName = "TCPIP0::192.168.1.1::5025::SOCKET";
viError = visa32.viOpen(viDefultRM, resourceName, visa32.VI_NO_LOCK, visa32.VI_TMO_IMMEDIATE, out var session);
if (viError == visa32.VI_SUCCESS)
{
  isConnected = true;
}

3.读取数据,读出2个测量值,注意格式:"%,2f"

float[] fValue = new float[2];
viError = visa32.viPrintf(_session, "FETCh?\n");
viError = visa32.viScanf(_session, "%,2f", fValue);

 这时执行到visa32.viScanf(_session, "%,2f", fValue);

 出错代号:VI_ERROR_TMO,-1073807339

出错原因:在使用前要设置终结符,及超时特性

切记,切记,切记

viError = visa32.viSetAttribute(session, visa32.VI_ATTR_TMO_VALUE, 2000);
viError = visa32.viSetAttribute(session, visa32.VI_ATTR_TERMCHAR_EN, visa32.VI_TRUE);
viError = visa32.viSetAttribute(session, visa32.VI_ATTR_TERMCHAR, 0x0A);

4.当第二执行第3项获取数据时,报错代码:VI_ERROR_INV_FMT,-1073807297

     没搞清楚问题在哪里,换个方式读数据。

string rV;
viError = visa32.viRead(_session, out rV, 64);
string[] sValues = rV.Split(',');
fValue[0] = float.Parse(sValues[0]);
fValue[1] = float.Parse(sValues[1]);
if (viError < visa32.VI_SUCCESS)
{
  return new float[2];
}

 

标签:session,KEYSIGHT,VI,float,viError,visa,visa32,LCR,fValue
From: https://www.cnblogs.com/duju/p/17933566.html

相关文章

  • /opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: 找不到 -lz
    我用的cmake命令是:target_link_libraries(${MyProjectName}-L/usr/lib64/mysql-lmysqlclient-lpthread-lz-lm-lssl-lcrypto-ldl) 将${MyProjectName}这个目标(可执行文件或库文件)链接到以下的库文件:/usr/lib64/mysql/libmysqlclient.so/usr/lib64/libpthread.so/usr/l......
  • VirtualCreateDiskFileDevice【chatgpt】
    VirtualCreateDiskFileDevice(简称VCDFD)和Dokan技术是用于创建虚拟文件系统和磁盘的两种不同的解决方案,它们有一些区别和特点:功能和用途:VCDFD是Windows内核模式下的一个驱动程序,它提供了一种机制来创建虚拟的磁盘设备,可以在该虚拟设备上进行文件读写操作。而Dokan是一个用户模式......
  • LCR182
    某公司门禁密码使用动态口令技术。初始密码为字符串 password,密码更新均遵循以下步骤:设定一个正整数目标值 target将 password 前 target 个字符按原顺序移动至字符串末尾请返回更新后的密码字符串。 示例1:输入:password="s3cur1tyC0d3",target=4输出:"r1......
  • 随想录Day8|344. 反转字符串、541. 反转字符串Ⅱ、LCR 122. 路径加密、151. 反转字符
    随想录Day8|344.反转字符串、541.反转字符串Ⅱ、LCR122.路径加密、151.反转字符串里的单词、LCR182.动态口令 题目越来越长了…… 344.反转字符串文章&视频讲解编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数......
  • 如何在notebook 中使用 @visactor/vchart 显示图表?
    要在JupyterNotebook中使用@visactor/vchart库显示图表,您需要执行以下步骤:安装@visactor/vchart库:如果尚未安装此库,您可以使用npm或yarn进行安装。在终端或命令提示符中运行以下命令之一:使用npm安装:npminstall@visactor/vchart或者使用yarn安装:yarnadd@visactor/vchart导入库......
  • tekvisa
    https://pypi.org/project/PyTektronixScope/https://www.tek.com/en/support/software/driver/tekvisa-connectivity-software-v411http://development-c-sharp.blogspot.com/2016/06/tektronix-oscilloscopes-office-from.html......
  • LCR 026. 重排链表
    LCR026.重排链表/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(){}*ListNode(intval){this.val=val;}*ListNode(intval,ListNodenext){this.val=val;this.next......
  • visa函数的使用
    常用viReadviPrintfviOpenviOpenDeFaultRM参考:VISA常用函数[参照].pdf-原创力文档(book118.com) 里面写的比较详细使用VISA编程入门教程_visa编程指南_yuanxuaner的博客-CSDN博客......
  • visa打开与仪器的通信通道称为会话session
    CommunicationChannels:SessionsTheexamplesfromIntroductoryProgrammingExamplesusedanoperationcalledviOpen()toopencommunicationchannelswiththeinstruments.InVISAterminology,thischannelisknownasasession.Asessionconnectsyoutot......
  • Netbeans开发—PersonalCrad(Version:2.0)
       上次的PersonalCard 里只是简单地用了几个控件,label、textfeild和button,这次,再来用几个常用的控件:    ComboBox、Radiobutton、Textarea。Ready?GO!       首先,用Netbeans新建一个JAVADesktopApplication:PersonalCard    然后,开始拖控件,参照下图:  ......