VISA 软件控制
本页显示 Engee 中所有可用的 VISA 软件控制功能。
要在 Engee 中操作 VISA 软件控制功能,请按照文章 中的说明进行操作。 然后需要创建一个 VISA 对象,用于与测量仪器进行交互:
|
`VISA`方法
#
EngeeDeviceManager.Devices.VISA.close_instrument
— Method
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)
#
EngeeDeviceManager.Devices.VISA.close_session
— Method
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)
#
EngeeDeviceManager.Devices.VISA.create_instrument
— Method
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)
#
EngeeDeviceManager.Devices.VISA.create_session
— Method
VISA.create_session(visa::Any, backend:String)
创建与 VISA 协同工作的会话。
参数
-
visa::Any
: VISA 规范对象。命令visa = VISA.Visa()
用于创建对象。 -
backend::String
硬件实现:VISA 规范的硬件实现,如"@py"
或"@ni"
。
示例
VISA.create_session(visa, "@py")
#
EngeeDeviceManager.Devices.VISA.flush
— Method
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")
#
EngeeDeviceManager.Devices.VISA.get_ports
— Method
VISA.get_ports(visa::Any)
获取可用物理端口列表。
参数
visa::Any
:VISA 规范对象。命令visa = VISA.Visa()
用于创建对象。
示例
VISA.create_session(visa, "@py")
ports = VISA.get_ports(visa).data
#
EngeeDeviceManager.Devices.VISA.read
— Function
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
#
EngeeDeviceManager.Devices.VISA.readbinblock
— Method
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
#
EngeeDeviceManager.Devices.VISA.visatrigger
— Method
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)
#
EngeeDeviceManager.Devices.VISA.write
— Function
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
#
EngeeDeviceManager.Devices.VISA.writebinblock
— Method
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
#
EngeeDeviceManager.Devices.VISA.writeread
— Function
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