控制箱 I/O
控制箱带有 4DI/4DO/2AI/2AO,接口对应关系详见用户手册。
关系判断操作符
在接口中出现的 relation 参数,一般用于比较实际获取值与给定值的关系。可用的关系如下:
| 关系 | 写法 | 说明 |
|---|---|---|
| 相等 | eq == = | 模拟量存在精度误差 |
| 不相等 | neq ne != <> ~= | 模拟量存在精度误差 |
| 小于 | lt < | |
| 小于等于 | lte <= | |
| 大于 | gt > | |
| 大于等于 | gte >= |
设置数字输出 auto_sync
设置数字输出(控制箱)。
- 函数名:lua模块的函数
set_do - 参数:
- pin: [int] 端口,从 0 开始
- value: [int] 待设置的值,0 关闭 / 1 打开
- 返回:[bool] 是否设置成功
兼容说明
在 2.2 及以前版本中,命令写作:
set_dio(pin, value)
示例程序
set_do(1, 1)
获取数字输入
获取数字输入(控制箱)。
- 函数名:lua模块的函数
get_di - 参数:
- pin: [int] 端口,从 0 开始
- 返回:[int] 端口当前值,0 关闭 / 1 打开
兼容说明
在 2.2 及以前版本中,命令写作:
get_dio(pin)
示例程序
print(get_di(0))
等待数字输入 auto_sync
阻塞等待指定端口输入值满足指定条件,每 10ms 轮询一次。
- 函数名:lua模块的函数
wait_di - 参数:
- pin: [int] 端口,从 0 开始
- value: [int] 待比较的值
- relation: [str] 关系判断操作符
- 返回:[bool] 是否满足条件
示例程序
-- 等待直到 DI1 处于高电平状态
wait_di(1, 1, "=")
设置模拟输出 auto_sync
设置模拟输出(控制箱)。
- 函数名:lua模块的函数
set_ao - 参数:
- pin: [int] 端口,从 0 开始
- value: [float] 待设置的值,根据输出类型指定电压或者电流值
- 返回:[bool] 是否设置成功
兼容说明
在 2.2 及以前版本中,命令写作:
set_aio(pin, value)
示例程序
-- 设置 AO0 输出 3V
set_ao(0, 3)
获取模拟输入
获取模拟输入(控制箱)。
- 函数名:lua模块的函数
get_ai - 参数:
- pin: [int] 端口,从 0 开始
- 返回:[float] 端口当前值(V)
兼容说明
在 2.2 及以前版本中,命令写作:
get_aio(pin)
示例程序
local ai0 = get_ai(0)
print(ai0)
可能输出:
3.3
等待模拟输入 auto_sync
阻塞等待指定端口输入值满足指定条件。
- 函数名:lua模块的函数
wait_ai - 参数:
- pin: [int] 端口,从 0 开始
- value: [float] 待比较的值
- relation: [str] 关系判断操作符
- 返回:[bool] 是否满足条件
兼容说明
在 2.2 及以前版本中,命令写作:
wait_aio(pin, value, relation)
示例程序
-- 等待直到 AI1 电压小于等于 4V
wait_ai(1, 4.0, "<=")
