14. Schweißen

14.1. Parameter für Schweißprozesskurve einstellen

Neu in Version Python: SDK-v2.0.5

Prototyp

WeldingSetProcessParam(id, startCurrent, startVoltage, startTime, weldCurrent, weldVoltage, endCurrent, endVoltage, endTime)

Beschreibung

Parameter für Schweißprozesskurve einstellen

Erforderliche Parameter

  • id: Schweißprozessnummer (1-99)

  • startCurrent: Lichtbogenstartstrom (A)

  • startVoltage: Lichtbogenstartspannung (V)

  • startTime: Lichtbogenstartzeit (ms)

  • weldCurrent: Schweißstrom (A)

  • weldVoltage: Schweißspannung (V)

  • endCurrent: Lichtbogenendstrom (A)

  • endVoltage: Lichtbogenendspannung (V)

  • endTime: Lichtbogenendzeit (ms)

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.2. Parameter für Schweißprozesskurve abrufen

Neu in Version Python: SDK-v2.0.5

Prototyp

WeldingGetProcessParam(id)

Beschreibung

Parameter für Schweißprozesskurve abrufen

Erforderliche Parameter

  • id: Schweißprozessnummer (1-99)

Standardparameter

Keine

Rückgabewert

  • Fehlercode: 0 = Erfolg, sonst Fehlercode

  • startCurrent: Lichtbogenstartstrom (A)

  • startVoltage: Lichtbogenstartspannung (V)

  • startTime: Lichtbogenstartzeit (ms)

  • weldCurrent: Schweißstrom (A)

  • weldVoltage: Schweißspannung (V)

  • endCurrent: Lichtbogenendstrom (A)

  • endVoltage: Lichtbogenendspannung (V)

  • endTime: Lichtbogenendzeit (ms)

14.3. Beziehung zwischen Schweißstrom und Analogausgang einstellen

Geändert in Version Python: SDK-v2.0.5

Prototyp

WeldingSetCurrentRelation(currentMin, currentMax, outputVoltageMin, outputVoltageMax)

Beschreibung

Beziehung zwischen Schweißstrom und Analogausgang einstellen

Erforderliche Parameter

  • currentMin: Stromwert des linken Punkts der linearen Beziehung (A)

  • currentMax: Stromwert des rechten Punkts der linearen Beziehung (A)

  • outputVoltageMin: Analogausgangsspannung des linken Punkts (V)

  • outputVoltageMax: Analogausgangsspannung des rechten Punkts (V)

  • AOIndex: Analogausgangsport für Schweißstrom

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.4. Beziehung zwischen Schweißspannung und Analogausgang einstellen

Geändert in Version Python: SDK-v2.0.5

Prototyp

WeldingSetVoltageRelation(weldVoltageMin, weldVoltageMax, outputVoltageMin, outputVoltageMax)

Beschreibung

Beziehung zwischen Schweißspannung und Analogausgang einstellen

Erforderliche Parameter

  • weldVoltageMin: Spannungswert des linken Punkts der linearen Beziehung (V)

  • weldVoltageMax: Spannungswert des rechten Punkts der linearen Beziehung (V)

  • outputVoltageMin: Analogausgangsspannung des linken Punkts (V)

  • outputVoltageMax: Analogausgangsspannung des rechten Punkts (V)

  • AOIndex: Analogausgangsport für Schweißspannung

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.5. Beziehung zwischen Schweißstrom und Analogausgang abrufen

Geändert in Version Python: SDK-v2.0.5

Prototyp

WeldingGetCurrentRelation()

Beschreibung

Beziehung zwischen Schweißstrom und Analogausgang abrufen

Erforderliche Parameter

Keine

Standardparameter

Keine

Rückgabewert

  • Fehlercode: 0 = Erfolg, sonst Fehlercode

  • currentMin: Stromwert des linken Punkts (A)

  • currentMax: Stromwert des rechten Punkts (A)

  • outputVoltageMin: Analogausgangsspannung des linken Punkts (V)

  • outputVoltageMax: Analogausgangsspannung des rechten Punkts (V)

  • AOIndex: Analogausgangsport

14.6. Beziehung zwischen Schweißspannung und Analogausgang abrufen

Geändert in Version Python: SDK-v2.0.5

Prototyp

WeldingGetVoltageRelation()

Beschreibung

Beziehung zwischen Schweißspannung und Analogausgang abrufen

Erforderliche Parameter

Keine

Standardparameter

Keine

Rückgabewert

  • Fehlercode: 0 = Erfolg, sonst Fehlercode

  • weldVoltageMin: Spannungswert des linken Punkts (V)

  • weldVoltageMax: Spannungswert des rechten Punkts (V)

  • outputVoltageMin: Analogausgangsspannung des linken Punkts (V)

  • outputVoltageMax: Analogausgangsspannung des rechten Punkts (V)

  • AOIndex: Analogausgangsport

14.7. Schweißstrom einstellen

Geändert in Version Python: SDK-v2.0.5

Prototyp

WeldingSetCurrent(ioType, current, AOIndex, blend)

Beschreibung

Schweißstrom einstellen

Erforderliche Parameter

  • ioType: Typ, 0 = Steuerungs-I/O, 1 = Erweiterungs-I/O

  • current: Schweißstromwert (A)

  • AOIndex: Analogausgangsport für Schweißstrom (0-1)

  • blend: Glättung, 0 = nein, 1 = ja

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.8. Schweißspannung einstellen

Geändert in Version Python: SDK-v2.0.5

Prototyp

WeldingSetVoltage(ioType, voltage, AOIndex, blend)

Beschreibung

Schweißspannung einstellen

Erforderliche Parameter

  • ioType: Typ, 0 = Steuerungs-I/O, 1 = Erweiterungs-I/O

  • voltage: Schweißspannungswert (V)

  • AOIndex: Analogausgangsport für Schweißspannung (0-1)

  • blend: Glättung, 0 = nein, 1 = ja

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.9. Pendelparameter einstellen

Geändert in Version Python: SDK-v2.1.2

Prototyp

WeaveSetPara(weaveNum, weaveType, weaveFrequency, weaveIncStayTime, weaveRange, weaveLeftRange, weaveRightRange, additionalStayTime, weaveLeftStayTime, weaveRightStayTime, weaveCircleRadio, weaveStationary, weaveYawAngle, weaveRotAngle)

Beschreibung

Pendelparameter einstellen

Erforderliche Parameter

  • weaveNum: Konfigurationsnummer der Pendelparameter

  • weaveType: Pendeltyp: 0 = Ebenen-Dreieck, 1 = Vertikal-L-förmiges Dreieck, 2 = Kreis im Uhrzeigersinn, 3 = Kreis gegen Uhrzeigersinn, 4 = Ebenen-Sinus, 5 = Vertikal-L-förmiger Sinus, 6 = Vertikales Dreieck, 7 = Vertikaler Sinus

  • weaveFrequency: Pendelfrequenz (Hz)

  • weaveIncStayTime: Wartemodus, 0 = Zyklus ohne Wartezeit, 1 = Zyklus mit Wartezeit

  • weaveRange: Pendelamplitude (mm)

  • weaveLeftRange: Länge der linken Seite beim vertikalen Dreieckspendeln (mm)

  • weaveRightRange: Länge der rechten Seite beim vertikalen Dreieckspendeln (mm)

  • additionalStayTime: Verweilzeit am vertikalen Dreieckspunkt (ms)

  • weaveLeftStayTime: Verweilzeit links (ms)

  • weaveRightStayTime: Verweilzeit rechts (ms)

  • weaveCircleRadio: Rücklaufverhältnis für Kreispendeln (0-100%)

  • weaveStationary: Position während Wartezeit, 0 = Position bewegt sich weiter, 1 = Position ruht

Standardparameter

  • weaveYawAngle: Azimutwinkel der Pendelrichtung (Rotation um die Pendel-Z-Achse) [°], Standard = 0

  • weaveRotAngle: Rotationswinkel (Rotation um die Pendel-X-Achse) [°], Standard = 0

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.10. Codebeispiel zum Einstellen von Schweißparametern

 1from fairino import Robot
 2import time
 3# Verbindung zur Robotersteuerung herstellen
 4robot = Robot.RPC('192.168.58.2')
 5robot.WeldingSetProcessParam(1, 177, 27, 1000, 178, 28, 176, 26, 1000)
 6robot.WeldingSetProcessParam(2, 188, 28, 555, 199, 29, 133, 23, 333)
 7start_current = 0
 8start_voltage = 0
 9start_time = 0
10weld_current = 0
11weld_voltage = 0
12end_current = 0
13end_voltage = 0
14end_time = 0
15error, start_current, start_voltage, start_time, weld_current, weld_voltage, end_current,end_voltage, end_time = robot.WeldingGetProcessParam(1)
16print(f"the Num 1 process param is {start_current} {start_voltage} {start_time} {weld_current} {weld_voltage} {end_current} {end_voltage} {end_time}")
17error, start_current, start_voltage, start_time, weld_current, weld_voltage, end_current,end_voltage, end_time = robot.WeldingGetProcessParam(2)
18print(f"the Num 2 process param is {start_current} {start_voltage} {start_time} {weld_current} {weld_voltage} {end_current} {end_voltage} {end_time}")
19rtn = robot.WeldingSetCurrentRelation(0, 400, 0, 10, 0)
20print(f"WeldingSetCurrentRelation rtn is: {rtn}")
21rtn = robot.WeldingSetVoltageRelation(0, 40, 0, 10, 1)
22print(f"WeldingSetVoltageRelation rtn is: {rtn}")
23current_min = 0
24current_max = 0
25vol_min = 0
26vol_max = 0
27output_vmin = 0
28output_vmax = 0
29cur_index = 0
30vol_index = 0
31rtn,current_min, current_max, output_vmin, output_vmax, cur_index = robot.WeldingGetCurrentRelation()
32print(f"WeldingGetCurrentRelation rtn is: {rtn}")
33print(f"current min {current_min} current max {current_max} output vol min {output_vmin} output vol max {output_vmax}")
34rtn,vol_min, vol_max, output_vmin, output_vmax, vol_index = robot.WeldingGetVoltageRelation()
35print(f"WeldingGetVoltageRelation rtn is: {rtn}")
36print(f"vol min {vol_min} vol max {vol_max} output vol min {output_vmin} output vol max {output_vmax}")
37rtn = robot.WeldingSetCurrent(1, 100, 0, 0)
38print(f"WeldingSetCurrent rtn is: {rtn}")
39time.sleep(3)
40rtn = robot.WeldingSetVoltage(1, 10, 0, 0)
41print(f"WeldingSetVoltage rtn is: {rtn}")
42rtn = robot.WeaveSetPara(0, 0, 2.000000, 0, 10.000000, 0.000000, 0.000000, 0, 0, 0, 0, 0,0.0, 60.000000)
43print(f"rtn is: {rtn}")
44robot.WeaveOnlineSetPara(0, 0, 1, 0, 20, 0, 0, 0, 0)
45rtn = robot.WeldingSetCheckArcInterruptionParam(1, 200)
46print(f"WeldingSetCheckArcInterruptionParam {rtn}")
47rtn = robot.WeldingSetReWeldAfterBreakOffParam(1, 5.7, 98.2, 0)
48print(f"WeldingSetReWeldAfterBreakOffParam {rtn}")
49enable = 0
50length = 0
51velocity = 0
52move_type = 0
53check_enable = 0
54arc_interrupt_time_length = 0
55rtn,check_enable, arc_interrupt_time_length = robot.WeldingGetCheckArcInterruptionParam()
56print(f"WeldingGetCheckArcInterruptionParam checkEnable {check_enable} arcInterruptTimeLength {arc_interrupt_time_length}")
57rtn,enable, length, velocity, move_type = robot.WeldingGetReWeldAfterBreakOffParam()
58print(f"WeldingGetReWeldAfterBreakOffParam enable = {enable}, length = {length}, velocity = {velocity}, moveType = {move_type}")
59robot.SetWeldMachineCtrlModeExtDoNum(17)
60for i in range(5):
61    robot.SetWeldMachineCtrlMode(0)
62    time.sleep(1)
63    robot.SetWeldMachineCtrlMode(1)
64    time.sleep(1)
65robot.CloseRPC()

14.11. Pendelparameter online einstellen

Neu in Version Python: SDK-v2.0.1

Prototyp

WeaveOnlineSetPara(weaveNum, weaveType, weaveFrequency, weaveIncStayTime, weaveRange, weaveLeftStayTime, weaveRightStayTime, weaveCircleRadio, weaveStationary)

Beschreibung

Pendelparameter online einstellen (während der Bewegung)

Erforderliche Parameter

  • weaveNum: Konfigurationsnummer der Pendelparameter

  • weaveType: Pendeltyp (siehe WeaveSetPara)

  • weaveFrequency: Pendelfrequenz (Hz)

  • weaveIncStayTime: Wartemodus (siehe WeaveSetPara)

  • weaveRange: Pendelamplitude (mm)

  • weaveLeftStayTime: Verweilzeit links (ms)

  • weaveRightStayTime: Verweilzeit rechts (ms)

  • weaveCircleRadio: Rücklaufverhältnis für Kreispendeln (0-100%)

  • weaveStationary: Position während Wartezeit (siehe WeaveSetPara)

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.12. Parameter zur Erkennung eines unerwarteten Lichtbogenabbruchs abrufen

Neu in Version Python: SDK-v2.0.8

Prototyp

WeldingGetCheckArcInterruptionParam()

Beschreibung

Parameter zur Erkennung eines unerwarteten Lichtbogenabbruchs abrufen

Erforderliche Parameter

Keine

Standardparameter

Keine

Rückgabewert

  • Fehlercode: 0 = Erfolg, sonst Fehlercode

  • checkEnable: Erkennung aktiviert? 0 = nein, 1 = ja

  • arcInterruptTimeLength: Bestätigungsdauer für Lichtbogenunterbrechung (ms)

14.13. Parameter zur Erkennung eines unerwarteten Lichtbogenabbruchs einstellen

Neu in Version Python: SDK-v2.0.8

Prototyp

WeldingSetCheckArcInterruptionParam(checkEnable, arcInterruptTimeLength)

Beschreibung

Parameter zur Erkennung eines unerwarteten Lichtbogenabbruchs einstellen

Erforderliche Parameter

  • checkEnable: Erkennung aktivieren? 0 = nein, 1 = ja

  • arcInterruptTimeLength: Bestätigungsdauer für Lichtbogenunterbrechung (ms)

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.14. Parameter für die Wiederaufnahme nach Schweißunterbrechung abrufen

Neu in Version Python: SDK-v2.0.8

Prototyp

WeldingGetReWeldAfterBreakOffParam()

Beschreibung

Parameter für die Wiederaufnahme nach Schweißunterbrechung abrufen

Erforderliche Parameter

Keine

Standardparameter

Keine

Rückgabewert

  • Fehlercode: 0 = Erfolg, sonst Fehlercode

  • enable: Wiederaufnahme aktiviert? 0 = nein, 1 = ja

  • length: Überlappungslänge der Schweißnaht (mm)

  • velocity: Geschwindigkeitsprozentsatz für die Rückkehr zum Wiederzündpunkt (0-100)

  • moveType: Bewegungsart zum Wiederzündpunkt: 0 = LIN, 1 = PTP

14.15. Parameter für die Wiederaufnahme nach Schweißunterbrechung einstellen

Neu in Version Python: SDK-v2.0.8

Prototyp

WeldingSetReWeldAfterBreakOffParam(enable, length, velocity, moveType)

Beschreibung

Parameter für die Wiederaufnahme nach Schweißunterbrechung einstellen

Erforderliche Parameter

  • enable: Wiederaufnahme aktivieren? 0 = nein, 1 = ja

  • length: Überlappungslänge der Schweißnaht (mm)

  • velocity: Geschwindigkeitsprozentsatz für die Rückkehr zum Wiederzündpunkt (0-100)

  • moveType: Bewegungsart zum Wiederzündpunkt: 0 = LIN, 1 = PTP

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.16. Erweiterten DO-Port für Schweißgerät-Steuermodus einstellen

Neu in Version Python: SDK-v2.0.5

Prototyp

SetWeldMachineCtrlModeExtDoNum(DONum)

Beschreibung

Erweiterten DO-Port für Schweißgerät-Steuermodus einstellen

Erforderliche Parameter

  • DONum: DO-Portnummer für Schweißgerät-Steuermodus (0-127)

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.17. Schweißgerät-Steuermodus einstellen

Neu in Version Python: SDK-v2.0.5

Prototyp

SetWeldMachineCtrlMode(mode, ioType)

Beschreibung

Schweißmaschinen-Steuerungsmodus einstellen

Erforderliche Parameter

  • ioType: Steuerungstyp; 0-Steuerkasten-IO; 1-Digitales Kommunikationsprotokoll (UDP); 2-Digitales Kommunikationsprotokoll (ModbusTCP)

  • mode: Schweißmaschinen-Steuerungsmodus; 0-Einknopf-Modus

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler-errcode

14.18. Schweißstart

Neu in Version Python: SDK-v2.0.1

Prototyp

ARCStart(ioType, arcNum, timeout)

Beschreibung

Schweißstart (Lichtbogen zünden)

Erforderliche Parameter

  • ioType: I/O-Typ, 0 = Steuerungs-I/O, 1 = Erweiterungs-I/O

  • arcNum: Nummer der Schweißgeräte-Konfigurationsdatei

  • timeout: Lichtbogenstart-Timeout (ms)

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.19. Schweißende

Neu in Version Python: SDK-v2.0.1

Prototyp

ARCEnd(ioType, arcNum, timeout)

Beschreibung

Schweißende (Lichtbogen löschen)

Erforderliche Parameter

  • ioType: I/O-Typ, 0 = Steuerungs-I/O, 1 = Erweiterungs-I/O

  • arcNum: Nummer der Schweißgeräte-Konfigurationsdatei

  • timeout: Lichtbogenlösch-Timeout (ms)

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.20. Pendelstart

Neu in Version Python: SDK-v2.0.1

Prototyp

WeaveStart(weaveNum)

Beschreibung

Pendelstart

Erforderliche Parameter

  • weaveNum: Konfigurationsnummer der Pendelparameter

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.21. Pendelende

Neu in Version Python: SDK-v2.0.1

Prototyp

WeaveEnd(weaveNum)

Beschreibung

Pendelende

Erforderliche Parameter

  • weaveNum: Konfigurationsnummer der Pendelparameter

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.22. Vorwärts-Drahtvorschub

Neu in Version Python: SDK-v2.0.1

Prototyp

SetForwardWireFeed(ioType, wireFeed)

Beschreibung

Vorwärts-Drahtvorschub

Erforderliche Parameter

  • ioType: I/O-Typ, 0 = Steuerungs-I/O, 1 = Erweiterungs-I/O

  • wireFeed: Drahtvorschubsteuerung, 0 = stopp, 1 = vorschub

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.23. Rückwärts-Drahtvorschub

Neu in Version Python: SDK-v2.0.1

Prototyp

SetReverseWireFeed(ioType, wireFeed)

Beschreibung

Rückwärts-Drahtvorschub

Erforderliche Parameter

  • ioType: I/O-Typ, 0 = Steuerungs-I/O, 1 = Erweiterungs-I/O

  • wireFeed: Drahtvorschubsteuerung, 0 = stopp, 1 = vorschub

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.24. Gaszufuhr

Neu in Version Python: SDK-v2.0.1

Prototyp

SetAspirated(ioType, airControl)

Beschreibung

Gaszufuhr

Erforderliche Parameter

  • ioType: I/O-Typ, 0 = Steuerungs-I/O, 1 = Erweiterungs-I/O

  • airControl: Gassteuerung, 0 = stopp, 1 = zu

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.25. Wiederaufnahme des Schweißens nach Unterbrechung starten

Neu in Version Python: SDK-v2.0.8

Prototyp

WeldingStartReWeldAfterBreakOff()

Beschreibung

Wiederaufnahme des Schweißens nach Unterbrechung starten

Erforderliche Parameter

Keine

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.26. Schweißen nach Unterbrechung abbrechen

Neu in Version Python: SDK-v2.0.8

Prototyp

WeldingAbortWeldAfterBreakOff()

Beschreibung

Schweißen nach Unterbrechung abbrechen (nicht wiederaufnehmen)

Erforderliche Parameter

Keine

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.27. Codebeispiel für Roboter-Schweißsteuerung

 1from fairino import Robot
 2# Verbindung zur Robotersteuerung herstellen
 3robot = Robot.RPC('192.168.58.2')
 4robot.SetForwardWireFeed(0, 1)
 5time.sleep(1)
 6robot.SetForwardWireFeed(0, 0)
 7robot.SetReverseWireFeed(0, 1)
 8time.sleep(1)
 9robot.SetReverseWireFeed(0, 0)
10robot.SetAspirated(0, 1)
11time.sleep(1)
12robot.SetAspirated(0, 0)
13robot.WeldingSetCurrent(1, 230, 0, 0)
14robot.WeldingSetVoltage(1, 24, 0, 1)
15p1Desc = [228.879, -503.594, 453.984, -175.580, 8.293, 171.267]
16p1Joint = [102.700, -85.333, 90.518, -102.365, -83.932, 22.134]
17p2Desc = [-333.302, -435.580, 449.866, -174.997, 2.017, 109.815]
18p2Joint = [41.862, -85.333, 90.526, -100.587, -90.014, 22.135]
19exaxisPos = [0, 0, 0, 0]
20offdese = [0, 0, 0, 0, 0, 0]
21robot.MoveJ(joint_pos=p1Joint, tool=13, user=0)
22robot.ARCStart(1, 0, 10000)
23robot.WeaveStart(0)
24robot.MoveL(desc_pos=p2Desc, tool=13, user=0)
25robot.ARCEnd(1, 0, 10000)
26robot.WeaveEnd(0)
27robot.WeldingStartReWeldAfterBreakOff()
28robot.WeldingAbortWeldAfterBreakOff()
29robot.CloseRPC()

14.28. Segment-Schweißen starten

Neu in Version Python: SDK-v2.0.1

Prototyp

SegmentWeldStart(startDesePos, endDesePos, startJPos, endJPos, weldLength, noWeldLength, weldIOType, arcNum, weldTimeout, isWeave, weaveNum, tool, user, vel=20.0, acc=0.0, ovl=100.0, blendR=-1.0, exaxis_pos=[0.0, 0.0, 0.0, 0.0], search=0, offset_flag=0, offset_pos=[0.0, 0.0, 0.0, 0.0, 0.0, 0.0])

Beschreibung

Segment-Schweißen starten (Heftschweißen / Intervallschweißen)

Erforderliche Parameter

  • startDesePos: Kartesische Pose des Startpunkts [mm, °]

  • endDesePos: Kartesische Pose des Endpunkts [mm, °]

  • startJPos: Gelenkposition des Startpunkts [°]

  • endJPos: Gelenkposition des Endpunkts [°]

  • weldLength: Länge des Schweißsegments (mm)

  • noWeldLength: Länge des Nicht-Schweißsegments (mm)

  • weldIOType: Schweiß-I/O-Typ, 0 = Steuerungs-I/O, 1 = Erweiterungs-I/O

  • arcNum: Nummer der Schweißgeräte-Konfigurationsdatei

  • weldTimeout: Lichtbogenstart/-lösch-Timeout (ms)

  • isWeave: Pendeln verwenden? (True/False)

  • weaveNum: Konfigurationsnummer der Pendelparameter

  • tool: Werkzeugnummer [0~14]

  • user: Werkstücknummer [0~14]

Standardparameter

  • vel: Geschwindigkeitsprozentsatz [0~100], Standard = 20.0

  • acc: Beschleunigungsprozentsatz [0~100] (vorübergehend nicht freigegeben), Standard = 0.0

  • ovl: Geschwindigkeitsskalierungsfaktor [0~100], Standard = 100.0

  • blendR: [-1.0] = Bewegung abschließen (blockierend), [0~1000] = Glättungsradius (nicht blockierend) [mm], Standard = -1.0

  • exaxis_pos: Position der externen Achsen 1 bis 4, Standard = [0.0, 0.0, 0.0, 0.0]

  • search: [0] = keine Schweißdrahtsuche, [1] = Schweißdrahtsuche

  • offset_flag: [0] = kein Versatz, [1] = Versatz im Basis-/Werkstückkoordinatensystem, [2] = Versatz im Werkzeugkoordinatensystem, Standard = 0

  • offset_pos: Posenversatz [mm, °], Standard = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]

Rückgabewert

  • Fehlercode: 0 = Erfolg, sonst Fehlercode

14.29. Codebeispiel für Robotersegment-Schweißen

 1from fairino import Robot
 2import time
 3# Verbindung zur Robotersteuerung herstellen
 4robot = Robot.RPC('192.168.58.2')
 5robot.WeldingSetCurrent(1, 230, 0, 0)
 6robot.WeldingSetVoltage(1, 24, 0, 1)
 7p1Desc = [228.879, -503.594, 453.984, -175.580, 8.293, 171.267]
 8p1Joint = [102.700, -85.333, 90.518, -102.365, -83.932, 22.134]
 9p2Desc = [-333.302, -435.580, 449.866, -174.997, 2.017, 109.815]
10p2Joint = [41.862, -85.333, 90.526, -100.587, -90.014, 22.135]
11exaxisPos = [0, 0, 0, 0]
12offdese = [0, 0, 0, 0, 0, 0]
13rtn = robot.SegmentWeldStart(p1Desc, p2Desc, p1Joint, p2Joint, 20, 20, 0, 0, 5000, 0, 0, 0, 0)
14print(f"SegmentWeldStart rtn is {rtn}")
15robot.CloseRPC()

14.30. Simulations-Pendelstart

Neu in Version Python: SDK-v2.0.5

Prototyp

WeaveStartSim(weaveNum)

Beschreibung

Simulations-Pendelstart

Erforderliche Parameter

  • weaveNum: Pendelparameternummer

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.31. Simulations-Pendelende

Neu in Version Python: SDK-v2.0.5

Prototyp

WeaveEndSim(weaveNum)

Beschreibung

Simulations-Pendelende

Erforderliche Parameter

  • weaveNum: Pendelparameternummer

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.32. Trajektorienprüfungs-Warnung starten (ohne Bewegung)

Neu in Version Python: SDK-v2.0.5

Prototyp

WeaveInspectStart(weaveNum)

Beschreibung

Trajektorienprüfungs-Warnung starten (ohne Bewegung)

Erforderliche Parameter

  • weaveNum: Pendelparameternummer

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.33. Trajektorienprüfungs-Warnung beenden

Neu in Version Python: SDK-v2.0.5

Prototyp

WeaveInspectEnd(weaveNum)

Beschreibung

Trajektorienprüfungs-Warnung beenden

Erforderliche Parameter

  • weaveNum: Pendelparameternummer

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.34. Pendel-Gradientenstart

Neu in Version Python: SDK-v2.1.2

Prototyp

WeaveChangeStart(weaveChangeFlag, weaveNum, velStart, velEnd)

Beschreibung

Pendel-Gradientenstart (allmähliche Änderung der Parameter)

Erforderliche Parameter

  • weaveChangeFlag: 1 = nur Pendelparameter ändern, 2 = Pendelparameter + Schweißgeschwindigkeit ändern

  • weaveNum: Pendelnummer

  • velStart: Start-Schweißgeschwindigkeit (cm/min)

  • velEnd: End-Schweißgeschwindigkeit (cm/min)

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.35. Codebeispiel für robotergestütztes Gradienten-Pendelschweißen

 1from fairino import Robot
 2# Verbindung zur Robotersteuerung herstellen
 3robot = Robot.RPC('192.168.58.2')
 4p1Desc = [228.879, -503.594, 453.984, -175.580, 8.293, 171.267]
 5p1Joint = [102.700, -85.333, 90.518, -102.365, -83.932, 22.134]
 6p2Desc = [-333.302, -435.580, 449.866, -174.997, 2.017, 109.815]
 7p2Joint = [41.862, -85.333, 90.526, -100.587, -90.014, 22.135]
 8exaxisPos = [0, 0, 0, 0]
 9offdese = [0, 0, 0, 0, 0, 0]
10robot.MoveJ(joint_pos=p1Joint, tool=13, user=0, vel=100)
11robot.WeaveStartSim(0)
12robot.MoveL(desc_pos=p2Desc, tool=13, user=0, vel=100)
13robot.WeaveEndSim(0)
14robot.MoveJ(joint_pos=p1Joint, tool=13, user=0, vel=100)
15robot.WeaveInspectStart(0)
16robot.MoveL(desc_pos=p2Desc, tool=13, user=0, vel=100)
17robot.WeaveInspectEnd(0)
18robot.WeldingSetVoltage(1, 19, 0, 0)
19robot.WeldingSetCurrent(1, 190, 0, 0)
20robot.MoveL(desc_pos=p1Desc, tool=1, user=1, vel=100, acc=100, ovl=50)
21robot.ARCStart(1, 0, 10000)
22robot.ArcWeldTraceControl(1, 0, 1, 0.06, 5, 5, 60, 1, 0.06, 5, 5, 80, 0, 0, 4, 1, 10, 0, 0)
23robot.WeaveStart(0)
24robot.WeaveChangeStart(1, 0, 50, 30)
25robot.MoveL(desc_pos=p2Desc, tool=1, user=1, vel=100, acc=100, ovl=100)
26robot.WeaveChangeEnd()
27robot.WeaveEnd(0)
28robot.ArcWeldTraceControl(0, 0, 1, 0.06, 5, 5, 60, 1, 0.06, 5, 5, 80, 0, 0, 4, 1, 10, 0, 0)
29robot.ARCEnd(1, 0, 10000)
30robot.CloseRPC()

14.36. Pendel-Gradientenende

Neu in Version Python: SDK-v2.0.9-3.7.9

Prototyp

WeaveChangeEnd()

Beschreibung

Pendel-Gradientenende

Erforderliche Parameter

Keine

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.37. Erweitertes I/O - Gasprüfsignal für Schweißgerät konfigurieren

Neu in Version Python: SDK-v2.0.5

Prototyp

SetAirControlExtDoNum(DONum)

Beschreibung

Erweitertes I/O - Gasprüfsignal für Schweißgerät konfigurieren

Erforderliche Parameter

  • DONum: Erweiterte DO-Nummer für Gasprüfsignal

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.38. Erweitertes I/O - Lichtbogenstartsignal für Schweißgerät konfigurieren

Neu in Version Python: SDK-v2.0.5

Prototyp

SetArcStartExtDoNum(DONum)

Beschreibung

Erweitertes I/O - Lichtbogenstartsignal für Schweißgerät konfigurieren

Erforderliche Parameter

  • DONum: Erweiterte DO-Nummer für Lichtbogenstartsignal

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.39. Erweitertes I/O - Rückwärts-Drahtvorschubsignal für Schweißgerät konfigurieren

Neu in Version Python: SDK-v2.0.5

Prototyp

SetWireReverseFeedExtDoNum(DONum)

Beschreibung

Erweitertes I/O - Rückwärts-Drahtvorschubsignal für Schweißgerät konfigurieren

Erforderliche Parameter

  • DONum: Erweiterte DO-Nummer für Rückwärts-Drahtvorschubsignal

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.40. Erweitertes I/O - Vorwärts-Drahtvorschubsignal für Schweißgerät konfigurieren

Neu in Version Python: SDK-v2.0.5

Prototyp

SetWireForwardFeedExtDoNum(DONum)

Beschreibung

Erweitertes I/O - Vorwärts-Drahtvorschubsignal für Schweißgerät konfigurieren

Erforderliche Parameter

  • DONum: Erweiterte DO-Nummer für Vorwärts-Drahtvorschubsignal

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.41. Erweitertes I/O - Lichtbogen-Erfolgssignal für Schweißgerät konfigurieren

Neu in Version Python: SDK-v2.0.5

Prototyp

SetArcDoneExtDiNum(DINum)

Beschreibung

Erweitertes I/O - Lichtbogen-Erfolgssignal für Schweißgerät konfigurieren

Erforderliche Parameter

  • DINum: Erweiterte DI-Nummer für Lichtbogen-Erfolgssignal

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.42. Erweitertes I/O - Bereitschaftssignal für Schweißgerät konfigurieren

Neu in Version Python: SDK-v2.0.5

Prototyp

SetWeldReadyExtDiNum(DINum)

Beschreibung

Erweitertes I/O - Bereitschaftssignal für Schweißgerät konfigurieren

Erforderliche Parameter

  • DINum: Erweiterte DI-Nummer für Bereitschaftssignal

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.43. Erweitertes I/O - Signale für Wiederaufnahme nach Schweißunterbrechung konfigurieren

Neu in Version Python: SDK-v2.0.5

Prototyp

SetExtDIWeldBreakOffRecover(reWeldDINum, abortWeldDINum)

Beschreibung

Erweitertes I/O - Signale für Wiederaufnahme nach Schweißunterbrechung konfigurieren

Erforderliche Parameter

  • reWeldDINum: Erweiterte DI-Nummer für ‚Wiederaufnahme starten‘

  • abortWeldDINum: Erweiterte DI-Nummer für ‚Wiederaufnahme abbrechen‘

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.44. Codebeispiel zum Einstellen erweiterter I/O-Schweißsignale

 1from fairino import Robot
 2import time
 3# Verbindung zur Robotersteuerung herstellen
 4robot = Robot.RPC('192.168.58.2')
 5rtn = robot.SetArcStartExtDoNum(10)
 6print(f"SetArcStartExtDoNum rtn is {rtn}")
 7rtn = robot.SetAirControlExtDoNum(20)
 8print(f"SetAirControlExtDoNum rtn is {rtn}")
 9rtn = robot.SetWireForwardFeedExtDoNum(30)
10print(f"SetWireForwardFeedExtDoNum rtn is {rtn}")
11rtn = robot.SetWireReverseFeedExtDoNum(40)
12rtn = robot.SetWeldReadyExtDiNum(50)
13print(f"SetWeldReadyExtDiNum rtn is {rtn}")
14rtn = robot.SetArcDoneExtDiNum(60)
15print(f"SetArcDoneExtDiNum rtn is {rtn}")
16rtn = robot.SetExtDIWeldBreakOffRecover(70, 80)
17print(f"SetExtDIWeldBreakOffRecover rtn is {rtn}")
18rtn = robot.SetWireSearchExtDIONum(0, 1)
19print(f"SetWireSearchExtDIONum rtn is {rtn}")
20robot.CloseRPC()

14.45. Lichtbogenverfolgungssteuerung (Arc Tracking)

Neu in Version Python: SDK-v2.0.9-3.7.9

Prototyp

ArcWeldTraceControl(flag, delaytime, isLeftRight, klr, tStartLr, stepMaxLr, sumMaxLr, isUpLow, kud, tStartUd, stepMaxUd, sumMaxUd, axisSelect, referenceType, referSampleStartUd, referSampleCountUd, referenceCurrent, offsetType, offsetParameter)

Beschreibung

Lichtbogenverfolgungssteuerung (Arc Tracking)

Erforderliche Parameter

  • flag: Schalter, 0 = aus, 1 = an

  • delaytime: Verzögerungszeit (ms)

  • isLeftRight: Links-Rechts-Abweichungskompensation aktivieren? 0 = nein, 1 = ja

  • klr: Links-Rechts-Regelkoeffizient (Empfindlichkeit)

  • tStartLr: Startzeit für Links-Rechts-Kompensation (Zyklen)

  • stepMaxLr: Maximale Schrittweite Links-Rechts (mm)

  • sumMaxLr: Maximale Gesamtkompensation Links-Rechts (mm)

  • isUpLow: Oben-Unten-Abweichungskompensation aktivieren? 0 = nein, 1 = ja

  • kud: Oben-Unten-Regelkoeffizient (Empfindlichkeit)

  • tStartUd: Startzeit für Oben-Unten-Kompensation (Zyklen)

  • stepMaxUd: Maximale Schrittweite Oben-Unten (mm)

  • sumMaxUd: Maximale Gesamtkompensation Oben-Unten (mm)

  • axisSelect: Koordinatensystem für Oben-Unten: 0 = Pendel, 1 = Werkzeug, 2 = Basis

  • referenceType: Einstellungsart des Referenzstroms (Oben-Unten): 0 = Rückmeldung, 1 = Konstante

  • referSampleStartUd: Startzähler für Abtastung des Referenzstroms (nur bei Rückmeldung) (Zyklen)

  • referSampleCountUd: Anzahl der Abtastzyklen für Referenzstrom (nur bei Rückmeldung) (Zyklen)

  • referenceCurrent: Konstanter Referenzstrom (nur bei referenceType=1) (mA)

  • offsetType: Versatz-Tracking-Typ: 0 = kein Versatz, 1 = Abtastung, 2 = Prozentsatz

  • offsetParameter: Versatzparameter: bei Abtastung (Startzeit der Versatzabtastung, standardmäßig ein Zyklus); bei Prozentsatz (Versatzprozentsatz -100 ~ 100)

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.46. AI-Kanalwahl für Lichtbogenverfolgung

Neu in Version Python: SDK-v2.0.5

Prototyp

ArcWeldTraceExtAIChannelConfig(channel)

Beschreibung

AI-Kanalwahl für Lichtbogenverfolgung (Strom-/Spannungsrückmeldung?)

Erforderliche Parameter

  • channel: AI-Kanal [0-3]

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.47. Kompensation für Mehrlagenschweißen mit Lichtbogenverfolgung starten

Neu in Version Python: SDK-v2.0.5

Prototyp

ArcWeldTraceReplayStart()

Beschreibung

Kompensation für Mehrlagenschweißen mit Lichtbogenverfolgung starten

Erforderliche Parameter

Keine

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.48. Kompensation für Mehrlagenschweißen mit Lichtbogenverfolgung beenden

Neu in Version Python: SDK-v2.0.5

Prototyp

ArcWeldTraceReplayEnd()

Beschreibung

Kompensation für Mehrlagenschweißen mit Lichtbogenverfolgung beenden

Erforderliche Parameter

Keine

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.49. Koordinatentransformation für Versatz (Mehrlagenschweißen)

Neu in Version Python: SDK-v2.0.5

Prototyp

MultilayerOffsetTrsfToBase(pointO, pointX, pointZ, dx, dy, db)

Beschreibung

Koordinatentransformation für Versatz (Mehrlagenschweißen)

Erforderliche Parameter

  • pointO: Kartesische Pose des Basispunkts (nur [x,y,z] werden verwendet)

  • pointX: Kartesische Position eines Punkts in X-Richtung (nur [x,y,z])

  • pointZ: Kartesische Position eines Punkts in Z-Richtung (nur [x,y,z])

  • dx: Versatz in X-Richtung (mm)

  • dy: Versatz in Y-Richtung (mm) # Hinweis: Im Original steht ‚dz‘ für Z-Versatz, aber Parameter heißt ‚dy‘? Konsistenz prüfen.

  • db: Rotation um Y-Achse (°)

Standardparameter

Keine

Rückgabewert

  • Fehlercode: 0 = Erfolg, sonst Fehlercode

  • offset: Berechneter Versatz [x, y, z, rx, ry, rz]

14.50. Codebeispiel für Lichtbogenverfolgung mit Mehrlagenschweißen

 1from fairino import Robot
 2import time
 3# Verbindung zur Robotersteuerung herstellen
 4robot = Robot.RPC('192.168.58.2')
 5mulitilineorigin1_joint = [-24.090, -63.501, 84.288, -111.940, -93.426, 57.669]
 6mulitilineorigin1_desc = [-677.559, 190.951, -1.205, 1.144, -41.482, -82.577]
 7mulitilineX1_desc = [-677.556, 211.949, -1.206]
 8mulitilineZ1_desc = [-677.564, 190.956, 19.817]
 9mulitilinesafe_joint = [-25.734, -63.778, 81.502, -108.975, -93.392, 56.021]
10mulitilinesafe_desc = [-677.561, 211.950, 19.812, 1.144, -41.482, -82.577]
11mulitilineorigin2_joint = [-29.743, -75.623, 101.241, -116.354, -94.928, 55.735]
12mulitilineorigin2_desc = [-563.961, 215.359, -0.681, 2.845, -40.476, -87.443]
13mulitilineX2_desc = [-563.965, 220.355, -0.680]
14mulitilineZ2_desc = [-563.968, 215.362, 4.331]
15epos = [0, 0, 0, 0]
16offset = [0, 0, 0, 0, 0, 0]
17time.sleep(0.01)
18error = robot.MoveJ(joint_pos=mulitilinesafe_joint, tool=13, user=0, vel=10)
19print(f"MoveJ return: {error}")
20error = robot.MoveL(desc_pos=mulitilineorigin1_desc, tool=13, user=0, vel=10, speedPercent=100)
21print(f"MoveL return: {error}")
22error = robot.MoveJ(joint_pos=mulitilinesafe_joint, tool=13, user=0, vel=10)
23print(f"MoveJ return: {error}")
24error = robot.MoveL(desc_pos=mulitilineorigin2_desc, tool=13, user=0, vel=10, speedPercent=100)
25print(f"MoveL return: {error}")
26error = robot.MoveJ(joint_pos=mulitilinesafe_joint, tool=13, user=0, vel=10)
27print(f"MoveJ return: {error}")
28error = robot.MoveL(desc_pos=mulitilineorigin1_desc, tool=13, user=0, vel=10, speedPercent=100)
29print(f"MoveL return: {error}")
30error = robot.ARCStart(1, 0, 3000)
31print(f"ARCStart return: {error}")
32error = robot.WeaveStart(0)
33print(f"WeaveStart return: {error}")
34error = robot.ArcWeldTraceControl(1, 0, 1, 0.06, 5, 5, 50, 1, 0.06, 5, 5, 55, 0, 0, 4, 1, 10, 0, 0)
35print(f"ArcWeldTraceControl return: {error}")
36error = robot.MoveL(desc_pos=mulitilineorigin2_desc, tool=13, user=0, vel=1, speedPercent=100)
37print(f"MoveL return: {error}")
38error = robot.ArcWeldTraceControl(0, 0, 1, 0.06, 5, 5, 50, 1, 0.06, 5, 5, 55, 0, 0, 4, 1, 10, 0, 0)
39print(f"ArcWeldTraceControl return: {error}")
40error = robot.WeaveEnd(0)
41print(f"WeaveEnd return: {error}")
42error = robot.ARCEnd(1, 0, 10000)
43print(f"ARCEnd return: {error}")
44error = robot.MoveJ(joint_pos=mulitilinesafe_joint, tool=13, user=0, vel=10)
45print(f"MoveJ return: {error}")
46error, offset = robot.MultilayerOffsetTrsfToBase(mulitilineorigin1_desc[:3], mulitilineX1_desc, mulitilineZ1_desc, 10.0, 0.0, 0.0)
47print(f"MultilayerOffsetTrsfToBase return: {error}")
48error = robot.MoveL(desc_pos=mulitilineorigin1_desc, tool=13, user=0, vel=10, speedPercent=100)
49print(f"MoveL return: {error}")
50error = robot.ARCStart(1, 0, 3000)
51print(f"ARCStart return: {error}")
52error, offset = robot.MultilayerOffsetTrsfToBase(mulitilineorigin2_desc[:3], mulitilineX2_desc, mulitilineZ2_desc, 10, 0, 0)
53print(f"MultilayerOffsetTrsfToBase return: {error}")
54error = robot.ArcWeldTraceReplayStart()
55print(f"ArcWeldTraceReplayStart return: {error}")
56error = robot.MoveL(desc_pos=mulitilineorigin2_desc, tool=13, user=0, vel=2, speedPercent=100)
57print(f"MoveL return: {error}")
58error = robot.ArcWeldTraceReplayEnd()
59print(f"ArcWeldTraceReplayEnd return: {error}")
60error = robot.ARCEnd(1, 0, 10000)
61print(f"ARCEnd return: {error}")
62error = robot.MoveJ(joint_pos=mulitilinesafe_joint, tool=13, user=0, vel=10)
63print(f"MoveJ return: {error}")
64error, offset = robot.MultilayerOffsetTrsfToBase(mulitilineorigin1_desc[:3], mulitilineX1_desc, mulitilineZ1_desc, 0, 10, 0)
65print(f"MultilayerOffsetTrsfToBase return: {error}")
66error = robot.MoveL(desc_pos=mulitilineorigin1_desc, tool=13, user=0, vel=10, speedPercent=100)
67print(f"MoveL return: {error}")
68error = robot.ARCStart(1, 0, 3000)
69print(f"ARCStart return: {error}")
70error, offset = robot.MultilayerOffsetTrsfToBase(mulitilineorigin2_desc[:3], mulitilineX2_desc, mulitilineZ2_desc, 0, 10, 0)
71error = robot.ArcWeldTraceReplayStart()
72print(f"ArcWeldTraceReplayStart return: {error}")
73error = robot.MoveL(desc_pos=mulitilineorigin2_desc, tool=13, user=0, vel=2, speedPercent=100)
74print(f"MoveL return: {error}")
75error = robot.ArcWeldTraceReplayEnd()
76print(f"ArcWeldTraceReplayEnd return: {error}")
77error = robot.ARCEnd(1, 0, 3000)
78print(f"ARCEnd return: {error}")
79error = robot.MoveJ(joint_pos=mulitilinesafe_joint, tool=13, user=0, vel=10)
80print(f"MoveJ return: {error}")
81robot.CloseRPC()

14.51. AI-Kanalwahl für Lichtbogenverfolgung (Strom)

Neu in Version Python: SDK-v2.1.2

Prototyp

ArcWeldTraceAIChannelCurrent(channel)

Beschreibung

AI-Kanalwahl für Lichtbogenverfolgung (Stromrückmeldung)

Erforderliche Parameter

  • channel: Kanal: 0 = Erw. AI0, 1 = Erw. AI1, 2 = Erw. AI2, 3 = Erw. AI3, 4 = Steuerkasten AI0, 5 = Steuerkasten AI1

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.52. AI-Kanalwahl für Lichtbogenverfolgung (Spannung)

Neu in Version Python: SDK-v2.1.2

Prototyp

ArcWeldTraceAIChannelVoltage(channel)

Beschreibung

AI-Kanalwahl für Lichtbogenverfolgung (Spannungsrückmeldung)

Erforderliche Parameter

  • channel: Kanal: 0 = Erw. AI0, 1 = Erw. AI1, 2 = Erw. AI2, 3 = Erw. AI3, 4 = Steuerkasten AI0, 5 = Steuerkasten AI1

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.53. Umrechnungsparameter für Stromrückmeldung (Lichtbogenverfolgung)

Neu in Version Python: SDK-v2.1.2

Prototyp

ArcWeldTraceCurrentPara(AILow, AIHigh, currentLow, currentHigh)

Beschreibung

Umrechnungsparameter für Stromrückmeldung (Lichtbogenverfolgung)

Standardparameter

  • AILow: Untere Grenze des AI-Kanals (Spannung) [V], Standard = 0, Bereich [0-10]

  • AIHigh: Obere Grenze des AI-Kanals (Spannung) [V], Standard = 10, Bereich [0-10]

  • currentLow: Schweißstromwert für untere AI-Grenze [A], Standard = 0, Bereich [0-200] (Einheit im Original ‚V‘? Vermutlich A)

  • currentHigh: Schweißstromwert für obere AI-Grenze [A], Standard = 100, Bereich [0-200]

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.54. Umrechnungsparameter für Spannungsrückmeldung (Lichtbogenverfolgung)

Neu in Version Python: SDK-v2.1.2

Prototyp

ArcWeldTraceVoltagePara(AILow, AIHigh, voltageLow, voltageHigh)

Beschreibung

Umrechnungsparameter für Spannungsrückmeldung (Lichtbogenverfolgung)

Standardparameter

  • AILow: Untere Grenze des AI-Kanals (Spannung) [V], Standard = 0, Bereich [0-10]

  • AIHigh: Obere Grenze des AI-Kanals (Spannung) [V], Standard = 10, Bereich [0-10]

  • voltageLow: Schweißspannungswert für untere AI-Grenze [V], Standard = 0, Bereich [0-200]

  • voltageHigh: Schweißspannungswert für obere AI-Grenze [V], Standard = 100, Bereich [0-200]

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.55. Codebeispiel für Lichtbogenverfolgung

 1from fairino import Robot
 2# Verbindung zur Robotersteuerung herstellen
 3robot = Robot.RPC('192.168.58.2')
 4
 5safetydescPose = [-504.043, 275.181, 40.908, -28.002, -42.025, -14.044]
 6safetyjointPos = [-39.078, -76.732, 87.227, -99.47, -94.301, 18.714]
 7startdescPose = [-473.86, 257.879, -20.849, -37.317, -42.021, 2.543]
 8startjointPos = [-43.487, -76.526, 95.568, -104.445, -89.356, 3.72]
 9enddescPose = [-499.844, 141.225, 7.72, -34.856, -40.17, 13.13]
10endjointPos = [-31.305, -82.998, 99.401, -104.426, -89.35, 3.696]
11exaxisPos = [0, 0, 0, 0]
12offdese = [0, 0, 0, 0, 0, 0]
13robot.MoveJ(joint_pos=safetyjointPos, tool=1, user=0, vel=20, acc=100)
14robot.WeldingSetCurrentRelation(0, 495, 1, 10, 0)
15robot.WeldingSetVoltageRelation(10, 45, 1, 10, 1)
16robot.WeldingSetVoltage(0, 25, 1, 0)  # ---- Spannung einstellen
17robot.WeldingSetCurrent(0, 260, 0, 0)  # ---- Strom einstellen
18rtn = robot.ArcWeldTraceAIChannelCurrent(4)
19print("ArcWeldTraceAIChannelCurrent rtn is", rtn)
20rtn = robot.ArcWeldTraceAIChannelVoltage(5)
21print("ArcWeldTraceAIChannelVoltage rtn is", rtn)
22rtn = robot.ArcWeldTraceCurrentPara(0, 5, 0, 500)
23print("ArcWeldTraceCurrentPara rtn is", rtn)
24rtn = robot.ArcWeldTraceVoltagePara(1.018, 10, 0, 50)
25print("ArcWeldTraceVoltagePara rtn is", rtn)
26robot.MoveJ(joint_pos=startjointPos, tool=1, user=0, vel=20, acc=100)
27robot.ArcWeldTraceControl(1, 0, 1, 0.08, 5, 5, 300, 1, 0.06, 4, 4, 300, 1, 0, 4, 1, 10, 0, 0)
28robot.ARCStart(0, 0, 10000)
29robot.WeaveStart(0)
30robot.MoveL(desc_pos=enddescPose, tool=1, user=0, vel=100, ovl=2, acc=100)
31robot.ARCEnd(0, 0, 10000)
32robot.WeaveEnd(0)
33robot.ArcWeldTraceControl(0, 0, 1, 0.08, 5, 5, 300, 1, 0.06, 4, 4, 300, 1, 0, 4, 1, 10, 0, 0)
34robot.MoveJ(joint_pos=safetyjointPos, tool=1, user=0, vel=20, acc=100)
35robot.CloseRPC()

14.56. Erweiterte I/O-Ports für Schweißdrahtsuche einstellen

Neu in Version Python: SDK-v2.0.5

Prototyp

SetWireSearchExtDIONum(searchDoneDINum, searchStartDONum)

Beschreibung

Erweiterte I/O-Ports für Schweißdrahtsuche einstellen

Erforderliche Parameter

  • searchDoneDINum: Erweiterte DI-Nummer für ‚Drahtsuche erfolgreich‘ (Eingang)

  • searchStartDONum: Erweiterte DO-Nummer für ‚Drahtsuche Start/Stopp‘ (Ausgang)

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.57. Schweißdrahtsuche starten

Neu in Version Python: SDK-v2.0.5

Prototyp

WireSearchStart(refPos, searchVel, searchDis, autoBackFlag, autoBackVel, autoBackDis, offectFlag)

Beschreibung

Schweißdrahtsuche starten

Erforderliche Parameter

  • refPos: 1 = Referenzpunkt, 0 = Kontaktpunkt

  • searchVel: Suchgeschwindigkeit (%)

  • searchDis: Suchdistanz (mm)

  • autoBackFlag: Automatische Rückkehr-Flag, 0 = nicht automatisch, 1 = automatisch

  • autoBackVel: Geschwindigkeit der automatischen Rückkehr (%)

  • autoBackDis: Distanz der automatischen Rückkehr (mm)

  • offectFlag: 1 = Suche mit Versatz, 0 = Suche an Teachpunkt

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.58. Schweißdrahtsuche beenden

Neu in Version Python: SDK-v2.0.5

Prototyp

WireSearchEnd(refPos, searchVel, searchDis, autoBackFlag, autoBackVel, autoBackDis, offectFlag)

Beschreibung

Schweißdrahtsuche beenden

Erforderliche Parameter

  • refPos: 1 = Referenzpunkt, 2 = Kontaktpunkt

  • searchVel: Suchgeschwindigkeit (%)

  • searchDis: Suchdistanz (mm)

  • autoBackFlag: Automatische Rückkehr-Flag, 0 = nicht automatisch, 1 = automatisch

  • autoBackVel: Geschwindigkeit der automatischen Rückkehr (%)

  • autoBackDis: Distanz der automatischen Rückkehr (mm)

  • offectFlag: 1 = Suche mit Versatz, 2 = Suche an Teachpunkt

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.59. Schweißdrahtsuch-Versatz berechnen

Neu in Version Python: SDK-v2.0.5

Prototyp

GetWireSearchOffset(seamType, method, varNameRef, varNameRes)

Beschreibung

Schweißdrahtsuch-Versatz berechnen

Erforderliche Parameter

  • seamType: Schweißnahttyp

  • method: Berechnungsmethode

  • varNameRef: Liste der Referenzpunktnamen (1-6 Elemente), # für keinen Punkt

  • varNameRes: Liste der Kontaktpunktnamen (1-6 Elemente), # für keinen Punkt

Standardparameter

Keine

Rückgabewert

  • Fehlercode: 0 = Erfolg, sonst Fehlercode

  • offsetFlag: 0 = Versatz direkt zum Befehlspunkt addieren, 1 = Versatz erfordert Koordinatentransformation des Befehlspunkts

  • offset: Berechneter Versatz [x, y, z, rx, ry, rz]

14.60. Auf Abschluss der Schweißdrahtsuche warten

Neu in Version Python: SDK-v2.0.5

Prototyp

WireSearchWait(varname)

Beschreibung

Auf Abschluss der Schweißdrahtsuche warten

Erforderliche Parameter

  • varName: Name der Suche/Variable (z.B. ‚RES0‘)

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.61. Schweißdrahtsuch-Kontaktpunkt in Datenbank schreiben

Neu in Version Python: SDK-v2.0.5

Prototyp

SetPointToDatabase(varName, pos)

Beschreibung

Schweißdrahtsuch-Kontaktpunkt in Datenbank schreiben

Erforderliche Parameter

  • varName: Name des Kontaktpunkts (z.B. ‚RES0‘ bis ‚RES99‘)

  • pos: Kontaktpunktdaten [x, y, z, rx, ry, rz]

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.62. Codebeispiel für robotergestützte Schweißdrahtsuche

 1from fairino import Robot
 2import time
 3# Verbindung zur Robotersteuerung herstellen
 4robot = Robot.RPC('192.168.58.2')
 5toolCoord = [0, 0, 200, 0, 0, 0]
 6robot.SetToolCoord(1, toolCoord, 0, 0, 1, 0)
 7wobjCoord = [0, 0, 0, 0, 0, 0]
 8robot.SetWObjCoord(1, wobjCoord, 0)
 9exaxisPos = [0, 0, 0, 0]
10offdese = [0, 0, 0, 0, 0, 0]
11descStart = [216.543, 445.175, 93.465, 179.683, 1.757, -112.641]
12jointStart = [-128.345, -86.660, 114.679, -119.625, -89.219, 74.303]
13descEnd = [111.143, 523.384, 87.659, 179.703, 1.835, -97.750]
14jointEnd = [-113.454, -81.060, 109.328, -119.954, -89.218, 74.302]
15error = robot.MoveL(desc_pos=descStart,tool= 1,user= 1,vel= 100)
16print(f"MoveL return: {error}")
17error = robot.MoveL(desc_pos=descEnd,tool= 1,user= 1,vel= 100)
18print(f"MoveL return: {error}")
19descREF0A = [142.135, 367.604, 86.523, 179.728, 1.922, -111.089]
20jointREF0A = [-126.794, -100.834, 128.922, -119.864, -89.218, 74.302]
21descREF0B = [254.633, 463.125, 72.604, 179.845, 2.341, -114.704]
22jointREF0B = [-130.413, -81.093, 112.044, -123.163, -89.217, 74.303]
23descREF1A = [92.556, 485.259, 47.476, -179.932, 3.130, -97.512]
24jointREF1A = [-113.231, -83.815, 119.877, -129.092, -89.217, 74.303]
25descREF1B = [203.103, 583.836, 63.909, 179.991, 2.854, -103.372]
26jointREF1B = [-119.088, -69.676, 98.692, -121.761, -89.219, 74.303]
27error = robot.WireSearchStart(0, 10, 100, 0, 10, 100, 0)
28print(f"WireSearchStart return: {error}")
29error = robot.MoveL(desc_pos=descREF0A,tool= 1,user= 1,vel= 100)
30print(f"MoveL return: {error}")
31error = robot.MoveL(desc_pos=descREF0B, tool=1, user=1, vel=100, search=1)
32print(f"MoveL return: {error}")
33error = robot.WireSearchWait("REF0")
34print(f"WireSearchWait return: {error}")
35error = robot.WireSearchEnd(0, 10, 100, 0, 10, 100, 0)
36print(f"WireSearchEnd return: {error}")
37error = robot.WireSearchStart(0, 10, 100, 0, 10, 100, 0)
38print(f"WireSearchStart return: {error}")
39error = robot.MoveL(desc_pos= descREF1A,tool= 1,user= 1,vel= 100)
40print(f"MoveL return: {error}")
41error = robot.MoveL(desc_pos= descREF1B,tool= 1,user= 1,vel= 100,search=1)
42print(f"MoveL return: {error}")
43error = robot.WireSearchWait("REF1")
44print(f"WireSearchWait return: {error}")
45error = robot.WireSearchEnd(0, 10, 100, 0, 10, 100, 0)
46error = robot.WireSearchStart(0, 10, 100, 0, 10, 100, 0)
47print(f"WireSearchStart return: {error}")
48error = robot.MoveL(desc_pos= descREF0A,tool= 1,user= 1,vel= 100)
49print(f"MoveL return: {error}")
50error = robot.MoveL(desc_pos=descREF0B, tool=1, user=1, vel=100, search=1)
51print(f"MoveL return: {error}")
52error = robot.WireSearchWait("RES0")
53print(f"WireSearchWait return: {error}")
54error = robot.WireSearchEnd(0, 10, 100, 0, 10, 100, 0)
55print(f"WireSearchEnd return: {error}")
56error = robot.WireSearchStart(0, 10, 100, 0, 10, 100, 0)
57print(f"WireSearchStart return: {error}")
58error = robot.MoveL(desc_pos= descREF1A,tool= 1,user= 1,vel= 100)
59print(f"MoveL return: {error}")
60error = robot.MoveL(desc_pos= descREF1B,tool= 1,user= 1,vel= 100,search=1)
61print(f"MoveL return: {error}")
62error = robot.WireSearchWait("RES1")
63print(f"WireSearchWait return: {error}")
64error = robot.WireSearchEnd(0, 10, 100, 0, 10, 100, 0)
65print(f"WireSearchEnd return: {error}")
66varNameRef = ["REF0", "REF1", "#", "#", "#", "#"]
67varNameRes = ["RES0", "RES1", "#", "#", "#", "#"]
68offectFlag = 0
69offectPos = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
70error, offectFlag, offectPos = robot.GetWireSearchOffset(0, 0, varNameRef, varNameRes)
71print(f"GetWireSearchOffset return: {error}")
72error = robot.PointsOffsetEnable(0, offectPos)
73print(f"PointsOffsetEnable return: {error}")
74error = robot.MoveL(desc_pos= descStart,tool= 1,user= 1,vel= 100)
75print(f"MoveL return: {error}")
76error = robot.MoveL(desc_pos=descEnd, tool=1, user=1, vel=100, search=1)
77print(f"MoveL return: {error}")
78error = robot.PointsOffsetDisable()
79robot.CloseRPC()

14.63. Schweißspannungsgradienten starten

Neu in Version Python: SDK-v2.1.2

Prototyp

WeldingSetVoltageGradualChangeStart(IOType, voltageStart, voltageEnd, AOIndex, blend)

Beschreibung

Schweißspannungsgradienten starten

Erforderliche Parameter

  • IOType: Steuerungstyp: 0 = Steuerkasten-I/O, 1 = Digitalkommunikation (UDP), 2 = Digitalkommunikation (ModbusTCP)

  • voltageStart: Start-Schweißspannung (V)

  • voltageEnd: End-Schweißspannung (V)

  • AOIndex: AO-Portnummer des Steuerkastens (0-1)

  • blend: Glättung? 0 = nein, 1 = ja

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.64. Schweißspannungsgradienten beenden

Neu in Version Python: SDK-v2.1.2

Prototyp

WeldingSetVoltageGradualChangeEnd()

Beschreibung

Schweißspannungsgradienten beenden

Erforderliche Parameter

Keine

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.65. Schweißstromgradienten starten

Neu in Version Python: SDK-v2.1.2

Prototyp

WeldingSetCurrentGradualChangeStart(IOType, currentStart, currentEnd, AOIndex, blend)

Beschreibung

Schweißstromgradienten starten (allmähliche Änderung)

Erforderliche Parameter

  • IOType: Steuerungstyp: 0 = Steuerkasten-I/O, 1 = Digitalkommunikation (UDP), 2 = Digitalkommunikation (ModbusTCP)

  • currentStart: Start-Schweißstrom (A)

  • currentEnd: End-Schweißstrom (A)

  • AOIndex: AO-Portnummer des Steuerkastens (0-1)

  • blend: Glättung? 0 = nein, 1 = ja

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.66. Schweißstromgradienten beenden

Neu in Version Python: SDK-v2.1.2

Prototyp

WeldingSetCurrentGradualChangeEnd()

Beschreibung

Schweißstromgradienten beenden

Erforderliche Parameter

Keine

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.67. Codebeispiel für Schweißstrom- und Spannungsgradienten

 1from fairino import Robot
 2# Verbindung zur Robotersteuerung herstellen
 3robot = Robot.RPC('192.168.58.2')
 4startdescPose = [-484.707, 276.996, -14.013, -37.657, -40.508, -1.548]
 5startjointPos = [-45.421, -75.673, 93.627, -104.302, -87.938, 6.005]
 6enddescPose = [-508.767, 137.109, -13.966, -37.639, -40.508, -1.559]
 7endjointPos = [-32.768, -80.947, 100.254, -106.201, -87.201, 18.648]
 8safedescPose = [-484.709, 294.436, 13.621, -37.660, -40.508, -1.545]
 9safejointPos = [-46.604, -75.410, 89.109, -100.003, -88.012, 4.823]
10exaxisPos = [0, 0, 0, 0]
11offdese = [0, 0, 0, 0, 0, 0]
12robot.WeldingSetCurrentRelation(0, 495, 1, 10, 0)
13robot.WeldingSetVoltageRelation(10, 45, 1, 10, 1)
14robot.WeldingSetVoltage(0, 25, 1, 0)  # ---- Spannung einstellen
15robot.WeldingSetCurrent(0, 260, 0, 0)  # ---- Strom einstellen
16robot.MoveJ(joint_pos=safejointPos, tool=1, user=0, vel=5, acc=100)
17rtn = robot.WeldingSetCurrentGradualChangeStart(0, 260, 220, 0, 0)
18print("WeldingSetCurrentGradualChangeStart rtn is", rtn)
19rtn = robot.WeldingSetVoltageGradualChangeStart(0, 25, 22, 1, 0)
20print("WeldingSetVoltageGradualChangeStart rtn is", rtn)
21rtn = robot.ArcWeldTraceControl(1, 0, 1, 0.08, 5, 5, 300, 1, 0.06, 4, 4, 300, 1, 0, 4, 1, 10, 0, 0)
22print("ArcWeldTraceControl rtn is", rtn)
23robot.MoveJ(joint_pos=startjointPos, tool=1, user=0, vel=5, acc=100)
24robot.ARCStart(0, 0, 10000)
25robot.WeaveStart(0)
26robot.WeaveChangeStart(2, 1, 24, 36)
27robot.MoveL(desc_pos=enddescPose, tool=1, user=0, vel=100, ovl=2, acc=100)
28robot.ARCEnd(0, 0, 10000)
29robot.WeaveChangeEnd()
30robot.WeaveEnd(0)
31robot.ArcWeldTraceControl(0, 0, 1, 0.08, 5, 5, 300, 1, 0.06, 4, 4, 300, 1, 0, 4, 1, 10, 0, 0)
32robot.WeldingSetCurrentGradualChangeEnd()
33robot.WeldingSetVoltageGradualChangeEnd()

14.68. Benutzerdefinierte Pendelparameter einstellen

Neu in Version Python: SDK-v2.1.6

Prototyp

CustomWeaveSetPara(id, pointNum, point, stayTime, frequency, incStayType, stationary)

Beschreibung

Benutzerdefinierte Pendelparameter einstellen

Erforderliche Parameter

  • id: Benutzerdefinierte Pendelnummer: 0-2

  • pointNum: Anzahl der Pendelpunkte (0-10)

  • point: Liste der Bewegungspunkte (x, y, z) relativ zum Pfad, als flache Liste [x1,y1,z1, x2,y2,z2, …]

  • stayTime: Liste der Verweilzeiten an den Punkten [ms] (Länge pointNum)

  • frequency: Pendelfrequenz [Hz]

  • incStayType: Wartemodus: 0 = Zyklus ohne Wartezeit, 1 = Zyklus mit Wartezeit

  • stationary: Position während Wartezeit: 0 = Bewegung wird fortgesetzt, 1 = Position ruht

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

14.69. Benutzerdefinierte Pendelparameter abrufen

Neu in Version Python: SDK-v2.1.6

Prototyp

CustomWeaveGetPara(id)

Beschreibung

Benutzerdefinierte Pendelparameter abrufen

Erforderliche Parameter

  • id: Benutzerdefinierte Pendelnummer: 0-2

Standardparameter

Keine

Rückgabewert

  • Fehlercode: 0 = Erfolg, sonst Fehlercode

  • pointNum: Anzahl der Pendelpunkte

  • point: Liste der Bewegungspunkte (flache Liste)

  • stayTime: Liste der Verweilzeiten

  • frequency: Pendelfrequenz [Hz]

  • incStayType: Wartemodus

  • stationary: Position während Wartezeit

14.70. Codebeispiel für benutzerdefinierte Pendelparameter

 1from fairino import Robot
 2# Verbindung zur Robotersteuerung herstellen
 3robot = Robot.RPC('192.168.58.2')
 4point = [0.0] * 30
 5point[0] = -3.0
 6point[1] = -3.0
 7point[2] = 0.0
 8point[3] = -6.0
 9point[4] = 0.0
10point[5] = 0.0
11point[6] = -3.0
12point[7] = 3.0
13point[8] = 0.0
14point[9] = 0.0
15point[10] = 0.0
16point[11] = 0.0
17stayTime = [0.0] * 10
18rtn = robot.CustomWeaveSetPara(2, 4, point, stayTime, 1.000, 0, 0)
19print(f"CustomWeaveSetPara rtn is {rtn}")
20time.sleep(1)
21rtn, pointNum, point_out, stayTime_out, frequency, incStayType, stationary = robot.CustomWeaveGetPara(2)
22print(f"pointNum is {pointNum}")
23for i in range(pointNum):
24    print(f"point {i}, point x y z {point[i * 3 + 0]},{point[i * 3 + 1]},{point[i * 3 + 2]}")
25print(f"fre is {frequency}, stay is {incStayType},{stationary}")
26robot.WeaveSetPara(0, 9, 1.000000, 1, 5.000000, 6.000000, 5.000000, 50, 100, 100, 0, 1, 0.000000, 0.000000)
27desc_p1 = [-288.650, 367.807, 288.404, 0.000, -0.001, 0.001]
28desc_p2 = [-431.714, 367.815, 288.415, 0.001, 0.001, 0.000]
29desc_p3 = [-348.666, 427.798, 288.404, -0.000, -0.000, 0.001]
30j1 = [140.656, -84.560, -91.707, -93.734, 90.000, 50.655]
31j2 = [149.873, -98.298, -77.599, -94.103, 90.000, 59.873]
32j3 = [139.773, -96.173, -80.014, -93.814, 90.000, 49.772]
33epos = [0.0] * 4
34offset_pos = [0.0] * 6
35robot.MoveJ(joint_pos=j1, tool=3, user=0, vel=100)
36robot.WeaveStart(0)
37robot.Circle(desc_pos_p=desc_p3, tool_p=3, user_p=0, vel_p=50, desc_pos_t=desc_p2, tool_t=3, user_t=0, vel_t=50, oacc=10)
38robot.WeaveEnd(0)
39robot.MoveJ(joint_pos=j1, tool=3, user=0, vel=100)
40robot.WeaveStart(0)
41robot.MoveC(desc_pos_p=desc_p3, tool_p=3, user_p=0, vel_p=50, desc_pos_t=desc_p2, tool_t=3, user_t=0, vel_t=50)
42robot.WeaveEnd(0)
43robot.MoveJ(joint_pos=j1, tool=3, user=0, vel=100)
44robot.WeaveStart(0)
45robot.MoveL(desc_pos=desc_p2, tool=3, user=0, vel=100, ovl=10, speedPercent=100)
46robot.WeaveEnd(0)
47robot.CloseRPC()

14.71. Laserschweißgerät-Parameterkonfiguration

Prototyp

SetLaserWeldingParam(self, num, scanSpeed, scanWidth, peakPower, dutyCycle, Freq, io_type=1)

Beschreibung

Schreibt die Konfigurationsparameter einer der 10 Prozessgruppen des Laserschweißgeräts und konfiguriert sie dem Schweißgerät

Erforderliche Parameter

  • io_type: Kommunikationstyp 0-IO 1-UDP

  • Num: Zu setzende Gruppennummer (1~10)

  • scanSpeed: Scangeschwindigkeit

  • scanWidth: Scanbreite

  • peakPower: Spitzenleistung

  • dutyCycle: Tastverhältnis

  • Freq: Frequenz

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler- errcode

14.72. Laserschweißen Starten/Stoppen

Prototyp

SetLaserWeldingStartEnd(self, status, io_type=1, max_waittime=10000)

Beschreibung

Startet/stoppt das Laserschweißgerät

Erforderliche Parameter

  • io_type: Kommunikationstyp 0-IO 1-UDP

  • status: Steuerwort 0-Laser aus 1-Laser ein

  • max_waittime: Maximale Wartezeit

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler- errcode

14.73. Laserschweißgerät Aktivieren/Deaktivieren

Prototyp

SetLaserWeldingEnable(self, status, io_type=1)

Beschreibung

Aktiviert/deaktiviert das Laserschweißgerät

Erforderliche Parameter

  • io_type: Kommunikationstyp 0-IO 1-UDP

  • status: 0-deaktivieren 1-aktivieren

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler- errcode

14.74. Laserschweißgerät-Fehlerrücksetzung

Prototyp

ResetLaserWeldingErr(self,status, io_type=1)

Beschreibung

Laserschweißgerät-Fehlerrücksetzung

Erforderliche Parameter

  • io_type: Kommunikationstyp 0-IO 1-UDP

  • status: Steuerwort 0-ungültig 1-Fehlerrücksetzung

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler- errcode

14.75. Betriebszustand des Laserschweißgeräts Abrufen

Prototyp

GetLaserWeldingRunningState(self, io_type=1)

Beschreibung

Ruft den Betriebszustand des Laserschweißgeräts ab

Erforderliche Parameter

  • io_type: Kommunikationstyp 0-IO 1-UDP

  • status: Steuerwort 0-gestoppt 1-in Betrieb

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler- errcode

14.76. Fehlerzustand des Laserschweißgeräts Abrufen

Prototyp

GetLaserWeldingErrState(self, io_type=1)

Beschreibung

Ruft den Fehlerzustand des Laserschweißgeräts ab

Erforderliche Parameter

  • io_type: Kommunikationstyp 0-IO 1-UDP

  • status: 0-kein Fehler 1-Fehler vorhanden

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler- errcode

14.77. Konfigurationsparameter des Laserschweißgeräts Abrufen

Prototyp

GetLaserWeldingParamTarget(self, num)

Beschreibung

Ruft die Konfigurationsparameter einer der 10 Prozessgruppen des Laserschweißgeräts ab

Erforderliche Parameter

  • Num: Zu setzende Gruppennummer (1~10)

  • scanSpeed: Scangeschwindigkeit

  • scanWidth: Scanbreite

  • peakPower: Spitzenleistung

  • dutyCycle: Tastverhältnis

  • Freq: Frequenz

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler- errcode

14.78. Aktive Konfigurationsparameter des Laserschweißgeräts Abrufen

Prototyp

GetLaserWeldingParamActual(self, io_type=1)

Beschreibung

Ruft die aktuell aktiven Konfigurationsparameter des Laserschweißgeräts ab

Erforderliche Parameter

  • io_type: Kommunikationstyp 0-IO 1-UDP

  • scanSpeed: Scangeschwindigkeit

  • scanWidth: Scanbreite

  • peakPower: Spitzenleistung

  • dutyCycle: Tastverhältnis

  • Freq: Frequenz

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler- errcode

14.79. Erweiterte IO-Aktivierungs-DO-Port für Laserschweißgerät Konfigurieren

Prototyp

SetLaserWeldingEnableExtDoNum(self, ctrlModeDONum)

Beschreibung

Konfiguriert den erweiterten IO-Aktivierungs-DO-Port für Laserschweißgerät

Erforderliche Parameter

  • ctrlModeDONum: Erweiterte DO-Portnummer für Laserschweißgerät-Aktivierung

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler- errcode

14.80. Erweiterte IO-Start-DO-Port für Laserschweißgerät Konfigurieren

Prototyp

SetLaserWeldingStartExtDoNum(self, ctrlModeDONum)

Beschreibung

Konfiguriert den erweiterten IO-Start-DO-Port für Laserschweißgerät

Erforderliche Parameter

  • ctrlModeDONum: Erweiterte DO-Portnummer für Laserschweißgerät-Start/Stopp

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler- errcode

14.81. Erweiterte IO-Fehlerrücksetzungs-DO-Port für Laserschweißgerät Konfigurieren

Prototyp

SetLaserWeldingErrResetExtDoNum(self, ctrlModeDONum)

Beschreibung

Konfiguriert den erweiterten IO-Fehlerrücksetzungs-DO-Port für Laserschweißgerät

Erforderliche Parameter

  • ctrlModeDONum: Erweiterte DO-Portnummer für Laserschweißgerät-Fehlerrücksetzung

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler- errcode

14.82. Erweiterte IO-Betriebszustands-(Laser-Ein-Zustands)-DI-Port für Laserschweißgerät Konfigurieren

Prototyp

SetLaserWeldingRunningStateExtDiNum(self, diNum)

Beschreibung

Konfiguriert den erweiterten IO-Betriebszustands-(Laser-Ein-Zustands)-DI-Port für Laserschweißgerät

Erforderliche Parameter

  • diNum: Erweiterte DI-Portnummer für Laserschweißgerät-Betriebszustand (Laser-Ein-Zustand)

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler- errcode

14.83. Erweiterte IO-Fehlerzustands-DI-Port für Laserschweißgerät Konfigurieren

Prototyp

SetLaserWeldingErrStateExtDiNum(self, diNum)

Beschreibung

Konfiguriert den erweiterten IO-Fehlerzustands-DI-Port für Laserschweißgerät

Erforderliche Parameter

  • diNum: Erweiterte DI-Portnummer für Laserschweißgerät-Fehlerzustand

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler- errcode

14.84. Beispielcode für Laserschweißen

 1from time import sleep
 2from fairino import Robot
 3import time
 4
 5# Verbindung mit der Robotersteuerung herstellen, bei erfolgreicher Verbindung wird ein Roboterobjekt zurückgegeben
 6robot = Robot.RPC('192.168.58.2')
 7
 8def testLsaerWeld():
 9    robot.ExtDevLoadUDPDriver()
10    time.sleep(1)
11
12    robot.SetLaserWeldingParam(num = 3, scanSpeed = 2000, scanWidth = 3, peakPower = 1500, dutyCycle = 100, Freq = 1000, io_type=1)
13    robot.SetLaserWeldingStartExtDoNum(ctrlModeDONum=1)
14
15    robot.Mode(0)
16    time.sleep(1)
17
18    desc_pos1 = [-303.721, -206.960, 297.105, 152.209, 19.857, 109.166]
19    desc_pos2 = [-301.575, -254.888, 284.786, 155.919, 26.946, 111.629]
20    desc_safe = [-344.386, -280.830, 435.073, 173.835, 15.333, 124.931]
21    jointPos1 = [9.827, -99.740, 120.088, -78.900, -77.241, -17.904]
22    jointPos2 = [15.251, -96.456, 120.138, -84.664, -68.542, -17.843]
23    jointSafe = [19.142, -98.078, 101.493, -83.078, -77.070, -17.794]
24
25    error = robot.MoveL(desc_pos=desc_pos1,joint_pos=jointPos1, tool=1, user=0, vel=100, ovl= 2, acc=100)
26    print("MoveL return:", error)
27    robot.SetLaserWeldingStartEnd(1, io_type=1, max_waittime=10000)
28
29    error = robot.MoveL(desc_pos=desc_pos2, joint_pos=jointPos2, tool=1, user=0, vel=100, ovl= 2, acc=100)
30    print("MoveL return:", error)
31    robot.SetLaserWeldingStartEnd(0, io_type=1, max_waittime=10000)
32
33    error = robot.MoveL(desc_pos=desc_safe, joint_pos=jointSafe, tool=1, user=0, vel=100, ovl= 2, acc=100)
34    print("MoveL return:", error)
35
36    robot.Mode(1)
37    time.sleep(1)
38
39    # Verbindung schließen
40    robot.CloseRPC()
41    time.sleep(1)
42
43# Testfunktion aufrufen
44testLsaerWeld()