xCore-SDK  0.4.1
xCore SDK C# API
welding_cli.hpp
1#ifndef XCORESDK_SRC_MANAGED_WELDING_CLI_HPP_
2#define XCORESDK_SRC_MANAGED_WELDING_CLI_HPP_
3
4#include <unordered_map>
5#include "data_types_cli.hpp"
6#include "exception_cli.hpp"
7
8using namespace System;
9using namespace System::Collections::Generic;
10using namespace System::Runtime::InteropServices;
11
12namespace rokae {
13 class BaseWelding;
14}
15
16namespace rokae::clr {
17
18 public ref class Welding {
19
20 protected:
21 rokae::BaseWelding* ptr;
22
23 public:
24
25 Welding(rokae::BaseWelding*);
26
27 virtual ~Welding();
28
37 void setWeave(bool enable, double frequency, double amplitude, array<double>^ dwell_time, [Out] ErrorCode ^ %ec);
38
45 void setSwingMotion(double acceleration, double jerk, [Out] ErrorCode^% ec);
53 void setWeaveParameters(double frequency, double amplitude, array<double>^ dwell_time, [Out] ErrorCode^% ec);
54
63 void calcWeldOffset(Frame^% start, Frame^ start_offs, Frame^% target, Frame^ target_offs, [Out] ErrorCode^% ec);
64
75 void calcWeldOffset(Frame^% start, Frame^ start_offs, Frame^% target, Frame^ target_offs, Frame^% aux, Frame^ aux_offs, [Out] ErrorCode^% ec);
76
82 void adjustTrackOffset(array<double>^ offset, [Out] ErrorCode^% ec);
83
97 void bindWeaveDo(String^ signal,String^ action, bool value, [Out] ErrorCode^% ec);
98
104 void unbindWeaveDo(String^ signal, [Out] ErrorCode^% ec) ;
105
110 void startTracking([Out] ErrorCode^% ec);
111
116 void stopTracking([Out] ErrorCode^% ec);
117
125 void addLaserTrackOffset(double x, double z, Boolean valid, [Out] ErrorCode^% ec);
126
132 void setSensorFrame(Frame^ sensor_frame, [Out] ErrorCode^% ec);
133
142 void getLaserOffset(double x, double z, Boolean valid, Frame^% tar_tcp, [Out] ErrorCode^% ec);
143
149 array<double>^ getFinalOffset([Out] ErrorCode^% ec);
150 };
151
152}
153
154
155#endif //XCORESDK_SRC_MANAGED_WELDING_CLI_HPP_
xCoreSDK错误码
array< double > getFinalOffset([Out] ErrorCode^% ec)
获取停止激光跟踪后的最终相对原路径偏移
void startTracking([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 setSensorFrame(Frame^ sensor_frame, [Out] ErrorCode^% ec)
设置激光器相对tcp坐标
void setSwingMotion(double acceleration, double jerk, [Out] ErrorCode^% ec)
设置摆动加速度和加加速度
void calcWeldOffset(Frame^% start, Frame^ start_offs, Frame^% target, Frame^ target_offs, Frame^% aux, Frame^ aux_offs, [Out] ErrorCode^% ec)
多层多道偏移 - 计算圆弧轨迹沿焊道坐标系的偏移
void setWeave(bool enable, double frequency, double amplitude, array< double >^ dwell_time, [Out] ErrorCode ^ %ec)
开始/停止摆动。开始摆动时可设置摆动参数
void setWeaveParameters(double frequency, double amplitude, array< double >^ dwell_time, [Out] ErrorCode^% ec)
设置摆动参数,支持在摆动过程中调整
void addLaserTrackOffset(double x, double z, Boolean valid, [Out] ErrorCode^% ec)
设置添加激光跟踪偏移
void calcWeldOffset(Frame^% start, Frame^ start_offs, Frame^% target, Frame^ target_offs, [Out] ErrorCode^% ec)
多层多道偏移 - 计算直线轨迹沿焊道坐标系的偏移
void stopTracking([Out] ErrorCode^% ec)
结束激光跟踪
void getLaserOffset(double x, double z, Boolean valid, Frame^% tar_tcp, [Out] ErrorCode^% ec)
获取偏移目标点