Engee 文档

VISA 软件控制

本页显示 Engee 中所有可用的 VISA 软件控制功能。

要在 Engee 中操作 VISA 软件控制功能,请按照文章 中的说明进行操作。

然后需要创建一个 VISA 对象,用于与测量仪器进行交互:

visa = VISA.Visa()

`VISA`方法

VISA.close_instrument(visa::Any, port::String)

释放通过 VISA 规范连接的仪器的总线。

参数

  • visa::Any:VISA 规范对象。命令visa = VISA.Visa() 用于创建对象。

  • port::String端口:通过 VISA 规范连接的设备的端口。可通过函数VISA.get_ports(visa::Any) 获取。

示例

VISA.create_session(visa, "@py")
ports = VISA.get_ports(visa).data
port = last(ports)
VISA.create_instrument(visa, port)
VISA.close_instrument(visa, port)
VISA.close_session(visa::Any)

关闭 VISA 会话。

参数

visa::Any:VISA 规范对象。命令visa = VISA.Visa() 用于创建对象。

示例

VISA.create_session(visa, "@py")
ports = VISA.get_ports(visa).data
port = last(ports)
VISA.close_session(visa)
VISA.create_instrument(visa::Any, port::String)

创建连接到指定端口的仪器实例。

参数

  • visa::Any:VISA 规格对象。命令visa = VISA.Visa() 用于创建对象。

  • port::String端口:通过 VISA 规范连接的仪器的端口。可通过函数VISA.get_ports(visa::Any) 获取。

示例

VISA.create_session(visa, "@py")
ports = VISA.get_ports(visa).data
port = last(ports)
VISA.create_instrument(visa, port)
VISA.create_session(visa::Any, backend:String)

创建与 VISA 协同工作的会话。

参数

  • visa::Any: VISA 规范对象。命令visa = VISA.Visa() 用于创建对象。

  • backend::String硬件实现:VISA 规范的硬件实现,如"@py""@ni"

示例

VISA.create_session(visa, "@py")
VISA.flush(visa::Any, port::String, flush_type::String)

清除仪器的 I/O 缓冲器。

参数

  • visa::Any:VISA 规范对象。命令visa = VISA.Visa() 用于创建对象。

  • port::String端口:通过 VISA 规范连接的仪器端口。可通过函数VISA.get_ports(visa::Any) 获取。

  • flush_type::String:清除类型。例如:"flush_write_buffer""flush_transmit_buffer"

示例

VISA.create_session(visa, "@py")
ports = VISA.get_ports(visa).data
port = last(ports)
VISA.create_instrument(visa, port)
VISA.flush(visa, port, "flush_write_buffer")
VISA.get_ports(visa::Any)

获取可用物理端口列表。

参数

visa::Any:VISA 规范对象。命令visa = VISA.Visa() 用于创建对象。

示例

VISA.create_session(visa, "@py")
ports = VISA.get_ports(visa).data
VISA.read(visa::Any, port::String, termination::String)

从仪器读取数据。

参数

  • visa::Any:VISA 规范对象。命令visa = VISA.Visa() 用于创建对象。

  • port::String端口:通过 VISA 规范连接的仪器端口。可通过函数VISA.get_ports(visa::Any) 获取。

  • termination::String:仪器特定的读取终止字符。如果未定义,则留空""

示例

VISA.create_session(visa, "@py")
ports = VISA.get_ports(visa).data
port = last(ports)
read_result = VISA.read(visa, port, "").data
VISA.readbinblock(visa::Any, port::String, size::Int64)

从仪器读取二进制数据。

参数

  • visa::Any:VISA 规范对象。命令visa = VISA.Visa() 用于创建对象。

  • port::String端口:通过 VISA 规范连接的仪器端口。可通过函数VISA.get_ports(visa::Any) 获取。

  • size::Int64:读取字节的缓冲区大小,例如:8

示例

VISA.create_session(visa, "@py")
ports = VISA.get_ports(visa).data
port = last(ports)
bytes = VISA.readbinblock(visa, port, 8).data
VISA.visatrigger(visa::Any, port::String)

向设备发送中断命令。

参数

  • visa::Any:VISA 规范对象。命令visa = VISA.Visa() 用于创建对象。

  • port::String端口:通过 VISA 规范连接的仪器端口。可通过函数VISA.get_ports(visa::Any) 获取。

示例

VISA.create_session(visa, "@py")
ports = VISA.get_ports(visa).data
port = last(ports)
VISA.visatrigger(visa, port)
VISA.write(visa::Any, port::String, message::String, termination::String)

记录仪器中的信息。

参数

  • visa::Any:VISA 规范对象。命令visa = VISA.Visa() 用于创建对象。

  • port::String端口:通过 VISA 规范连接的仪器端口。可使用函数VISA.get_ports(visa::Any) 进行检索。

  • message::String信息:SCPI 命令的信息。例如:"RST;:SYSTEM:LOCK OFF" to reset。

  • termination::String写终止字符:仪器特定的写终止字符。如果未定义,则必须留空""

示例

VISA.create_session(visa, "@py")
ports = VISA.get_ports(visa).data
port = last(ports)
VISA.create_instrument(visa, port)
numbytes = VISA.write(visa, port, "*RST;:SYSTEM:LOCK OFF", "").data
VISA.writebinblock(visa::Any, port::String, message::Vector{UInt8})

向设备写入二进制数据。

参数

  • visa::Any:VISA 规范对象。命令visa = VISA.Visa() 用于创建对象。

  • port::String端口:通过 VISA 规范连接的仪器端口。可通过函数VISA.get_ports(visa::Any) 获取。

  • message::Vector{UInt8}:要写入的二进制数据。例如:[0x01, 0x00].

示例

VISA.create_session(visa, "@py")
ports = VISA.get_ports(visa).data
port = last(ports)
numbytes = VISA.writebinblock(visa, port, [0x01, 0x00]).data
VISA.writeread(visa::Any, port::String, message::String, delay::Float64)

写入文书并读取答案。

参数

  • visa::Any:VISA 规范对象。命令visa = VISA.Visa() 用于创建对象。

  • port::String端口:通过 VISA 规范连接的仪器端口。可使用函数VISA.get_ports(visa::Any) 进行检索。

  • message::String信息:SCPI 命令的信息。例如:":CHAN1:BASE:WAV?" 将返回通道 1 的信号类型。

  • delay::Float64响应延迟:从仪器接收响应的延迟时间(最佳值为1.0 ,老式仪器可达到1.5 )。有关响应延迟的详细信息,请参阅所用仪器的文档。

示例

VISA.create_session(visa, "@py")
ports = VISA.get_ports(visa).data
port = last(ports)
writeread_result = VISA.writeread(visa, port, ":CHAN1:BASE:WAV?", 1.2).data