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 enum class DirType {
51 X_Plus_Y_Plus = 0,
53 X_Plus_Z_Plus = 1,
55 Y_Plus_Z_Plus = 2
56 };
57
61 enum class WeldOffsetJogDir {
63 Y_PLUS = 0,
65 Y_MINUS = 1,
67 Z_PLUS = 2,
69 Z_MINUS = 3
70 };
71
75 value struct ReArcOnParam {
77 Boolean enable;
85 Double current_step;//<
87 Double voltage_step;//<
88
91 ReArcOnParam param;
92 param.enable = false;
93 param.retry_time = 3;
94 param.wire_retract_delay_time = 50;
95 param.wire_retract_time = 200;
96 param.current_step = 0.0;
97 param.voltage_step = 0.0;
98 return param;
99 }
100 };
101
105 value struct ScratchArconParam {
107 Boolean enable;
109 Int32 distance;
113 Int32 step;
114
117 ScratchArconParam param;
118 param.enable = false;
119 param.distance = 20;
120 param.back_speed = 50;
121 param.step = 5;
122 return param;
123 }
124 };
125
129 value struct ArcOnData {
131 String ^ name;
133 String ^ annotation;
135 String ^ mode;
137 String ^ current_mode;
139 String ^ voltage_mode;
141 Double current;
143 Double voltage;
164
167 ArcOnData param;
168 param.name = "default";
169 param.annotation = "";
170 param.mode = "flat_characteristic";
171 param.current_mode = "current";
172 param.voltage_mode = "unified";
173 param.current = 0;
174 param.voltage = 0;
175 param.hold_time = 200;
176 param.detect_time = 2000;
177 param.confirm_time = 200;
178 param.preflow_time = 200;
179 param.prearc_time = 200;
180 param.slow_wire_feed_speed = 1;
181 param.pre_wirefeed_time = 200;
182 param.ramp_time = 200;
185 return param;
186 }
187 };
188
192 value struct ArcBreakParam {
199
202 ArcBreakParam param;
203 param.detect_time = 100;
204 param.arc_break_option = "stop_and_alarm";
205 param.restart_back_distance = 10;
206 return param;
207 }
208 };
209
213 value struct ArcData {
215 String ^ name;
217 String ^ annotation;
219 String ^ mode;
221 String ^ current_mode;
223 String ^ voltage_mode;
225 Double current;
227 Double voltage;
234
237 ArcData param;
238 param.name = "default";
239 param.annotation = "";
240 param.mode = "flat_characteristic";
241 param.current_mode = "current";
242 param.voltage_mode = "unified";
243 param.current = 0;
244 param.voltage = 0;
245 param.weld_speed = 10;
246 param.ramp_time = 200;
248 return param;
249 }
250 };
251
255 value struct AntiWireStickParam {
257 Boolean enable;
259 Double current;
261 Double voltage;
263 Int32 time;
264
267 AntiWireStickParam param;
268 param.enable = false;
269 param.current = 30;
270 param.voltage = 10;
271 param.time = 500;
272 return param;
273 }
274 };
275
279 value struct ArcOffData {
281 String ^ name;
283 String ^ annotation;
285 String ^ mode;
287 String ^ current_mode;
289 String ^ voltage_mode;
291 Double current;
293 Double voltage;
306
309 ArcOffData param;
310 param.name = "default";
311 param.annotation = "";
312 param.mode = "flat_characteristic";
313 param.current_mode = "current";
314 param.voltage_mode = "unified";
315 param.current = 0;
316 param.voltage = 0;
317 param.hold_time = 500;
318 param.delay_gasoff_time = 200;
319 param.detect_time = 5000;
320 param.retract_time = 100;
321 param.wire_stick_detection_time = 500;
323 return param;
324 }
325 };
326
330 value struct Amplitude {
332 Double left;
334 Double right;
335
338 Amplitude param;
339 param.left = 0.1;
340 param.right = 0.1;
341 return param;
342 }
343 };
344
348 value struct ElevationAngle {
350 Double left;
352 Double right;
353
356 ElevationAngle param;
357 param.left = 0;
358 param.right = 0;
359 return param;
360 }
361 };
362
366 value struct WeaveData {
368 String ^ name;
370 String ^ annotation;
374 String ^ pattern;
380 String ^ dwell_type;
382 array<Int32> ^ dwell_time;
384 Double radius;
394 Double acc;
396 Double jerk;
397
400 WeaveData param;
401 param.name = "default";
402 param.annotation = "";
403 param.weaving_reference = "cycle";
404 param.pattern = "triangular";
405 param.weave_length_frequency = 0.1;
407 param.dwell_type = "robot_stay";
408 param.dwell_time = gcnew array<Int32>{0, 0, 0};
409 param.radius = 0.1;
410 param.phase_invert = false;
411 param.elevation_type = "v_pattern";
413 param.inclination_angle = 0;
414 param.acc = 0.5;
415 param.jerk = 5;
416 return param;
417 }
418 };
419
423 value struct WeaveAdaptiveData {
425 Boolean isAdaptive;
435 Double max_speed;
436
439 WeaveAdaptiveData param;
440 param.isAdaptive = false;
441 param.groove_width_standard = 4.00;
442 param.groove_width_ratio = 4.00;
443 param.max_groove_width = 6.00;
444 param.max_electric = 300.00;
445 param.max_speed = 8.00;
446 return param;
447 }
448 };
449
453 value struct SegData {
455 String ^ name;
457 String ^ annotation;
459 String ^ seg_type;
466
469 SegData param;
470 param.name = "default";
471 param.annotation = "";
472 param.seg_type = "normal";
473 param.non_welded_speed = "v5";
474 param.welded_distance = 0.1;
475 param.non_welded_distance = 0.1;
476 return param;
477 }
478 };
479
486 value struct LayerData {
488 String ^ name;
490 String ^ annotation;
491
497 Double y_offset;
499 Double z_offset;
504
512 Int32 aux_type;
515
516 // 自定义向量(托管数组,长度 3,单位 mm)
518 array<Double> ^ custom_point_1;
520 array<Double> ^ custom_point_2;
522 array<Double> ^ custom_point_3;
523
524 // 辅助点位(托管数组,长度 3,单位 mm)
526 array<Double> ^ aux_point_1;
528 array<Double> ^ aux_point_2;
530 array<Double> ^ aux_point_3;
531
532 // 辅助点示教次数
539
542 LayerData param;
543 param.name = "default";
544 param.annotation = "";
545
546 param.start_offset = 0.0;
547 param.end_offset = 0.0;
548 param.y_offset = 0.0;
549 param.z_offset = 0.0;
550 param.travel_angle = 0.0;
551 param.tilt_angle = 0.0;
552
553 param.z_axis_fixed_type = 0;
554 param.point_num = 0;
555 param.axis_type = 0;
556 param.aux_type = 0;
557 param.offset_coord_system = 0;
558
559 // 初始化托管数组(长度 3)
560 param.custom_point_1 = gcnew array<Double>{0.0, 0.0, 0.0};
561 param.custom_point_2 = gcnew array<Double>{0.0, 0.0, 0.0};
562 param.custom_point_3 = gcnew array<Double>{0.0, 0.0, 0.0};
563
564 param.aux_point_1 = gcnew array<Double>{0.0, 0.0, 0.0};
565 param.aux_point_2 = gcnew array<Double>{0.0, 0.0, 0.0};
566 param.aux_point_3 = gcnew array<Double>{0.0, 0.0, 0.0};
567
568 param.check_aux_point_count_1 = 0;
569 param.check_aux_point_count_2 = 0;
570 param.check_aux_point_count_3 = 0;
571
572 return param;
573 }
574 };
575
576
580 value struct LaserTrackData {
582 String ^ name;
586 Boolean y_comp;
588 Boolean z_comp;
591
594 LaserTrackData param;
595 param.name = "default";
596 param.job_number = 0;
597 param.y_comp = false;
598 param.z_comp = false;
599 param.max_invalid_length = 10;
600 return param;
601 }
602 };
603
607 value struct LaserSearchData {
609 String ^ name;
613 String ^ search_type;
615 String ^ search_mode;
619 String ^ joint_type;
620
623 LaserSearchData param;
624 param.name = "default";
625 param.job_number = 0;
626 param.search_type = "point";
627 param.search_mode = "continuous";
628 param.step_length = 2.0;
629 param.joint_type = "corner_joint";
630 return param;
631 }
632 };
633
637 value struct IOData {
639 String ^ name;
641 Int32 type;
643 Int32 bias;
645 Boolean enable;
646
649 IOData param;
650 param.name = "";
651 param.type = 0;
652 param.bias = 0;
653 param.enable = false;
654 return param;
655 }
656 };
657
661 value struct IOSetting {
688
691 IOSetting param;
705 return param;
706 }
707 };
708
714 String ^ name;
716 Double intercept;
718 List<Tuple<Double, Double> ^> ^ points;
720 Double slope;
721
725 param.name = "default";
726 param.intercept = 0;
727 param.points = gcnew List<Tuple<Double, Double> ^>();
728 param.slope = 0;
729 return param;
730 }
731 };
732
736 value struct ArcWeldRunningParam {
743
747 param.test_run_speed = 200;
748 param.wire_feed_speed = 1;
749 param.gas_detect_time = 15;
750 return param;
751 }
752 };
753
757 value struct WelderStatus {
759 Double current;
761 Double voltage;
763 String ^ state;
765 Int32 speed;
769 String ^ welding_name;
792
793
796 WelderStatus param;
797 param.current = 0;
798 param.voltage = 0;
799 param.state = "disabled";
800 param.speed = 0;
801 param.running_error = gcnew ErrorCode(0, "操作成功完成");
802 param.welding_name = "";
803 param.arc_welding = -1;
804 param.welding_distance = 0;
805 param.welding_path_num = 0;
806 param.welding_time = 0;
807 param.welding_wire_used = 0;
808 param.welder_error_code = 0;
809 param.welder_ready = false;
810 return param;
811 }
812 };
813
817 value struct WelderSetting {
819 String ^ mfr;
821 String ^ model;
823 String ^ protocol;
827 String ^ current_file;
829 String ^ voltage_file;
838
841 WelderSetting param;
842 param.mfr = "";
843 param.model = "";
844 param.protocol = "";
845 param.current_type = 0;
846 param.current_file = "";
847 param.voltage_file = "";
848 param.wire_diameter = 0;
849 param.shielding_gas = "";
850 param.program_number = 0;
851 param.dry_extension = 0;
852 return param;
853 }
854 };
855
859 value struct HandeyeData {
861 String ^ name;
863 Boolean mode;
865 array<Double> ^ xyz_abc;
867 array<Double> ^ rotMatrix;
869 array<Double> ^ transVector;
870
873 HandeyeData param;
874 param.name = "";
875 param.mode = false;
876 param.xyz_abc = gcnew array<Double>{0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
877 param.rotMatrix = gcnew array<Double>{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
878 param.transVector = gcnew array<Double>{0.0, 0.0, 0.0};
879 return param;
880 }
881 };
882
884 value struct CalibrationResult{
886 int id;
888 List<double>^ p_robot;
890 List<double>^ p_laser;
891
894 CalibrationResult param;
895 param.id = 0;
896 param.p_robot = gcnew List<double>();
897 param.p_laser = gcnew List<double>();
898 return param;
899 }
900 };
901
905 enum class LaserSensorType {
907 CRNT = 0,
909 SMART_IMAGE = 1,
911 INTELLIGENT = 2
912 };
913
917 value struct LaserSensorCfg {
919 String ^ name;
921 String ^ ip;
923 Int32 port;
927 Int32 overtime;
930
933 LaserSensorCfg param;
934 param.name = "sensor0";
935 param.ip = "192.168.2.3";
936 param.port = 502;
938 param.overtime = 1000;
939 param.communication_cycle = 70;
940 return param;
941 }
942 };
943
947 value struct LrTrackParam {
949 double pid;
956
959 LrTrackParam param;
960 param.pid = 5.0;
961 param.curr_bias_offset = 5.0;
962 param.min_compensation = 0.01;
963 param.max_compensation = 0.7;
964 return param;
965 }
966 };
967
971 value struct UdTrackParam {
973 double pid;
986
989 UdTrackParam param;
990 param.pid = 5.0;
991 param.curr_bias_offset = 5.0;
992 param.min_compensation = 0.01;
993 param.max_compensation = 0.7;
994 param.base_current = 0.0;
995 param.sampling_start_period = 5;
996 param.sampling_duration_period = 1;
997 return param;
998 }
999 };
1000
1004 value struct ArcTrackParam {
1006 String ^ name;
1008 String ^ annotation;
1021
1024 ArcTrackParam param;
1025 param.name = "";
1026 param.annotation = "";
1027 param.delay_time = 0;
1028 param.cycle = 6;
1029 param.lr_enable = false;
1030 param.ud_enable = false;
1033 return param;
1034 }
1035 };
1036
1040 value struct ArcSetOpt {
1042 String ^ arc_data;
1044 Boolean ref_start;
1046 Double distance;
1047
1050 ArcSetOpt param;
1051 param.arc_data = "";
1052 param.ref_start = true;
1053 param.distance = 0;
1054 return param;
1055 }
1056 };
1057
1062 String^ signal;
1063 Boolean enable;
1064 Boolean block;
1065 Int32 countdown;
1066
1067 static AnticollisionState CreateDefault() {
1068 AnticollisionState param;
1069 param.signal = "";
1070 param.enable = false;
1071 param.block = false;
1072 param.countdown = 60;
1073 return param;
1074 }
1075 };
1076
1083 ArcOnData getArcOnData(String ^ arconDataName, [Out] ErrorCode ^ % ec);
1084
1090 void setArcOnData(ArcOnData arconData, [Out] ErrorCode ^ % ec);
1091
1097 void removeArcOnData(String ^ arconDataName, [Out] ErrorCode ^ % ec);
1098
1104 void removeArcOnData(List<String ^> ^ arconDataNames, [Out] ErrorCode ^ % ec);
1105
1112 ArcData getArcData(String ^ arcDataName, [Out] ErrorCode ^ % ec);
1113
1119 void setArcData(ArcData arcData, [Out] ErrorCode ^ % ec);
1120
1126 void removeArcData(String ^ arcDataName, [Out] ErrorCode ^ % ec);
1127
1133 void removeArcData(List<String ^> ^ arcDataNames, [Out] ErrorCode ^ % ec);
1134
1141 void enableArcData(ArcData arcData, [Out] ErrorCode ^ % ec);
1142
1149 ArcOffData getArcOffData(String ^ arcoffDataName, [Out] ErrorCode ^ % ec);
1150
1156 void setArcOffData(ArcOffData arcoffData, [Out] ErrorCode ^ % ec);
1157
1163 void removeArcOffData(String ^ arcoffDataName, [Out] ErrorCode ^ % ec);
1164
1170 void removeArcOffData(List<String ^> ^ arcoffDataNames, [Out] ErrorCode ^ % ec);
1171
1178 WeaveData getWeaveData(String ^ weaveDataName, [Out] ErrorCode ^ % ec);
1179
1185 void setWeaveData(WeaveData weaveData, [Out] ErrorCode ^ % ec);
1186
1192 void removeWeaveData(String ^ weaveDataName, [Out] ErrorCode ^ % ec);
1193
1199 void removeWeaveData(List<String ^> ^ weaveDataNames, [Out] ErrorCode ^ % ec);
1200
1207
1212 void setWeaveAdaptiveData(WeaveAdaptiveData weaveAdaptiveData, [Out] ErrorCode^% ec);
1213
1220 SegData getSegData(String^ segDataName, [Out] ErrorCode ^ % ec);
1221
1227 void setSegData(SegData segData, [Out] ErrorCode ^ % ec);
1228
1234 void removeSegData(String^ segDataName, [Out] ErrorCode ^ % ec);
1235
1241 void removeSegData(List<String^>^ segDataNames, [Out] ErrorCode ^ % ec);
1242
1249 LayerData getLayerData(String ^ layerDataName, [Out] ErrorCode ^ % ec);
1250
1256 void setLayerData(LayerData layerData, [Out] ErrorCode ^ % ec);
1257
1263 void removeLayerData(String ^ layerDataName, [Out] ErrorCode ^ % ec);
1264
1270 void removeLayerData(List<String ^> ^ layerDataNames, [Out] ErrorCode ^ % ec);
1271
1278 LaserTrackData getLaserTrackData(String^ laserTrackDataName, [Out] ErrorCode ^ % ec);
1279
1285 void setLaserTrackData(LaserTrackData laserTrackData, [Out] ErrorCode ^ % ec);
1286
1292 void removeLaserTrackData(String^ laserTrackDataName, [Out] ErrorCode ^ % ec);
1293
1299 void removeLaserTrackData(List<String^>^ laserTrackDataNames, [Out] ErrorCode ^ % ec);
1300
1307 LaserSearchData getLaserSearchData(String^ laserSearchDataName, [Out] ErrorCode ^ % ec);
1308
1314 void setLaserSearchData(LaserSearchData laserSearchData, [Out] ErrorCode ^ % ec);
1315
1321 void removeLaserSearchData(String^ laserSearchDataName, [Out] ErrorCode ^ % ec);
1322
1328 void removeLaserSearchData(List<String^>^ laserSearchDataNames, [Out] ErrorCode ^ % ec);
1329
1336
1342 void setIOSetting(IOSetting ioSetting, [Out] ErrorCode ^ % ec);
1343
1351
1358
1366
1373
1381
1389
1396
1405 void setWelder(String^ protocol, String^ mfr, String^ type, Int32 current, [Out] ErrorCode ^ % ec);
1406
1412 void setWelder(ArcWelding::WelderSetting welderSetting, [Out] ErrorCode ^ % ec);
1413
1420
1425 void connectToWelder([Out] ErrorCode ^ % ec);
1426
1432
1438 Boolean isEniHaveWeld([Out] ErrorCode ^ % ec);
1439
1448 void setIsEniHaveWeld(Boolean isEniHaveWeld, [Out] ErrorCode ^ % ec);
1449
1456
1462 void setWeldMode(WeldMode weldMode, [Out] ErrorCode ^ % ec);
1463
1470
1477
1484 void feedOnWire(Double time, Boolean enable, [Out] ErrorCode ^ % ec);
1485
1492 void feedBackWire(Double time, Boolean enable, [Out] ErrorCode ^ % ec);
1493
1500 void detectGas(Double time, Boolean enable, [Out] ErrorCode ^ % ec);
1501
1508 void setCurrentAndVoltage(Double current, Double voltage, [Out] ErrorCode ^ % ec);
1509
1516 void saveCurrentAndVoltage(Double current, Double voltage, [Out] ErrorCode ^ % ec);
1517
1525 void startWelding(Double current, Double voltage, String^ voltage_mode, [Out] ErrorCode ^ % ec);
1526
1536 void startWelding(Double current, Double voltage, String^ voltage_mode, String^ current_mode, String^ work_mode, [Out] ErrorCode ^ % ec);
1537
1542 void stopWelding([Out] ErrorCode ^ % ec);
1543
1547 void clearWelderAlarm([Out] ErrorCode ^ % ec);
1548
1554 void setHandeyeData(HandeyeData handeyedata, [Out] ErrorCode ^ % ec);
1555
1562 HandeyeData getHandeyeData(String^ name, [Out] ErrorCode ^ % ec);
1563
1569 void removeHandeyeData(String^ name, [Out] ErrorCode ^ % ec);
1570
1576 void removeHandeyeData(List<String^>^ names, [Out] ErrorCode ^ % ec);
1577
1584 void startHandeyeCalibration(String ^ name, int type, [Out] ErrorCode ^ % ec);
1585
1593
1600 List<double> ^ calibrateEnd(HandeyeData% handeyedata, [Out] ErrorCode ^ % ec);
1601
1608
1615 LaserSensorCfg getLaserSensorCfg(String^ name, [Out] ErrorCode ^ % ec);
1616
1622 void removeLaserSensorCfg(String^ device_name, [Out] ErrorCode ^ % ec);
1623
1629 void removeLaserSensorCfg(List<String^>^ device_names, [Out] ErrorCode ^ % ec);
1630
1636 void connLaserSensorDev(String^ device_name, [Out] ErrorCode ^ % ec);
1637
1643 void disconnLaserSensorDev(String^ device_name, [Out] ErrorCode ^ % ec);
1644
1650 void openLaserTrack(String^ device_name, [Out] ErrorCode ^ % ec);
1651
1657 void closeLaserTrack(String^ device_name, [Out] ErrorCode ^ % ec);
1658
1664 void setArcTrackParam(ArcTrackParam param, [Out] ErrorCode ^ % ec);
1665
1672 ArcTrackParam getArcTrackParam(String ^ name, [Out] ErrorCode ^ % ec);
1673
1679 void removeArcTrackParam(String ^ name, [Out] ErrorCode ^ % ec);
1680
1686 void removeArcTrackParam(List<String^>^ names, [Out] ErrorCode ^ % ec);
1687
1696 void setAnticollision(String^ signal, Boolean enable, Boolean block, Int32 countdown, [Out] ErrorCode ^ % ec);
1697
1704
1710 array<String^>^ getWelderWorkModes([Out] ErrorCode ^ % ec);
1711
1718
1720
1725 {
1726 public:
1731
1737 ArcOnCommand(String^ arcOnData, String^ arcData);
1738
1744 void setArcOnData(String^ arcOnData, [Out] ErrorCode ^ % ec);
1745
1750 String^ getArcOnData();
1751
1757 void setArcData(String^ arcData, [Out] ErrorCode ^ % ec);
1758
1763 String^ getArcData();
1764
1765 private:
1766 String^ m_arcOnData{"default"};
1767 String^ m_arcData{"default"};
1768 };
1769
1774 {
1775 public:
1780
1785 ArcOffCommand(String^ arcOffData);
1786
1792 void setArcOffData(String^ arcOffData, [Out] ErrorCode ^ % ec);
1793
1798 String^ getArcOffData();
1799
1800 private:
1801 String^ m_arcOffData{"default"};
1802 };
1803
1808 public:
1813
1820 FeedOnWireCommand(Double time, Double speed, Boolean isFeed);
1821
1829 void setFeedOnWireData(Double time, Double speed, Boolean isFeed, [Out] ErrorCode ^ % ec);
1830
1837 void getFeedOnWireData(Double % time, Double % speed, Boolean % isFeed);
1838
1839 private:
1840 Double m_time;
1841 Double m_speed { 1.0 };
1842 Boolean m_isFeed { true };
1843 };
1844
1849 public:
1854
1861 FeedBackWireCommand(Double time, Double speed, Boolean isReverse);
1862
1870 void setFeedBackWireData(Double time, Double speed, Boolean isReverse, [Out] ErrorCode ^ % ec);
1871
1878 void getFeedBackWireData(Double % time, Double % speed, Boolean % isReverse);
1879
1880 private:
1881 Double m_time;
1882 Double m_speed { 1.0 };
1883 Boolean m_isReverse { true };
1884 };
1885
1890 {
1891 public:
1896
1903 WMoveLCommand(CartesianPosition ^ target, Int32 speed, Int32 zone): target(target), speed(speed), zone(zone), m_weaveData(""), m_trackData(""){};
1904
1912 WMoveLCommand(CartesianPosition ^ target, Int32 speed, Int32 zone, String ^ weaveData): target(target), speed(speed), zone(zone), m_weaveData(weaveData), m_trackData(""){};
1913
1922 WMoveLCommand(CartesianPosition ^ target, Int32 speed, Int32 zone, String ^ weaveData, String ^ trackData);
1923
1929 void setWeaveData(String ^ weaveData, [Out] ErrorCode ^ % ec);
1930
1935 String ^ getWeaveData();
1936
1942 void setTrackData(String ^ trackData, [Out] ErrorCode ^ % ec);
1943
1948 String ^ getTrackData();
1949
1953 Int32 speed = -1;
1955 Int32 zone = -1;
1960 double rotSpeed = -1;
1962 String ^ customInfo = "";
1965
1966 private:
1968 String ^ m_weaveData = "";
1970 String ^ m_trackData = "";
1971 };
1972
1977 {
1978 public:
1983
1991 WMoveCCommand(CartesianPosition ^ target, CartesianPosition ^ aux, Int32 speed, Int32 zone): target(target), aux(aux), speed(speed), zone(zone), m_weaveData(""), m_trackData(""){};
1992
2001 WMoveCCommand(CartesianPosition ^ target, CartesianPosition ^ aux, Int32 speed, Int32 zone, String ^ weaveData): target(target), aux(aux), speed(speed), zone(zone), m_weaveData(weaveData), m_trackData(""){};
2002
2012 WMoveCCommand(CartesianPosition ^ target, CartesianPosition ^ aux, Int32 speed, Int32 zone, String ^ weaveData, String ^ trackData);
2013
2019 void setWeaveData(String ^ weaveData, [Out] ErrorCode ^ % ec);
2020
2025 String ^ getWeaveData();
2026
2032 void setTrackData(String ^ trackData, [Out] ErrorCode ^ % ec);
2033
2038 String ^ getTrackData();
2039
2049 Int32 speed = -1;
2051 Int32 zone = -1;
2054 double rotSpeed = -1;
2056 String ^ customInfo = "";
2059
2060 private:
2062 String ^ m_weaveData = "";
2064 String ^ m_trackData = "";
2065 };
2066
2071 public:
2076
2085 WMoveCFCommand(CartesianPosition ^ target, CartesianPosition ^ aux, double angle, Int32 speed, Int32 zone): target(target), aux(aux), angle(angle), speed(speed), zone(zone), m_weaveData(""), m_trackData(""){};
2086
2096 WMoveCFCommand(CartesianPosition ^ target, CartesianPosition ^ aux, double angle, Int32 speed, Int32 zone, String ^ weaveData): target(target), aux(aux), angle(angle), speed(speed), zone(zone), m_weaveData(weaveData), m_trackData(""){};
2097
2108 WMoveCFCommand(CartesianPosition ^ target, CartesianPosition ^ aux, double angle, Int32 speed, Int32 zone, String ^ weaveData, String ^ trackData);
2109
2115 void setWeaveData(String ^ weaveData, [Out] ErrorCode ^ % ec);
2116
2121 String ^ getWeaveData();
2122
2128 void setTrackData(String ^ trackData, [Out] ErrorCode ^ % ec);
2129
2134 String ^ getTrackData();
2135
2145 Int32 speed = -1;
2147 Int32 zone = -1;
2150 double rotSpeed = -1;
2152 String ^ customInfo = "";
2154 double angle = 0;
2156 int rotType = 0;
2159
2160 private:
2162 String ^ m_weaveData = "";
2164 String ^ m_trackData = "";
2165 };
2166
2171 {
2172 public:
2177
2189
2200
2214 Int32 speed = -1;
2223 double rotSpeed = -1;
2228 };
2229
2234 {
2235 public:
2240
2245 WeaveOnCommand(String^ weaveData);
2246
2252 void setWeaveData(String^ weaveData, [Out] ErrorCode ^ % ec);
2253
2258 String^ getWeaveData();
2259
2260 private:
2262 String^ m_weaveData{"default"};
2263 };
2264
2269 {
2270 };
2271
2276 public:
2281
2286 OffsetOnCommand(String ^ layerData);
2287
2293 OffsetOnCommand(String ^ layerData, Int32 rpm);
2294
2300 void setOffsetOnData(String ^ layerData, [Out] ErrorCode ^ % ec);
2301
2308 void setOffsetOnData(String ^ layerData, Int32 rpm, [Out] ErrorCode ^ % ec);
2309
2311 String ^ m_layerData { "default" };
2312 Int32 m_rpm { 0 };
2313 };
2314
2319
2324 public:
2325
2326
2331
2342
2343 ChangeLayerDataCommand(String ^ layerDataName, Double startOffset, Double endOffset, Double yOffset, Double zOffset, Double travelAngle, Double tiltAngle);
2344
2350
2351 private:
2353 ArcWelding::LayerData ^ m_layerData;
2354 };
2355
2360 {
2361 public:
2366
2372 LaserTrackOnCommand(String^ handEyeData, String^ laserTrackData);
2373
2379 void setHandEyeData(String^ handEyeData, [Out] ErrorCode ^ % ec);
2380
2386
2392 void setLaserTrackData(String^ laserTrackData, [Out] ErrorCode ^ % ec);
2393
2399
2400 private:
2402 String^ m_handEyeData{"default"};
2404 String^ m_laserTrackData{"default"};
2405 };
2406
2411 {
2412 };
2413
2418 {
2419 public:
2424
2434
2435 public:
2437 String^ laserHandEyeData = "default";
2439 String^ laserSearchData = "default";
2443 Int32 speed = -1;
2445 Int32 zone = -1;
2446 };
2447
2452 {
2453 public:
2458
2464
2466 String^ segData = "default";
2467 };
2468
2472 ref class SegOffCommand : public ArcWeldingCommand{};
2473
2485 Tuple<Boolean, CartesianPosition^>^ executeLaserSearch(ArcWelding::LaserSearchCommand^ cmd, Boolean isMove, System::TimeSpan^ timeout, [Out] ErrorCode ^ % ec);
2486
2493 CartesianPosition^ calcIntersection(array<CartesianPosition^>^ points, [Out] ErrorCode ^ % ec);
2494
2503 CartesianPosition ^ GetLaserPos(CartesianPosition ^ pos, String ^ laserHandEyeData, [Out] ErrorCode ^ % ec, String ^ refSys);
2504
2513 Frame ^ getRefBy3Points(array<CartesianPosition^>^ points, bool withOrigin, DirType dt, [Out] ErrorCode ^ % ec);
2514
2515 private:
2516 rokae::ArcWelding *_arcwelding;
2517 };
2518}
2519
2520#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
ArcWelding::LayerData getChangeLayerData()
Constructor
ChangeLayerDataCommand(String ^ layerDataName, Double startOffset, Double endOffset, Double yOffset, Double zOffset, Double travelAngle, Double tiltAngle)
ChangeLayerDataCommand
焊接指令 - 退丝,退丝速度,默认1.0 m/min,退丝默认为生效true
FeedBackWireCommand(Double time, Double speed, Boolean isReverse)
Constructor
FeedBackWireCommand()
Constructor,退丝默认为生效
void setFeedBackWireData(Double time, Double speed, Boolean isReverse, [Out] ErrorCode ^ % ec)
设置退丝参数
void getFeedBackWireData(Double % time, Double % speed, Boolean % isReverse)
获取退丝参数
焊接指令 - 送丝,送丝速度默认1.0 m/min, 送丝默认为生效true
void getFeedOnWireData(Double % time, Double % speed, Boolean % isFeed)
获取送丝参数
FeedOnWireCommand(Double time, Double speed, Boolean isFeed)
Constructor
void setFeedOnWireData(Double time, Double speed, Boolean isFeed, [Out] ErrorCode ^ % ec)
设置送丝参数
FeedOnWireCommand()
Constructor,默认送丝生效
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)
设置激光跟踪参数名称
OffsetOnCommand(String ^ layerData, Int32 rpm)
Constructor
void setOffsetOnData(String ^ layerData, Int32 rpm, [Out] ErrorCode ^ % ec)
设置摆动参数
void setOffsetOnData(String ^ layerData, [Out] ErrorCode ^ % ec)
设置摆动参数
OffsetOnCommand(String ^ layerData)
Constructor
焊接指令 - 关闭间断焊
焊接指令 - 开启间断焊
SegOnCommand(String^ segData)
Constructor
String segData
间断焊参数名称
焊接指令 - 圆弧轨迹,摆动参数默认为空
WMoveCCommand(CartesianPosition ^ target, CartesianPosition ^ aux, Int32 speed, Int32 zone, String ^ weaveData, String ^ trackData)
Constructor
double rotSpeed
空间旋转速度,用于末端类型指令,单位rad/s。 大于等于0时生效;小于0时旋转速度默认为200°/s
void setWeaveData(String ^ weaveData, [Out] ErrorCode ^ % ec)
设置摆动参数
WMoveCCommand(CartesianPosition ^ target, CartesianPosition ^ aux, Int32 speed, Int32 zone)
Constructor
String getTrackData()
获取电弧跟踪参数
CartesianPosition::Offset cartTargetOffset
笛卡尔目标点偏移选项
String getWeaveData()
获取摆动参数
Int32 speed
机器人末端最大线速度, 单位mm/s。
CartesianPosition target
目标笛卡尔点位
void setTrackData(String ^ trackData, [Out] ErrorCode ^ % ec)
设置电弧跟踪参数
ArcSetOpt arc_set_opt
设置焊接参数选项。
Int32 zone
转弯区半径,单位mm
CartesianPosition::Offset auxPointOffset
辅助点偏移选项
String customInfo
自定义信息,可在运动信息反馈中返回出来
WMoveCCommand(CartesianPosition ^ target, CartesianPosition ^ aux, Int32 speed, Int32 zone, String ^ weaveData)
Constructor
焊接指令 - 整圆轨迹,摆动参数默认为空
WMoveCFCommand(CartesianPosition ^ target, CartesianPosition ^ aux, double angle, Int32 speed, Int32 zone)
Constructor
CartesianPosition::Offset cartTargetOffset
笛卡尔目标点偏移选项
double rotSpeed
空间旋转速度,用于末端类型指令,单位rad/s。 大于等于0时生效;小于0时旋转速度默认为200°/s
ArcSetOpt arc_set_opt
设置焊接参数选项。
CartesianPosition::Offset auxPointOffset
辅助点偏移选项
void setTrackData(String ^ trackData, [Out] ErrorCode ^ % ec)
设置电弧跟踪参数
int rotType
旋转姿态类型, 0不变姿态|1动轴旋转|2定轴旋转
double angle
执行角度, 单位弧度
String getTrackData()
获取电弧跟踪参数
Int32 speed
机器人末端最大线速度, 单位mm/s。
CartesianPosition target
目标笛卡尔点位
WMoveCFCommand(CartesianPosition ^ target, CartesianPosition ^ aux, double angle, Int32 speed, Int32 zone, String ^ weaveData, String ^ trackData)
Constructor
Int32 zone
转弯区半径,单位mm
void setWeaveData(String ^ weaveData, [Out] ErrorCode ^ % ec)
设置摆动参数
WMoveCFCommand(CartesianPosition ^ target, CartesianPosition ^ aux, double angle, Int32 speed, Int32 zone, String ^ weaveData)
Constructor
String customInfo
自定义信息,可在运动信息反馈中返回出来
String getWeaveData()
获取摆动参数
焊接指令 - 直线轨迹,摆动参数默认为空
Int32 zone
转弯区半径,单位mm
CartesianPosition target
目标笛卡尔点位
CartesianPosition::Offset cartTargetOffset
笛卡尔目标点偏移选项
String getWeaveData()
获取摆动参数
Int32 speed
机器人末端最大线速度,单位mm/s
WMoveLCommand(CartesianPosition ^ target, Int32 speed, Int32 zone)
Constructor
WMoveLCommand(CartesianPosition ^ target, Int32 speed, Int32 zone, String ^ weaveData, String ^ trackData)
Constructor
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
void setTrackData(String ^ trackData, [Out] ErrorCode ^ % ec)
设置电弧跟踪参数
WMoveLCommand()
Constructor,默认摆动参数名为空
String getTrackData()
获取电弧跟踪参数
CartesianPosition targetAux
目标辅助笛卡尔点位
Int32 speed
机器人末端最大线速度, 单位mm/s。
Double dwellTimeLeft
左边缘停留时间。单位:ms,范围:[0 10000]
CartesianPosition::Offset targetPointOffset
笛卡尔目标点偏移选项
WMoveLPendulumCommand(CartesianPosition^ startAux, CartesianPosition^ targetAux, CartesianPosition^ target, Int32 speed, Double frequency, Double dwellTimeLeft, Double dwellTimeRight)
Constructor,首条钟摆
Double frequency
摆动频率。单位:Hz,范围:[0.1 5]
CartesianPosition::Offset targetAuxPointOffset
目标辅助点偏移选项
ArcSetOpt arc_set_opt
设置焊接参数选项。
Double dwellTimeRight
右边缘停留时间。单位:ms,范围:[0 10000]
double rotSpeed
空间旋转速度,用于末端类型指令,单位rad/s。 大于等于0时生效;小于0时旋转速度默认为200°/s
CartesianPosition::Offset startAuxTPointOffset
起始辅助点偏移选项
CartesianPosition startAux
起始辅助笛卡尔点位
WMoveLPendulumCommand(CartesianPosition^ targetAux, CartesianPosition^ target, Int32 speed, Double frequency, Double dwellTimeLeft, Double dwellTimeRight)
Constructor,非首条钟摆
String getWeaveData()
获取摆动参数
WeaveOnCommand(String^ weaveData)
Constructor
void setWeaveData(String^ weaveData, [Out] ErrorCode ^ % ec)
设置摆动参数
焊接工艺包指令
LaserSensorCfg getLaserSensorCfg(String^ name, [Out] ErrorCode ^ % ec)
获取激光传感器配置参数
array< String^> getWelderWorkModes([Out] ErrorCode ^ % ec)
获取当前连接的焊机对应的工作模式
WeaveAdaptiveData getWeaveAdaptiveData([Out] ErrorCode^% ec)
获取摆焊-自适应参数
Frame getRefBy3Points(array< CartesianPosition^>^ points, bool withOrigin, DirType dt, [Out] ErrorCode ^ % ec)
激光寻位 - 三点法获得一个坐标系
void setIsEniHaveWeld(Boolean isEniHaveWeld, [Out] ErrorCode ^ % ec)
设置是否连接物理焊机(仅EtherCAT焊机,切换ENI文件,重启控制器生效)
CartesianPosition calcIntersection(array< CartesianPosition^>^ points, [Out] ErrorCode ^ % ec)
激光寻位 - 四点计算交点。只计算位置,姿态取points第一点的姿态
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)
批量删除焊接参数
void removeLayerData(String ^ layerDataName, [Out] ErrorCode ^ % ec)
删除多层多道偏移参数
CartesianPosition GetLaserPos(CartesianPosition ^ pos, String ^ laserHandEyeData, [Out] ErrorCode ^ % ec, String ^ refSys)
获取激光位置。只计算位置,姿态不变
ArcData getArcData(String ^ arcDataName, [Out] ErrorCode ^ % ec)
获取焊接参数
ArcOnData getArcOnData(String ^ arconDataName, [Out] ErrorCode ^ % ec)
获取起弧参数
void removeLayerData(List< String ^> ^ layerDataNames, [Out] ErrorCode ^ % ec)
批量删除多层多道偏移参数
WelderStatus getWelderStatus([Out] ErrorCode ^ % ec)
获取焊机状态
ArcWeldRunningParam getRunningParam([Out] ErrorCode ^ % ec)
读取焊接运行参数
WeldOffsetJogDir
叠加摆动偏移方向
CharacteristicCurveData calculateVoltageCurve(CharacteristicCurveData data, [Out] ErrorCode ^ % ec)
计算电压特性曲线参数,只计算,不保存
CharacteristicCurveData getCurrentCharacteristicCurveData(String^ name, [Out] ErrorCode ^ % ec)
获取电流特性曲线参数
void disconnectFromWelder([Out] ErrorCode ^ % ec)
断开焊机连接,关闭弧焊功能
ArcTrackParam getArcTrackParam(String ^ name, [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 weldOffsetJog(WeldOffsetJogDir dir, [Out] ErrorCode ^ % ec)
叠加摆动偏移Jog,焊接过程中,沿路径坐标系 Y、Z 方向点动机器人 TCP 接口
void setWelder(ArcWelding::WelderSetting welderSetting, [Out] ErrorCode ^ % ec)
设置焊机
HandeyeData getHandeyeData(String^ name, [Out] ErrorCode ^ % ec)
获得目前设置的手眼标定结果
void removeArcOnData(String ^ arconDataName, [Out] ErrorCode ^ % ec)
删除起弧参数
void setArcTrackParam(ArcTrackParam param, [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 startWelding(Double current, Double voltage, String^ voltage_mode, String^ current_mode, String^ work_mode, [Out] ErrorCode ^ % ec)
开始铆焊。
void removeArcTrackParam(List< String^>^ names, [Out] ErrorCode ^ % ec)
删除多个电弧跟踪参数
void enableArcData(ArcData arcData, [Out] ErrorCode ^ % ec)
生效焊接参数 在未运行时将焊接参数发送给焊机,观察焊机面板显示,用于检查通讯是否建立,设置是否准确,不保存
void clearWelderAlarm([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
激光传感器品牌选择
LayerData getLayerData(String ^ layerDataName, [Out] ErrorCode ^ % ec)
获取多层多道偏移参数
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)
设置焊接模式
DirType
坐标系标定顺序类型
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 setWeaveAdaptiveData(WeaveAdaptiveData weaveAdaptiveData, [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)
设置电流特性曲线参数,同时执行计算并保存
void setLayerData(LayerData layerData, [Out] ErrorCode ^ % ec)
设置多层多道偏移参数
void removeArcTrackParam(String ^ name, [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
断弧选项。停机并告警:"stop_and_alarm",自动再起弧:"auto_arc_reignition"
Int32 detect_time
断弧检测时间。单位:ms,范围:[1 - 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()
焊接参数默认值
UdTrackParam ud_param
上下跟踪参数
bool ud_enable
是否开启上下跟踪
bool lr_enable
是否开启左右跟踪
int delay_time
延迟时间:电流采样和传输时间的延迟 单位 ms 范围:[ 0, 50 ]
int cycle
开始周期,范围:[ 3, 50 ]
LrTrackParam lr_param
左右跟踪参数
static ArcTrackParam 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、英莱INTELLIGENT)
static LaserSensorCfg CreateDefault()
激光传感器配置信息默认值
Int32 overtime
连接超时时间设置 单位:ms 范围:1-100000
double max_invalid_length
最大无效焊缝停止距离, 单位mm, 范围(0, 50]
static LaserTrackData CreateDefault()
LaserTrackData默认值
Int32 job_number
跟踪器工艺编号。范围:[0,63]
array< Double > custom_point_3
自定义点3坐标。xyz,[mm]
Int32 offset_coord_system
偏移XYZ向参考坐标系。{0: 焊缝坐标系, 1: Z向参考轴, 2: XY平面参考点}
Double tilt_angle
倾斜角。单位:°,范围:[-90, 90]
array< Double > aux_point_3
辅助点3坐标。xyz,[mm]
Int32 aux_type
辅助点类型。{1: 一点法, 3: 三点法}
Int32 axis_type
参考轴类型。{0: 正Z轴, 1: 负Z轴, 2: 正Y轴, 3: 负Y轴, 4: 正X轴, 5: 负X轴}
Double end_offset
终点偏移。单位:mm,范围:[-50, 50]
Double y_offset
Y向偏移。单位:mm,范围:[-150, 150]
array< Double > custom_point_2
自定义点2坐标。xyz,[mm]
array< Double > custom_point_1
自定义点1坐标。xyz,[mm]
Int32 check_aux_point_count_3
辅助点3示教次数
Int32 z_axis_fixed_type
Z轴固定类型。{0: 指定参考轴, 1: 自定义向量计算}
static LayerData CreateDefault()
LayerData 默认值(CreateDefault)
Double z_offset
Z向偏移。单位:mm,范围:[-150, 150]
Double travel_angle
前进角。单位:°,范围:[-90, 90]
Int32 point_num
自定义点位个数。范围:[1, 3]
Double start_offset
起点偏移。单位:mm,范围:[-50, 50]
array< Double > aux_point_1
辅助点1坐标。xyz,[mm]
Int32 check_aux_point_count_2
辅助点2示教次数
array< Double > aux_point_2
辅助点2坐标。xyz,[mm]
Int32 check_aux_point_count_1
辅助点1示教次数
电弧跟踪左右跟踪参数
double min_compensation
最小补偿量:单次补偿最小值,控制量小于该值不予补偿,单位 mm,范围:[ 0, 10 ]
double pid
比例增益:调节左右跟踪的快慢,范围:[ 0, 10 ]
double max_compensation
最大补偿量:单次补偿最大值 单位 mm,范围:[ 0, 10 ]
double curr_bias_offset
电流偏差系数:补偿正常摆动时左右电流固有偏差,范围:[ 0, 10 ]
static LrTrackParam CreateDefault()
电弧跟踪左右跟踪参数默认值
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
文件号注释
电弧跟踪上下跟踪参数
double min_compensation
最小补偿量:单次补偿最小值,控制量小于该值不予补偿,单位 mm,范围:[ 0, 10 ]
int sampling_start_period
自适应上下基准电流开始采样周期,范围[ 2, 50 ]
double curr_bias_offset
电流偏差系数:补偿正常摆动时上下电流固有偏差,范围:[ 0, 10 ]
double max_compensation
最大补偿量:单次补偿最大值,单位 mm,范围:[ 0, 10 ]
static UdTrackParam CreateDefault()
电弧跟踪上下跟踪参数默认值
double pid
比例增益:调节上下跟踪的快慢,范围:[ 0, 10 ]
int sampling_duration_period
自适应上下基准电流持续采样周期,范围[ 1, 50 ]
double base_current
基准电流值:当“ 基准电流方法” 为“ 定值” 时才需要设置该参数 单位:A,范围[ 0, 1000 ]
Double max_speed
最大速度。单位:mm/s,范围:???
Double groove_width_standard
标准坡口宽度(若自适应,不可与最大坡口宽度相等)。单位:mm,范围???
Double max_electric
最大电流。单位:A,范围:???
Double groove_width_ratio
坡口宽度比例(若自适应,不可为零)。
Double max_groove_width
最大坡口宽度(若自适应,不可与标准坡口宽度相等)。单位:mm,范围???
Boolean isAdaptive
是否自适应。是:true;否:false
static WeaveAdaptiveData CreateDefault()
WeaveAdaptiveData默认值
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 ]
int dry_extension
干伸长, 单位:mm
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指令数量,下次起弧清空
bool welder_ready
焊机是否准备好,机器人和焊机从站的连接状态,在焊机启用并且连接正常时为true
Double voltage
当前电压。单位:V
Double welding_wire_used
焊丝使用长度,下次起弧清空;单位:m
Double welding_time
焊接时间,下次起弧清空;单位:min
Double welding_distance
一次起弧收弧的已经完成焊接距离,下次起弧清空;单位:m
String welding_name
正在焊接的文件号; 类型string,结合arc_welding使用
static WelderStatus CreateDefault()
焊接状态默认值