graduation-design/abandon_code/examples/weld.py
2024-04-25 20:10:52 +08:00

145 lines
3.5 KiB
Python

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)