| xCore-SDK 0.5.0 xCore SDK C# API

Public 成员函数 | Protected 属性 | 所有成员列表
rokae::clr::Welding类 参考

## Public 成员函数
| Welding (rokae::BaseWelding *)
void | setWeave (bool enable, double frequency, double amplitude, array< double >^ dwell_time, [Out] ErrorCode ^ %ec)
| 开始/停止摆动。开始摆动时可设置摆动参数 更多...
void | setSwingMotion (double acceleration, double jerk, [Out] ErrorCode^% ec)
| 设置摆动加速度和加加速度 更多...
void | setWeaveParameters (double frequency, double amplitude, array< double >^ dwell_time, [Out] ErrorCode^% ec)
| 设置摆动参数，支持在摆动过程中调整 更多...
void | calcWeldOffset (Frame^% start, Frame^ start_offs, Frame^% target, Frame^ target_offs, [Out] ErrorCode^% ec)
| 多层多道偏移 - 计算直线轨迹沿焊道坐标系的偏移 更多...
void | calcWeldOffset (Frame^% start, Frame^ start_offs, Frame^% target, Frame^ target_offs, Frame^% aux, Frame^ aux_offs, [Out] ErrorCode^% ec)
| 多层多道偏移 - 计算圆弧轨迹沿焊道坐标系的偏移 更多...
void | calcWeldOffsetCalculatedZ (Frame^% start, Frame^ start_offs, Frame^% target, Frame^ target_offs, [Out] ErrorCode^% ec)
| 多层多道偏移 - 计算直线轨迹偏移。偏移量的参考坐标系并非焊道坐标系，X,Y轴采用焊道坐标系，而Z轴由X,Y轴叉乘得到。 更多...
void | calcWeldOffsetCalculatedZ (Frame^% start, Frame^ start_offs, Frame^% target, Frame^ target_offs, Frame^% aux, Frame^ aux_offs, [Out] ErrorCode^% ec)
| 多层多道偏移 - 计算圆弧轨迹偏移。偏移量的参考坐标系并非焊道坐标系，X,Y轴采用焊道坐标系，而Z轴由X,Y轴叉乘得到。 更多...
void | transformOffsetByTeaching (Frame^ start, Frame^ target, Frame^ teach_point_1, double offset_1, Frame^ teach_point_2, double offset_2, array< double >^% offset_start, array< double >^% offset_target, [Out] ErrorCode^% ec)
| 多层多道辅助接口 - 根据指定的直线轨迹起点和终点，以及两个偏移方向，按指定的偏移距离进行坐标系转换， 使偏移量相对的坐标系与calcWeldOffsetCalculatedZ()接口中的一致 更多...
List< List< Frame^>^> | calcWeldOffset_Multi (List< Frame^>^ way_points, List< Frame^>^ teach_points, List< array< double >^>^ offsets, int% error_index, [Out] ErrorCode^% ec)
| 多层多道偏移 - 多条轨迹，适用于平角焊/平焊/横焊 更多...
void | adjustTrackOffset (array< double >^ offset, [Out] ErrorCode^% ec)
| 电弧跟踪偏移 - 调整焊道偏移量 更多...
void | bindWeaveDo (String^ signal, String^ action, bool value, [Out] ErrorCode^% ec)
| 设置摆动过程中DO输出规则。和设置系统IO类似，但不保存设置，重启后需要重新设置。 开始DO输出的时机为通过接口绑定DO号后，非摆动轨迹默认DO全部置0，如果开启摆动，则按照设定规则输出。 更多...
void | unbindWeaveDo (String^ signal, [Out] ErrorCode^% ec)
| 取消设置摆动过程中DO输出 更多...
void | startTracking ([Out] ErrorCode^% ec)
| 开始激光跟踪 更多...
void | stopTracking ([Out] ErrorCode^% ec)
| 结束激光跟踪 更多...
void | addLaserTrackOffset (double x, double z, Boolean valid, [Out] ErrorCode^% ec)
| 设置添加激光跟踪偏移 更多...
void | addLaserTrackOffset (double x, double y, double z, Boolean valid, [Out] ErrorCode^% ec)
| 设置添加激光跟踪偏移 更多...
void | setSensorFrame (Frame^ sensor_frame, [Out] ErrorCode^% ec)
| 设置激光器相对tcp坐标 更多...
void | getLaserOffset (double x, double z, Frame^% tar_tcp, [Out] ErrorCode^% ec)
| 获取偏移目标点 更多...
void | setLaserTrackParameters (LaserTrackParams params, [Out] ErrorCode^% ec)
| 设置激光跟踪参数。需要在开始跟踪之前调用 更多...

## Protected 属性
rokae::BaseWelding * | ptr

## 详细描述

在文件 welding_cli.hpp 第 99 行定义.

## 成员函数说明

## ◆ addLaserTrackOffset() [1/2]

void rokae::clr::Welding::addLaserTrackOffset | ( | double | x,
|  | double | y,
|  | double | z,
|  | Boolean | valid,
|  | [Out] ErrorCode^% | ec
| ) |  |

设置添加激光跟踪偏移

参数

  x | X方向偏移 单位: 米
  y | Y方向偏移 单位: 米
  z | Z方向偏移 单位: 米
  valid | 有效性判断
  ec | 错误码

## ◆ addLaserTrackOffset() [2/2]

void rokae::clr::Welding::addLaserTrackOffset | ( | double | x,
|  | double | z,
|  | Boolean | valid,
|  | [Out] ErrorCode^% | ec
| ) |  |

设置添加激光跟踪偏移

参数

  x | X方向偏移 单位: 米
  z | Z方向偏移 单位: 米
  valid | 有效性判断
  ec | 错误码

## ◆ adjustTrackOffset()

void rokae::clr::Welding::adjustTrackOffset | ( | array< double >^ | offset,
|  | [Out] ErrorCode^% | ec
| ) |  |

电弧跟踪偏移 - 调整焊道偏移量

参数

  offset | [X, Y, Z] 单位: 米
  ec | 错误码

## ◆ bindWeaveDo()

void rokae::clr::Welding::bindWeaveDo | ( | String^ | signal,
|  | String^ | action,
|  | bool | value,
|  | [Out] ErrorCode^% | ec
| ) |  |

设置摆动过程中DO输出规则。和设置系统IO类似，但不保存设置，重启后需要重新设置。 开始DO输出的时机为通过接口绑定DO号后，非摆动轨迹默认DO全部置0，如果开启摆动，则按照设定规则输出。

参数

  signal | DO信号名称，如"DO0_1"
  action | 设置对象："pos" - 位置; "vel" - 速度
  value | 设置对象为位置true - 位于左侧为0 | false - 位于右侧为0 设置对象为速度true - 从左到右置0 | false - 从右到左置0
  ec | 错误码: -14501 DO信号不存在; -14510 DO信号为系统IO

## ◆ calcWeldOffset() [1/2]

void rokae::clr::Welding::calcWeldOffset | ( | Frame^% | start,
|  | Frame^ | start_offs,
|  | Frame^% | target,
|  | Frame^ | target_offs,
|  | [Out] ErrorCode^% | ec
| ) |  |

多层多道偏移 - 计算直线轨迹沿焊道坐标系的偏移

参数

  start | 起始点, 返回偏移后的结果
  start_offs | 起始点偏移量
  target | 目标点, 返回偏移后的结果
  target_offs | 目标点偏移量
  ec | 错误码

## ◆ calcWeldOffset() [2/2]

void rokae::clr::Welding::calcWeldOffset | ( | Frame^% | start,
|  | Frame^ | start_offs,
|  | Frame^% | target,
|  | Frame^ | target_offs,
|  | Frame^% | aux,
|  | Frame^ | aux_offs,
|  | [Out] ErrorCode^% | ec
| ) |  |

多层多道偏移 - 计算圆弧轨迹沿焊道坐标系的偏移

参数

  start | 起始点, 返回偏移后的结果
  start_offs | 起始点偏移量
  target | 目标点, 返回偏移后的结果
  target_offs | 目标点偏移量
  aux | 圆弧辅助点, 返回偏移后的结果
  aux_offs | 圆弧辅助点偏移量
  ec | 错误码

## ◆ calcWeldOffset_Multi()

List< List< Frame^>^> rokae::clr::Welding::calcWeldOffset_Multi | ( | List< Frame^>^ | way_points,
|  | List< Frame^>^ | teach_points,
|  | List< array< double >^>^ | offsets,
|  | int% | error_index,
|  | [Out] ErrorCode^% | ec
| ) |  |

多层多道偏移 - 多条轨迹，适用于平角焊/平焊/横焊

参数

  way_points | 原始路径点。第一个为起始点，后续点为各个目标点
  teach_points | 针对平角焊，每个目标点的左右平面示教点。向量长度应为way_points-1
  offsets | 各层各道的偏移量，[X_start, X_end, Y, Z, A, B, C]
  error_index | 计算失败时，出错的点位下标，从1开始（既返回1代表第一个目标点计算失败）
  ec | 计算失败的情况: 1) 259 - 原始路径点个数不足2个，或示教点个数和原始路径点个数不匹配; 2) -50003 - 存在过短轨迹 3) -50519 - 输入数据有误。详见日志，错误原因如下： a) traj_turn_back 轨迹存在折返； b) calc_plane_failed 计算焊接左右平面失败； c) not_in_xz_plane 焊枪不在上下平面内不符合平焊或横焊要求 4) -50206 - 算法失败

返回
  偏移后的路径点，[道索引][路径点索引]

## ◆ calcWeldOffsetCalculatedZ() [1/2]

void rokae::clr::Welding::calcWeldOffsetCalculatedZ | ( | Frame^% | start,
|  | Frame^ | start_offs,
|  | Frame^% | target,
|  | Frame^ | target_offs,
|  | [Out] ErrorCode^% | ec
| ) |  |

多层多道偏移 - 计算直线轨迹偏移。偏移量的参考坐标系并非焊道坐标系，X,Y轴采用焊道坐标系，而Z轴由X,Y轴叉乘得到。

参数

  start | 起始点, 返回偏移后的结果(工具相对于工件)
  start_offs | 起始点偏移量(工具相对于参考坐标系)
  target | 目标点, 返回偏移后的结果(工具相对于工件)
  target_offs | 目标点偏移量(工具相对于参考坐标系)
  ec | 错误码

## ◆ calcWeldOffsetCalculatedZ() [2/2]

void rokae::clr::Welding::calcWeldOffsetCalculatedZ | ( | Frame^% | start,
|  | Frame^ | start_offs,
|  | Frame^% | target,
|  | Frame^ | target_offs,
|  | Frame^% | aux,
|  | Frame^ | aux_offs,
|  | [Out] ErrorCode^% | ec
| ) |  |

多层多道偏移 - 计算圆弧轨迹偏移。偏移量的参考坐标系并非焊道坐标系，X,Y轴采用焊道坐标系，而Z轴由X,Y轴叉乘得到。

参数

  start | 起始点, 返回偏移后的结果(工具相对于工件)
  start_offs | 起始点偏移量(工具相对于参考坐标系)
  target | 目标点, 返回偏移后的结果(工具相对于工件)
  target_offs | 目标点偏移量(工具相对于参考坐标系)
  aux | 圆弧辅助点, 返回偏移后的结果(工具相对于工件)
  aux_offs | 圆弧辅助点偏移量(工具相对于参考坐标系)
  ec | 错误码

## ◆ getLaserOffset()

void rokae::clr::Welding::getLaserOffset | ( | double | x,
|  | double | z,
|  | Frame^% | tar_tcp,
|  | [Out] ErrorCode^% | ec
| ) |  |

获取偏移目标点

参数

  x | 激光器偏移参数 单位: 米
  z | 激光器偏移参数 单位: 米
  tar_tcp | 经过偏移后的目标点 单位: 米
  ec | 错误码

## ◆ setLaserTrackParameters()

void rokae::clr::Welding::setLaserTrackParameters | ( | LaserTrackParams | params,
|  | [Out] ErrorCode^% | ec
| ) |  |

设置激光跟踪参数。需要在开始跟踪之前调用

参数

  params | 激光跟踪参数
  ec | 错误码，包括：参数超出范围，机器人运动中无法设置等

## ◆ setSensorFrame()

void rokae::clr::Welding::setSensorFrame | ( | Frame^ | sensor_frame,
|  | [Out] ErrorCode^% | ec
| ) |  |

设置激光器相对tcp坐标

参数

  sensor_frame | 激光器相对tcp坐标 单位: 米
  ec | 错误码

## ◆ setSwingMotion()

void rokae::clr::Welding::setSwingMotion | ( | double | acceleration,
|  | double | jerk,
|  | [Out] ErrorCode^% | ec
| ) |  |

设置摆动加速度和加加速度

参数

  acceleration | 加速度
  jerk | 加加速度
  ec | 错误码

## ◆ setWeave()

void rokae::clr::Welding::setWeave | ( | bool | enable,
|  | double | frequency,
|  | double | amplitude,
|  | array< double >^ | dwell_time,
|  | [Out] ErrorCode ^ % | ec
| ) |  |

开始/停止摆动。开始摆动时可设置摆动参数

参数

  enable | enable true - 开始 | false - 关闭
  frequency | 摆动频率, 范围[0.1, 5], 单位: Hz
  amplitude | 单侧摆动幅值, 范围[0.0001, 0.05], 单位: 米
  dwell_time | 停留时间 [左, 中, 右]，目前只支持左和右, 范围[0, 2], 单位: 秒
  ec | 错误码

## ◆ setWeaveParameters()

void rokae::clr::Welding::setWeaveParameters | ( | double | frequency,
|  | double | amplitude,
|  | array< double >^ | dwell_time,
|  | [Out] ErrorCode^% | ec
| ) |  |

设置摆动参数，支持在摆动过程中调整

参数

  frequency | 摆动频率, 范围[0.1, 5], 单位: Hz
  amplitude | 单侧摆动幅值, 范围[0.0001, 0.05], 单位: 米
  dwell_time | 停留时间 [左, 中, 右]，目前只支持左和右，范围[0, 2], 单位: 秒
  ec | 错误码

## ◆ startTracking()

void rokae::clr::Welding::startTracking | ( | [Out] ErrorCode^% | ec | ) |

开始激光跟踪

参数

  ec | 错误码

## ◆ stopTracking()

void rokae::clr::Welding::stopTracking | ( | [Out] ErrorCode^% | ec | ) |

结束激光跟踪

参数

  ec | 错误码

## ◆ transformOffsetByTeaching()

void rokae::clr::Welding::transformOffsetByTeaching | ( | Frame^ | start,
|  | Frame^ | target,
|  | Frame^ | teach_point_1,
|  | double | offset_1,
|  | Frame^ | teach_point_2,
|  | double | offset_2,
|  | array< double >^% | offset_start,
|  | array< double >^% | offset_target,
|  | [Out] ErrorCode^% | ec
| ) |  |

多层多道辅助接口 - 根据指定的直线轨迹起点和终点，以及两个偏移方向，按指定的偏移距离进行坐标系转换， 使偏移量相对的坐标系与calcWeldOffsetCalculatedZ()接口中的一致

参数

  start | 直线轨迹起点
  target | 直线轨迹终点
  teach_point_1 | 示教点1
  offset_1 | 沿示教点1所在方向的偏移距离
  teach_point_2 | 示教点2
  offset_2 | 沿示教点2所在方向的偏移距离
  offset_start | 直线轨迹起点偏移量，与calcWeldOffsetCalculatedZ()接口中偏移量的参考坐标系一致
  offset_target | 直线轨迹终点偏移量，与calcWeldOffsetCalculatedZ()接口中偏移量的参考坐标系一致
  ec | 计算失败的情况: 1) 直线轨迹过短 2) 示教点离焊道距离过近 3) 示教点距离起点或终点过近

## ◆ unbindWeaveDo()

void rokae::clr::Welding::unbindWeaveDo | ( | String^ | signal,
|  | [Out] ErrorCode^% | ec
| ) |  |

取消设置摆动过程中DO输出

参数

  signal | 要取消设置的DO信号名称。
  ec | 错误码

## 类成员变量说明

## ◆ ptr

rokae::BaseWelding* rokae::clr::Welding::ptr
| protected

在文件 welding_cli.hpp 第 102 行定义.

该类的文档由以下文件生成:

- welding_cli.hpp