首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找GPIB总线上的设备列表

查找GPIB总线上的设备列表
EN

Stack Overflow用户
提问于 2019-07-23 00:06:25
回答 1查看 175关注 0票数 0

我需要查询GPIB总线上的测试设备。

我试着在NationalInstruments.VisaNS上找。

NationalInstruments.NI4882.AddressCollection.GetEnumerator();

即GPIB::6::INSTR,GPIB::7::INSTR,......GPIB::20::INSTR。

EN

回答 1

Stack Overflow用户

发布于 2019-10-02 14:09:21

如果您使用的是Vb或C#,请使用示例程序磁盘中的Visa32.bas或Visa32.cs

代码语言:javascript
复制
int DefaultSessionId= 0;
int SessionId= 0;
int LastStatus = 0;
string Address = "GPIB0::6" ; //any address

//Session Open
LastStatus = visa32.viOpenDefaultRM(out DefaultSessionId);

//Connection Open
LastStatus = visa32.viOpen(DefaultSessionId, Address + "::INSTR", 0, 0, out sessionId);
LastStatus = visa32.viSetAttribute(SessionId, visa32.VI_ATTR_TERMCHAR, 13);// Set the termination character to carriage return (i.e., 13);
LastStatus = visa32.viSetAttribute(SessionId, visa32.VI_ATTR_TERMCHAR_EN, 1);// Set the flag to terminate when receiving a termination character
LastStatus = visa32.viSetAttribute(SessionId, visa32.VI_ATTR_TMO_VALUE, 2000);// Set timeout in milliseconds; set the timeout for your requirements

//Communication
LastStatus = visa32.viPrintf(SessionId, command + "\n");//device specific commands to write
StringBuilder message = new StringBuilder(2048);
LastStatus = visa32.viScanf(SessionId, "%2048t", message);//Readback

//Session and Connection Close
visa32.viClose(SessionId);
visa32.viClose(DefaultSessionId);

Reference from

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57149865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档