xCore-SDK  0.5.0
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#include "data_types_cli.hpp"
16
17using namespace System;
18using namespace System::Collections::Generic;
19using namespace System::Runtime::InteropServices;
20
21namespace rokae {
22class ArcWelding;
23}
24
25namespace rokae::clr
26{
30public
31 ref class ArcWelding
32 {
33 public:
34 ArcWelding(rokae::ArcWelding *arcwelding);
36
37 enum class WeldMode {
39 TestRun = 0,
41 Simu = 1,
43 Real = 2
44 };
45
49 value struct ReArcOnParam {
51 Boolean enable;
59 Double current_step; //<
61 Double voltage_step; //<
62
65 ReArcOnParam param;
66 param.enable = false;
67 param.retry_time = 3;
68 param.wire_retract_delay_time = 50;
69 param.wire_retract_time = 200;
70 param.current_step = 0.0;
71 param.voltage_step = 0.0;
72 return param;
73 }
74 };
75
79 value struct ScratchArconParam {
81 Boolean enable;
83 Int32 distance;
87 Int32 step;
88
92 param.enable = false;
93 param.distance = 20;
94 param.back_speed = 50;
95 param.step = 5;
96 return param;
97 }
98 };
99
103 value struct ArcOnData {
105 String ^ name;
107 String ^ annotation;
109 String ^ mode;
111 String ^ current_mode;
113 String ^ voltage_mode;
115 Double current;
117 Double voltage;
138
141 ArcOnData param;
142 param.name = "default";
143 param.annotation = "";
144 param.mode = "flat_characteristic";
145 param.current_mode = "current";
146 param.voltage_mode = "unified";
147 param.current = 0;
148 param.voltage = 0;
149 param.hold_time = 200;
150 param.detect_time = 2000;
151 param.confirm_time = 200;
152 param.preflow_time = 200;
153 param.prearc_time = 200;
154 param.slow_wire_feed_speed = 1;
155 param.pre_wirefeed_time = 200;
156 param.ramp_time = 200;
159 return param;
160 }
161 };
162
166 value struct ArcBreakParam {
173
176 ArcBreakParam param;
177 param.detect_time = 200;
178 param.arc_break_option = "stop_and_alarm";
179 param.restart_back_distance = 10;
180 return param;
181 }
182 };
183
187 value struct ArcData {
189 String ^ name;
191 String ^ annotation;
193 String ^ mode;
195 String ^ current_mode;
197 String ^ voltage_mode;
199 Double current;
201 Double voltage;
208
211 ArcData param;
212 param.name = "default";
213 param.annotation = "";
214 param.mode = "flat_characteristic";
215 param.current_mode = "current";
216 param.voltage_mode = "unified";
217 param.current = 0;
218 param.voltage = 0;
219 param.weld_speed = 10;
220 param.ramp_time = 200;
222 return param;
223 }
224 };
225
229 value struct AntiWireStickParam {
231 Boolean enable;
233 Double current;
235 Double voltage;
237 Int32 time;
238
241 AntiWireStickParam param;
242 param.enable = false;
243 param.current = 30;
244 param.voltage = 10;
245 param.time = 500;
246 return param;
247 }
248 };
249
253 value struct ArcOffData {
255 String ^ name;
257 String ^ annotation;
259 String ^ mode;
261 String ^ current_mode;
263 String ^ voltage_mode;
265 Double current;
267 Double voltage;
280
283 ArcOffData param;
284 param.name = "default";
285 param.annotation = "";
286 param.mode = "flat_characteristic";
287 param.current_mode = "current";
288 param.voltage_mode = "unified";
289 param.current = 0;
290 param.voltage = 0;
291 param.hold_time = 500;
292 param.delay_gasoff_time = 200;
293 param.detect_time = 5000;
294 param.retract_time = 100;
295 param.wire_stick_detection_time = 500;
297 return param;
298 }
299 };
300
304 value struct Amplitude {
306 Double left;
308 Double right;
309
312 Amplitude param;
313 param.left = 0.1;
314 param.right = 0.1;
315 return param;
316 }
317 };
318
322 value struct ElevationAngle {
324 Double left;
326 Double right;
327
330 ElevationAngle param;
331 param.left = 0;
332 param.right = 0;
333 return param;
334 }
335 };
336
340 value struct WeaveData {
342 String ^ name;
344 String ^ annotation;
348 String ^ pattern;
354 String ^ dwell_type;
356 array<Int32> ^ dwell_time;
358 Double radius;
368 Double acc;
370 Double jerk;
371
374 WeaveData param;
375 param.name = "default";
376 param.annotation = "";
377 param.weaving_reference = "cycle";
378 param.pattern = "triangular";
379 param.weave_length_frequency = 0.1;
381 param.dwell_type = "robot_stay";
382 param.dwell_time = gcnew array<Int32>{0, 0, 0};
383 param.radius = 0.1;
384 param.phase_invert = false;
385 param.elevation_type = "v_pattern";
387 param.inclination_angle = 0;
388 param.acc = 0.5;
389 param.jerk = 5;
390 return param;
391 }
392 };
393
397 value struct SegData {
399 String ^ name;
401 String ^ annotation;
403 String ^ seg_type;
410
413 SegData param;
414 param.name = "default";
415 param.annotation = "";
416 param.seg_type = "normal";
417 param.non_welded_speed = "v5";
418 param.welded_distance = 0.1;
419 param.non_welded_distance = 0.1;
420 return param;
421 }
422 };
423
427 value struct LaserTrackData {
429 String ^ name;
433 Boolean y_comp;
435 Double y_offset;
437 Boolean z_comp;
439 Double z_offset;
440
443 LaserTrackData param;
444 param.name = "default";
445 param.job_number = 0;
446 param.y_comp = false;
447 param.y_offset = 20;
448 param.z_comp = false;
449 param.z_offset = 20;
450 return param;
451 }
452 };
453
457 value struct LaserSearchData {
459 String ^ name;
463 String ^ search_type;
465 String ^ search_mode;
469 String ^ joint_type;
470
473 LaserSearchData param;
474 param.name = "default";
475 param.job_number = 0;
476 param.search_type = "point";
477 param.search_mode = "continuous";
478 param.step_length = 2.0;
479 param.joint_type = "corner_joint";
480 return param;
481 }
482 };
483
487 value struct IOData {
489 String ^ name;
491 Int32 type;
493 Int32 bias;
495 Boolean enable;
496
499 IOData param;
500 param.name = "";
501 param.type = 0;
502 param.bias = 0;
503 param.enable = false;
504 return param;
505 }
506 };
507
511 value struct IOSetting {
538
541 IOSetting param;
555 return param;
556 }
557 };
558
564 String ^ name;
566 Double intercept;
568 List<Tuple<Double, Double> ^> ^ points;
570 Double slope;
571
575 param.name = "default";
576 param.intercept = 0;
577 param.points = gcnew List<Tuple<Double, Double> ^>();
578 param.slope = 0;
579 return param;
580 }
581 };
582
586 value struct ArcWeldRunningParam {
593
597 param.test_run_speed = 200;
598 param.wire_feed_speed = 1;
599 param.gas_detect_time = 15;
600 return param;
601 }
602 };
603
607 value struct WelderStatus {
609 Double current;
611 Double voltage;
613 String ^ state;
615 Int32 speed;
619 String ^ welding_name;
630
633 WelderStatus param;
634 param.current = 0;
635 param.voltage = 0;
636 param.state = "disabled";
637 param.speed = 0;
638 param.running_error = gcnew ErrorCode(0, "操作成功完成");
639 param.welding_name = "";
640 param.arc_welding = -1;
641 param.welding_distance = 0;
642 param.welding_path_num = 0;
643 return param;
644 }
645 };
646
650 value struct WelderSetting {
652 String ^ mfr;
654 String ^ model;
656 String ^ protocol;
660 String ^ current_file;
662 String ^ voltage_file;
663
666 WelderSetting param;
667 param.mfr = "";
668 param.model = "";
669 param.protocol = "";
670 param.current_type = 0;
671 param.current_file = "";
672 param.voltage_file = "";
673 return param;
674 }
675 };
676
680 value struct HandeyeData {
682 String ^ name;
684 Boolean mode;
686 array<Double> ^ xyz_abc;
688 array<Double> ^ rotMatrix;
690 array<Double> ^ transVector;
691
694 HandeyeData param;
695 param.name = "";
696 param.mode = false;
697 param.xyz_abc = gcnew array<Double>{0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
698 param.rotMatrix = gcnew array<Double>{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
699 param.transVector = gcnew array<Double>{0.0, 0.0, 0.0};
700 return param;
701 }
702 };
703
705 value struct CalibrationResult{
707 int id;
709 List<double>^ p_robot;
711 List<double>^ p_laser;
712
715 CalibrationResult param;
716 param.id = 0;
717 param.p_robot = gcnew List<double>();
718 param.p_laser = gcnew List<double>();
719 return param;
720 }
721 };
722
726 enum class LaserSensorType {
728 CRNT = 0,
730 SMART_IMAGE = 1
731 };
732
736 value struct LaserSensorCfg {
738 String ^ name;
740 String ^ ip;
742 Int32 port;
746 Int32 overtime;
749
752 LaserSensorCfg param;
753 param.name = "sensor0";
754 param.ip = "192.168.2.3";
755 param.port = 502;
757 param.overtime = 1000;
758 param.communication_cycle = 70;
759 return param;
760 }
761 };
762
766 value struct ArcSetOpt {
768 String ^ arc_data;
770 Boolean ref_start;
772 Double distance;
773
776 ArcSetOpt param;
777 param.arc_data = "";
778 param.ref_start = true;
779 param.distance = 0;
780 return param;
781 }
782 };
783
787 value struct AnticollisionState{
788 String^ signal;
789 Boolean enable;
790 Boolean block;
791 Int32 countdown;
792
793 static AnticollisionState CreateDefault() {
794 AnticollisionState param;
795 param.signal = "";
796 param.enable = false;
797 param.block = false;
798 param.countdown = 60;
799 return param;
800 }
801 };
802
809 ArcOnData getArcOnData(String ^ arconDataName, [Out] ErrorCode ^ % ec);
810
816 void setArcOnData(ArcOnData arconData, [Out] ErrorCode ^ % ec);
817
823 void removeArcOnData(String ^ arconDataName, [Out] ErrorCode ^ % ec);
824
830 void removeArcOnData(List<String ^> ^ arconDataNames, [Out] ErrorCode ^ % ec);
831
838 ArcData getArcData(String ^ arcDataName, [Out] ErrorCode ^ % ec);
839
845 void setArcData(ArcData arcData, [Out] ErrorCode ^ % ec);
846
852 void removeArcData(String ^ arcDataName, [Out] ErrorCode ^ % ec);
853
859 void removeArcData(List<String ^> ^ arcDataNames, [Out] ErrorCode ^ % ec);
860
867 void enableArcData(ArcData arcData, [Out] ErrorCode ^ % ec);
868
875 ArcOffData getArcOffData(String ^ arcoffDataName, [Out] ErrorCode ^ % ec);
876
882 void setArcOffData(ArcOffData arcoffData, [Out] ErrorCode ^ % ec);
883
889 void removeArcOffData(String ^ arcoffDataName, [Out] ErrorCode ^ % ec);
890
896 void removeArcOffData(List<String ^> ^ arcoffDataNames, [Out] ErrorCode ^ % ec);
897
904 WeaveData getWeaveData(String ^ weaveDataName, [Out] ErrorCode ^ % ec);
905
911 void setWeaveData(WeaveData weaveData, [Out] ErrorCode ^ % ec);
912
918 void removeWeaveData(String ^ weaveDataName, [Out] ErrorCode ^ % ec);
919
925 void removeWeaveData(List<String ^> ^ weaveDataNames, [Out] ErrorCode ^ % ec);
926
933 SegData getSegData(String^ segDataName, [Out] ErrorCode ^ % ec);
934
940 void setSegData(SegData segData, [Out] ErrorCode ^ % ec);
941
947 void removeSegData(String^ segDataName, [Out] ErrorCode ^ % ec);
948
954 void removeSegData(List<String^>^ segDataNames, [Out] ErrorCode ^ % ec);
955
962 LaserTrackData getLaserTrackData(String^ laserTrackDataName, [Out] ErrorCode ^ % ec);
963
969 void setLaserTrackData(LaserTrackData laserTrackData, [Out] ErrorCode ^ % ec);
970
976 void removeLaserTrackData(String^ laserTrackDataName, [Out] ErrorCode ^ % ec);
977
983 void removeLaserTrackData(List<String^>^ laserTrackDataNames, [Out] ErrorCode ^ % ec);
984
991 LaserSearchData getLaserSearchData(String^ laserSearchDataName, [Out] ErrorCode ^ % ec);
992
998 void setLaserSearchData(LaserSearchData laserSearchData, [Out] ErrorCode ^ % ec);
999
1005 void removeLaserSearchData(String^ laserSearchDataName, [Out] ErrorCode ^ % ec);
1006
1012 void removeLaserSearchData(List<String^>^ laserSearchDataNames, [Out] ErrorCode ^ % ec);
1013
1020
1026 void setIOSetting(IOSetting ioSetting, [Out] ErrorCode ^ % ec);
1027
1035
1042
1050
1057
1065
1073
1080
1089 void setWelder(String^ protocol, String^ mfr, String^ type, Int32 current, [Out] ErrorCode ^ % ec);
1090
1096 void setWelder(ArcWelding::WelderSetting welderSetting, [Out] ErrorCode ^ % ec);
1097
1104
1109 void connectToWelder([Out] ErrorCode ^ % ec);
1110
1116
1122 Boolean isEniHaveWeld([Out] ErrorCode ^ % ec);
1123
1132 void setIsEniHaveWeld(Boolean isEniHaveWeld, [Out] ErrorCode ^ % ec);
1133
1140
1146 void setWeldMode(WeldMode weldMode, [Out] ErrorCode ^ % ec);
1147
1154
1161
1168 void feedOnWire(Double time, Boolean enable, [Out] ErrorCode ^ % ec);
1169
1176 void feedBackWire(Double time, Boolean enable, [Out] ErrorCode ^ % ec);
1177
1184 void detectGas(Double time, Boolean enable, [Out] ErrorCode ^ % ec);
1185
1192 void setCurrentAndVoltage(Double current, Double voltage, [Out] ErrorCode ^ % ec);
1193
1200 void saveCurrentAndVoltage(Double current, Double voltage, [Out] ErrorCode ^ % ec);
1201
1209 void startWelding(Double current, Double voltage, String^ voltage_mode, [Out] ErrorCode ^ % ec);
1210
1215 void stopWelding([Out] ErrorCode ^ % ec);
1216
1222 void setHandeyeData(HandeyeData handeyedata, [Out] ErrorCode ^ % ec);
1223
1230 HandeyeData getHandeyeData(String^ name, [Out] ErrorCode ^ % ec);
1231
1237 void removeHandeyeData(String^ name, [Out] ErrorCode ^ % ec);
1238
1244 void removeHandeyeData(List<String^>^ names, [Out] ErrorCode ^ % ec);
1245
1252 void startHandeyeCalibration(String ^ name, int type, [Out] ErrorCode ^ % ec);
1253
1261
1268 List<double> ^ calibrateEnd(HandeyeData% handeyedata, [Out] ErrorCode ^ % ec);
1269
1276
1283 LaserSensorCfg getLaserSensorCfg(String^ name, [Out] ErrorCode ^ % ec);
1284
1290 void removeLaserSensorCfg(String^ device_name, [Out] ErrorCode ^ % ec);
1291
1297 void removeLaserSensorCfg(List<String^>^ device_names, [Out] ErrorCode ^ % ec);
1298
1304 void connLaserSensorDev(String^ device_name, [Out] ErrorCode ^ % ec);
1305
1311 void disconnLaserSensorDev(String^ device_name, [Out] ErrorCode ^ % ec);
1312
1318 void openLaserTrack(String^ device_name, [Out] ErrorCode ^ % ec);
1319
1325 void closeLaserTrack(String^ device_name, [Out] ErrorCode ^ % ec);
1326
1335 void setAnticollision(String^ signal, Boolean enable, Boolean block, Int32 countdown, [Out] ErrorCode ^ % ec);
1336
1343
1345
1350 {
1351 public:
1356
1362 ArcOnCommand(String^ arcOnData, String^ arcData);
1363
1369 void setArcOnData(String^ arcOnData, [Out] ErrorCode ^ % ec);
1370
1375 String^ getArcOnData();
1376
1382 void setArcData(String^ arcData, [Out] ErrorCode ^ % ec);
1383
1388 String^ getArcData();
1389
1390 private:
1391 String^ m_arcOnData{"default"};
1392 String^ m_arcData{"default"};
1393 };
1394
1399 {
1400 public:
1405
1410 ArcOffCommand(String^ arcOffData);
1411
1417 void setArcOffData(String^ arcOffData, [Out] ErrorCode ^ % ec);
1418
1423 String^ getArcOffData();
1424
1425 private:
1426 String^ m_arcOffData{"default"};
1427 };
1428
1433 {
1434 public:
1439
1447 WMoveLCommand(CartesianPosition ^ target, Int32 speed, Int32 zone, String ^ weaveData);
1448
1454 void setWeaveData(String ^ weaveData, [Out] ErrorCode ^ % ec);
1455
1460 String ^ getWeaveData();
1461
1465 Int32 speed = -1;
1467 Int32 zone = -1;
1472 double rotSpeed = -1;
1474 String ^ customInfo = "";
1477
1478 private:
1480 String ^ m_weaveData = "";
1481 };
1482
1487 {
1488 public:
1493
1502 WMoveCCommand(CartesianPosition ^ target, CartesianPosition ^ aux, Int32 speed, Int32 zone, String ^ weaveData);
1503
1509 void setWeaveData(String ^ weaveData, [Out] ErrorCode ^ % ec);
1510
1515 String ^ getWeaveData();
1516
1526 Int32 speed = -1;
1528 Int32 zone = -1;
1531 double rotSpeed = -1;
1533 String ^ customInfo = "";
1536
1537 private:
1539 String ^ m_weaveData = "";
1540 };
1541
1546 {
1547 public:
1552
1557 WeaveOnCommand(String^ weaveData);
1558
1564 void setWeaveData(String^ weaveData, [Out] ErrorCode ^ % ec);
1565
1570 String^ getWeaveData();
1571
1572 private:
1574 String^ m_weaveData{"default"};
1575 };
1576
1581 {
1582 };
1583
1588 {
1589 public:
1594
1600 LaserTrackOnCommand(String^ handEyeData, String^ laserTrackData);
1601
1607 void setHandEyeData(String^ handEyeData, [Out] ErrorCode ^ % ec);
1608
1614
1620 void setLaserTrackData(String^ laserTrackData, [Out] ErrorCode ^ % ec);
1621
1627
1628 private:
1630 String^ m_handEyeData{"default"};
1632 String^ m_laserTrackData{"default"};
1633 };
1634
1639 {
1640 };
1641
1646 {
1647 public:
1652
1662
1663 public:
1665 String^ laserHandEyeData = "default";
1667 String^ laserSearchData = "default";
1671 Int32 speed = -1;
1673 Int32 zone = -1;
1674 };
1675
1680 {
1681 public:
1686
1692
1694 String^ segData = "default";
1695 };
1696
1700 ref class SegOffCommand : public ArcWeldingCommand{};
1701
1713 Tuple<Boolean, CartesianPosition^>^ executeLaserSearch(ArcWelding::LaserSearchCommand^ cmd, Boolean isMove, System::TimeSpan^ timeout, [Out] ErrorCode ^ % ec);
1714
1715 private:
1716 rokae::ArcWelding *_arcwelding;
1717 };
1718}
1719
1720#endif // XCORESDK_SRC_MANAGED_ARCWELDING_CLI_HPP_
焊接指令 - 收弧,收弧参数默认为default
ArcOffCommand()
Constructor,默认收弧参数名为default
void setArcOffData(String^ arcOffData, [Out] ErrorCode ^ % ec)
设置收弧参数
String getArcOffData()
获取收弧参数
ArcOffCommand(String^ arcOffData)
Constructor
焊接指令 - 起弧,起弧参数和焊接参数默认都为default
void setArcData(String^ arcData, [Out] ErrorCode ^ % ec)
设置焊接参数
String getArcData()
获取焊接参数
ArcOnCommand(String^ arcOnData, String^ arcData)
Constructor
void setArcOnData(String^ arcOnData, [Out] ErrorCode ^ % ec)
设置起弧参数
String getArcOnData()
获取起弧参数
ArcOnCommand()
Constructor,默认起弧参数名和焊接参数名为default
String laserHandEyeData
手眼标定参数名称
LaserSearchCommand(String^ laserHandEyeData, String^ laserSearchData, CartesianPosition^ endPoint, Int32 speed, Int32 zone)
Constructor
String laserSearchData
激光寻位参数名称
Int32 speed
末端线速度, 单位mm/s
CartesianPosition endPoint
激光寻位终点, 工具工件坐标系下的
焊接指令 - 停止激光跟踪
焊接指令 - 开始激光跟踪
String getLaserTrackData()
获取激光跟踪参数名称
LaserTrackOnCommand(String^ handEyeData, String^ laserTrackData)
Constructor
void setHandEyeData(String^ handEyeData, [Out] ErrorCode ^ % ec)
设置手眼标定参数名称
String getHandEyeData()
获取手眼标定参数名称
void setLaserTrackData(String^ laserTrackData, [Out] ErrorCode ^ % ec)
设置激光跟踪参数名称
焊接指令 - 关闭间断焊
焊接指令 - 开启间断焊
SegOnCommand(String^ segData)
Constructor
String segData
间断焊参数名称
焊接指令 - 圆弧轨迹,摆动参数默认为空
double rotSpeed
空间旋转速度,用于末端类型指令,单位rad/s。 大于等于0时生效;小于0时旋转速度默认为200°/s
void setWeaveData(String ^ weaveData, [Out] ErrorCode ^ % ec)
设置摆动参数
CartesianPosition::Offset cartTargetOffset
笛卡尔目标点偏移选项
String getWeaveData()
获取摆动参数
Int32 speed
机器人末端最大线速度, 单位mm/s。
CartesianPosition target
目标笛卡尔点位
ArcSetOpt arc_set_opt
设置焊接参数选项。
Int32 zone
转弯区半径,单位mm
CartesianPosition::Offset auxPointOffset
辅助点偏移选项
String customInfo
自定义信息,可在运动信息反馈中返回出来
WMoveCCommand(CartesianPosition ^ target, CartesianPosition ^ aux, Int32 speed, Int32 zone, String ^ weaveData)
Constructor
焊接指令 - 直线轨迹,摆动参数默认为空
Int32 zone
转弯区半径,单位mm
CartesianPosition target
目标笛卡尔点位
CartesianPosition::Offset cartTargetOffset
笛卡尔目标点偏移选项
String getWeaveData()
获取摆动参数
Int32 speed
机器人末端最大线速度,单位mm/s
double rotSpeed
空间旋转速度,用于末端类型指令,单位rad/s。 大于等于0时生效;小于0时旋转速度默认为200°/s
String customInfo
自定义信息,可在运动信息反馈中返回出来
ArcSetOpt arc_set_opt
设置焊接参数选项
void setWeaveData(String ^ weaveData, [Out] ErrorCode ^ % ec)
设置摆动参数
WMoveLCommand(CartesianPosition ^ target, Int32 speed, Int32 zone, String ^ weaveData)
Constructor
WMoveLCommand()
Constructor,默认摆动参数名为空
String getWeaveData()
获取摆动参数
WeaveOnCommand(String^ weaveData)
Constructor
void setWeaveData(String^ weaveData, [Out] ErrorCode ^ % ec)
设置摆动参数
焊接工艺包指令
LaserSensorCfg getLaserSensorCfg(String^ name, [Out] ErrorCode ^ % ec)
获取激光传感器配置参数
void setIsEniHaveWeld(Boolean isEniHaveWeld, [Out] ErrorCode ^ % ec)
设置是否连接物理焊机(仅EtherCAT焊机,切换ENI文件,重启控制器生效)
void removeArcData(String ^ arcDataName, [Out] ErrorCode ^ % ec)
删除焊接参数
void connectToWelder([Out] ErrorCode ^ % ec)
连接焊机,启用弧焊功能
LaserTrackData getLaserTrackData(String^ laserTrackDataName, [Out] ErrorCode ^ % ec)
获取激光跟踪参数
void feedBackWire(Double time, Boolean enable, [Out] ErrorCode ^ % ec)
退丝
void removeLaserTrackData(String^ laserTrackDataName, [Out] ErrorCode ^ % ec)
删除激光跟踪参数
void feedOnWire(Double time, Boolean enable, [Out] ErrorCode ^ % ec)
送丝
void openLaserTrack(String^ device_name, [Out] ErrorCode ^ % ec)
打开焊缝跟踪器,开始获取激光器焊缝数据
void setAnticollision(String^ signal, Boolean enable, Boolean block, Int32 countdown, [Out] ErrorCode ^ % ec)
设置防碰撞传感器
CalibrationResult calibratePoint(int id, [Out] ErrorCode ^ % ec)
手眼标定添加点位
void setLaserTrackData(LaserTrackData laserTrackData, [Out] ErrorCode ^ % ec)
设置激光跟踪参数
void setVoltageCharacteristicCurveData(CharacteristicCurveData data, [Out] ErrorCode ^ % ec)
设置电压特性曲线参数,同时执行计算并保存
void removeArcData(List< String ^> ^ arcDataNames, [Out] ErrorCode ^ % ec)
批量删除焊接参数
ArcData getArcData(String ^ arcDataName, [Out] ErrorCode ^ % ec)
获取焊接参数
ArcOnData getArcOnData(String ^ arconDataName, [Out] ErrorCode ^ % ec)
获取起弧参数
WelderStatus getWelderStatus([Out] ErrorCode ^ % ec)
获取焊机状态
ArcWeldRunningParam getRunningParam([Out] ErrorCode ^ % ec)
读取焊接运行参数
CharacteristicCurveData calculateVoltageCurve(CharacteristicCurveData data, [Out] ErrorCode ^ % ec)
计算电压特性曲线参数,只计算,不保存
CharacteristicCurveData getCurrentCharacteristicCurveData(String^ name, [Out] ErrorCode ^ % ec)
获取电流特性曲线参数
void disconnectFromWelder([Out] ErrorCode ^ % ec)
断开焊机连接,关闭弧焊功能
void setLaserSearchData(LaserSearchData laserSearchData, [Out] ErrorCode ^ % ec)
设置激光寻位参数
void setArcOffData(ArcOffData arcoffData, [Out] ErrorCode ^ % ec)
设置收弧参数
void closeLaserTrack(String^ device_name, [Out] ErrorCode ^ % ec)
关闭焊缝跟踪器,停止获取激光器焊缝数据
void setArcOnData(ArcOnData arconData, [Out] ErrorCode ^ % ec)
设置起弧参数
CharacteristicCurveData getVoltageCharacteristicCurveData(String^ name, [Out] ErrorCode ^ % ec)
获取电压特性曲线参数
void removeArcOffData(List< String ^> ^ arcoffDataNames, [Out] ErrorCode ^ % ec)
批量删除收弧参数
void setWelder(ArcWelding::WelderSetting welderSetting, [Out] ErrorCode ^ % ec)
设置焊机
HandeyeData getHandeyeData(String^ name, [Out] ErrorCode ^ % ec)
获得目前设置的手眼标定结果
void removeArcOnData(String ^ arconDataName, [Out] ErrorCode ^ % ec)
删除起弧参数
List< double > calibrateEnd(HandeyeData% handeyedata, [Out] ErrorCode ^ % ec)
手眼标定结束,计算标定结果
void removeLaserSearchData(String^ laserSearchDataName, [Out] ErrorCode ^ % ec)
删除激光寻位参数
void removeLaserSearchData(List< String^>^ laserSearchDataNames, [Out] ErrorCode ^ % ec)
批量删除激光寻位参数
void setHandeyeData(HandeyeData handeyedata, [Out] ErrorCode ^ % ec)
添加设置手眼标定结果参数
void setCurrentAndVoltage(Double current, Double voltage, [Out] ErrorCode ^ % ec)
在线设置电流和电压,只有在焊接状态才生效
WelderSetting getWelderSetting([Out] ErrorCode ^ % ec)
获取焊机设置
void enableArcData(ArcData arcData, [Out] ErrorCode ^ % ec)
生效焊接参数 在未运行时将焊接参数发送给焊机,观察焊机面板显示,用于检查通讯是否建立,设置是否准确,不保存
void setSegData(SegData segData, [Out] ErrorCode ^ % ec)
设置间断焊参数
void stopWelding([Out] ErrorCode ^ % ec)
停止铆焊
void disconnLaserSensorDev(String^ device_name, [Out] ErrorCode ^ % ec)
断开连接激光传感器
AnticollisionState getAnticollisionState([Out] ErrorCode ^ % ec)
获取防碰撞传感器设置或状态
ArcOffData getArcOffData(String ^ arcoffDataName, [Out] ErrorCode ^ % ec)
获取收弧参数
void setIOSetting(IOSetting ioSetting, [Out] ErrorCode ^ % ec)
设置IO设置,必须在未启用焊接时才能设置
void setWelder(String^ protocol, String^ mfr, String^ type, Int32 current, [Out] ErrorCode ^ % ec)
设置焊机
void startWelding(Double current, Double voltage, String^ voltage_mode, [Out] ErrorCode ^ % ec)
开始铆焊。工作模式为直流,电流模式为电流,电压模式为一元化或分别模式
IOSetting getIOSetting([Out] ErrorCode ^ % ec)
获取IO设置
void setLaserSensorCfg(LaserSensorCfg cfg, [Out] ErrorCode ^ % ec)
添加设置激光传感器配置参数
SegData getSegData(String^ segDataName, [Out] ErrorCode ^ % ec)
获取间断焊参数
LaserSensorType
激光传感器品牌选择
Boolean isEniHaveWeld([Out] ErrorCode ^ % ec)
读取当前是否连接物理焊机(仅EthreCAT焊机,由当前使用ENI文件确定)
CharacteristicCurveData calculateCurrentCurve(CharacteristicCurveData data, [Out] ErrorCode ^ % ec)
计算电流特性曲线参数,只计算,不保存
void detectGas(Double time, Boolean enable, [Out] ErrorCode ^ % ec)
检气
void removeSegData(String^ segDataName, [Out] ErrorCode ^ % ec)
删除间断焊参数
void connLaserSensorDev(String^ device_name, [Out] ErrorCode ^ % ec)
连接激光传感器
void setWeldMode(WeldMode weldMode, [Out] ErrorCode ^ % ec)
设置焊接模式
void removeWeaveData(List< String ^> ^ weaveDataNames, [Out] ErrorCode ^ % ec)
批量删除摆焊参数
WeaveData getWeaveData(String ^ weaveDataName, [Out] ErrorCode ^ % ec)
获取摆焊参数
void removeLaserSensorCfg(List< String^>^ device_names, [Out] ErrorCode ^ % ec)
删除多个激光传感器配置参数
void removeLaserSensorCfg(String^ device_name, [Out] ErrorCode ^ % ec)
删除激光传感器配置参数
Tuple< Boolean, CartesianPosition^> executeLaserSearch(ArcWelding::LaserSearchCommand^ cmd, Boolean isMove, System::TimeSpan^ timeout, [Out] ErrorCode ^ % ec)
激光寻位
WeldMode getWeldMode([Out] ErrorCode ^ % ec)
获取焊接模式
void setArcData(ArcData arcData, [Out] ErrorCode ^ % ec)
设置焊接参数
void removeLaserTrackData(List< String^>^ laserTrackDataNames, [Out] ErrorCode ^ % ec)
批量删除激光跟踪参数
void setRunningParam(ArcWeldRunningParam data, [Out] ErrorCode ^ % ec)
设置焊接运行参数
void removeHandeyeData(String^ name, [Out] ErrorCode ^ % ec)
删除手眼标定结果
void setWeaveData(WeaveData weaveData, [Out] ErrorCode ^ % ec)
设置摆焊参数
void removeArcOffData(String ^ arcoffDataName, [Out] ErrorCode ^ % ec)
删除收弧参数
void startHandeyeCalibration(String ^ name, int type, [Out] ErrorCode ^ % ec)
开始手眼标定,需要已经连接激光传感器
void removeWeaveData(String ^ weaveDataName, [Out] ErrorCode ^ % ec)
删除摆焊参数
void removeSegData(List< String^>^ segDataNames, [Out] ErrorCode ^ % ec)
批量删除间断焊参数
void removeArcOnData(List< String ^> ^ arconDataNames, [Out] ErrorCode ^ % ec)
批量删除起弧参数
void saveCurrentAndVoltage(Double current, Double voltage, [Out] ErrorCode ^ % ec)
在线保存电流和电压,只有在焊接状态才生效
void setCurrentCharacteristicCurveData(CharacteristicCurveData data, [Out] ErrorCode ^ % ec)
设置电流特性曲线参数,同时执行计算并保存
LaserSearchData getLaserSearchData(String^ laserSearchDataName, [Out] ErrorCode ^ % ec)
获取激光寻位参数
void removeHandeyeData(List< String^>^ names, [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"
static ArcData CreateDefault()
ArcData默认值
String mode
焊机工作模式。平特性:"flat_characteristic",低飞溅:"low_spatter",脉冲: "pulse",双脉冲:"Double_pulse",直流点焊:"dc_spot_weldi...
Double weld_speed
焊接速度.单位:mm/s
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"
焊接参数设置,用于WMoveLCommand/WMoveCCommand运行时调整焊接参数,不断弧
Double distance
焊接参数在路径上开始发生变化的位置, 单位毫米。注:如果比路径长,则调整发生在路径的端点;对于有转弯区的情形,调整发生在转弯区中点
Boolean ref_start
true - 相对下一条路径起点执行焊接参数修改 | false - 相对下一条路径终点
String arc_data
焊接参数名称, 非空时代表需要调整焊接参数
static ArcSetOpt CreateDefault()
焊接参数默认值
Int32 gas_detect_time
气体检测时间。单位:s,范围:[ 1, 30 ]
Double wire_feed_speed
手动点动送/退丝速度。单位:m/min。跟焊机本身有关,范围(0, +∞]
static ArcWeldRunningParam CreateDefault()
运行参数默认值
Double test_run_speed
空运行笛卡尔速度。单位:mm/s,范围:[ 1, 250 ]
static CalibrationResult CreateDefault()
自动标定点位结果默认值
List< double > p_laser
激光相机坐标
List< double > p_robot
机器人坐标
List< Tuple< Double, Double > ^> points
点位数组
static CharacteristicCurveData CreateDefault()
特性曲线参数默认值
Double right
右仰角。单位:°,范围:[ -90, 90 ]
static ElevationAngle CreateDefault()
ElevationAngle默认值
Double left
左仰角。单位:°,范围:[ -90, 90 ]
array< Double > xyz_abc
笛卡尔空间位姿形式 单位:mm rad
array< Double > rotMatrix
旋转矩阵的行优先向量
array< Double > transVector
平移向量
String name
手眼标定结果文件号
Boolean mode
标定结果形式 true:xyz_abc false:RT矩阵
static HandeyeData CreateDefault()
手眼标定结果默认值
Int32 bias
偏差。类型为寄存器的时候有效
Int32 type
端口类型。0:未设置;1:DI;2:DO;3:AO;4:AI;5:寄存器
String name
名称。DI0,DO1, AO2,AI3...或寄存器名
static IOData CreateDefault()
IOData默认值
IOData positioning_feedback
寻位反馈信号
IOData voltage_set
电压/弧长校正给定
IOData positioning_enable
寻位使能信号
static IOSetting CreateDefault()
IOSetting默认值
IOData robot_ready
机器人准备好
IOData arc_on_success
引弧成功判断
Double step_length
步进距离。单位:mm
Int32 job_number
激光寻位工艺编号。范围:[0,63]
static LaserSearchData CreateDefault()
LaserSearchData默认值
String joint_type
焊缝类型。角接:"corner_joint" ,搭接:"lap_joint",对接:"butt_joint"
String search_type
寻位类型。点寻位:"point"
String search_mode
寻位模式。连续:"continuous",步进:"step"。(当前只支持连续)
激光传感器配置信息设置
Int32 communication_cycle
控制器和激光跟踪器通信周期 单位:ms 范围:1-10000
LaserSensorType type
激光器厂家类别(目前支持:创想CRNT、明图SMART_IMAGE)
static LaserSensorCfg CreateDefault()
激光传感器配置信息默认值
Int32 overtime
连接超时时间设置 单位:ms 范围:1-100000
Double y_offset
Y方向最大偏移量。单位:mm,范围:[0,1000]
static LaserTrackData CreateDefault()
LaserTrackData默认值
Int32 job_number
跟踪器工艺编号。范围:[0,63]
Double z_offset
Z方向最大偏移量。单位:mm,范围:[0,1000]
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 seg_type
间断焊类型。普通:"normal"
Double non_welded_distance
非焊接段长度。单位:mm,范围:大于0.1
String non_welded_speed
焊接段速度,xCore预定义的v5、v10...
static SegData CreateDefault()
SegData默认值
Double welded_distance
焊接段长度。单位:mm,范围:大于0.1
String annotation
文件号注释
String elevation_type
仰角类型(三角摆和正弦摆生效,当前只支持v型)。v型:"v_pattern",三角:"triangular"
Amplitude amplitude
摆弧幅度。摆动频率乘左右振幅需小于50。
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 acc
摆动加速度。单位:mm/s^2,范围:(0, 5),开区间
Double radius
摆弧半径(圆弧、8字生效)。单位:ms,范围:[ 0.1, 100 ]
ElevationAngle elevation_angle
仰角。当仰角类型为“ V 型” 时,角度设置为 0,机器人在单平面动;当仰角类型为” 三角“ 时,两个角度之和不能为 0、180、-180。
Double jerk
摆动加加速度。单位:mm/s^3,范围:(0, 50]
String pattern
摆弧形状(只支持三角摆、正弦摆和圆弧摆)。三角:"triangular",正弦:"sine",圆弧:"circular",8字:"figure_8"
array< Int32 > dwell_time
等待时间(左、中、右)。单位:ms。
Double weave_length_frequency
摆弧长度、频率(与摆弧基准匹配)。长度:单位:mm,范围:[ 1, 500 ];频率:单位:Hz,范围:[ 0.1, 5 ]
static WelderSetting CreateDefault()
焊机设置默认值
Int32 speed
焊接速度。单位:mm/s
ErrorCode running_error
运行错误码
Int32 arc_welding
当前的焊接状态; 类型int,0 - 起弧,1 - 焊接状态,2 - 熄弧状态,-1 - 默认值
Double current
当前电流。单位:A
Int32 welding_path_num
一次起弧收弧的焊接路径数量, 即已经开始执行的WMoveLCommand/WMoveCCommand指令数量,下次起弧清空
Double voltage
当前电压。单位:V
Double welding_distance
一次起弧收弧的已经完成焊接距离,下次起弧清空;单位:m
String welding_name
正在焊接的文件号; 类型string,结合arc_welding使用
static WelderStatus CreateDefault()
焊接状态默认值