IO控制

IO 设备类型:

  • "ROBOT":控制箱,带有 4DI/4DO/2AI/2AO
  • "FLANGE":法兰盘,带有 2DI/2DO
  • "EXTRA":扩展板,带有 12DI/12DO/2AI/2AO
  • "SHOULDER":肩部灯板,带有 1DI,已用作按键
  • "FLANGE_BTN":法兰按钮,带有 2DI,已用作按键

设置数字输出

  • 方法:lebai.set_do(device, pin, value)
    设置对应的DO端口打开和关闭。常用于控制电磁阀的开闭。
    参数类型说明
    devicestring设备类型
    pinint端口,从 0 开始
    valueint待设置的值,0 关闭/1 打开
  • 返回值:无返回值。
  • 使用示例:
import lebai_sdk
lebai_sdk.init()
import nest_asyncio
nest_asyncio.apply()
robot_ip = "192.168.4.145" 
lebai = lebai_sdk.connect(robot_ip, False)

lebai.set_do("ROBOT", 0, 1)   #设置数字输出。将控制箱第一个do信号设置为1,对应do有24v电压输出
lebai.set_do("FLANGE", 0, 1)  #设置数字输出。将法兰盘第一个do信号设置为1,对应do有24v电压输出

获取数字输出

  • 方法:value = lebai.get_do(device, pin)
    获取对应的DO端口是打开还是关闭的状态。
    参数类型说明
    devicestring设备类型
    pinint端口,从 0 开始
  • 返回值:int类型。返回0关闭,1打开。
  • 使用示例:
import lebai_sdk
lebai_sdk.init()
import nest_asyncio
nest_asyncio.apply()
robot_ip = "192.168.4.145" 
lebai = lebai_sdk.connect(robot_ip, False)

robot_do0 = lebai.get_do("ROBOT", 0) #获取控制箱上的第一个do的状态
print('robot_do0 :',robot_do0)
flan_do0 = lebai.get_do("FLANGE", 0) #获取末端法兰盘上的第一个do的状态
print('flan_do0 :',flan_do0)

获取连续多个数字输出

  • 方法:values = lebai.get_dos(device, pin, num)
    获取对应的连续多个DO端口是打开还是关闭的状态。
    参数类型说明
    devicestring设备类型
    pinint起始端口号
    numint连续数量
  • 返回值:list 类型。返回连续多个DO输出状态。
  • 使用示例:
import lebai_sdk
lebai_sdk.init()
import nest_asyncio
nest_asyncio.apply()
robot_ip = "192.168.4.145" 
lebai = lebai_sdk.connect(robot_ip, False)

robot_dos  = lebai.get_dos("ROBOT", 0,3)  
print('robot_dos :',robot_dos)
flan_dos = lebai.get_dos("FLANGE", 0,2)  
print('flan_dos :',flan_dos)

获取数字输入

  • 方法:value = lebai.get_di(device, pin)
    获取对应的DI端口是否有电信号输入。常用于光电传感器的检测。
    参数类型说明
    devicestring设备类型
    pinint端口,从 0 开始
  • 返回值:int类型。返回0无信号,1有信号。
  • 使用示例:
import lebai_sdk
lebai_sdk.init()
import nest_asyncio
nest_asyncio.apply()
robot_ip = "192.168.4.145" 
lebai = lebai_sdk.connect(robot_ip, False)

robot_di0 = lebai.get_di("ROBOT", 0) #获取控制箱上的第一个di的状态
print('robot_di0 :',robot_di0)
flan_di0 = lebai.get_di("FLANGE", 0) #获取末端法兰盘上的第一个di的状态
print('flan_di0 :',flan_di0)

获取连续多个数字输入

  • 方法:values = lebai.get_dis(device, pin, num)
    获取对应的连续多个DI端口是否有电信号输入。常用于光电传感器的检测。
    参数类型说明
    devicestring设备类型
    pinint起始端口号
    numint连续数量
  • 返回值:list 类型。返回连续多个DI输入状态。
  • 使用示例:
import lebai_sdk
lebai_sdk.init()
import nest_asyncio
nest_asyncio.apply()
robot_ip = "192.168.4.145" 
lebai = lebai_sdk.connect(robot_ip, False)

robot_dis = lebai.get_dis("ROBOT", 0,3)  
print('robot_dis :',robot_dis)
flan_dis = lebai.get_dis("FLANGE", 0,2)  
print('robot_dis :',robot_dis)

设置模拟输出

  • 方法:lebai:set_ao(device, pin, value)
    设置对应的AO端口输出设定的电压或者电流。

    参数类型说明
    devicestring设备类型
    pinint端口,从 0 开始
    valueint待设置的值。电压型0-10V,电流型4-20mA

    注:机器控制操作界面,有设置端口是输出电压还是电流的选择。

  • 返回值:无返回值。

  • 使用示例:
import lebai_sdk
lebai_sdk.init()
import nest_asyncio
nest_asyncio.apply()
robot_ip = "192.168.4.145" 
lebai = lebai_sdk.connect(robot_ip, False)

lebai.set_ao("ROBOT", 0, 5)  

获取模拟输出

  • 方法:value = lebai.get_ao(device, pin)
    获取对应的AO端口输出的电压或者电流的值。
    参数类型说明
    devicestring设备类型
    pinint端口,从 0 开始
  • 返回值:int类型。返回AO端口输出值。
  • 使用示例:
import lebai_sdk
lebai_sdk.init()
import nest_asyncio
nest_asyncio.apply()
robot_ip = "192.168.4.145" 
lebai = lebai_sdk.connect(robot_ip, False)

robot_ao0 = lebai.get_ao("ROBOT", 0)  
print('robot_ao0 :',robot_ao0)

获取连续多个模拟输出

  • 方法:values = lebai.get_aos(device, pin, num)
    获取对应的连续多个AO端口输出的电压或者电流的值。
    参数类型说明
    devicestring设备类型
    pinint起始端口号
    numint连续数量
  • 返回值:list 类型。返回连续多个AO端口的输出值。
  • 使用示例:
import lebai_sdk
lebai_sdk.init()
import nest_asyncio
nest_asyncio.apply()
robot_ip = "192.168.4.145" 
lebai = lebai_sdk.connect(robot_ip, False)

robot_aos = lebai.get_aos("ROBOT", 0,2)  
print('robot_aos :',robot_aos)

获取模拟输入

  • 方法:value = lebai.get_ai(device, pin)
    获取对应的AI端口输入的电压或者电流的值。
    参数类型说明
    devicestring设备类型
    pinint端口,从 0 开始
  • 返回值:int类型。返回对应AI端口的输入值。
  • 使用示例:
import lebai_sdk
lebai_sdk.init()
import nest_asyncio
nest_asyncio.apply()
robot_ip = "192.168.4.145" 
lebai = lebai_sdk.connect(robot_ip, False)

robot_ai0 = lebai.get_ai("ROBOT", 0)  
print('robot_ai0 :',robot_ai0)

获取多个模拟输入

  • 方法:values = lebai.get_ais(device, pin,num)
    获取对应的连续多个AI端口输入的电压或者电流的值。
    参数类型说明
    devicestring设备类型
    pinint起始端口号
    numint连续数量
  • 返回值:list 类型。返回连续多个AI端口的输入值。
  • 使用示例:
import lebai_sdk
lebai_sdk.init()
import nest_asyncio
nest_asyncio.apply()
robot_ip = "192.168.4.145" 
lebai = lebai_sdk.connect(robot_ip, False)

robot_ais = lebai.get_ais("ROBOT", 0, 2)  
print('robot_ais :',robot_ais)