Документация Engee

Программное управление Analog Discovery

На этой странице представлены все доступные функции программного управления Analog Discovery в Engee.

Чтобы работать с функциями программного управления Analog Discovery в Engee, установите пакет поддержки оборудования как указано в статье. После выполните:

using Main.EngeeDeviceManager.Devices.ANALOGDISCOVERY
ANALOGDISCOVERY.WaveGenCfg

Структура конфигурации генератора аналогового сигнала.

Используется в ANALOGDISCOVERY.AO_config(...) для задания параметров генерируемого сигнала.

Поля

  • Wfunction — код типа сигнала;

  • frequency — частота сигнала;

  • amplitude — амплитуда сигнала;

  • phase — фаза сигнала;

  • offset — смещение постоянного тока;

  • similarity — параметр симметрии/«подобия» сигнала.

Коды типов сигнала (Wfunction)

Вид сигнала Код

Постоянный

0

Синусоида

1

Прямоугольный

2

Треугольный

3

Линейный возрастающий

4

Линейный убывающий

5

Шум

6

Импульсы

7

Трапециевидный

8

ANALOGDISCOVERY.AI_config(range::Int64=5, sampling_rate::Float64=20e6, buffer_size::Int64=0)::Nothing

Настраивает параметры сбора данных аналогового входного сигнала.

Аргументы

  • range::Int64=5: диапазон входного напряжения.

  • sampling_rate::Float64=20e6: частота дискретизации (Гц).

  • buffer_size::Int64=0: размер буфера сбора данных. Значение 0 обрабатывается как максимальный размер буфера (и дополнительно ограничивается возможностями устройства).

Примеры

using Main.EngeeDeviceManager.Devices.ANALOGDISCOVERY

ANALOGDISCOVERY.connect()

# Пример настройки: диапазон 5 В, 1 МГц, буфер 8192 отсчета
ANALOGDISCOVERY.AI_config(5, 1e6, 8192)
ANALOGDISCOVERY.AI_read(channel::Int64)::Float64

Считывает значение входного напряжения на указанном канале АЦП.

Аргументы

  • channel::Int64: номер входного канала для чтения.

Возвращаемое значение

Float64 — измеренное значение напряжения указанного канала.

Примеры

using Main.EngeeDeviceManager.Devices.ANALOGDISCOVERY

ANALOGDISCOVERY.connect()
ANALOGDISCOVERY.AI_config()

u = ANALOGDISCOVERY.AI_read(1)
ANALOGDISCOVERY.AI_read_buffer(channel::Int64)::Vector{Float64}

Считывает буфер указанного канала АЦП.

Аргументы

  • channel::Int64: номер входного канала для чтения.

Возвращаемое значение

Vector{Float64} — вектор значений напряжения из буфера.

Примеры

using Main.EngeeDeviceManager.Devices.ANALOGDISCOVERY

ANALOGDISCOVERY.connect()
ANALOGDISCOVERY.AI_config(buffer_size=4096)

buf = ANALOGDISCOVERY.AI_read_buffer(1)
ANALOGDISCOVERY.AI_stop()::Nothing

Останавливает сбор данных.

Примеры

using Main.EngeeDeviceManager.Devices.ANALOGDISCOVERY

ANALOGDISCOVERY.AI_stop()
ANALOGDISCOVERY.AO_config(channel::Int64, config::ANALOGDISCOVERY.WaveGenCfg)::Int64

Настраивает и запускает генерацию аналогового сигнала на указанном канале.

Аргументы

  • channel::Int64: номер выходного канала для настройки.

  • config::ANALOGDISCOVERY.WaveGenCfg: конфигурация генерируемого сигнала.

Возвращаемое значение

Int64 — код статуса:

  • 0 — успешно;

  • -1 — сбой настройки.

Примеры

using Main.EngeeDeviceManager.Devices.ANALOGDISCOVERY

ANALOGDISCOVERY.connect()

cfg = ANALOGDISCOVERY.WaveGenCfg(
    1,        # Wfunction: синус
    1000.0,   # frequency, Hz
    1.0,      # amplitude
    0.0,      # phase
    0.0,      # offset
    0.5       # similarity
)

status = ANALOGDISCOVERY.AO_config(1, cfg)
status == 0 || error("AO_config failed (status=$status)")
ANALOGDISCOVERY.AO_stop(channel::Int64)::Nothing

Отключает генерацию сигнала на указанном канале.

Аргументы

  • channel::Int64: номер выходного канала для отключения.

Примеры

using Main.EngeeDeviceManager.Devices.ANALOGDISCOVERY

ANALOGDISCOVERY.AO_stop(1)
ANALOGDISCOVERY.connect()::Int64

Устанавливает соединение с устройством Analog Discovery.

Перед использованием функций AO_* и AI_* необходимо вызвать connect().

Возвращаемое значение

Int64 — код статуса:

  • 0 — подключение установлено успешно;

  • -1 — сбой подключения;

  • 2 — устройство уже подключено.

Примеры

using Main.EngeeDeviceManager.Devices.ANALOGDISCOVERY

status = ANALOGDISCOVERY.connect()

if status == 0 || status == 2
    # можно работать с устройством
else
    error("Не удалось подключиться к Analog Discovery (status=$status)")
end
ANALOGDISCOVERY.disconnect()::Nothing

Закрывает соединение с подключенным устройством Analog Discovery и освобождает ресурсы. При закрытии соединения останавливаются генерация сигналов и захват данных.

Примеры

using Main.EngeeDeviceManager.Devices.ANALOGDISCOVERY

ANALOGDISCOVERY.disconnect()