12. 焊接

12.1. 焊接开始

在 python 版本加入: SDK-v2.0.1

原型

ARCStart(ioType, arcNum, timeout)

描述

焊接开始

必选参数

  • ioType:io类型 0-控制器IO; 1-扩展IO

  • arcNum: 焊机配置文件编号

  • timeout: 起弧超时时间

默认参数

返回值

错误码 成功-0 失败- errcode

12.1.1. 代码示例

 1from fairino import Robot
 2import time
 3# 与机器人控制器建立连接,连接成功返回一个机器人对象
 4robot = Robot.RPC('192.168.58.2')
 5
 6weldIOType =0
 7arcNum =0
 8weldTimeout=5000
 9#起弧
10ret = robot.ARCStart(weldIOType,arcNum,weldTimeout)
11print("ARCStart错误码", ret)
12time.sleep(3)

12.2. 焊接结束

在 python 版本加入: SDK-v2.0.1

原型

ARCEnd(ioType, arcNum, timeout)

描述

焊接结束

必选参数

  • ioType: 类型 0-控制器IO; 1-扩展IO

  • arcNum: 焊机配置文件编号

  • timeout: 起弧超时时间

默认参数

返回值

错误码 成功-0 失败- errcode

12.2.1. 代码示例

 1from fairino import Robot
 2import time
 3# 与机器人控制器建立连接,连接成功返回一个机器人对象
 4robot = Robot.RPC('192.168.58.2')
 5
 6weldIOType =0
 7arcNum =0
 8weldTimeout=5000
 9#收弧
10ret = robot.ARCEnd(weldIOType,arcNum,weldTimeout)
11print("ARCEnd错误码", ret)
12time.sleep(3)

12.3. 设置焊接电流与输出模拟量对应关系

在 python 版本加入: SDK-v2.0.1

原型

WeldingSetCurrentRelation(currentMin, currentMax, outputVoltageMin, outputVoltageMax)

描述

设置焊接电流与输出模拟量对应关系

必选参数

  • currentMin: 焊接电流-模拟量输出线性关系左侧点电流值(A)

  • currentMax: 焊接电流-模拟量输出线性关系右侧点电流值(A)

  • outputVoltageMin: 焊接电流-模拟量输出线性关系左侧点模拟量输出电压值(V)

  • outputVoltageMax:焊接电流-模拟量输出线性关系右侧点模拟量输出电压值(V)

默认参数

返回值

错误码 成功-0 失败- errcode

12.3.1. 代码示例

 1from fairino import Robot
 2import time
 3weldIOType =0
 4
 5# 与机器人控制器建立连接,连接成功返回一个机器人对象
 6robot = Robot.RPC('192.168.58.2')
 7#设置焊接电流与模拟量线性关系
 8ret = robot.WeldingSetCurrentRelation(0,400,0,10)
 9print("WeldingSetCurrentRelation错误码", ret)
10time.sleep(1)
11#获取焊接电流与模拟量线性关系
12ret = robot.WeldingGetCurrentRelation()
13print("WeldingGetCurrentRelation错误码", ret)
14time.sleep(1)
15
16#设置焊接电压与模拟量线性关系
17ret = robot.WeldingSetVoltageRelation(0,400,0,10)
18print("WeldingSetVoltageRelation错误码", ret)
19time.sleep(1)
20#获取焊接电压与模拟量线性关系
21ret = robot.WeldingGetVoltageRelation()
22print("WeldingGetVoltageRelation错误码", ret)
23time.sleep(1)
24
25#设置焊接电流
26ret = robot.WeldingSetCurrent(weldIOType,100,0)
27print("WeldingSetCurrent错误码", ret)
28time.sleep(1)
29
30#设置焊接电压
31ret = robot.WeldingSetVoltage(weldIOType,19,1)
32print("WeldingSetVoltage错误码", ret)
33time.sleep(1)

12.4. 设置焊接电压与输出模拟量对应关系

在 python 版本加入: SDK-v2.0.1

原型

WeldingSetVoltageRelation(weldVoltageMin, weldVoltageMax, outputVoltageMin, outputVoltageMax)

描述

设置焊接电压与输出模拟量对应关系

必选参数

  • weldVoltageMin: 焊接电压-模拟量输出线性关系左侧点焊接电压值(A)

  • weldVoltageMax: 焊接电压-模拟量输出线性关系右侧点焊接电压值(A)

  • outputVoltageMin: 焊接电压-模拟量输出线性关系左侧点模拟量输出电压值(V)

  • outputVoltageMax:焊接电压-模拟量输出线性关系右侧点模拟量输出电压值(V)

默认参数

返回值

错误码 成功-0 失败- errcode

12.5. 获取焊接电流与输出模拟量对应关系

在 python 版本加入: SDK-v2.0.1

原型

WeldingGetCurrentRelation()

描述

获取焊接电流与输出模拟量对应关系

必选参数

默认参数

返回值

  • 错误码 成功-0 失败- errcode

  • Return:(if success)currentMin,currentMax,outputVoltageMin,outputVoltageMax

  • currentMin 焊接电流-模拟量输出线性关系左侧点电流值(A)

  • currentMax 焊接电流-模拟量输出线性关系右侧点电流值(A)

  • outputVoltageMin 焊接电流-模拟量输出线性关系左侧点模拟量输出电压值(V)

  • outputVoltageMax 焊接电流-模拟量输出线性关系右侧点模拟量输出电压值(V)

12.6. 获取焊接电压与输出模拟量对应关系

在 python 版本加入: SDK-v2.0.1

原型

WeldingGetVoltageRelation()

描述

获取焊接电压与输出模拟量对应关系

必选参数

默认参数

返回值

  • 错误码 成功-0 失败- errcode

  • Return:(if success)weldVoltageMin,weldVoltageMax,outputVoltageMin, outputVoltageMax, weldVoltageMin

  • weldVoltageMin 焊接电压-模拟输出线性关系左点焊电压值(V)

  • weldVoltageMax 焊接电压-模拟量输出线性关系右侧点焊接电压值(V)

  • outputVoltageMin 焊接电压-模拟量输出线性关系左侧点模拟量输出电压值(V)

  • outputVoltageMax 焊接电流-模拟量输出线性关系右侧点模拟量输出电压值(V)

12.7. 设置焊接电流

在 python 版本加入: SDK-v2.0.1

原型

WeldingSetCurrent(ioType,current, AOIndex)

描述

设置焊接电流

必选参数

  • ioType: 类型 0-控制器IO; 1-扩展IO

  • current: 焊接电流值(A)

  • AOIndex: 焊接电流控制箱模拟量输出端口(0-1)

默认参数

返回值

  • 错误码 成功-0 失败- errcode

12.8. 设置焊接电压

在 python 版本加入: SDK-v2.0.1

原型

WeldingSetVoltage(ioType,voltage, AOIndex)

描述

设置焊接电压

必选参数

  • ioType: 类型 0-控制器IO; 1-扩展IO

  • voltage: 焊接电压值(V)

  • AOIndex: 焊接电流控制箱模拟量输出端口(0-1)

默认参数

返回值

  • 错误码 成功-0 失败- errcode

12.9. 设置摆动参数

在 python 版本加入: SDK-v2.0.1

原型

WeaveSetPara(weaveNum, weaveType, weaveFrequency, weaveIncStayTime, weaveRange, weaveLeftStayTime, weaveRightStayTime, weaveCircleRadio, weaveStationary)

描述

设置摆动参数

必选参数

  • weaveNum: 摆焊参数配置编号

  • weaveType: 摆动类型 0-平面三角波摆动;1-垂直L型三角波摆动;2-顺时针圆形摆动;3-逆时针圆形摆动;4-平面正弦波摆动;5-垂直L型正弦波摆动;6-垂直三角波摆动;7-垂直正弦波摆动

  • weaveFrequency: 摆动频率(Hz)

  • weaveIncStayTime: 等待模式 0-周期不包含等待时间;1-周期包含等待时间必选参数

  • weaveRange: 摆动幅度(mm)

  • weaveLeftStayTime: 摆动左停留时间(ms)

  • weaveRightStayTime: 摆动右停留时间(ms)

  • weaveCircleRadio: 圆形摆动-回调比率(0-100%)

  • weaveStationary: 摆动位置等待,0-等待时间内位置继续移动;1-等待时间内位置静止

默认参数

返回值

  • 错误码 成功-0 失败- errcode

12.9.1. 代码示例

 1from fairino import Robot
 2import time
 3# 与机器人控制器建立连接,连接成功返回一个机器人对象
 4robot = Robot.RPC('192.168.58.2')
 5weaveNum =0
 6weaveType = 0
 7weaveFraquency = 1
 8weavelncStayTime = 0
 9weaveRange = 10
10weaveLeftStayTime = 10
11weaveRightStayTime = 10
12weaveCircleRadio =0
13weaveStationary =1
14#设置摆动参数
15ret = robot.WeaveSetPara(weaveNum,weaveType,weaveFraquency,weavelncStayTime,weaveRange,weaveLeftStayTime,weaveRightStayTime,weaveCircleRadio,weaveStationary)
16print("WeaveSetPara ", ret)
17time.sleep(1)
18
19#摆动开始
20ret = robot.WeaveStart(0)
21print("WeaveStart ", ret)
22time.sleep(1)
23ret,pose =robot.GetActualTCPPose(1);
24print(ret,pose)
25pose[2]=pose[2]+50
26ret = robot.MoveL(pose,tool,user)
27print("MoveL ", ret)
28time.sleep(1)
29#即时设置摆动参数
30ret = robot.WeaveOnlineSetPara (weaveNum,weaveType,weaveFraquency,weavelncStayTime,weaveRange,weaveLeftStayTime,weaveRightStayTime,weaveCircleRadio,weaveStationary)
31print("WeaveOnlineSetPara ", ret)
32time.sleep(1)
33#摆动结束
34ret = robot.WeaveEnd(0)
35print("WeaveEnd ", ret)
36time.sleep(1)

12.10. 即时设置摆动参数

在 python 版本加入: SDK-v2.0.1

原型

WeaveOnlineSetPara (weaveNum, weaveType, weaveFrequency, weaveIncStayTime, weaveRange, weaveLeftStayTime, weaveRightStayTime, weaveCircleRadio, weaveStationary)

描述

即时设置摆动参数

必选参数

  • weaveNum: 摆焊参数配置编号

  • weaveType: 摆动类型 0-平面三角波摆动;1-垂直L型三角波摆动;2-顺时针圆形摆动;3-逆时针圆形摆动;4-平面正弦波摆动;5-垂直L型正弦波摆动;6-垂直三角波摆动;7-垂直正弦波摆动

  • weaveFrequency: 摆动频率(Hz)

  • weaveIncStayTime: 等待模式 0-周期不包含等待时间;1-周期包含等待时间必选参数

  • weaveRange: 摆动幅度(mm)

  • weaveLeftStayTime: 摆动左停留时间(ms)

  • weaveRightStayTime: 摆动右停留时间(ms)

  • weaveCircleRadio: 圆形摆动-回调比率(0-100%)

  • weaveStationary: 摆动位置等待,0-等待时间内位置继续移动;1-等待时间内位置静止

默认参数

返回值

  • 错误码 成功-0 失败- errcode

12.11. 摆动开始

在 python 版本加入: SDK-v2.0.1

原型

WeaveStart(weaveNum)

描述

摆动开始

必选参数

  • weaveNum: 类型 0-控制器IO; 1-扩展IO

默认参数

返回值

  • 错误码 成功-0 失败- errcode

12.12. 摆动结束

在 python 版本加入: SDK-v2.0.1

原型

WeaveEnd(weaveNum)

描述

摆动结束

必选参数

  • weaveNum: 摆焊参数配置编号

默认参数

返回值

  • 错误码 成功-0 失败- errcode

12.13. 正向送丝

在 python 版本加入: SDK-v2.0.1

原型

SetForwardWireFeed(ioType, wireFeed)

描述

正向送丝

必选参数

  • ioType: 0-控制器IO;1-扩展IO

  • wireFeed: 送丝控制 0-停止送丝;1-送丝

默认参数

返回值

  • 错误码 成功-0 失败- errcode

12.13.1. 代码示例

 1from fairino import Robot
 2import time
 3# 与机器人控制器建立连接,连接成功返回一个机器人对象
 4robot = Robot.RPC('192.168.58.2')
 5
 6weldIOType =0
 7#正向送丝
 8ret = robot.SetForwardWireFeed(weldIOType,1)
 9print("SetForwardWireFeed错误码", ret)
10time.sleep(1)
11ret = robot.SetForwardWireFeed(weldIOType,0)
12print("SetForwardWireFeed错误码", ret)
13time.sleep(1)
14
15#反向送丝
16ret = robot.SetReverseWireFeed(weldIOType,1)
17print("SetReverseWireFeed错误码", ret)
18time.sleep(1)
19#停止反向送丝
20ret = robot.SetReverseWireFeed(weldIOType,0)
21print("SetReverseWireFeed错误码", ret)
22time.sleep(1)
23
24#送气
25ret = robot.SetAspirated(weldIOType,1)
26print("SetAspirated错误码", ret)
27time.sleep(1)
28#停止送气
29ret = robot.SetAspirated(weldIOType,0)
30print("SetAspirated错误码", ret)
31time.sleep(1)

12.14. 反向送丝

在 python 版本加入: SDK-v2.0.1

原型

SetReverseWireFeed(ioType, wireFeed)

描述

反向送丝

必选参数

  • ioType: 0-控制器IO;1-扩展IO

  • wireFeed: 送丝控制 0-停止送丝;1-送丝

默认参数

返回值

  • 错误码 成功-0 失败- errcode

12.15. 送气

在 python 版本加入: SDK-v2.0.1

原型

SetAspirated(ioType, airControl)

描述

送气

必选参数

  • ioType: 0-控制器IO;1-扩展IO

  • airControl: 送气控制 0-停止送气;1-送气

默认参数

返回值

  • 错误码 成功-0 失败- errcode

12.16. 分段焊接启动

在 python 版本加入: SDK-v2.0.1

原型

SegmentWeldStart(startDesePos, endDesePos, startJPos, endJPos, weldLength, noWeldLength, weldIOType, arcNum, weldTimeout, isWeave,weaveNum,tool,user,vel=20.0, acc=0.0, ovl=100.0, blendR=-1.0,exaxis_pos=[0.0, 0.0, 0.0, 0.0], search=0, offset_flag=0, offset_pos=[0.0, 0.0, 0.0, 0.0, 0.0, 0.0])

描述

分段焊接启动

必选参数

  • startDesePos: 初始笛卡尔位姿,单位 [mm][°]

  • endDesePos: 目标笛卡尔位姿,单位 [mm][°]

  • startJPos:初始关节位置,单位 [°]

  • endJPos:目标关节位置,单位 [°]

  • weldLength:焊接长度,单位 [mm]

  • noWeldLength:非焊接长度,单位 [mm]

  • weldIOType:焊接IO类型(0-控制箱IO;1-扩展IO) arcNum 焊机配置文件编号

  • timeout:熄弧超时时间

  • isWeave:焊接 False-不焊接

  • weaveNum:摆焊参数配置编号

  • tool:工具号,[0~14]

  • user:工件号,[0~14]

默认参数

  • vel:速度百分比,[0~100] 默认20.0

  • acc:加速度[0~100] 暂不开放 默认0.0

  • ovl:速度缩放因子,[0~100] 默认100.0

  • blendR:[-1.0]-运动到位 (阻塞),[0~1000]-平滑半径 (非阻塞),单位 [mm] 默认-1.0

  • exaxis_pos:外部轴 1 位置 ~ 外部轴 4 位置 默认[0.0,0.0,0.0,0.0]

  • search:[0]-不焊丝寻位,[1]-焊丝寻位

  • offset_flag:[0]-不偏移,[1]-工件/基坐标系下偏移,[2]-工具坐标系下偏移 默认 0

  • offset_pos:位姿偏移量,单位 [mm][°] 默认[0.0,0.0,0.0,0.0,0.0,0.0]

返回值

  • 错误码 成功-0 失败- errcode

12.16.1. 代码示例

 1from fairino import Robot
 2import time
 3# 与机器人控制器建立连接,连接成功返回一个机器人对象
 4robot = Robot.RPC('192.168.58.2')
 5
 6weldIOType =0
 7arcNum =0
 8weldTimeout=5000
 9weaveNum =0
10tool =1
11user =0
12weaveType = 0
13weaveFraquency = 1
14weavelncStayTime = 0
15weaveRange = 10
16weaveLeftStayTime = 10
17weaveRightStayTime = 10
18weaveCircleRadio =0
19weaveStationary =1
20start_desc=[0,0,0,0,0,0]
21end_desc=[0,0,0,0,0,0]
22start_joint=[0,0,0,0,0,0]
23end_joint=[0,0,0,0,0,0]
24ret,start_desc =robot.GetActualTCPPose(1);
25print("start_desc",start_desc)
26ret,end_desc =robot.GetActualTCPPose(1);
27end_desc[1]=end_desc[1]+200
28print("start_desc",start_desc)
29print("end_desc",end_desc)
30ret,start_joint=robot.GetInverseKin(0,start_desc)
31ret,end_joint=robot.GetInverseKin(0,end_desc)
32print("start_joint",start_joint)
33print("end_joint",end_joint)
34weldLength =40
35noweldLength =40
36#段焊
37
38ret = robot.SegmentWeldStart(start_desc,end_desc,start_joint,end_joint,weldLength,noweldLength,weldIOType,arcNum,weldTimeout,True,weaveNum,tool,user)
39print("SegmentWeldStart", ret)