1. VISA(虚拟仪器软件架构)
1.1 是什么?
VISA(虚拟仪器软件架构)是一个高层次的驱动程序,它将用于每个仪器硬件总线类型的更低层次的驱动程序抽象化,并提供一个单一的API实现与仪器的通信,而不必考虑具体的总线接口。
1.2 有什么用?
VISA是一个驱动程序软件架构,开发这一架构的目的在于统一与GPIB、串口、以太网/LAN、IEEE 1394和USB仪器的通信,并简化您的仪器控制应用。通过VISA API,开发人员可以使用GPIB、串口、以太网/LAN、IEEE 1394和USB仪器。
1.3 如何使用?
NI-VISA可以从National Instrument VISA免费下载,官网详细介绍了如何安装以及如何使用,这里只做简单说明;
2. 使用NI-VISA代码步骤(C#)
添加到VisaNS类库的引用
将NationalInstruments.Common与NationalInstruments.VisaNS引用添加到项目,可以直接查找并复制这两个dll到工作目录下再引用;
将VisaNS命名空间导入;
代码示例:
在表或类中将MessageBasedSession变量声明为一个全局变量,因为与仪器通信的任一个函数都将不得不访问该对象
private MessageBasedSession mbSession;
在声明MessageBasedSession变量后,实例化一个MessageBasedSession对象。使用静态方法ResourceManager类的GetLocalManager。该方法实例化一个新的ResourceManager对象。这个新的ResourceManager对象包含一个名为Open的函数,然后该函数实例化一个新的会话对象。最后,新创建的会话对象映射到一个MessageBasedSession。ResourceManager对象的Open方法将仪器的资源名称(字符串形式)视为一项参数输入。如:GPIB0::13::INSTR,TCPIP::192.168.1.50::INSTR(如果使用网线控制,注意要在同一个网段)
mbSession = (MessageBasedSession)ResourceManager.GetLocalManager().Open(仪器的资源名称);
会话创建完成话,就可以发送命令或查询string responseString = mbSession.Query(stringToWrite.Text);
最后结束后,可以关闭该VISA会话mbSession.Dispose();
作者:邱中毅
链接:https://www.jianshu.com/p/0f5df07889a1
共同學習,寫下你的評論
評論加載中...
作者其他優質文章