xCore-SDK  0.4.1
xCore SDK C# API
arcwelding_cli.hpp
1
8#pragma once
9#ifndef XCORESDK_SRC_MANAGED_ARCWELDING_CLI_HPP_
10#define XCORESDK_SRC_MANAGED_ARCWELDING_CLI_HPP_
11
12#include <unordered_map>
13#include "data_types_cli.hpp"
14#include "exception_cli.hpp"
15
16using namespace System;
17using namespace System::Collections::Generic;
18using namespace System::Runtime::InteropServices;
19
20namespace rokae{
21 class ArcWelding;
22}
23
24namespace rokae::clr
25{
29public ref class ArcWelding
30 {
31 public:
32 ArcWelding(rokae::ArcWelding* arcwelding);
34
35 enum class WeldMode
36 {
38 TestRun = 0,
40 Simu = 1,
42 Real = 2
43 };
44
48 value struct ReArcOnParam
49 {
51 Boolean enable;
53 Int32 retry_time;
59 Double current_step; //<
61 Double voltage_step; //<
62
65 {
66 ReArcOnParam param;
67 param.enable = false;
68 param.retry_time = 3;
69 param.wire_retract_delay_time = 50;
70 param.wire_retract_time = 200;
71 param.current_step = 0.0;
72 param.voltage_step = 0.0;
73 return param;
74 }
75 };
76
80 value struct ScratchArconParam
81 {
83 Boolean enable;
85 Int32 distance;
87 Int32 back_speed;
89 Int32 step;
90
94 param.enable = false;
95 param.distance = 20;
96 param.back_speed = 50;
97 param.step = 5;
98 return param;
99 }
100 };
101
105 value struct ArcOnData
106 {
108 String^ name;
110 String^ annotation;
112 String^ mode;
114 String^ current_mode;
116 String^ voltage_mode;
118 Double current;
120 Double voltage;
122 Int32 hold_time;
136 Int32 ramp_time;
141
144 {
145 ArcOnData param;
146 param.name = "default";
147 param.annotation = "";
148 param.mode = "flat_characteristic";
149 param.current_mode = "current";
150 param.voltage_mode = "unified";
151 param.current = 0;
152 param.voltage = 0;
153 param.hold_time = 200;
154 param.detect_time = 2000;
155 param.confirm_time = 200;
156 param.preflow_time = 200;
157 param.prearc_time = 200;
158 param.slow_wire_feed_speed = 1;
159 param.pre_wirefeed_time = 200;
160 param.ramp_time = 200;
163 return param;
164 }
165 };
166
170 value struct ArcBreakParam
171 {
178
181 {
182 ArcBreakParam param;
183 param.detect_time = 50;
184 param.arc_break_option = "continue_running";
185 param.restart_back_distance = 10;
186 return param;
187 }
188 };
189
193 value struct ArcData
194 {
196 String^ name;
198 String^ annotation;
200 String^ mode;
202 String^ current_mode;
204 String^ voltage_mode;
206 Double current;
208 Double voltage;
212 Int32 ramp_time;
215
218 {
219 ArcData param;
220 param.name = "default";
221 param.annotation = "";
222 param.mode = "flat_characteristic";
223 param.current_mode = "current";
224 param.voltage_mode = "unified";
225 param.current = 0;
226 param.voltage = 0;
227 param.weld_speed = 10;
228 param.ramp_time = 200;
230 return param;
231 }
232 };
233
238 {
240 Boolean enable;
242 Double current;
244 Double voltage;
246 Int32 time;
247
250 {
251 AntiWireStickParam param;
252 param.enable = false;
253 param.current = 30;
254 param.voltage = 10;
255 param.time = 500;
256 return param;
257 }
258 };
259
263 value struct ArcOffData
264 {
266 String^ name;
268 String^ annotation;
270 String^ mode;
272 String^ current_mode;
274 String^ voltage_mode;
276 Double current;
278 Double voltage;
280 Int32 hold_time;
291
294 {
295 ArcOffData param;
296 param.name = "default";
297 param.annotation = "";
298 param.mode = "flat_characteristic";
299 param.current_mode = "current";
300 param.voltage_mode = "unified";
301 param.current = 0;
302 param.voltage = 0;
303 param.hold_time = 500;
304 param.delay_gasoff_time = 200;
305 param.detect_time = 5000;
306 param.retract_time = 100;
307 param.wire_stick_detection_time = 500;
309 return param;
310 }
311 };
312
316 value struct Amplitude
317 {
319 Double left;
321 Double right;
322
325 {
326 Amplitude param;
327 param.left = 0;
328 param.right = 0;
329 return param;
330 }
331 };
332
336 value struct ElevationAngle
337 {
339 Double left;
341 Double right;
342
345 {
346 ElevationAngle param;
347 param.left = 0;
348 param.right = 0;
349 return param;
350 }
351 };
352
356 value struct WeaveData
357 {
359 String^ name;
361 String^ annotation;
365 String^ pattern;
371 String^ dwell_type;
373 array<Int32>^ dwell_time;
375 Double radius;
377 Boolean phase_invert;
384
387 {
388 WeaveData param;
389 param.name = "default";
390 param.annotation = "";
391 param.weaving_reference = "cycle";
392 param.pattern = "triangular";
393 param.weave_length_frequency = 0.01;
395 param.dwell_type = "robot_stay";
396 param.dwell_time = gcnew array<Int32>{0, 0, 0};
397 param.radius = 0;
398 param.phase_invert = false;
399 param.elevation_type = "v_pattern";
401 param.inclination_angle = 0;
402 return param;
403 }
404 };
405
412 ArcOnData getArcOnData(String^ arconDataName, [Out] ErrorCode^% ec) ;
413
419 void setArcOnData(ArcOnData arconData, [Out] ErrorCode^% ec) ;
420
427 ArcData getArcData(String^ arcDataName, [Out] ErrorCode^% ec) ;
428
434 void setArcData(ArcData arcData, [Out] ErrorCode^% ec) ;
435
442 ArcOffData getArcOffData(String^ arcoffDataName, [Out] ErrorCode^% ec) ;
443
449 void setArcOffData(ArcOffData arcoffData, [Out] ErrorCode^% ec) ;
450
457 WeaveData getWeaveData(String^ weaveDataName, [Out] ErrorCode^% ec) ;
458
464 void setWeaveData(WeaveData weaveData, [Out] ErrorCode^% ec) ;
465
472
478 void setWeldMode(WeldMode weldMode, [Out] ErrorCode^% ec) ;
479
480 private:
481 rokae::ArcWelding* _arcwelding;
482 /*rokae::ArcWelding::ReArcOnParam convertReArcOnParam(ArcWelding::ReArcOnParam^ reArconParam);
483 ArcWelding::ReArcOnParam^ convertReArcOnParam2CLI(rokae::ArcWelding::ReArcOnParam reArconParam);
484 rokae::ArcWelding::ScratchArconParam convertScratchArconParam(ArcWelding::ScratchArconParam^ scratchArconParam);
485 ArcWelding::ScratchArconParam^ convertScratchArconParam2CLI(rokae::ArcWelding::ScratchArconParam scratchArconParam);
486 rokae::ArcWelding::ArcOnData convertArcOnData(ArcWelding::ArcOnData^ arcondata);
487 ArcWelding::ArcOnData^ convertArcOnData2CLI(rokae::ArcWelding::ArcOnData arcondata);
488 rokae::ArcWelding::ArcBreakParam convertArcBreakParam(ArcWelding::ArcBreakParam^ arcBreakParam);
489 ArcWelding::ArcBreakParam^ convertArcBreakParam2CLI(rokae::ArcWelding::ArcBreakParam arcBreakParam);
490 rokae::ArcWelding::ArcData convertArcData(ArcWelding::ArcData^ arcData);
491 ArcWelding::ArcData^ convertArcData2CLI(rokae::ArcWelding::ArcData arcData);
492 rokae::ArcWelding::AntiWireStickParam convertAntiWireStickParam(ArcWelding::AntiWireStickParam^ antiWireStickParam);
493 ArcWelding::AntiWireStickParam^ convertAntiWireStickParam2CLI(rokae::ArcWelding::AntiWireStickParam antiWireStickParam);
494 rokae::ArcWelding::ArcOffData convertArcOffData(ArcWelding::ArcOffData^ arcOffData);
495 ArcWelding::ArcOffData^ convertArcOffData2CLI(rokae::ArcWelding::ArcOffData arcOffData);
496 rokae::ArcWelding::WeaveData convertWeaveData(ArcWelding::WeaveData^ weaveData);
497 ArcWelding::WeaveData^ convertWeaveData2CLI(rokae::ArcWelding::WeaveData weaveData);*/
498 };
499}
500
501#endif // XCORESDK_SRC_MANAGED_ARCWELDING_CLI_HPP_
焊接工艺包指令
void setArcOffData(ArcOffData arcoffData, [Out] ErrorCode^% ec)
设置收弧参数
ArcData getArcData(String^ arcDataName, [Out] ErrorCode^% ec)
获取焊接参数
WeldMode getWeldMode([Out] ErrorCode^% ec)
获取焊接模式
WeaveData getWeaveData(String^ weaveDataName, [Out] ErrorCode^% ec)
获取摆焊参数
void setArcData(ArcData arcData, [Out] ErrorCode^% ec)
设置焊接参数
ArcOffData getArcOffData(String^ arcoffDataName, [Out] ErrorCode^% ec)
获取收弧参数
void setWeaveData(WeaveData weaveData, [Out] ErrorCode^% ec)
设置摆焊参数
void setArcOnData(ArcOnData arconData, [Out] ErrorCode^% ec)
设置起弧参数
void setWeldMode(WeldMode weldMode, [Out] ErrorCode^% ec)
设置焊接模式
ArcOnData getArcOnData(String^ arconDataName, [Out] ErrorCode^% ec)
获取起弧参数
xCoreSDK错误码
Double left
左幅度。单位:mm,范围:[ 0.1, 50 ]
static Amplitude CreateDefault()
Amplitude默认值
Double right
右幅度。单位:mm,范围:[ 0.1, 50 ]
Double current
防粘丝电流。单位:A,范围:[0 - 100] A
Int32 time
防粘丝时间。单位:ms,范围:[0 - 10000] ms
static AntiWireStickParam CreateDefault()
AntiWireStickParam默认值
Double voltage
防粘丝电压。一元化:单位:,范围:[0 - 50] ;分别:单位:V,范围:[0 - 20] V
Int32 restart_back_distance
再启动回退距离。单位:mm,范围:[0 - 100] mm
static ArcBreakParam CreateDefault()
ArcBreakParam默认值
String arc_break_option
断弧选项。继续运行:"continue_running",停机并告警:"stop_and_alarm",自动再起弧:"auto_arc_reignition"
Int32 detect_time
断弧检测时间。单位:ms,范围:[0 - 10000] ms
String annotation
文件号注释
ArcBreakParam arc_break_param
断弧和再起弧参数
String voltage_mode
电压模式。分别:"separate",一元化:"unified"
Int32 weld_speed
焊接速度.单位:mm/s
static ArcData CreateDefault()
ArcData默认值
String mode
焊机工作模式。平特性:"flat_characteristic",低飞溅:"low_spatter",脉冲: "pulse",双脉冲:"double_pulse",直流点焊:"dc_spot_weldi...
String current_mode
电流模式。电流:"current",送丝速度:"wire_feed"
Int32 ramp_time
渐变时间。单位:ms,范围:[1 - 10000] ms
Double current
起弧电流. 单位:电流下为 A,送丝速度下为 mm/s
Double voltage
起弧电压。单位:分别下为 V,一元化下为 V 或者 %
Int32 hold_time
收弧保持时间。单位:ms,范围:[0 - 10000] ms
Double voltage
起弧电压。单位:分别下为 V,一元化下为 V 或者 %
String current_mode
电流模式。电流:"current",送丝速度:"wire_feed"
String mode
焊机工作模式。平特性:"flat_characteristic",低飞溅:"low_spatter",脉冲: "pulse",双脉冲:"double_pulse",直流点焊:"dc_spot_weldi...
Int32 delay_gasoff_time
滞后关气时间。单位:ms,范围:[0 - 10000] ms
static ArcOffData CreateDefault()
ArcOffData默认值
Int32 wire_stick_detection_time
粘丝检测时间。单位:ms
Int32 retract_time
收弧退丝时间。单位:ms,范围:[0 - 10000] ms
Double current
起弧电流. 单位:电流下为 A,送丝速度下为 mm/s
AntiWireStickParam anti_wire_stick_param
防粘丝参数
Int32 detect_time
收弧检测时间。单位:ms,范围:[0 - 10000] ms
String voltage_mode
电压模式。分别:"separate",一元化:"unified"
Double current
起弧电流. 单位:电流下为 A,送丝速度下为 mm/s
String voltage_mode
电压模式。分别:"separate",一元化:"unified"
ScratchArconParam scratch_arcon
刮擦起弧参数
Int32 pre_wirefeed_time
提前送丝时间。单位:ms
Double voltage
起弧电压。单位:分别下为 V,一元化下为 V 或者 %
ReArcOnParam re_arcon
再起弧参数
Int32 prearc_time
提前起弧时间。单位:ms
Int32 preflow_time
提前送气时间。单位:ms,范围:[1 - 10000] ms
Double slow_wire_feed_speed
慢送丝速度。单位:m/min,范围:[1 - 21] m/min
String mode
焊机工作模式。平特性:"flat_characteristic",低飞溅:"low_spatter",脉冲: "pulse",双脉冲:"double_pulse",直流点焊:"dc_spot_weldi...
static ArcOnData CreateDefault()
ArcOnData默认值
Int32 ramp_time
渐变时间。单位:ms,范围:[1 - 10000] ms
Int32 detect_time
起弧检测时间。单位:ms,范围:[0 - 10000] ms
Int32 confirm_time
起弧确认时间。单位:ms,范围:[0 - 10000] ms
Int32 hold_time
起弧保持时间。单位:ms,范围:[0 - 10000] ms
String current_mode
电流模式。电流:"current",送丝速度:"wire_feed"
Double right
右仰角。单位:°,范围:[ -90, 90 ]
static ElevationAngle CreateDefault()
ElevationAngle默认值
Double left
左仰角。单位:°,范围:[ -90, 90 ]
static ReArcOnParam CreateDefault()
ReArcOnParam默认值
Int32 wire_retract_time
再起弧退丝时间。单位:ms,范围:[0 - 10000] ms
Int32 wire_retract_delay_time
再起弧退丝等待时间。单位:ms,范围:[0 - 10000] ms
Double voltage_step
再起弧电压增量。单位:分别下为 V,一元化下为 ,范围:[0 - 10] V,[0 - 10] %
Int32 retry_time
起弧次数。范围:[1 - 20]
Double current_step
再起弧电流增量。单位:电流下为 A,范围:[0 - 50] A
Int32 back_speed
返回速度,单位:mm/s
Int32 distance
刮擦距离。单位:mm,范围:[0 - 500] mm
static ScratchArconParam CreateDefault()
ScratchArconParam默认值
Int32 step
刮擦步长,单位:mm,范围:[0 - 500] mm
String elevation_type
仰角类型。v型:"v_pattern",三角:"triangular"
static WeaveData CreateDefault()
WeaveData默认值
String weaving_reference
摆弧基准。长度:"length",周期:"cycle"
String dwell_type
等待类型。机器人等待:"robot_stay",摆动停止:"weave_stop"
Boolean phase_invert
波形反向。反向:true;正向:false
Double inclination_angle
倾斜角。单位:°,范围:[-90, 90]
Double radius
摆弧半径(圆弧、8字生效)。单位:ms,范围:[ 0.1, 100 ]
ElevationAngle elevation_angle
仰角
String pattern
摆弧形状。无摆动:"no_weaving",三角:"triangular",正弦:"sine",圆弧:"circular",8字:"figure_8"
array< Int32 > dwell_time
等待时间(左、中、右)。单位:ms
Double weave_length_frequency
摆弧长度、频率(与摆弧基准匹配)。长度:单位:mm,范围:[ 1, 500 ];频率:单位:Hz,范围:[ 0.1, 5 ]