14. Saldatura

14.1. Impostazione dei parametri della curva di processo di saldatura

Nuovo nella versione python: SDK-v2.0.5

Prototipo

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

Descrizione

Imposta i parametri della curva di processo di saldatura

Parametri obbligatori

  • id: Numero del processo di saldatura (1-99)

  • startCurrent: Corrente di inizio arco (A)

  • startVoltage: Tensione di inizio arco (V)

  • startTime: Tempo di inizio arco (ms)

  • weldCurrent: Corrente di saldatura (A)

  • weldVoltage: Tensione di saldatura (V)

  • endCurrent: Corrente di fine arco (A)

  • endVoltage: Tensione di fine arco (V)

  • endTime: Tempo di fine arco (ms)

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.2. Recupero dei parametri della curva di processo di saldatura

Nuovo nella versione python: SDK-v2.0.5

Prototipo

WeldingGetProcessParam(id)

Descrizione

Recupera i parametri della curva di processo di saldatura

Parametri obbligatori

  • id: Numero del processo di saldatura (1-99)

Parametri predefiniti

Nessuno

Valore restituito

  • Codice di errore Successo-0 Fallimento- errcode

  • startCurrent: Corrente di inizio arco (A)

  • startVoltage: Tensione di inizio arco (V)

  • startTime: Tempo di inizio arco (ms)

  • weldCurrent: Corrente di saldatura (A)

  • weldVoltage: Tensione di saldatura (V)

  • endCurrent: Corrente di fine arco (A)

  • endVoltage: Tensione di fine arco (V)

  • endTime: Tempo di fine arco (ms)

14.3. Impostazione della relazione tra corrente di saldatura e uscita analogica

Cambiato nella versione python: SDK-v2.0.5

Prototipo

WeldingSetCurrentRelation(currentMin, currentMax, outputVoltageMin, outputVoltageMax)

Descrizione

Imposta la relazione tra corrente di saldatura e uscita analogica

Parametri obbligatori

  • currentMin: Valore di corrente al punto sinistro della relazione lineare corrente di saldatura-uscita analogica (A)

  • currentMax: Valore di corrente al punto destro della relazione lineare corrente di saldatura-uscita analogica (A)

  • outputVoltageMin: Valore di tensione di uscita analogica al punto sinistro della relazione lineare corrente di saldatura-uscita analogica (V)

  • outputVoltageMax: Valore di tensione di uscita analogica al punto destro della relazione lineare corrente di saldatura-uscita analogica (V)

  • AOIndex: Porta di uscita analogica per la corrente di saldatura

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.4. Impostazione della relazione tra tensione di saldatura e uscita analogica

Cambiato nella versione python: SDK-v2.0.5

Prototipo

WeldingSetVoltageRelation(weldVoltageMin, weldVoltageMax, outputVoltageMin, outputVoltageMax)

Descrizione

Imposta la relazione tra tensione di saldatura e uscita analogica

Parametri obbligatori

  • weldVoltageMin: Valore di tensione di saldatura al punto sinistro della relazione lineare tensione di saldatura-uscita analogica (A)

  • weldVoltageMax: Valore di tensione di saldatura al punto destro della relazione lineare tensione di saldatura-uscita analogica (A)

  • outputVoltageMin: Valore di tensione di uscita analogica al punto sinistro della relazione lineare tensione di saldatura-uscita analogica (V)

  • outputVoltageMax: Valore di tensione di uscita analogica al punto destro della relazione lineare tensione di saldatura-uscita analogica (V)

  • AOIndex: Porta di uscita analogica per la tensione di saldatura

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.5. Recupero della relazione tra corrente di saldatura e uscita analogica

Cambiato nella versione python: SDK-v2.0.5

Prototipo

WeldingGetCurrentRelation()

Descrizione

Recupera la relazione tra corrente di saldatura e uscita analogica

Parametri obbligatori

Nessuno

Parametri predefiniti

Nessuno

Valore restituito

  • Codice di errore Successo-0 Fallimento- errcode

  • currentMin: Valore di corrente al punto sinistro della relazione lineare corrente di saldatura-uscita analogica (A)

  • currentMax: Valore di corrente al punto destro della relazione lineare corrente di saldatura-uscita analogica (A)

  • outputVoltageMin: Valore di tensione di uscita analogica al punto sinistro della relazione lineare corrente di saldatura-uscita analogica (V)

  • outputVoltageMax: Valore di tensione di uscita analogica al punto destro della relazione lineare corrente di saldatura-uscita analogica (V)

  • AOIndex: Porta di uscita analogica per la corrente di saldatura

14.6. Recupero della relazione tra tensione di saldatura e uscita analogica

Cambiato nella versione python: SDK-v2.0.5

Prototipo

WeldingGetVoltageRelation()

Descrizione

Recupera la relazione tra tensione di saldatura e uscita analogica

Parametri obbligatori

Nessuno

Parametri predefiniti

Nessuno

Valore restituito

  • Codice di errore Successo-0 Fallimento- errcode

  • weldVoltageMin: Valore di tensione di saldatura al punto sinistro della relazione lineare tensione di saldatura-uscita analogica (V)

  • weldVoltageMax: Valore di tensione di saldatura al punto destro della relazione lineare tensione di saldatura-uscita analogica (V)

  • outputVoltageMin: Valore di tensione di uscita analogica al punto sinistro della relazione lineare tensione di saldatura-uscita analogica (V)

  • outputVoltageMax: Valore di tensione di uscita analogica al punto destro della relazione lineare corrente di saldatura-uscita analogica (V)

  • AOIndex: Porta di uscita analogica per la tensione di saldatura

14.7. Impostazione della corrente di saldatura

Cambiato nella versione python: SDK-v2.0.5

Prototipo

WeldingSetCurrent(ioType, current, AOIndex, blend)

Descrizione

Imposta la corrente di saldatura

Parametri obbligatori

  • ioType: Tipo 0-IO del controllore; 1-IO esteso

  • current: Valore della corrente di saldatura (A)

  • AOIndex: Porta di uscita analogica del cabinet di controllo della corrente di saldatura (0-1)

  • blend: Smoothing 0-disabilitato, 1-abilitato

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.8. Impostazione della tensione di saldatura

Cambiato nella versione python: SDK-v2.0.5

Prototipo

WeldingSetVoltage(ioType, voltage, AOIndex, blend)

Descrizione

Imposta la tensione di saldatura

Parametri obbligatori

  • ioType: Tipo 0-IO del controllore; 1-IO esteso

  • voltage: Valore della tensione di saldatura (V)

  • AOIndex: Porta di uscita analogica del cabinet di controllo della corrente di saldatura (0-1)

  • blend: Smoothing 0-disabilitato, 1-abilitato

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.9. Impostazione dei parametri di oscillazione

Cambiato nella versione python: SDK-v2.1.2

Prototipo

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

Descrizione

Imposta i parametri di oscillazione

Parametri obbligatori

  • weaveNum: Numero di configurazione dei parametri di saldatura oscillante

  • weaveType: Tipo di oscillazione 0-Oscillazione triangolare piana; 1-Oscillazione triangolare a L verticale; 2-Oscillazione circolare in senso orario; 3-Oscillazione circolare in senso antiorario; 4-Oscillazione sinusoidale piana; 5-Oscillazione sinusoidale a L verticale; 6-Oscillazione triangolare verticale; 7-Oscillazione sinusoidale verticale

  • weaveFrequency: Frequenza di oscillazione (Hz)

  • weaveIncStayTime: Modalità di attesa 0-Il periodo non include il tempo di attesa; 1-Il periodo include il tempo di attesa

  • weaveRange: Ampiezza di oscillazione (mm)

  • weaveLeftRange: Lunghezza della corda sinistra per l’oscillazione triangolare verticale (mm)

  • weaveRightRange: Lunghezza della corda destra per l’oscillazione triangolare verticale (mm)

  • additionalStayTime: Tempo di permanenza al punto triangolare verticale per l’oscillazione triangolare verticale (mm)

  • weaveLeftStayTime: Tempo di permanenza a sinistra (ms)

  • weaveRightStayTime: Tempo di permanenza a destra (ms)

  • weaveCircleRadio: Rapporto di ritorno per l’oscillazione circolare (0-100%)

  • weaveStationary: Attesa in posizione di oscillazione, 0-La posizione continua a muoversi durante il tempo di attesa; 1-La posizione è statica durante il tempo di attesa

Parametri predefiniti

  • weaveYawAngle: Angolo di direzione dell’oscillazione (rotazione attorno all’asse Z di oscillazione), unità°, predefinito 0

  • weaveRotAngle: Angolo di direzione dell’oscillazione (rotazione attorno all’asse X di oscillazione), unità°, predefinito 0

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.10. Esempio di codice per l’impostazione dei parametri di saldatura

 1from fairino import Robot
 2import time
 3# Connessione al controller del robot, restituisce un oggetto robot in caso di successo
 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. Impostazione immediata dei parametri di oscillazione

Nuovo nella versione python: SDK-v2.0.1

Prototipo

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

Descrizione

Imposta immediatamente i parametri di oscillazione

Parametri obbligatori

  • weaveNum: Numero di configurazione dei parametri di saldatura oscillante

  • weaveType: Tipo di oscillazione 0-Oscillazione triangolare piana; 1-Oscillazione triangolare a L verticale; 2-Oscillazione circolare in senso orario; 3-Oscillazione circolare in senso antiorario; 4-Oscillazione sinusoidale piana; 5-Oscillazione sinusoidale a L verticale; 6-Oscillazione triangolare verticale; 7-Oscillazione sinusoidale verticale

  • weaveFrequency: Frequenza di oscillazione (Hz)

  • weaveIncStayTime: Modalità di attesa 0-Il periodo non include il tempo di attesa; 1-Il periodo include il tempo di attesa

  • weaveRange: Ampiezza di oscillazione (mm)

  • weaveLeftStayTime: Tempo di permanenza a sinistra (ms)

  • weaveRightStayTime: Tempo di permanenza a destra (ms)

  • weaveCircleRadio: Rapporto di ritorno per l’oscillazione circolare (0-100%)

  • weaveStationary: Attesa in posizione di oscillazione, 0-La posizione continua a muoversi durante il tempo di attesa; 1-La posizione è statica durante il tempo di attesa

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.12. Recupero dei parametri di rilevamento dell’interruzione accidentale dell’arco di saldatura del robot

Nuovo nella versione python: SDK-v2.0.8

Prototipo

WeldingGetCheckArcInterruptionParam()

Descrizione

Recupera i parametri di rilevamento dell’interruzione accidentale dell’arco di saldatura del robot

Parametri obbligatori

Nessuno

Parametri predefiniti

Nessuno

Valore restituito

  • Codice di errore Successo-0 Fallimento- errcode

  • checkEnable: Abilitazione del rilevamento; 0-disabilitato; 1-abilitato

  • arcInterruptTimeLength: Durata di conferma dell’interruzione dell’arco (ms)

14.13. Impostazione dei parametri di rilevamento dell’interruzione accidentale dell’arco di saldatura del robot

Nuovo nella versione python: SDK-v2.0.8

Prototipo

WeldingSetCheckArcInterruptionParam(checkEnable, arcInterruptTimeLength)

Descrizione

Imposta i parametri di rilevamento dell’interruzione accidentale dell’arco di saldatura del robot

Parametri obbligatori

  • checkEnable: Abilitazione del rilevamento; 0-disabilitato; 1-abilitato

  • arcInterruptTimeLength: Durata di conferma dell’interruzione dell’arco (ms)

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.14. Recupero dei parametri di ripristino dell’interruzione di saldatura del robot

Nuovo nella versione python: SDK-v2.0.8

Prototipo

WeldingGetReWeldAfterBreakOffParam()

Descrizione

Recupera i parametri di ripristino dell’interruzione di saldatura del robot

Parametri obbligatori

Nessuno

Parametri predefiniti

Nessuno

Valore restituito

  • Codice di errore Successo-0 Fallimento- errcode

  • enable: Abilitazione del ripristino dell’interruzione di saldatura

  • length: Distanza di sovrapposizione della saldatura (mm)

  • velocity: Velocità percentuale del robot per tornare al punto di riaccensione (0-100)

  • moveType: Modalità di movimento del robot al punto di riaccensione; 0-LIN; 1-PTP

14.15. Impostazione dei parametri di ripristino dell’interruzione di saldatura del robot

Nuovo nella versione python: SDK-v2.0.8

Prototipo

WeldingSetReWeldAfterBreakOffParam(enable, length, velocity, moveType)

Descrizione

Imposta i parametri di ripristino dell’interruzione di saldatura del robot

Parametri obbligatori

  • enable: Abilitazione del ripristino dell’interruzione di saldatura

  • length: Distanza di sovrapposizione della saldatura (mm)

  • velocity: Velocità percentuale del robot per tornare al punto di riaccensione (0-100)

  • moveType: Modalità di movimento del robot al punto di riaccensione; 0-LIN; 1-PTP

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.16. Impostazione della porta DO estesa per la modalità di controllo della saldatrice

Nuovo nella versione python: SDK-v2.0.5

Prototipo

SetWeldMachineCtrlModeExtDoNum(DONum)

Descrizione

Imposta la porta DO estesa per la modalità di controllo della saldatrice

Parametri obbligatori

  • DONum: Porta DO per la modalità di controllo della saldatrice (0-127)

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.17. Impostazione della modalità di controllo della saldatrice

Nuovo nella versione python: SDK-v2.0.5

Prototipo

SetWeldMachineCtrlMode(mode, ioType)

Descrizione

Imposta modalità di controllo della saldatrice

Parametri Obbligatori

  • ioType: Tipo di controllo; 0-IO del box di controllo; 1-Protocollo di comunicazione digitale (UDP); 2-Protocollo di comunicazione digitale (ModbusTCP)

  • mode: Modalità di controllo della saldatrice; 0-Modo unico

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento-errcode

14.18. Inizio della saldatura

Nuovo nella versione python: SDK-v2.0.1

Prototipo

ARCStart(ioType, arcNum, timeout)

Descrizione

Inizia la saldatura

Parametri obbligatori

  • ioType: Tipo di IO 0-IO del controllore; 1-IO esteso

  • arcNum: Numero del file di configurazione della saldatrice

  • timeout: Tempo di timeout per l’accensione dell’arco

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.19. Fine della saldatura

Nuovo nella versione python: SDK-v2.0.1

Prototipo

ARCEnd(ioType, arcNum, timeout)

Descrizione

Termina la saldatura

Parametri obbligatori

  • ioType: Tipo 0-IO del controllore; 1-IO esteso

  • arcNum: Numero del file di configurazione della saldatrice

  • timeout: Tempo di timeout per l’accensione dell’arco

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.20. Inizio dell’oscillazione

Nuovo nella versione python: SDK-v2.0.1

Prototipo

WeaveStart(weaveNum)

Descrizione

Inizia l’oscillazione

Parametri obbligatori

  • weaveNum: Numero di configurazione dei parametri di saldatura oscillante

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.21. Fine dell’oscillazione

Nuovo nella versione python: SDK-v2.0.1

Prototipo

WeaveEnd(weaveNum)

Descrizione

Termina l’oscillazione

Parametri obbligatori

  • weaveNum: Numero di configurazione dei parametri di saldatura oscillante

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.22. Alimentazione del filo in avanti

Nuovo nella versione python: SDK-v2.0.1

Prototipo

SetForwardWireFeed(ioType, wireFeed)

Descrizione

Alimentazione del filo in avanti

Parametri obbligatori

  • ioType: 0-IO del controllore; 1-IO esteso

  • wireFeed: Controllo dell’alimentazione del filo 0-arresta l’alimentazione; 1-alimenta

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.23. Alimentazione del filo all’indietro

Nuovo nella versione python: SDK-v2.0.1

Prototipo

SetReverseWireFeed(ioType, wireFeed)

Descrizione

Alimentazione del filo all’indietro

Parametri obbligatori

  • ioType: 0-IO del controllore; 1-IO esteso

  • wireFeed: Controllo dell’alimentazione del filo 0-arresta l’alimentazione; 1-alimenta

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.24. Alimentazione del gas

Nuovo nella versione python: SDK-v2.0.1

Prototipo

SetAspirated(ioType, airControl)

Descrizione

Alimentazione del gas

Parametri obbligatori

  • ioType: 0-IO del controllore; 1-IO esteso

  • airControl: Controllo dell’alimentazione del gas 0-arresta l’alimentazione; 1-alimenta

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.25. Impostazione del robot per riprendere la saldatura dopo un’interruzione

Nuovo nella versione python: SDK-v2.0.8

Prototipo

WeldingStartReWeldAfterBreakOff()

Descrizione

Imposta il robot per riprendere la saldatura dopo un’interruzione

Parametri obbligatori

Nessuno

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.26. Impostazione del robot per uscire dalla saldatura dopo un’interruzione

Nuovo nella versione python: SDK-v2.0.8

Prototipo

WeldingAbortWeldAfterBreakOff()

Descrizione

Imposta il robot per uscire dalla saldatura dopo un’interruzione

Parametri obbligatori

Nessuno

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.27. Esempio di codice per il controllo della saldatura del robot

 1from fairino import Robot
 2# Connessione al controller del robot, restituisce un oggetto robot in caso di successo
 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. Avvio della saldatura segmentata

Nuovo nella versione python: SDK-v2.0.1

Prototipo

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])

Descrizione

Avvia la saldatura segmentata

Parametri obbligatori

  • startDesePos: Posizione cartesiana iniziale, unità [mm][°]

  • endDesePos: Posizione cartesiana target, unità [mm][°]

  • startJPos: Posizione giunto iniziale, unità [°]

  • endJPos: Posizione giunto target, unità [°]

  • weldLength: Lunghezza della saldatura, unità [mm]

  • noWeldLength: Lunghezza non saldata, unità [mm]

  • weldIOType: Tipo di IO per la saldatura (0-IO del cabinet di controllo; 1-IO esteso) arcNum Numero del file di configurazione della saldatrice

  • timeout: Tempo di timeout per lo spegnimento dell’arco

  • isWeave: Saldatura False-non saldare

  • weaveNum: Numero di configurazione dei parametri di saldatura oscillante

  • tool: Numero dello strumento, [0~14]

  • user: Numero del pezzo, [0~14]

Parametri predefiniti

  • vel: Percentuale di velocità, [0~100] predefinito 20.0

  • acc: Accelerazione [0~100] non ancora disponibile predefinito 0.0

  • ovl: Fattore di scala della velocità, [0~100] predefinito 100.0

  • blendR: [-1.0]-movimento fino alla posizione (bloccante), [0~1000]-raggio di smoothing (non bloccante), unità [mm] predefinito -1.0

  • exaxis_pos: Posizione asse esterno 1 ~ Posizione asse esterno 4 predefinito [0.0,0.0,0.0,0.0]

  • search: [0]-nessuna ricerca del filo, [1]-ricerca del filo

  • offset_flag: [0]-nessun offset, [1]-offset nel sistema di coordinate del pezzo/base, [2]-offset nel sistema di coordinate dello strumento predefinito 0

  • offset_pos: Quantità di offset di posizione, unità [mm][°] predefinito [0.0,0.0,0.0,0.0,0.0,0.0]

Valore restituito

  • Codice di errore Successo-0 Fallimento- errcode

14.29. Esempio di codice per la saldatura segmentata del robot

 1from fairino import Robot
 2import time
 3# Connessione al controller del robot, restituisce un oggetto robot in caso di successo
 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. Inizio dell’oscillazione in simulazione

Nuovo nella versione python: SDK-v2.0.5

Prototipo

WeaveStartSim(weaveNum)

Descrizione

Inizia l’oscillazione in simulazione

Parametri obbligatori

  • weaveNum: Numero dei parametri di oscillazione

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.31. Fine dell’oscillazione in simulazione

Nuovo nella versione python: SDK-v2.0.5

Prototipo

WeaveEndSim(weaveNum)

Descrizione

Termina l’oscillazione in simulazione

Parametri obbligatori

  • weaveNum: Numero dei parametri di oscillazione

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.32. Inizio del rilevamento di preallarme della traiettoria (senza movimento)

Nuovo nella versione python: SDK-v2.0.5

Prototipo

WeaveInspectStart(weaveNum)

Descrizione

Inizia il rilevamento di preallarme della traiettoria (senza movimento)

Parametri obbligatori

  • weaveNum: Numero dei parametri di oscillazione

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.33. Fine del rilevamento di preallarme della traiettoria (senza movimento)

Nuovo nella versione python: SDK-v2.0.5

Prototipo

WeaveInspectEnd(weaveNum)

Descrizione

Termina il rilevamento di preallarme della traiettoria (senza movimento)

Parametri obbligatori

  • weaveNum: Numero dei parametri di oscillazione

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.34. Inizio della variazione graduale dell’oscillazione

Nuovo nella versione python: SDK-v2.1.2

Prototipo

WeaveChangeStart(weaveChangeFlag, weaveNum, velStart, velEnd)

Descrizione

Inizia la variazione graduale dell’oscillazione

Parametri obbligatori

  • weaveChangeFlag: Numero dell’oscillazione 1-cambia parametri di oscillazione; 2-cambia parametri di oscillazione + velocità di saldatura

  • weaveNum: Numero dell’oscillazione

  • velStart: Velocità di inizio saldatura, (cm/min)

  • velEnd: Velocità di fine saldatura, (cm/min)

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.35. Esempio di codice per la saldatura con variazione graduale dell’oscillazione del robot

 1from fairino import Robot
 2# Connessione al controller del robot, restituisce un oggetto robot in caso di successo
 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)
11robot.WeaveStartSim(0)
12robot.MoveL(desc_pos= p2Desc,tool= 13,user= 0)
13robot.WeaveEndSim(0)
14robot.MoveJ(joint_pos= p1Joint,tool= 13,user= 0)
15robot.WeaveInspectStart(0)
16robot.MoveL(desc_pos= p2Desc,tool= 13,user= 0,)
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)
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. Fine della variazione graduale dell’oscillazione

Nuovo nella versione python: SDK-v2.0.9-3.7.9

Prototipo

WeaveChangeEnd()

Descrizione

Termina la variazione graduale dell’oscillazione

Parametri obbligatori

Nessuno

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.37. IO esteso - Configurazione del segnale di rilevamento del gas della saldatrice

Nuovo nella versione python: SDK-v2.0.5

Prototipo

SetAirControlExtDoNum(DONum)

Descrizione

IO esteso - Configura il segnale di rilevamento del gas della saldatrice

Parametri obbligatori

  • DONum: Numero DO esteso per il segnale di rilevamento del gas

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.38. IO esteso - Configurazione del segnale di accensione dell’arco della saldatrice

Nuovo nella versione python: SDK-v2.0.5

Prototipo

SetArcStartExtDoNum(DONum)

Descrizione

IO esteso - Configura il segnale di accensione dell’arco della saldatrice

Parametri obbligatori

  • DONum: Numero DO esteso per il segnale di rilevamento del gas

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.39. IO esteso - Configurazione del segnale di alimentazione del filo all’indietro della saldatrice

Nuovo nella versione python: SDK-v2.0.5

Prototipo

SetWireReverseFeedExtDoNum(DONum)

Descrizione

IO esteso - Configura il segnale di alimentazione del filo all’indietro della saldatrice

Parametri obbligatori

  • DONum: Numero DO esteso per il segnale di rilevamento del gas

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.40. IO esteso - Configurazione del segnale di alimentazione del filo in avanti della saldatrice

Nuovo nella versione python: SDK-v2.0.5

Prototipo

SetWireForwardFeedExtDoNum(DONum)

Descrizione

IO esteso - Configura il segnale di alimentazione del filo in avanti della saldatrice

Parametri obbligatori

  • DONum: Numero DO esteso per il segnale di rilevamento del gas

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.41. IO esteso - Configurazione del segnale di accensione dell’arco riuscita della saldatrice

Nuovo nella versione python: SDK-v2.0.5

Prototipo

SetArcDoneExtDiNum(DINum)

Descrizione

IO esteso - Configura il segnale di accensione dell’arco riuscita della saldatrice

Parametri obbligatori

  • DINum: Numero DI esteso per il segnale di pronto della saldatrice

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.42. IO esteso - Configurazione del segnale di pronto della saldatrice

Nuovo nella versione python: SDK-v2.0.5

Prototipo

SetArcDoneExtDiNum(DINum)

Descrizione

IO esteso - Configura il segnale di pronto della saldatrice

Parametri obbligatori

  • DINum: Numero DI esteso per il segnale di pronto della saldatrice

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.43. IO esteso - Configurazione del segnale di ripristino dell’interruzione di saldatura

Nuovo nella versione python: SDK-v2.0.5

Prototipo

SetExtDIWeldBreakOffRecover(reWeldDINum, abortWeldDINum)

Descrizione

IO esteso - Configura il segnale di ripristino dell’interruzione di saldatura

Parametri obbligatori

  • reWeldDINum: Numero DI esteso per il segnale di ripresa della saldatura dopo l’interruzione

  • abortWeldDINum: Numero DI esteso per il segnale di uscita dalla saldatura dopo l’interruzione

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.44. Esempio di codice per l’impostazione del segnale di saldatura IO esteso

 1from fairino import Robot
 2import time
 3import threading
 4# Connessione al controller del robot, restituisce un oggetto robot in caso di successo
 5robot = Robot.RPC('192.168.58.2')
 6rtn = robot.SetArcStartExtDoNum(10)
 7print(f"SetArcStartExtDoNum rtn is {rtn}")
 8rtn = robot.SetAirControlExtDoNum(20)
 9print(f"SetAirControlExtDoNum rtn is {rtn}")
10rtn = robot.SetWireForwardFeedExtDoNum(30)
11print(f"SetWireForwardFeedExtDoNum rtn is {rtn}")
12rtn = robot.SetWireReverseFeedExtDoNum(40)
13rtn = robot.SetWeldReadyExtDiNum(50)
14print(f"SetWeldReadyExtDiNum rtn is {rtn}")
15rtn = robot.SetArcDoneExtDiNum(60)
16print(f"SetArcDoneExtDiNum rtn is {rtn}")
17rtn = robot.SetExtDIWeldBreakOffRecover(70, 80)
18print(f"SetExtDIWeldBreakOffRecover rtn is {rtn}")
19rtn = robot.SetWireSearchExtDIONum(0, 1)
20print(f"SetWireSearchExtDIONum rtn is {rtn}")
21robot.CloseRPC()

14.45. Controllo del tracciamento dell’arco

Nuovo nella versione python: SDK-v2.0.9-3.7.9

Prototipo

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

Descrizione

Controllo del tracciamento dell’arco

Parametri obbligatori

  • flag: Interruttore, 0-off; 1-on

  • delayTime: Tempo di ritardo, unità ms

  • isLeftRight: Compensazione deviazione sinistra-destra 0-disabilitata, 1-abilitata

  • klr: Coefficiente di regolazione sinistra-destra (sensibilità)

  • tStartLr: Tempo di inizio compensazione sinistra-destra cyc

  • stepMaxLr: Compensazione massima per ciclo sinistra-destra mm

  • sumMaxLr: Compensazione totale massima sinistra-destra mm

  • isUpLow: Compensazione deviazione alto-basso 0-disabilitata, 1-abilitata

  • kud: Coefficiente di regolazione alto-basso (sensibilità)

  • tStartUd: Tempo di inizio compensazione alto-basso cyc

  • stepMaxUd: Compensazione massima per ciclo alto-basso mm

  • sumMaxUd: Compensazione totale massima alto-basso

  • axisSelect: Selezione sistema coordinate alto-basso, 0-oscillazione; 1-strumento; 2-base

  • referenceType: Metodo di impostazione corrente di riferimento alto-basso, 0-feedback; 1-costante

  • referSampleStartUd: Conteggio inizio campionamento corrente di riferimento alto-basso (feedback), cyc

  • referSampleCountUd: Conteggio cicli campionamento corrente di riferimento alto-basso (feedback), cyc

  • referenceCurrent: Corrente di riferimento alto-basso mA

  • offsetType: Tipo di tracciamento offset, 0-nessun offset; 1-campionamento; 2-percentuale

  • offsetParameter: Parametro offset; campionamento (tempo di inizio campionamento offset, predefinito campiona un ciclo); percentuale (percentuale offset (-100 ~ 100))

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.46. Selezione canale AI banda passante per il tracciamento dell’arco

Nuovo nella versione python: SDK-v2.0.5

Prototipo

ArcWeldTraceExtAIChannelConfig(channel)

Descrizione

Selezione canale AI banda passante per il tracciamento dell’arco

Parametri obbligatori

  • channel: Selezione canale AI banda passante per il tracciamento dell’arco,[0-3]

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.47. Avvio del tracciamento dell’arco + compensazione multi-strato/multi-passo

Nuovo nella versione python: SDK-v2.0.5

Prototipo

ArcWeldTraceReplayStart()

Descrizione

Avvio del tracciamento dell’arco + compensazione multi-strato/multi-passo

Parametri obbligatori

Nessuno

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.48. Fine del tracciamento dell’arco + compensazione multi-strato/multi-passo

Nuovo nella versione python: SDK-v2.0.5

Prototipo

ArcWeldTraceReplayEnd()

Descrizione

Fine del tracciamento dell’arco + compensazione multi-strato/multi-passo

Parametri obbligatori

Nessuno

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.49. Trasformazione coordinate offset - Saldatura multi-strato/multi-passo

Nuovo nella versione python: SDK-v2.0.5

Prototipo

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

Descrizione

Trasformazione coordinate offset - Saldatura multi-strato/multi-passo

Parametri obbligatori

  • pointo: Posizione cartesiana del punto di riferimento

  • pointX: Posizione cartesiana del punto nella direzione di offset X dal punto di riferimento

  • pointZ: Posizione cartesiana del punto nella direzione di offset Z dal punto di riferimento

  • dx: Quantità di offset direzione x (mm)

  • dz: Quantità di offset direzione z (mm)

  • dry: Quantità di offset rotazione attorno all’asse y (°)

Parametri predefiniti

Nessuno

Valore restituito

  • Codice di errore Successo-0 Fallimento- errcode

  • offset: Risultato calcolato dell’offset

14.50. Esempio di codice per il tracciamento dell’arco in saldatura multi-strato/multi-passo

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

14.51. Selezione canale AI per il feedback della corrente della saldatrice nel tracciamento dell’arco

Nuovo nella versione python: SDK-v2.1.2

Prototipo

ArcWeldTraceAIChannelCurrent(channel)

Descrizione

Selezione canale AI per il feedback della corrente della saldatrice nel tracciamento dell’arco

Parametri obbligatori

  • channel: Canale; 0-AI esteso0; 1-AI esteso1; 2-AI esteso2; 3-AI esteso3; 4-AI cabinet di controllo0; 5-AI cabinet di controllo1

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.52. Selezione canale AI per il feedback della tensione della saldatrice nel tracciamento dell’arco

Nuovo nella versione python: SDK-v2.1.2

Prototipo

ArcWeldTraceAIChannelVoltage(channel)

Descrizione

Selezione canale AI per il feedback della tensione della saldatrice nel tracciamento dell’arco

Parametri obbligatori

  • channel: Canale; 0-AI esteso0; 1-AI esteso1; 2-AI esteso2; 3-AI esteso3; 4-AI cabinet di controllo0; 5-AI cabinet di controllo1

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.53. Parametri di conversione per il feedback della corrente della saldatrice nel tracciamento dell’arco

Nuovo nella versione python: SDK-v2.1.2

Prototipo

ArcWeldTraceCurrentPara(AILow, AIHigh, currentLow, currentHigh)

Descrizione

Parametri di conversione per il feedback della corrente della saldatrice nel tracciamento dell’arco

Parametri obbligatori

Nessuno

Parametri predefiniti

  • AILow: Limite inferiore canale AI, valore predefinito 0V, intervallo [0-10V]

  • AIHigh: Limite superiore canale AI, valore predefinito 10V, intervallo [0-10V]

  • currentLow: Valore di corrente della saldatrice corrispondente al limite inferiore del canale AI, valore predefinito 0V, intervallo [0-200V]

  • currentHigh: Valore di corrente della saldatrice corrispondente al limite superiore del canale AI, valore predefinito 100V, intervallo [0-200V]

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.54. Parametri di conversione per il feedback della tensione della saldatrice nel tracciamento dell’arco

Nuovo nella versione python: SDK-v2.1.2

Prototipo

ArcWeldTraceVoltagePara(AILow, AIHigh, voltageLow, voltageHigh)

Descrizione

Parametri di conversione per il feedback della tensione della saldatrice nel tracciamento dell’arco

Parametri obbligatori

Nessuno

Parametri predefiniti

  • AILow: Limite inferiore canale AI, valore predefinito 0V, intervallo [0-10V]

  • AIHigh: Limite superiore canale AI, valore predefinito 10V, intervallo [0-10V]

  • voltageLow: Valore di tensione della saldatrice corrispondente al limite inferiore del canale AI, valore predefinito 0V, intervallo [0-200V]

  • voltageHigh: Valore di tensione della saldatrice corrispondente al limite superiore del canale AI, valore predefinito 100V, intervallo [0-200V]

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.55. Esempio di codice per il tracciamento dell’arco

 1from fairino import Robot
 2# Connessione al controller del robot, restituisce un oggetto robot in caso di successo
 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)  # ----Imposta tensione
17robot.WeldingSetCurrent(0, 260, 0, 0)  # ----Imposta corrente
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)

14.56. Impostazione della porta IO estesa per la ricerca del filo

Nuovo nella versione python: SDK-v2.0.5

Prototipo

SetWireSearchExtDIONum(searchDoneDINum, searchStartDONum)

Descrizione

Imposta la porta IO estesa per la ricerca del filo

Parametri obbligatori

  • searchDoneDINum: Porta DO per ricerca del filo riuscita (0-127)

  • searchStartDONum: Porta DO per controllo avvio/arresto ricerca del filo (0-127)

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.57. Esempio di codice

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

14.58. Inizio della ricerca del filo

Nuovo nella versione python: SDK-v2.0.5

Prototipo

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

Descrizione

Inizia la ricerca del filo

Parametri obbligatori

  • refPos: 1-punto di riferimento 0-punto di contatto

  • searchVel: Velocità di ricerca %

  • searchDis: Distanza di ricerca mm

  • autoBackFlag: Flag ritorno automatico, 0-non automatico; -automatico

  • autoBackVel: Velocità di ritorno automatico %

  • autoBackDis: Distanza di ritorno automatico mm

  • offectFlag: 1-ricerca con offset; 0-ricerca nel punto insegnato

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.59. Fine della ricerca del filo

Nuovo nella versione python: SDK-v2.0.5

Prototipo

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

Descrizione

Termina la ricerca del filo

Parametri obbligatori

  • refPos: 1-punto di riferimento 2-punto di contatto

  • searchVel: Velocità di ricerca %

  • searchDis: Distanza di ricerca mm

  • autoBackFlag: Flag ritorno automatico, 0-non automatico; -automatico

  • autoBackVel: Velocità di ritorno automatico %

  • autoBackDis: Distanza di ritorno automatico mm

  • offectFlag: 1-ricerca con offset; 2-ricerca nel punto insegnato

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.60. Calcolo dell’offset della ricerca del filo

Nuovo nella versione python: SDK-v2.0.5

Prototipo

GetWireSearchOffset(seamType, method,varNameRef,varNameRes)

Descrizione

Calcola l’offset della ricerca del filo

Parametri obbligatori

  • seamType: Tipo di giunto

  • method: Metodo di calcolo

  • varNameRef: Punto di riferimento 1-6, # indica nessuna variabile punto

  • varNameRes: Punto di contatto 1-6, # indica nessuna variabile punto

Parametri predefiniti

Nessuno

Valore restituito

  • Codice di errore Successo-0 Fallimento- errcode

  • offsetFlag: 0-l’offset si somma direttamente al punto di comando; 1-l’offset richiede una trasformazione di coordinate per il punto di comando

  • offset: Posizione offset [x, y, z, a, b, c]

14.61. Attesa del completamento della ricerca del filo

Nuovo nella versione python: SDK-v2.0.5

Prototipo

WireSearchWait(varname)

Descrizione

Attende il completamento della ricerca del filo

Parametri obbligatori

  • varName: Nome del punto di contatto “RES0” ~ “RES99”

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.62. Scrittura del punto di contatto della ricerca del filo nel database

Nuovo nella versione python: SDK-v2.0.5

Prototipo

SetPointToDatabase(varName,pos)

Descrizione

Scrive il punto di contatto della ricerca del filo nel database

Parametri obbligatori

  • varName: Nome del punto di contatto “RES0” ~ “RES99”

  • pos: Dati del punto di contatto [x, y, x, a, b, c]

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.63. Esempio di codice per la ricerca del filo del robot

 1from fairino import Robot
 2import time
 3# Connessione al controller del robot, restituisce un oggetto robot in caso di successo
 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.64. Impostazione dell’inizio della variazione graduale della tensione di saldatura

Nuovo nella versione python: SDK-v2.1.2

Prototipo

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

Descrizione

Imposta l’inizio della variazione graduale della tensione di saldatura

Parametri obbligatori

  • IOType: Tipo di controllo; 0-IO cabinet di controllo; 1-Protocollo di comunicazione digitale (UDP);2-Protocollo di comunicazione digitale (ModbusTCP)

  • voltageStart: Tensione di saldatura iniziale (V)

  • voltageEnd: Tensione di saldatura finale (V)

  • AOIndex: Numero porta AO cabinet di controllo (0-1)

  • blend: Smoothing 0-disabilitato; 1-abilitato

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.65. Impostazione della fine della variazione graduale della tensione di saldatura

Nuovo nella versione python: SDK-v2.1.2

Prototipo

WeldingSetVoltageGradualChangeEnd()

Descrizione

Imposta la fine della variazione graduale della tensione di saldatura

Parametri obbligatori

Nessuno

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.66. Impostazione dell’inizio della variazione graduale della corrente di saldatura

Nuovo nella versione python: SDK-v2.1.2

Prototipo

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

Descrizione

Imposta l’inizio della variazione graduale della corrente di saldatura

Parametri obbligatori

  • IOType: Tipo di controllo; 0-IO cabinet di controllo; 1-Protocollo di comunicazione digitale (UDP);2-Protocollo di comunicazione digitale (ModbusTCP)

  • currentStart: Corrente di saldatura iniziale (A)

  • currentEnd: Corrente di saldatura finale (A)

  • AOIndex: Numero porta AO cabinet di controllo (0-1)

  • blend: Smoothing 0-disabilitato; 1-abilitato

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.67. Impostazione della fine della variazione graduale della corrente di saldatura

Nuovo nella versione python: SDK-v2.1.2

Prototipo

WeldingSetCurrentGradualChangeEnd()

Descrizione

Imposta la fine della variazione graduale della corrente di saldatura

Parametri obbligatori

Nessuno

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.68. Esempio di codice per la variazione graduale di corrente e tensione di saldatura del robot

 1from fairino import Robot
 2# Connessione al controller del robot, restituisce un oggetto robot in caso di successo
 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)  # ----Imposta tensione
15robot.WeldingSetCurrent(0, 260, 0, 0)  # ----Imposta corrente
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.69. Impostazione dei parametri di oscillazione personalizzata

Nuovo nella versione python: SDK-v2.1.6

Prototipo

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

Descrizione

Imposta i parametri di oscillazione personalizzata

Parametri obbligatori

  • id: Numero dell’oscillazione personalizzata: 0-2

  • pointNum: Numero di punti dell’oscillazione 0-10

  • point: Dati dei punti di movimento x,y,z

  • stayTime: Tempo di permanenza dell’oscillazione ms

  • frequency: Frequenza di oscillazione Hz

  • incStayType: Modalità di attesa: 0-Il periodo non include il tempo di attesa; 1-Il periodo include il tempo di attesa

  • stationary: Attesa in posizione di oscillazione: 0-Il movimento continua durante il tempo di attesa; 1-La posizione è statica durante il tempo di attesa

Parametri predefiniti

Nessuno

Valore restituito

Codice di errore Successo-0 Fallimento- errcode

14.70. Recupero dei parametri di oscillazione personalizzata

Nuovo nella versione python: SDK-v2.1.6

Prototipo

CustomWeaveGetPara(id)

Descrizione

Recupera i parametri di oscillazione personalizzata

Parametri obbligatori

  • id: Numero dell’oscillazione personalizzata: 0-2

Parametri predefiniti

Nessuno

Valore restituito

  • Codice di errore Successo-0 Fallimento- errcode

  • pointNum: Numero di punti dell’oscillazione 0-10

  • point: Dati dei punti di movimento x,y,z

  • stayTime: Tempo di permanenza dell’oscillazione ms

  • frequency: Frequenza di oscillazione Hz

  • incStayType: Modalità di attesa: 0-Il periodo non include il tempo di attesa; 1-Il periodo include il tempo di attesa

  • stationary: Attesa in posizione di oscillazione: 0-Il movimento continua durante il tempo di attesa; 1-La posizione è statica durante il tempo di attesa

14.71. Esempio di codice per i parametri di oscillazione personalizzata

 1from fairino import Robot
 2# Connessione al controller del robot, restituisce un oggetto robot in caso di successo
 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)
21pointNum = 0
22frequency = 0.0
23incStayType = 0
24stationary = 0
25rtn, pointNum, point, stayTime, frequency, incStayType, stationary = robot.CustomWeaveGetPara(2)
26print(f"pointNum is {pointNum}")
27for i in range(pointNum):
28    print(f"point {i}, point x y z {point[i * 3 + 0]},{point[i * 3 + 1]},{point[i * 3 + 2]}")
29print(f"fre is {frequency}, stay is {incStayType},{stationary}")
30robot.WeaveSetPara(0, 9, 1.000000, 1, 5.000000, 6.000000, 5.000000, 50, 100, 100, 0, 1, 0.000000, 0.000000)
31desc_p1 = [-288.650, 367.807, 288.404, 0.000, -0.001, 0.001]
32desc_p2 = [-431.714, 367.815, 288.415, 0.001, 0.001, 0.000]
33desc_p3 = [-348.666, 427.798, 288.404, -0.000, -0.000, 0.001]
34j1 = [140.656, -84.560, -91.707, -93.734, 90.000, 50.655]
35j2 = [149.873, -98.298, -77.599, -94.103, 90.000, 59.873]
36j3 = [139.773, -96.173, -80.014, -93.814, 90.000, 49.772]
37epos = [0.0] * 4
38offset_pos = [0.0] * 6
39robot.MoveJ(joint_pos=j1, tool=3, user=0, vel=100)
40robot.WeaveStart(0)
41robot.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)
42robot.WeaveEnd(0)
43robot.MoveJ(joint_pos=j1, tool=3, user=0, vel=100)
44robot.WeaveStart(0)
45robot.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)
46robot.WeaveEnd(0)
47robot.MoveJ(joint_pos=j1, tool=3, user=0, vel=100)
48robot.WeaveStart(0)
49robot.MoveL(desc_pos=desc_p2, tool=3, user=0, vel=100, ovl=10, speedPercent=100)
50robot.WeaveEnd(0)
51robot.CloseRPC()