I/O 控制
IO 设备类型
- "ROBOT":控制箱,带有 4DI/4DO/2AI/2AO,接口对应关系详见用户手册。
- "FLANGE":法兰盘,带有 2DI/2DO,接口对应关系详见用户手册。
- "EXTRA":扩展板,带有 12DI/12DO/2AI/2AO,接口对应关系详见用户手册。
- "SHOULDER":肩部灯板,带有 1DI,已用作按键
- "FLANGE_BTN":法兰按钮,带有 2DI,已用作按键
设置数字 IO 模式
设置指定数字 IO 引脚的方向(输入或输出)。
- 函数名:[Robot]下的方法
set_dio_mode - 参数:
- device: [IoDevice] 设备类型
- pin: [int] 端口,从 0 开始
- mode: [DigitalMode] 引脚方向,
INPUT输入 /OUTPUT输出
- 返回:无
JSON-RPC
// 请求:
{ "jsonrpc": "2.0", "method": "set_dio_mode", "params": [{"device": "ROBOT", "pin": 0, "mode": "OUTPUT"}], "id": 1 }
// 响应:
{ "jsonrpc": "2.0", "result": {}, "id": 1 }
示例程序
lebai:set_dio_mode("ROBOT", 0, "OUTPUT")
lebai.set_dio_mode("ROBOT", 0, "OUTPUT")
获取数字 IO 模式
获取指定数字 IO 引脚的方向(输入或输出)。
- 函数名:[Robot]下的方法
get_dio_mode - 参数:
- device: [IoDevice] 设备类型
- pin: [int] 端口,从 0 开始
- 返回:[DigitalMode] 引脚方向,
INPUT输入 /OUTPUT输出
JSON-RPC
// 请求:
{ "jsonrpc": "2.0", "method": "get_dio_mode", "params": [{"device": "ROBOT", "pin": 0}], "id": 1 }
// 响应:
{ "jsonrpc": "2.0", "result": {"mode": "OUTPUT"}, "id": 1 }
示例程序
mode = lebai:get_dio_mode("ROBOT", 0)
print(mode)
mode = lebai.get_dio_mode("ROBOT", 0)
print(mode)
设置数字输出
设置对应的 DO 端口打开和关闭。常用于控制电磁阀的开闭。
- 函数名:[Robot]下的方法
set_do - 参数:
- device: [IoDevice] 设备类型
- pin: [int] 端口,从 0 开始
- value: [int] 待设置的值,0 关闭/1 打开
- 返回:无
示例程序
lebai:set_do("ROBOT", 0, 1)
lebai:set_do("FLANGE", 0, 1)
lebai.set_do("ROBOT", 0, 1)
lebai.set_do("FLANGE", 0, 1)
获取数字输出
获取对应的 DO 端口是打开还是关闭的状态。
示例程序
value = lebai:get_do("ROBOT", 0)
print(value)
value = lebai.get_do("ROBOT", 0)
print(value)
获取多个数字输出
获取对应的连续多个 DO 端口是打开还是关闭的状态。
- 函数名:[Robot]下的方法
get_dos - 参数:
- device: [IoDevice] 设备类型
- pin: [int] 起始端口号
- num: [int] 连续数量
- 返回:[list[int]] 连续多个 DO 输出状态
示例程序
values = lebai:get_dos("ROBOT", 0, 3)
print(values)
values = lebai.get_dos("ROBOT", 0, 3)
print(values)
获取数字输入
获取对应的 DI 端口是否有电信号输入。常用于光电传感器的检测。
示例程序
value = lebai:get_di("ROBOT", 0)
print(value)
value = lebai.get_di("ROBOT", 0)
print(value)
获取多个数字输入
获取对应的连续多个 DI 端口是否有电信号输入。常用于光电传感器的检测。
- 函数名:[Robot]下的方法
get_dis - 参数:
- device: [IoDevice] 设备类型
- pin: [int] 起始端口号
- num: [int] 连续数量
- 返回:[list[int]] 连续多个 DI 输入状态
示例程序
values = lebai:get_dis("ROBOT", 0, 3)
print(values)
values = lebai.get_dis("ROBOT", 0, 3)
print(values)
设置模拟输出
设置对应的 AO 端口输出设定的电压或者电流。
- 函数名:[Robot]下的方法
set_ao - 参数:
- device: [IoDevice] 设备类型
- pin: [int] 端口,从 0 开始
- value: [float] 待设置的值。电压型 0-10V,电流型 4-20mA
- 返回:无
注:控制界面有设置端口是输出电压还是电流的选择。
示例程序
lebai:set_ao("ROBOT", 0, 5)
lebai.set_ao("ROBOT", 0, 5)
获取模拟输出
获取对应的 AO 端口输出的电压或者电流的值。
示例程序
value = lebai:get_ao("ROBOT", 0)
print(value)
value = lebai.get_ao("ROBOT", 0)
print(value)
获取多个模拟输出
获取对应的连续多个 AO 端口输出的电压或者电流的值。
- 函数名:[Robot]下的方法
get_aos - 参数:
- device: [IoDevice] 设备类型
- pin: [int] 起始端口号
- num: [int] 连续数量
- 返回:[list[float]] 连续多个 AO 端口的输出值
示例程序
values = lebai:get_aos("ROBOT", 0, 2)
print(values)
values = lebai.get_aos("ROBOT", 0, 2)
print(values)
获取模拟输入
获取对应的 AI 端口输入的电压或者电流的值。
示例程序
value = lebai:get_ai("ROBOT", 0)
print(value)
value = lebai.get_ai("ROBOT", 0)
print(value)
获取多个模拟输入
获取对应的连续多个 AI 端口输入的电压或者电流的值。
- 函数名:[Robot]下的方法
get_ais - 参数:
- device: [IoDevice] 设备类型
- pin: [int] 起始端口号
- num: [int] 连续数量
- 返回:[list[float]] 连续多个 AI 端口的输入值
示例程序
values = lebai:get_ais("ROBOT", 0, 2)
print(values)
values = lebai.get_ais("ROBOT", 0, 2)
print(values)
