控制箱 I/O

控制箱带有 4DI/4DO/2AI/2AO,接口对应关系详见用户手册

关系判断操作符

在接口中出现的 relation 参数,一般用于比较实际获取值与给定值的关系。可用的关系如下:

关系写法说明
相等eq == =模拟量存在精度误差
不相等neq ne != <> ~=模拟量存在精度误差
小于lt <
小于等于lte <=
大于gt >
大于等于gte >=

设置数字输出 auto_sync

设置数字输出(控制箱)。

  • 函数名:lua模块的函数set_do
  • 参数:
    1. pin: [int] 端口,从 0 开始
    2. value: [int] 待设置的值,0 关闭 / 1 打开
  • 返回:[bool] 是否设置成功

兼容说明

在 2.2 及以前版本中,命令写作:

set_dio(pin, value)

示例程序

set_do(1, 1)

获取数字输入

获取数字输入(控制箱)。

  • 函数名:lua模块的函数get_di
  • 参数:
    1. pin: [int] 端口,从 0 开始
  • 返回:[int] 端口当前值,0 关闭 / 1 打开

兼容说明

在 2.2 及以前版本中,命令写作:

get_dio(pin)

示例程序

print(get_di(0))

等待数字输入 auto_sync

阻塞等待指定端口输入值满足指定条件,每 10ms 轮询一次。

  • 函数名:lua模块的函数wait_di
  • 参数:
    1. pin: [int] 端口,从 0 开始
    2. value: [int] 待比较的值
    3. relation: [str] 关系判断操作符
  • 返回:[bool] 是否满足条件

示例程序

-- 等待直到 DI1 处于高电平状态
wait_di(1, 1, "=")

设置模拟输出 auto_sync

设置模拟输出(控制箱)。

  • 函数名:lua模块的函数set_ao
  • 参数:
    1. pin: [int] 端口,从 0 开始
    2. value: [float] 待设置的值,根据输出类型指定电压或者电流值
  • 返回:[bool] 是否设置成功

兼容说明

在 2.2 及以前版本中,命令写作:

set_aio(pin, value)

示例程序

-- 设置 AO0 输出 3V
set_ao(0, 3)

获取模拟输入

获取模拟输入(控制箱)。

  • 函数名:lua模块的函数get_ai
  • 参数:
    1. pin: [int] 端口,从 0 开始
  • 返回:[float] 端口当前值(V)

兼容说明

在 2.2 及以前版本中,命令写作:

get_aio(pin)

示例程序

local ai0 = get_ai(0)
print(ai0)

可能输出:

3.3

等待模拟输入 auto_sync

阻塞等待指定端口输入值满足指定条件。

  • 函数名:lua模块的函数wait_ai
  • 参数:
    1. pin: [int] 端口,从 0 开始
    2. value: [float] 待比较的值
    3. relation: [str] 关系判断操作符
  • 返回:[bool] 是否满足条件

兼容说明

在 2.2 及以前版本中,命令写作:

wait_aio(pin, value, relation)

示例程序

-- 等待直到 AI1 电压小于等于 4V
wait_ai(1, 4.0, "<=")