AnyMath 文档

模拟发现的软件管理

本页显示了模拟发现的所有可用的软件控制功能 AnyMath.

使用模拟发现的软件控制功能 AnyMath,按照指定的方式安装硬件支持包 文章. 之后,执行:

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 :采样频率(Hz)。

  • buffer_size::Int64=0 :数据采集缓冲区大小。0 的值将被视为缓冲区的最大容量(并受设备能力的额外限制)。

示例

using Main.EngeeDeviceManager.Devices.ANALOGDISCOVERY

ANALOGDISCOVERY.connect()

# 配置示例:5 V 范围,1 MHz,8192 采样点的缓冲区
ANALOGDISCOVERY.AI_config(5, 1e6, 8192)
ANALOGDISCOVERY.AI_read(channel::Int64)::Float64

读取指定ADC通道的输入电压值。

参数

  • 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}

读取指定ADC通道的缓冲区。

参数

  • 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()