通过Visa在Engee使用外部设备
页面进行中。 |
VISA(虚拟仪器软件架构)是为统一与测量仪器的交互而开发的规范。
VISA提供了与各种类型的硬件(如USB、以太网、GPIB和其他接口)通信的抽象。 在*Engee*的背景下,VISA用于集成第三方测量设备,并允许它们通过Julia代码进行控制,而无需离开*Engee*。
要在*Engee*中开始使用VISA,您需要连接外部硬件支持包,运行客户端程序并在*Engee*端插入服务器操作的URL。 有关详细信息,请参阅 文章. 之后,执行:
接下来,您需要创建一个VISA对象,该对象将用于与测量设备进行交互。:
|
签证工作的基本方法
以下方法用于处理通过VISA规范连接的设备:
-
'签证。close_instument'-释放通过VISA规范连接的设备的总线。
-
'签证。close_session—-使用VISA关闭会话。
-
'签证。create_instument'-创建在指定端口上连接的设备的实例。
-
'签证。create_session—-创建使用VISA的会话。
-
'签证。flush'-清除设备的I/O缓冲区。
-
'签证。get_ports—-获取可用物理端口的列表。
-
'签证。read'-从设备读取数据。
-
'签证。readbinblock'-从设备读取二进制数据。
-
'签证。visatrigger'-向设备发送中断命令。
-
'签证。写'-将消息写入设备。
-
'签证。writebinblock'-将二进制数据写入设备。
-
'签证。writeread—-将答案写入设备并读取它。
有关每种方法的详细说明,请参阅文章 VISA软件管理.
与VISA合作的一步一步的例子
考虑一个示例,其中创建会话,获取端口列表,创建设备,向设备写入命令并读取响应:
-
创建用于使用VISA设备的会话-通过指定硬件实现(例如,
@py
)创建会话:visa.create_session("@py")
阅读更多关于硬件实现的信息,请访问 链接。 -
获取可用物理端口列表-获取可用端口列表并选择最后一个:
ports = visa.get_ports().data port = last(ports)
-
在指定端口上创建设备的抽象-创建设备以使用所选端口:
visa.create_instrument(port)
如果您需要使用多个测量设备,请重复命令’签证。create_instument(visa,port)`与另一个设备的端口。 -
向设备写入重置消息-发送重置设备设置的命令:
visa.write(port, "*RST;:SYSTEM:LOCK OFF", "")
-
将数据写入设备并以延迟读取响应-发送命令并以1.2秒的延迟读取响应:
writeread_result = visa.writeread(port, ":CHAN1:BASE:WAV?", 1.2).data
-
从设备读取消息-从设备读取数据(确保设备正在发送数据):
read_result = visa.read(port, "").data
-
将二进制数据写入设备-将两个字节写入设备:
visa.writebinblock(port, [0x01, 0x00])
-
从设备读取二进制数据—从设备读取8字节数据:
bytes = visa.readbinblock(port, 8).data
-
在设备中启动中断-发送中断命令(在某些设备上可能不可用):
visa.visatrigger(port)
-
清除设备中的记录I/O缓冲区-清除记录缓冲区(在某些设备上可能不可用):
visa.flush(port, "flush_write_buffer")
-
释放设备的总线-释放总线以便其他设备可以使用该端口:
visa.close_instrument(port)
-
关闭设备会话-关闭VISA会话:
visa.close_session()
可能出现的问题及其解决方案
-
与显示端口的问题-如果方法是’签证。get_ports’不返回可用端口,则确保测量设备在用户端可用。:
-
在Linux上,要与硬件交互,您可能需要运行具有sudo权限的已安装客户端程序或将用户添加到拨号组。
-
在Windows中,检查是否安装了所有必要的驱动程序,并在必要时以管理员身份运行客户端程序。
-
-
以太网设备的问题-要使用以太网连接,请确保接口配置正确。 如果端口以`"TCPIP::INSTR"'格式返回,则使用它使用函数`visa创建设备。create_instument`:
visa.create_instrument("TCPIP::INSTR")
-
传输总线锁定-如果在呼叫’visa后下一个呼叫不起作用。写`,那么传输总线可能被阻塞。 使用"visa"释放资源。读'。
-
驱动程序冲突-如果设备驱动程序和VISA实现冲突,请检查用户侧的设备日志以识别丢失的驱动程序。