Программное управление VISA
Чтобы работать с функциями программного управления VISA в Engee, установите пакет поддержки работы с оборудованием, выполнив следующие команды в командной строке
|
На этой странице представлены все доступные функции программного управления VISA в Engee.
Методы VISA
#
EngeeDeviceManager.Devices.VISA.close_instrument
— Method
VISA.close_instrument(visa::Any, port::String)
Освобождение шины для инструмента.
Аргументы
-
visa::Any
: объект девайса VISA. Для создания объекта используется командаvisa = VISA.Visa()
. -
port::String
: порт устройства. Можно получить с помощью функции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, "USB::Instrument")
#
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_instrument(visa, port)
#
EngeeDeviceManager.Devices.VISA.create_instrument
— Method
VISA.create_instrument(visa::Any, port::String)
Создает абстракцию прибора VISA.
Аргументы
-
visa::Any
: объект девайса VISA. Для создания объекта используется командаvisa = VISA.Visa()
. -
port::String
: порт устройства. Можно получить с помощью функции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.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.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.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.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.get_ports(visa::Any)
. -
message::String
: сообщение со SCPI командой. Например:"RST;:SYSTEM:LOCK OFF"
для сброса настроек. -
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.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.get_ports(visa::Any)
. -
message::String
: сообщение со SCPI командой. Например:":CHAN1:BASE:WAV?"
вернет тип сигнала в первом канале. -
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