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

14.72. Configurazione Parametri Saldatrice Laser

Prototipo

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

Descrizione

Scrive i parametri di configurazione di uno dei 10 gruppi processo della saldatrice laser e li configura alla saldatrice

Parametri Obbligatori

  • io_type: Tipo di comunicazione 0-IO 1-UDP

  • Num: Numero gruppo da impostare (1~10)

  • scanSpeed: Velocità di scansione

  • scanWidth: Larghezza di scansione

  • peakPower: Potenza di picco

  • dutyCycle: Ciclo di lavoro

  • Freq: Frequenza

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento- errcode

14.73. Avvio/Arresto Saldatura Laser

Prototipo

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

Descrizione

Avvia/arresta la saldatrice laser

Parametri Obbligatori

  • io_type: Tipo di comunicazione 0-IO 1-UDP

  • status: Parola di controllo 0-laser spento 1-laser acceso

  • max_waittime: Tempo massimo di attesa

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento- errcode

14.74. Abilitazione/Disabilitazione Saldatrice Laser

Prototipo

SetLaserWeldingEnable(self, status, io_type=1)

Descrizione

Abilita/disabilita saldatrice laser

Parametri Obbligatori

  • io_type: Tipo di comunicazione 0-IO 1-UDP

  • status: 0-disabilita 1-abilita

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento- errcode

14.75. Reset Guasto Saldatrice Laser

Prototipo

ResetLaserWeldingErr(self,status, io_type=1)

Descrizione

Reset guasto saldatrice laser

Parametri Obbligatori

  • io_type: Tipo di comunicazione 0-IO 1-UDP

  • status: Parola di controllo 0-invalido 1-reset guasto

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento- errcode

14.76. Ottenere Stato Operativo Saldatrice Laser

Prototipo

GetLaserWeldingRunningState(self, io_type=1)

Descrizione

Ottiene lo stato operativo della saldatrice laser

Parametri Obbligatori

  • io_type: Tipo di comunicazione 0-IO 1-UDP

  • status: Parola di controllo 0-fermo 1-in funzione

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento- errcode

14.77. Ottenere Stato Guasto Saldatrice Laser

Prototipo

GetLaserWeldingErrState(self, io_type=1)

Descrizione

Ottiene lo stato guasto della saldatrice laser

Parametri Obbligatori

  • io_type: Tipo di comunicazione 0-IO 1-UDP

  • status: 0-nessun guasto 1-guasto presente

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento- errcode

14.78. Ottenere Parametri di Configurazione Saldatrice Laser

Prototipo

GetLaserWeldingParamTarget(self, num)

Descrizione

Ottiene i parametri di configurazione di uno dei 10 gruppi processo della saldatrice laser

Parametri Obbligatori

  • Num: Numero gruppo da impostare (1~10)

  • scanSpeed: Velocità di scansione

  • scanWidth: Larghezza di scansione

  • peakPower: Potenza di picco

  • dutyCycle: Ciclo di lavoro

  • Freq: Frequenza

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento- errcode

14.79. Ottenere Parametri di Configurazione Attivi della Saldatrice Laser

Prototipo

GetLaserWeldingParamActual(self, io_type=1)

Descrizione

Ottiene i parametri di configurazione attivi della saldatrice laser

Parametri Obbligatori

  • io_type: Tipo di comunicazione 0-IO 1-UDP

  • scanSpeed: Velocità di scansione

  • scanWidth: Larghezza di scansione

  • peakPower: Potenza di picco

  • dutyCycle: Ciclo di lavoro

  • Freq: Frequenza

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento- errcode

14.80. Configurare Porta DO Abilitazione IO Espanso per Saldatrice Laser

Prototipo

SetLaserWeldingEnableExtDoNum(self, ctrlModeDONum)

Descrizione

Configura la porta DO abilitazione IO espanso per saldatrice laser

Parametri Obbligatori

  • ctrlModeDONum: Numero porta DO espanso per abilitazione saldatrice laser

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento- errcode

14.81. Configurare Porta DO Avvio IO Espanso per Saldatrice Laser

Prototipo

SetLaserWeldingStartExtDoNum(self, ctrlModeDONum)

Descrizione

Configura la porta DO avvio IO espanso per saldatrice laser

Parametri Obbligatori

  • ctrlModeDONum: Numero porta DO espanso per avvio/arresto saldatrice laser

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento- errcode

14.82. Configurare Porta DO Reset Guasto IO Espanso per Saldatrice Laser

Prototipo

SetLaserWeldingErrResetExtDoNum(self, ctrlModeDONum)

Descrizione

Configura la porta DO reset guasto IO espanso per saldatrice laser

Parametri Obbligatori

  • ctrlModeDONum: Numero porta DO espanso per reset guasto saldatrice laser

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento- errcode

14.83. Configurare Porta DI Stato Operativo (Laser Acceso) IO Espanso per Saldatrice Laser

Prototipo

SetLaserWeldingRunningStateExtDiNum(self, diNum)

Descrizione

Configura la porta DI stato operativo (laser acceso) IO espanso per saldatrice laser

Parametri Obbligatori

  • diNum: Numero porta DI espanso per stato operativo (laser acceso) saldatrice laser

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento- errcode

14.84. Configurare Porta DI Stato Guasto IO Espanso per Saldatrice Laser

Prototipo

SetLaserWeldingErrStateExtDiNum(self, diNum)

Descrizione

Configura la porta DI stato guasto IO espanso per saldatrice laser

Parametri Obbligatori

  • diNum: Numero porta DI espanso per stato guasto saldatrice laser

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento- errcode

14.85. Esempio di Codice Saldatura Laser

 1from time import sleep
 2from fairino import Robot
 3import time
 4
 5# Stabilire connessione con il controller del robot, restituisce un oggetto robot in caso di connessione riuscita
 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    # Chiudi connessione
40    robot.CloseRPC()
41    time.sleep(1)
42
43# Chiamata funzione di test
44testLsaerWeld()