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 WeaveAdaptiveData {
399 Boolean isAdaptive;
409 Double max_speed;
410
413 WeaveAdaptiveData param;
414 param.isAdaptive = false;
415 param.groove_width_standard = 4.00;
416 param.groove_width_ratio = 4.00;
417 param.max_groove_width = 6.00;
418 param.max_electric = 300.00;
419 param.max_speed = 8.00;
420 return param;
421 }
422 };
423
427 value struct SegData {
429 String ^ name;
431 String ^ annotation;
433 String ^ seg_type;
440
443 SegData param;
444 param.name = "default";
445 param.annotation = "";
446 param.seg_type = "normal";
447 param.non_welded_speed = "v5";
448 param.welded_distance = 0.1;
449 param.non_welded_distance = 0.1;
450 return param;
451 }
452 };
453
457 value struct LaserTrackData {
459 String ^ name;
463 Boolean y_comp;
465 Boolean z_comp;
468
471 LaserTrackData param;
472 param.name = "default";
473 param.job_number = 0;
474 param.y_comp = false;
475 param.z_comp = false;
476 param.max_invalid_length = 10;
477 return param;
478 }
479 };
480
484 value struct LaserSearchData {
486 String ^ name;
490 String ^ search_type;
492 String ^ search_mode;
496 String ^ joint_type;
497
500 LaserSearchData param;
501 param.name = "default";
502 param.job_number = 0;
503 param.search_type = "point";
504 param.search_mode = "continuous";
505 param.step_length = 2.0;
506 param.joint_type = "corner_joint";
507 return param;
508 }
509 };
510
514 value struct IOData {
516 String ^ name;
518 Int32 type;
520 Int32 bias;
522 Boolean enable;
523
526 IOData param;
527 param.name = "";
528 param.type = 0;
529 param.bias = 0;
530 param.enable = false;
531 return param;
532 }
533 };
534
538 value struct IOSetting {
565
568 IOSetting param;
582 return param;
583 }
584 };
585
591 String ^ name;
593 Double intercept;
595 List<Tuple<Double, Double> ^> ^ points;
597 Double slope;
598
602 param.name = "default";
603 param.intercept = 0;
604 param.points = gcnew List<Tuple<Double, Double> ^>();
605 param.slope = 0;
606 return param;
607 }
608 };
609
613 value struct ArcWeldRunningParam {
620
624 param.test_run_speed = 200;
625 param.wire_feed_speed = 1;
626 param.gas_detect_time = 15;
627 return param;
628 }
629 };
630
634 value struct WelderStatus {
636 Double current;
638 Double voltage;
640 String ^ state;
642 Int32 speed;
646 String ^ welding_name;
657
660 WelderStatus param;
661 param.current = 0;
662 param.voltage = 0;
663 param.state = "disabled";
664 param.speed = 0;
665 param.running_error = gcnew ErrorCode(0, "操作成功完成");
666 param.welding_name = "";
667 param.arc_welding = -1;
668 param.welding_distance = 0;
669 param.welding_path_num = 0;
670 return param;
671 }
672 };
673
677 value struct WelderSetting {
679 String ^ mfr;
681 String ^ model;
683 String ^ protocol;
687 String ^ current_file;
689 String ^ voltage_file;
696
699 WelderSetting param;
700 param.mfr = "";
701 param.model = "";
702 param.protocol = "";
703 param.current_type = 0;
704 param.current_file = "";
705 param.voltage_file = "";
706 param.wire_diameter = 0;
707 param.shielding_gas = "";
708 param.program_number = 0;
709 return param;
710 }
711 };
712
716 value struct HandeyeData {
718 String ^ name;
720 Boolean mode;
722 array<Double> ^ xyz_abc;
724 array<Double> ^ rotMatrix;
726 array<Double> ^ transVector;
727
730 HandeyeData param;
731 param.name = "";
732 param.mode = false;
733 param.xyz_abc = gcnew array<Double>{0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
734 param.rotMatrix = gcnew array<Double>{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
735 param.transVector = gcnew array<Double>{0.0, 0.0, 0.0};
736 return param;
737 }
738 };
739
741 value struct CalibrationResult{
743 int id;
745 List<double>^ p_robot;
747 List<double>^ p_laser;
748
751 CalibrationResult param;
752 param.id = 0;
753 param.p_robot = gcnew List<double>();
754 param.p_laser = gcnew List<double>();
755 return param;
756 }
757 };
758
762 enum class LaserSensorType {
764 CRNT = 0,
766 SMART_IMAGE = 1,
768 INTELLIGENT = 2
769 };
770
774 value struct LaserSensorCfg {
776 String ^ name;
778 String ^ ip;
780 Int32 port;
784 Int32 overtime;
787
790 LaserSensorCfg param;
791 param.name = "sensor0";
792 param.ip = "192.168.2.3";
793 param.port = 502;
795 param.overtime = 1000;
796 param.communication_cycle = 70;
797 return param;
798 }
799 };
800
804 value struct LrTrackParam {
806 double pid;
813
816 LrTrackParam param;
817 param.pid = 5.0;
818 param.curr_bias_offset = 5.0;
819 param.min_compensation = 0.01;
820 param.max_compensation = 0.7;
821 return param;
822 }
823 };
824
828 value struct UdTrackParam {
830 double pid;
843
846 UdTrackParam param;
847 param.pid = 5.0;
848 param.curr_bias_offset = 5.0;
849 param.min_compensation = 0.01;
850 param.max_compensation = 0.7;
851 param.base_current = 0.0;
852 param.sampling_start_period = 5;
853 param.sampling_duration_period = 1;
854 return param;
855 }
856 };
857
861 value struct ArcTrackParam {
863 String ^ name;
865 String ^ annotation;
869 int cycle;
878
881 ArcTrackParam param;
882 param.name = "";
883 param.annotation = "";
884 param.delay_time = 0;
885 param.cycle = 6;
886 param.lr_enable = false;
887 param.ud_enable = false;
890 return param;
891 }
892 };
893
897 value struct ArcSetOpt {
899 String ^ arc_data;
901 Boolean ref_start;
903 Double distance;
904
907 ArcSetOpt param;
908 param.arc_data = "";
909 param.ref_start = true;
910 param.distance = 0;
911 return param;
912 }
913 };
914
918 value struct AnticollisionState{
919 String^ signal;
920 Boolean enable;
921 Boolean block;
922 Int32 countdown;
923
924 static AnticollisionState CreateDefault() {
925 AnticollisionState param;
926 param.signal = "";
927 param.enable = false;
928 param.block = false;
929 param.countdown = 60;
930 return param;
931 }
932 };
933
940 ArcOnData getArcOnData(String ^ arconDataName, [Out] ErrorCode ^ % ec);
941
947 void setArcOnData(ArcOnData arconData, [Out] ErrorCode ^ % ec);
948
954 void removeArcOnData(String ^ arconDataName, [Out] ErrorCode ^ % ec);
955
961 void removeArcOnData(List<String ^> ^ arconDataNames, [Out] ErrorCode ^ % ec);
962
969 ArcData getArcData(String ^ arcDataName, [Out] ErrorCode ^ % ec);
970
976 void setArcData(ArcData arcData, [Out] ErrorCode ^ % ec);
977
983 void removeArcData(String ^ arcDataName, [Out] ErrorCode ^ % ec);
984
990 void removeArcData(List<String ^> ^ arcDataNames, [Out] ErrorCode ^ % ec);
991
998 void enableArcData(ArcData arcData, [Out] ErrorCode ^ % ec);
999
1006 ArcOffData getArcOffData(String ^ arcoffDataName, [Out] ErrorCode ^ % ec);
1007
1013 void setArcOffData(ArcOffData arcoffData, [Out] ErrorCode ^ % ec);
1014
1020 void removeArcOffData(String ^ arcoffDataName, [Out] ErrorCode ^ % ec);
1021
1027 void removeArcOffData(List<String ^> ^ arcoffDataNames, [Out] ErrorCode ^ % ec);
1028
1035 WeaveData getWeaveData(String ^ weaveDataName, [Out] ErrorCode ^ % ec);
1036
1042 void setWeaveData(WeaveData weaveData, [Out] ErrorCode ^ % ec);
1043
1049 void removeWeaveData(String ^ weaveDataName, [Out] ErrorCode ^ % ec);
1050
1056 void removeWeaveData(List<String ^> ^ weaveDataNames, [Out] ErrorCode ^ % ec);
1057
1064
1069 void setWeaveAdaptiveData(WeaveAdaptiveData weaveAdaptiveData, [Out] ErrorCode^% ec);
1070
1077 SegData getSegData(String^ segDataName, [Out] ErrorCode ^ % ec);
1078
1084 void setSegData(SegData segData, [Out] ErrorCode ^ % ec);
1085
1091 void removeSegData(String^ segDataName, [Out] ErrorCode ^ % ec);
1092
1098 void removeSegData(List<String^>^ segDataNames, [Out] ErrorCode ^ % ec);
1099
1106 LaserTrackData getLaserTrackData(String^ laserTrackDataName, [Out] ErrorCode ^ % ec);
1107
1113 void setLaserTrackData(LaserTrackData laserTrackData, [Out] ErrorCode ^ % ec);
1114
1120 void removeLaserTrackData(String^ laserTrackDataName, [Out] ErrorCode ^ % ec);
1121
1127 void removeLaserTrackData(List<String^>^ laserTrackDataNames, [Out] ErrorCode ^ % ec);
1128
1135 LaserSearchData getLaserSearchData(String^ laserSearchDataName, [Out] ErrorCode ^ % ec);
1136
1142 void setLaserSearchData(LaserSearchData laserSearchData, [Out] ErrorCode ^ % ec);
1143
1149 void removeLaserSearchData(String^ laserSearchDataName, [Out] ErrorCode ^ % ec);
1150
1156 void removeLaserSearchData(List<String^>^ laserSearchDataNames, [Out] ErrorCode ^ % ec);
1157
1164
1170 void setIOSetting(IOSetting ioSetting, [Out] ErrorCode ^ % ec);
1171
1179
1186
1194
1201
1209
1217
1224
1233 void setWelder(String^ protocol, String^ mfr, String^ type, Int32 current, [Out] ErrorCode ^ % ec);
1234
1240 void setWelder(ArcWelding::WelderSetting welderSetting, [Out] ErrorCode ^ % ec);
1241
1248
1253 void connectToWelder([Out] ErrorCode ^ % ec);
1254
1260
1266 Boolean isEniHaveWeld([Out] ErrorCode ^ % ec);
1267
1276 void setIsEniHaveWeld(Boolean isEniHaveWeld, [Out] ErrorCode ^ % ec);
1277
1284
1290 void setWeldMode(WeldMode weldMode, [Out] ErrorCode ^ % ec);
1291
1298
1305
1312 void feedOnWire(Double time, Boolean enable, [Out] ErrorCode ^ % ec);
1313
1320 void feedBackWire(Double time, Boolean enable, [Out] ErrorCode ^ % ec);
1321
1328 void detectGas(Double time, Boolean enable, [Out] ErrorCode ^ % ec);
1329
1336 void setCurrentAndVoltage(Double current, Double voltage, [Out] ErrorCode ^ % ec);
1337
1344 void saveCurrentAndVoltage(Double current, Double voltage, [Out] ErrorCode ^ % ec);
1345
1353 void startWelding(Double current, Double voltage, String^ voltage_mode, [Out] ErrorCode ^ % ec);
1354
1359 void stopWelding([Out] ErrorCode ^ % ec);
1360
1366 void setHandeyeData(HandeyeData handeyedata, [Out] ErrorCode ^ % ec);
1367
1374 HandeyeData getHandeyeData(String^ name, [Out] ErrorCode ^ % ec);
1375
1381 void removeHandeyeData(String^ name, [Out] ErrorCode ^ % ec);
1382
1388 void removeHandeyeData(List<String^>^ names, [Out] ErrorCode ^ % ec);
1389
1396 void startHandeyeCalibration(String ^ name, int type, [Out] ErrorCode ^ % ec);
1397
1405
1412 List<double> ^ calibrateEnd(HandeyeData% handeyedata, [Out] ErrorCode ^ % ec);
1413
1420
1427 LaserSensorCfg getLaserSensorCfg(String^ name, [Out] ErrorCode ^ % ec);
1428
1434 void removeLaserSensorCfg(String^ device_name, [Out] ErrorCode ^ % ec);
1435
1441 void removeLaserSensorCfg(List<String^>^ device_names, [Out] ErrorCode ^ % ec);
1442
1448 void connLaserSensorDev(String^ device_name, [Out] ErrorCode ^ % ec);
1449
1455 void disconnLaserSensorDev(String^ device_name, [Out] ErrorCode ^ % ec);
1456
1462 void openLaserTrack(String^ device_name, [Out] ErrorCode ^ % ec);
1463
1469 void closeLaserTrack(String^ device_name, [Out] ErrorCode ^ % ec);
1470
1476 void setArcTrackParam(ArcTrackParam param, [Out] ErrorCode ^ % ec);
1477
1484 ArcTrackParam getArcTrackParam(String ^ name, [Out] ErrorCode ^ % ec);
1485
1491 void removeArcTrackParam(String ^ name, [Out] ErrorCode ^ % ec);
1492
1498 void removeArcTrackParam(List<String^>^ names, [Out] ErrorCode ^ % ec);
1499
1508 void setAnticollision(String^ signal, Boolean enable, Boolean block, Int32 countdown, [Out] ErrorCode ^ % ec);
1509
1516
1518
1523 {
1524 public:
1529
1535 ArcOnCommand(String^ arcOnData, String^ arcData);
1536
1542 void setArcOnData(String^ arcOnData, [Out] ErrorCode ^ % ec);
1543
1548 String^ getArcOnData();
1549
1555 void setArcData(String^ arcData, [Out] ErrorCode ^ % ec);
1556
1561 String^ getArcData();
1562
1563 private:
1564 String^ m_arcOnData{"default"};
1565 String^ m_arcData{"default"};
1566 };
1567
1572 {
1573 public:
1578
1583 ArcOffCommand(String^ arcOffData);
1584
1590 void setArcOffData(String^ arcOffData, [Out] ErrorCode ^ % ec);
1591
1596 String^ getArcOffData();
1597
1598 private:
1599 String^ m_arcOffData{"default"};
1600 };
1601
1606 {
1607 public:
1612
1619 WMoveLCommand(CartesianPosition ^ target, Int32 speed, Int32 zone): target(target), speed(speed), zone(zone), m_weaveData(""), m_trackData(""){};
1620
1628 WMoveLCommand(CartesianPosition ^ target, Int32 speed, Int32 zone, String ^ weaveData): target(target), speed(speed), zone(zone), m_weaveData(weaveData), m_trackData(""){};
1629
1638 WMoveLCommand(CartesianPosition ^ target, Int32 speed, Int32 zone, String ^ weaveData, String ^ trackData);
1639
1645 void setWeaveData(String ^ weaveData, [Out] ErrorCode ^ % ec);
1646
1651 String ^ getWeaveData();
1652
1658 void setTrackData(String ^ trackData, [Out] ErrorCode ^ % ec);
1659
1664 String ^ getTrackData();
1665
1669 Int32 speed = -1;
1671 Int32 zone = -1;
1676 double rotSpeed = -1;
1678 String ^ customInfo = "";
1681
1682 private:
1684 String ^ m_weaveData = "";
1686 String ^ m_trackData = "";
1687 };
1688
1693 {
1694 public:
1699
1707 WMoveCCommand(CartesianPosition ^ target, CartesianPosition ^ aux, Int32 speed, Int32 zone): target(target), aux(aux), speed(speed), zone(zone), m_weaveData(""), m_trackData(""){};
1708
1717 WMoveCCommand(CartesianPosition ^ target, CartesianPosition ^ aux, Int32 speed, Int32 zone, String ^ weaveData): target(target), aux(aux), speed(speed), zone(zone), m_weaveData(weaveData), m_trackData(""){};
1718
1728 WMoveCCommand(CartesianPosition ^ target, CartesianPosition ^ aux, Int32 speed, Int32 zone, String ^ weaveData, String ^ trackData);
1729
1735 void setWeaveData(String ^ weaveData, [Out] ErrorCode ^ % ec);
1736
1741 String ^ getWeaveData();
1742
1748 void setTrackData(String ^ trackData, [Out] ErrorCode ^ % ec);
1749
1754 String ^ getTrackData();
1755
1765 Int32 speed = -1;
1767 Int32 zone = -1;
1770 double rotSpeed = -1;
1772 String ^ customInfo = "";
1775
1776 private:
1778 String ^ m_weaveData = "";
1780 String ^ m_trackData = "";
1781 };
1782
1787 public:
1792
1801 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(""){};
1802
1812 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(""){};
1813
1824 WMoveCFCommand(CartesianPosition ^ target, CartesianPosition ^ aux, double angle, Int32 speed, Int32 zone, String ^ weaveData, String ^ trackData);
1825
1831 void setWeaveData(String ^ weaveData, [Out] ErrorCode ^ % ec);
1832
1837 String ^ getWeaveData();
1838
1844 void setTrackData(String ^ trackData, [Out] ErrorCode ^ % ec);
1845
1850 String ^ getTrackData();
1851
1861 Int32 speed = -1;
1863 Int32 zone = -1;
1866 double rotSpeed = -1;
1868 String ^ customInfo = "";
1870 double angle = 0;
1872 int rotType = 0;
1875
1876 private:
1878 String ^ m_weaveData = "";
1880 String ^ m_trackData = "";
1881 };
1882
1887 {
1888 public:
1893
1905
1916
1930 Int32 speed = -1;
1939 double rotSpeed = -1;
1944 };
1945
1950 {
1951 public:
1956
1961 WeaveOnCommand(String^ weaveData);
1962
1968 void setWeaveData(String^ weaveData, [Out] ErrorCode ^ % ec);
1969
1974 String^ getWeaveData();
1975
1976 private:
1978 String^ m_weaveData{"default"};
1979 };
1980
1985 {
1986 };
1987
1992 {
1993 public:
1998
2004 LaserTrackOnCommand(String^ handEyeData, String^ laserTrackData);
2005
2011 void setHandEyeData(String^ handEyeData, [Out] ErrorCode ^ % ec);
2012
2018
2024 void setLaserTrackData(String^ laserTrackData, [Out] ErrorCode ^ % ec);
2025
2031
2032 private:
2034 String^ m_handEyeData{"default"};
2036 String^ m_laserTrackData{"default"};
2037 };
2038
2043 {
2044 };
2045
2050 {
2051 public:
2056
2066
2067 public:
2069 String^ laserHandEyeData = "default";
2071 String^ laserSearchData = "default";
2075 Int32 speed = -1;
2077 Int32 zone = -1;
2078 };
2079
2084 {
2085 public:
2090
2096
2098 String^ segData = "default";
2099 };
2100
2104 ref class SegOffCommand : public ArcWeldingCommand{};
2105
2117 Tuple<Boolean, CartesianPosition^>^ executeLaserSearch(ArcWelding::LaserSearchCommand^ cmd, Boolean isMove, System::TimeSpan^ timeout, [Out] ErrorCode ^ % ec);
2118
2125 CartesianPosition^ calcIntersection(array<CartesianPosition^>^ points, [Out] ErrorCode ^ % ec);
2126
2127 private:
2128 rokae::ArcWelding *_arcwelding;
2129 };
2130}
2131
2132#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
间断焊参数名称
焊接指令 - 圆弧轨迹,摆动参数默认为空
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)
获取激光传感器配置参数
WeaveAdaptiveData getWeaveAdaptiveData([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)
批量删除焊接参数
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)
断开焊机连接,关闭弧焊功能
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 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 removeArcTrackParam(List< String^>^ names, [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 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 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
断弧选项。继续运行:"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()
焊接参数默认值
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]
电弧跟踪左右跟踪参数
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 ]
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()
焊接状态默认值