签证支援计划
VISA(虚拟仪器软件架构)是为统一与测量仪器的交互而开发的规范。
VISA提供了与各种类型设备(USB,以太网,GPIB等)通信的抽象。). 在*Engee*的背景下,VISA支持包用于通过Julia代码集成和控制第三方测量设备,而无需离开*Engee*。 例如,使用VISA可以让您::
-
获取可用设备列表;
-
管理可用设备-打开会话、发送命令、读取响应;
-
使用二进制数据和I/O缓冲区。
|
要开始使用*Engee*中的VISA支持包,您必须首先安装*Engee子系统。集成*:运行客户端程序并在*Engee*端插入服务器操作的URL,有关详细信息,请参阅 文章. 之后,执行:
接下来,您需要创建一个VISA对象,该对象将用于与测量设备进行交互。:
|
签证工作的基本方法
以下方法用于处理通过VISA规范连接的设备:
-
签证。关闭-关闭-为通过VISA规范连接的设备释放总线。 -
签证。关闭/关闭-关闭签证会话。 -
签证。创造-创新-创建连接到指定端口的设备的实例。 -
签证。创建_session-创建与VISA合作的会话。 -
签证。冲水,冲水-清除设备的I/O缓冲区。 -
签证。get_ports-获取可用物理端口列表。 -
签证。讀!-从设备读取数据。 -
签证。[医]蓄水池-从设备读取二进制数据。 -
签证。[医]visatrigger-向设备发送中断命令。 -
签证。写-将消息写入设备。 -
签证。n.写作障碍-将二进制数据写入设备。 -
签证。写,写-将答案写入设备并读取它。
有关每种方法的详细说明,请参阅文章 VISA软件管理.
与VISA合作的一步一步的例子
考虑一个示例,其中创建会话,获取端口列表,创建设备,向设备写入命令并读取响应:
-
创建用于使用VISA设备的会话-通过指定硬件实现(例如,
@py):visa.create_session("@py")阅读更多关于硬件实现的信息,请访问 链接。 -
获取可用物理端口列表-获取可用端口列表并选择最后一个:
ports = visa.get_ports().data port = last(ports) -
在指定端口上创建设备的抽象-创建设备以使用所选端口:
visa.create_instrument(port)如果您需要使用多个测量设备,请重复该命令 签证。create_instrument(签证,港口)与另一设备的端口。 -
向设备写入重置消息-发送重置设备设置的命令:
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上,可能需要运行具有与硬件交互权限的已安装客户端程序。
须藤或将用户添加到组拨号,拨号. -
在Windows中,检查是否安装了所有必要的驱动程序,并在必要时以管理员身份运行客户端程序。
-
-
以太网设备的问题-要使用以太网连接,请确保接口配置正确。 如果端口以格式返回
"TCPIP::INSTR"然后使用它来创建使用该功能的仪器签证。创造-创新:visa.create_instrument("TCPIP::INSTR") -
传输总线阻塞-如果在呼叫后
签证。写如果下一次呼叫失败,那么传输总线可能被阻塞。 释放资源签证。讀!. -
驱动程序冲突-如果设备驱动程序和VISA实现冲突,请检查用户侧的设备日志以识别丢失的驱动程序。