AnyMath 文档

模拟发现的软件管理

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

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

using Main.EngeeDeviceManager.Devices.ANALOGDISCOVERY
ANALOGDISCOVERY.WaveGenCfg

模拟信号发生器的配置结构。

使用于 ANALOGDISCOVERY.AO_config(...) 来设置所产生的信号的参数。

字段

  • Wfunction -信号类型代码;

  • frequency -信号频率;

  • amplitude -信号幅度;

  • phase -信号相位;

  • offset -直流偏移;

  • similarity -信号的对称性/"相似性"的参数。

信号类型代码(Wfunction)

/信号类型/代码

-----------------------

-----

常数/0

/Sinusoid/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()

# 设置示例:范围5V,1MHz,缓冲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,  # 频率,赫兹
  1.0,   # 振幅
  0.0,   # 阶段
  0.0,   # 偏移量
  0.5    # 相似度
)

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

建立与模拟发现设备的连接。

使用功能之前 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

关闭与已连接的模拟发现设备的连接并释放资源。 当连接关闭时,信号生成和数据捕获停止。

例子

using Main.EngeeDeviceManager.Devices.ANALOGDISCOVERY

ANALOGDISCOVERY.disconnect()