from fairino import Robot import time # 与机器人控制器建立连接,连接成功返回一个机器人对象 robot = Robot.RPC('192.168.58.2') weldIOType =0 arcNum =0 weldTimeout=5000 weaveNum =0 tool =1 user =0 weaveType = 0 weaveFraquency = 1 weavelncStayTime = 0 weaveRange = 10 weaveLeftStayTime = 10 weaveRightStayTime = 10 weaveCircleRadio =0 weaveStationary =1 #起弧 ret = robot.ARCStart(weldIOType,arcNum,weldTimeout) print("ARCStart", ret) time.sleep(3) #收弧 ret = robot.ARCEnd(weldIOType,arcNum,weldTimeout) print("ARCEnd", ret) time.sleep(3) #设置焊接电流与模拟量线性关系 ret = robot.WeldingSetCurrentRelation(0,400,0,10) print("WeldingSetCurrentRelation", ret) time.sleep(1) #获取焊接电流与模拟量线性关系 ret = robot.WeldingGetCurrentRelation() print("WeldingGetCurrentRelation", ret) time.sleep(1) #设置焊接电压与模拟量线性关系 ret = robot.WeldingSetVoltageRelation(0,400,0,10) print("WeldingSetVoltageRelation", ret) time.sleep(1) #获取焊接电压与模拟量线性关系 ret = robot.WeldingGetVoltageRelation() print("WeldingGetVoltageRelation", ret) time.sleep(1) #设置焊接电流 ret = robot.WeldingSetCurrent(weldIOType,100,0) print("WeldingSetCurrent", ret) time.sleep(1) #设置焊接电压 ret = robot.WeldingSetVoltage(weldIOType,19,1) print("WeldingSetVoltage", ret) time.sleep(1) #设置摆动参数 ret = robot.WeaveSetPara(weaveNum,weaveType,weaveFraquency,weavelncStayTime,weaveRange,weaveLeftStayTime,weaveRightStayTime,weaveCircleRadio,weaveStationary) print("WeaveSetPara", ret) time.sleep(1) #摆动开始 ret = robot.WeaveStart(0) print("WeaveStart", ret) time.sleep(1) ret,pose =robot.GetActualTCPPose(1) print(ret,pose) pose[2]=pose[2]+50 ret = robot.MoveL(pose,tool,user) print("MoveL", ret) time.sleep(1) #即时设置摆动参数 ret = robot.WeaveOnlineSetPara (weaveNum,weaveType,weaveFraquency,weavelncStayTime,weaveRange,weaveLeftStayTime,weaveRightStayTime,weaveCircleRadio,weaveStationary) print("WeaveOnlineSetPara ", ret) time.sleep(1) #摆动结束 ret = robot.WeaveEnd(0) print("WeaveEnd", ret) time.sleep(1) #正向送丝 ret = robot.SetForwardWireFeed(weldIOType,1) print("SetForwardWireFeed", ret) time.sleep(1) ret = robot.SetForwardWireFeed(weldIOType,0) print("SetForwardWireFeed", ret) time.sleep(1) #反向送丝 ret = robot.SetReverseWireFeed(weldIOType,1) print("SetReverseWireFeed", ret) time.sleep(1) ret = robot.SetReverseWireFeed(weldIOType,0) print("SetReverseWireFeed", ret) time.sleep(1) #送气 ret = robot.SetAspirated(weldIOType,1) print("SetAspirated", ret) time.sleep(1) ret = robot.SetAspirated(weldIOType,0) print("SetAspirated", ret) time.sleep(1) start_desc=[0,0,0,0,0,0] end_desc=[0,0,0,0,0,0] start_joint=[0,0,0,0,0,0] end_joint=[0,0,0,0,0,0] ret,start_desc =robot.GetActualTCPPose(1) print("start_desc",start_desc) ret,end_desc =robot.GetActualTCPPose(1) end_desc[1]=end_desc[1]+200 print("start_desc",start_desc) print("end_desc",end_desc) ret,start_joint=robot.GetInverseKin(0,start_desc) ret,end_joint=robot.GetInverseKin(0,end_desc) print("start_joint",start_joint) print("end_joint",end_joint) weldLength =40 noweldLength =40 weaveType = 0 weaveFraquency = 1 weavelncStayTime = 0 weaveRange = 10 weaveLeftStayTime = 10 weaveRightStayTime = 10 weaveCircleRadio =0 weaveStationary =1 #段焊 ret = robot.SegmentWeldStart(start_desc,end_desc,start_joint,end_joint,weldLength,noweldLength,weldIOType,arcNum,weldTimeout,True,weaveNum,tool,user) print("SegmentWeldStart", ret)