Engee 文档

签证支援计划

VISA(虚拟仪器软件架构)是为统一与测量仪器的交互而开发的规范。

VISA提供了与各种类型设备(USB,以太网,GPIB等)通信的抽象。). 在*Engee*的背景下,VISA支持包用于通过Julia代码集成和控制第三方测量设备,而无需离开*Engee*。 例如,使用VISA可以让您::

  • 获取可用设备列表;

  • 管理可用设备-打开会话、发送命令、读取响应;

  • 使用二进制数据和I/O缓冲区。

要开始使用*Engee*中的VISA支持包,您必须首先安装*Engee子系统。集成*:运行客户端程序并在*Engee*端插入服务器操作的URL,有关详细信息,请参阅 文章. 之后,执行:

using Main.EngeeDeviceManager.Devices.VISA

接下来,您需要创建一个VISA对象,该对象将用于与测量设备进行交互。:

visa = VISA.Visa()

签证工作的基本方法

以下方法用于处理通过VISA规范连接的设备:

  • 签证。关闭-关闭 -为通过VISA规范连接的设备释放总线。

  • 签证。关闭/关闭 -关闭签证会话。

  • 签证。创造-创新 -创建连接到指定端口的设备的实例。

  • 签证。创建_session -创建与VISA合作的会话。

  • 签证。冲水,冲水 -清除设备的I/O缓冲区。

  • 签证。get_ports -获取可用物理端口列表。

  • 签证。讀! -从设备读取数据。

  • 签证。[医]蓄水池 -从设备读取二进制数据。

  • 签证。[医]visatrigger -向设备发送中断命令。

  • 签证。写 -将消息写入设备。

  • 签证。n.写作障碍 -将二进制数据写入设备。

  • 签证。写,写 -将答案写入设备并读取它。

有关每种方法的详细说明,请参阅文章 VISA软件管理.

与VISA合作的一步一步的例子

考虑一个示例,其中创建会话,获取端口列表,创建设备,向设备写入命令并读取响应:

  1. 创建用于使用VISA设备的会话-通过指定硬件实现(例如, @py):

    visa.create_session("@py")
    阅读更多关于硬件实现的信息,请访问 链接
  2. 获取可用物理端口列表-获取可用端口列表并选择最后一个:

    ports = visa.get_ports().data
    port = last(ports)
  3. 在指定端口上创建设备的抽象-创建设备以使用所选端口:

    visa.create_instrument(port)
    如果您需要使用多个测量设备,请重复该命令 签证。create_instrument(签证,港口) 与另一设备的端口。
  4. 向设备写入重置消息-发送重置设备设置的命令:

    visa.write(port, "*RST;:SYSTEM:LOCK OFF", "")
  5. 将数据写入设备并以延迟读取响应-发送命令并以1.2秒的延迟读取响应:

    writeread_result = visa.writeread(port, ":CHAN1:BASE:WAV?", 1.2).data
  6. 从设备读取消息-从设备读取数据(确保设备正在发送数据):

    read_result = visa.read(port, "").data
  7. 将二进制数据写入设备-将两个字节写入设备:

    visa.writebinblock(port, [0x01, 0x00])
  8. 从设备读取二进制数据—从设备读取8字节数据:

    bytes = visa.readbinblock(port, 8).data
  9. 在设备中启动中断-发送中断命令(在某些设备上可能不可用):

    visa.visatrigger(port)
  10. 清除设备中的记录I/O缓冲区-清除记录缓冲区(在某些设备上可能不可用):

    visa.flush(port, "flush_write_buffer")
  11. 释放仪器的总线-释放总线以便其他仪器可以使用该端口:

    visa.close_instrument(port)
  12. 关闭设备会话-关闭VISA会话:

    visa.close_session()

可能出现的问题及其解决方案

  1. 显示端口的问题-如果方法 签证。get_ports 如果它没有返回可用端口,则确保测量设备在用户侧可用。:

    • 在Linux上,可能需要运行具有与硬件交互权限的已安装客户端程序。 须藤 或将用户添加到组 拨号,拨号.

    • 在Windows中,检查是否安装了所有必要的驱动程序,并在必要时以管理员身份运行客户端程序。

  2. 以太网设备的问题-要使用以太网连接,请确保接口配置正确。 如果端口以格式返回 "TCPIP::INSTR" 然后使用它来创建使用该功能的仪器 签证。创造-创新:

    visa.create_instrument("TCPIP::INSTR")
  3. 传输总线阻塞-如果在呼叫后 签证。写 如果下一次呼叫失败,那么传输总线可能被阻塞。 释放资源 签证。讀!.

  4. 驱动程序冲突-如果设备驱动程序和VISA实现冲突,请检查用户侧的设备日志以识别丢失的驱动程序。