14. Soldagem

14.1. Definir Parâmetros da Curva de Processo de Soldagem

Novo na versão python: SDK-v2.0.5

Protótipo

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

Descrição

Define os parâmetros da curva de processo de soldagem

Parâmetros obrigatórios

  • id: Número do processo de soldagem (1-99)

  • startCurrent: Corrente de abertura de arco (A)

  • startVoltage: Tensão de abertura de arco (V)

  • startTime: Tempo de abertura de arco (ms)

  • weldCurrent: Corrente de soldagem (A)

  • weldVoltage: Tensão de soldagem (V)

  • endCurrent: Corrente de fechamento de arco (A)

  • endVoltage: Tensão de fechamento de arco (V)

  • endTime: Tempo de fechamento de arco (ms)

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.2. Obter Parâmetros da Curva de Processo de Soldagem

Novo na versão python: SDK-v2.0.5

Protótipo

WeldingGetProcessParam(id)

Descrição

Obtém os parâmetros da curva de processo de soldagem

Parâmetros obrigatórios

  • id: Número do processo de soldagem (1-99)

Parâmetros padrão

Nenhum

Valor de retorno

  • Código de erro: sucesso-0, falha-código de erro

  • startCurrent: Corrente de abertura de arco (A)

  • startVoltage: Tensão de abertura de arco (V)

  • startTime: Tempo de abertura de arco (ms)

  • weldCurrent: Corrente de soldagem (A)

  • weldVoltage: Tensão de soldagem (V)

  • endCurrent: Corrente de fechamento de arco (A)

  • endVoltage: Tensão de fechamento de arco (V)

  • endTime: Tempo de fechamento de arco (ms)

14.3. Definir Relação entre Corrente de Soldagem e Saída Analógica

Alterado na versão python: SDK-v2.0.5

Protótipo

WeldingSetCurrentRelation(currentMin, currentMax, outputVoltageMin, outputVoltageMax)

Descrição

Define a relação entre corrente de soldagem e saída analógica

Parâmetros obrigatórios

  • currentMin: Valor de corrente do ponto esquerdo da relação linear corrente de soldagem-saída analógica (A)

  • currentMax: Valor de corrente do ponto direito da relação linear corrente de soldagem-saída analógica (A)

  • outputVoltageMin: Valor de tensão de saída analógica do ponto esquerdo da relação linear corrente de soldagem-saída analógica (V)

  • outputVoltageMax: Valor de tensão de saída analógica do ponto direito da relação linear corrente de soldagem-saída analógica (V)

  • AOIndex: Porta de saída analógica para corrente de soldagem

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.4. Definir Relação entre Tensão de Soldagem e Saída Analógica

Alterado na versão python: SDK-v2.0.5

Protótipo

WeldingSetVoltageRelation(weldVoltageMin, weldVoltageMax, outputVoltageMin, outputVoltageMax)

Descrição

Define a relação entre tensão de soldagem e saída analógica

Parâmetros obrigatórios

  • weldVoltageMin: Valor de tensão de soldagem do ponto esquerdo da relação linear tensão de soldagem-saída analógica (A)

  • weldVoltageMax: Valor de tensão de soldagem do ponto direito da relação linear tensão de soldagem-saída analógica (A)

  • outputVoltageMin: Valor de tensão de saída analógica do ponto esquerdo da relação linear tensão de soldagem-saída analógica (V)

  • outputVoltageMax: Valor de tensão de saída analógica do ponto direito da relação linear tensão de soldagem-saída analógica (V)

  • AOIndex: Porta de saída analógica para tensão de soldagem

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.5. Obter Relação entre Corrente de Soldagem e Saída Analógica

Alterado na versão python: SDK-v2.0.5

Protótipo

WeldingGetCurrentRelation()

Descrição

Obtém a relação entre corrente de soldagem e saída analógica

Parâmetros obrigatórios

Nenhum

Parâmetros padrão

Nenhum

Valor de retorno

  • Código de erro: sucesso-0, falha-código de erro

  • currentMin: Valor de corrente do ponto esquerdo da relação linear corrente de soldagem-saída analógica (A)

  • currentMax: Valor de corrente do ponto direito da relação linear corrente de soldagem-saída analógica (A)

  • outputVoltageMin: Valor de tensão de saída analógica do ponto esquerdo da relação linear corrente de soldagem-saída analógica (V)

  • outputVoltageMax: Valor de tensão de saída analógica do ponto direito da relação linear corrente de soldagem-saída analógica (V)

  • AOIndex: Porta de saída analógica para tensão de soldagem

14.6. Obter Relação entre Tensão de Soldagem e Saída Analógica

Alterado na versão python: SDK-v2.0.5

Protótipo

WeldingGetVoltageRelation()

Descrição

Obtém a relação entre tensão de soldagem e saída analógica

Parâmetros obrigatórios

Nenhum

Parâmetros padrão

Nenhum

Valor de retorno

  • Código de erro: sucesso-0, falha-código de erro

  • weldVoltageMin: Valor de tensão de soldagem do ponto esquerdo da relação linear tensão de soldagem-saída analógica (V)

  • weldVoltageMax: Valor de tensão de soldagem do ponto direito da relação linear tensão de soldagem-saída analógica (V)

  • outputVoltageMin: Valor de tensão de saída analógica do ponto esquerdo da relação linear tensão de soldagem-saída analógica (V)

  • outputVoltageMax: Valor de tensão de saída analógica do ponto direito da relação linear corrente de soldagem-saída analógica (V)

  • AOIndex: Porta de saída analógica para tensão de soldagem

14.7. Definir Corrente de Soldagem

Alterado na versão python: SDK-v2.0.5

Protótipo

WeldingSetCurrent(ioType, current, AOIndex, blend)

Descrição

Define a corrente de soldagem

Parâmetros obrigatórios

  • ioType: Tipo 0-E/S do controlador; 1-E/S estendida

  • current: Valor da corrente de soldagem (A)

  • AOIndex: Porta de saída analógica da caixa de controle para corrente de soldagem (0-1)

  • blend: Se suaviza 0-não suaviza, 1-suaviza

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.8. Definir Tensão de Soldagem

Alterado na versão python: SDK-v2.0.5

Protótipo

WeldingSetVoltage(ioType, voltage, AOIndex, blend)

Descrição

Define a tensão de soldagem

Parâmetros obrigatórios

  • ioType: Tipo 0-E/S do controlador; 1-E/S estendida

  • voltage: Valor da tensão de soldagem (V)

  • AOIndex: Porta de saída analógica da caixa de controle para corrente de soldagem (0-1)

  • blend: Se suaviza 0-não suaviza, 1-suaviza

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.9. Definir Parâmetros de Oscilação

Alterado na versão python: SDK-v2.1.2

Protótipo

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

Descrição

Define os parâmetros de oscilação

Parâmetros obrigatórios

  • weaveNum: Número de configuração dos parâmetros de oscilação de soldagem

  • weaveType: Tipo de oscilação 0-oscilação triangular plana; 1-oscilação triangular em L vertical; 2-oscilação circular horária; 3-oscilação circular anti-horária; 4-oscilação senoidal plana; 5-oscilação senoidal em L vertical; 6-oscilação triangular vertical; 7-oscilação senoidal vertical

  • weaveFrequency: Frequência de oscilação (Hz)

  • weaveIncStayTime: Modo de espera 0-ciclo não inclui tempo de espera; 1-ciclo inclui tempo de espera

  • weaveRange: Amplitude de oscilação (mm)

  • weaveLeftRange: Comprimento da corda esquerda da oscilação triangular vertical (mm)

  • weaveRightRange: Comprimento da corda direita da oscilação triangular vertical (mm)

  • additionalStayTime: Tempo de permanência no ponto vertical da oscilação triangular vertical (mm)

  • weaveLeftStayTime: Tempo de permanência à esquerda da oscilação (ms)

  • weaveRightStayTime: Tempo de permanência à direita da oscilação (ms)

  • weaveCircleRadio: Oscilação circular - taxa de retorno (0-100%)

  • weaveStationary: Espera na posição de oscilação, 0-posição continua se movendo durante o tempo de espera; 1-posição permanece estática durante o tempo de espera

Parâmetros padrão

  • weaveYawAngle: Ângulo de direção da oscilação (rotação em torno do eixo Z da oscilação), em graus, padrão 0

  • weaveRotAngle: Ângulo de direção da oscilação (rotação em torno do eixo X da oscilação), em graus, padrão 0

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.10. Exemplo de Código para Definir Parâmetros de Soldagem

 1from fairino import Robot
 2import time
 3# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
 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. Definir Parâmetros de Oscilação em Tempo Real

Novo na versão python: SDK-v2.0.1

Protótipo

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

Descrição

Define parâmetros de oscilação em tempo real

Parâmetros obrigatórios

  • weaveNum: Número de configuração dos parâmetros de oscilação de soldagem

  • weaveType: Tipo de oscilação 0-oscilação triangular plana; 1-oscilação triangular em L vertical; 2-oscilação circular horária; 3-oscilação circular anti-horária; 4-oscilação senoidal plana; 5-oscilação senoidal em L vertical; 6-oscilação triangular vertical; 7-oscilação senoidal vertical

  • weaveFrequency: Frequência de oscilação (Hz)

  • weaveIncStayTime: Modo de espera 0-ciclo não inclui tempo de espera; 1-ciclo inclui tempo de espera

  • weaveRange: Amplitude de oscilação (mm)

  • weaveLeftStayTime: Tempo de permanência à esquerda da oscilação (ms)

  • weaveRightStayTime: Tempo de permanência à direita da oscilação (ms)

  • weaveCircleRadio: Oscilação circular - taxa de retorno (0-100%)

  • weaveStationary: Espera na posição de oscilação, 0-posição continua se movendo durante o tempo de espera; 1-posição permanece estática durante o tempo de espera

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.12. Obter Parâmetros de Detecção de Interrupção Inesperada do Arco de Soldagem do Robô

Novo na versão python: SDK-v2.0.8

Protótipo

WeldingGetCheckArcInterruptionParam()

Descrição

Obtém os parâmetros de detecção de interrupção inesperada do arco de soldagem do robô

Parâmetros obrigatórios

Nenhum

Parâmetros padrão

Nenhum

Valor de retorno

  • Código de erro: sucesso-0, falha-código de erro

  • checkEnable: Se habilita a detecção; 0-não habilita; 1-habilita

  • arcInterruptTimeLength: Duração de confirmação da interrupção do arco (ms)

14.13. Definir Parâmetros de Detecção de Interrupção Inesperada do Arco de Soldagem do Robô

Novo na versão python: SDK-v2.0.8

Protótipo

WeldingSetCheckArcInterruptionParam(checkEnable, arcInterruptTimeLength)

Descrição

Define os parâmetros de detecção de interrupção inesperada do arco de soldagem do robô

Parâmetros obrigatórios

  • checkEnable: Se habilita a detecção; 0-não habilita; 1-habilita

  • arcInterruptTimeLength: Duração de confirmação da interrupção do arco (ms)

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.14. Obter Parâmetros de Recuperação de Interrupção de Soldagem do Robô

Novo na versão python: SDK-v2.0.8

Protótipo

WeldingGetReWeldAfterBreakOffParam()

Descrição

Obtém os parâmetros de recuperação de interrupção de soldagem do robô

Parâmetros obrigatórios

Nenhum

Parâmetros padrão

Nenhum

Valor de retorno

  • Código de erro: sucesso-0, falha-código de erro

  • enable: Se habilita a recuperação de interrupção de soldagem

  • length: Distância de sobreposição da solda (mm)

  • velocity: Percentagem de velocidade do robô ao retornar ao ponto de reabertura de arco (0-100)

  • moveType: Modo de movimento do robô até o ponto de reabertura de arco; 0-LIN; 1-PTP

14.15. Definir Parâmetros de Recuperação de Interrupção de Soldagem do Robô

Novo na versão python: SDK-v2.0.8

Protótipo

WeldingSetReWeldAfterBreakOffParam(enable, length, velocity, moveType)

Descrição

Define os parâmetros de recuperação de interrupção de soldagem do robô

Parâmetros obrigatórios

  • enable: Se habilita a recuperação de interrupção de soldagem

  • length: Distância de sobreposição da solda (mm)

  • velocity: Percentagem de velocidade do robô ao retornar ao ponto de reabertura de arco (0-100)

  • moveType: Modo de movimento do robô até o ponto de reabertura de arco; 0-LIN; 1-PTP

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.16. Definir Porta DO Estendida do Modo de Controle da Máquina de Solda

Novo na versão python: SDK-v2.0.5

Protótipo

SetWeldMachineCtrlModeExtDoNum(DONum)

Descrição

Define a porta DO estendida do modo de controle da máquina de solda

Parâmetros obrigatórios

  • DONum: Porta DO do modo de controle da máquina de solda (0-127)

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.17. Definir Modo de Controle da Máquina de Solda

Novo na versão python: SDK-v2.0.5

Protótipo

SetWeldMachineCtrlMode(mode, ioType)

Descrição

Define o modo de controle da máquina de solda

Parâmetros obrigatórios

  • ioType: Tipo de controle; 0-E/S da caixa de controle; 1-protocolo de comunicação digital (UDP); 2-protocolo de comunicação digital (ModbusTCP)

  • mode: Modo de controle da máquina de solda; 0-unário

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.18. Início da Soldagem

Novo na versão python: SDK-v2.0.1

Protótipo

ARCStart(ioType, arcNum, timeout)

Descrição

Início da soldagem

Parâmetros obrigatórios

  • ioType: Tipo de E/S 0-E/S do controlador; 1-E/S estendida

  • arcNum: Número do arquivo de configuração da máquina de solda

  • timeout: Tempo limite de abertura de arco

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.19. Fim da Soldagem

Novo na versão python: SDK-v2.0.1

Protótipo

ARCEnd(ioType, arcNum, timeout)

Descrição

Fim da soldagem

Parâmetros obrigatórios

  • ioType: Tipo 0-E/S do controlador; 1-E/S estendida

  • arcNum: Número do arquivo de configuração da máquina de solda

  • timeout: Tempo limite de abertura de arco

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.20. Início da Oscilação

Novo na versão python: SDK-v2.0.1

Protótipo

WeaveStart(weaveNum)

Descrição

Início da oscilação

Parâmetros obrigatórios

  • weaveNum: Tipo 0-E/S do controlador; 1-E/S estendida

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.21. Fim da Oscilação

Novo na versão python: SDK-v2.0.1

Protótipo

WeaveEnd(weaveNum)

Descrição

Fim da oscilação

Parâmetros obrigatórios

  • weaveNum: Número de configuração dos parâmetros de oscilação de soldagem

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.22. Alimentação de Arame para Frente

Novo na versão python: SDK-v2.0.1

Protótipo

SetForwardWireFeed(ioType, wireFeed)

Descrição

Alimentação de arame para frente

Parâmetros obrigatórios

  • ioType: 0-E/S do controlador; 1-E/S estendida

  • wireFeed: Controle de alimentação de arame 0-parar alimentação; 1-alimentar

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.23. Alimentação de Arame para Trás

Novo na versão python: SDK-v2.0.1

Protótipo

SetReverseWireFeed(ioType, wireFeed)

Descrição

Alimentação de arame para trás

Parâmetros obrigatórios

  • ioType: 0-E/S do controlador; 1-E/S estendida

  • wireFeed: Controle de alimentação de arame 0-parar alimentação; 1-alimentar

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.24. Fornecimento de Gás

Novo na versão python: SDK-v2.0.1

Protótipo

SetAspirated(ioType, airControl)

Descrição

Fornecimento de gás

Parâmetros obrigatórios

  • ioType: 0-E/S do controlador; 1-E/S estendida

  • airControl: Controle de fornecimento de gás 0-parar fornecimento; 1-fornecer

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.25. Definir Retomada de Soldagem do Robô Após Interrupção

Novo na versão python: SDK-v2.0.8

Protótipo

WeldingStartReWeldAfterBreakOff()

Descrição

Define a retomada de soldagem do robô após interrupção

Parâmetros obrigatórios

Nenhum

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.26. Definir Saída da Soldagem do Robô Após Interrupção

Novo na versão python: SDK-v2.0.8

Protótipo

WeldingAbortWeldAfterBreakOff()

Descrição

Define a saída da soldagem do robô após interrupção

Parâmetros obrigatórios

Nenhum

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.27. Exemplo de Código de Controle de Soldagem do Robô

 1from fairino import Robot
 2# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
 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. Início da Soldagem por Segmentos

Novo na versão python: SDK-v2.0.1

Protótipo

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

Descrição

Início da soldagem por segmentos

Parâmetros obrigatórios

  • startDesePos: Pose cartesiana inicial, unidades [mm][°]

  • endDesePos: Pose cartesiana alvo, unidades [mm][°]

  • startJPos: Posição articular inicial, unidades [°]

  • endJPos: Posição articular alvo, unidades [°]

  • weldLength: Comprimento de solda, unidades [mm]

  • noWeldLength: Comprimento não soldado, unidades [mm]

  • weldIOType: Tipo de E/S de soldagem (0-E/S da caixa de controle; 1-E/S estendida) arcNum Número do arquivo de configuração da máquina de solda

  • timeout: Tempo limite de extinção do arco

  • isWeave: Soldagem False-não soldar

  • weaveNum: Número de configuração dos parâmetros de oscilação de soldagem

  • tool: Número da ferramenta, [0~14]

  • user: Número da peça, [0~14]

Parâmetros padrão

  • vel: Percentagem de velocidade, [0~100] padrão 20.0

  • acc: Aceleração [0~100] temporariamente não disponível, padrão 0.0

  • ovl: Fator de escala de velocidade, [0~100] padrão 100.0

  • blendR: [-1.0]-movimento até o final (bloqueante), [0~1000]-raio de suavização (não bloqueante), unidade [mm] padrão -1.0

  • exaxis_pos: Posição do eixo externo 1 ~ posição do eixo externo 4, padrão [0.0,0.0,0.0,0.0]

  • search: [0]-sem busca de posição do arame, [1]-com busca de posição do arame

  • offset_flag: [0]-sem deslocamento, [1]-deslocamento no sistema de coordenadas peça/base, [2]-deslocamento no sistema de coordenadas da ferramenta, padrão 0

  • offset_pos: Deslocamento de pose, unidades [mm][°] padrão [0.0,0.0,0.0,0.0,0.0,0.0]

Valor de retorno

  • Código de erro: sucesso-0, falha-código de erro

14.29. Exemplo de Código de Soldagem por Segmentos do Robô

 1from fairino import Robot
 2import time
 3# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
 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. Início da Oscilação de Simulação

Novo na versão python: SDK-v2.0.5

Protótipo

WeaveStartSim(weaveNum)

Descrição

Início da oscilação de simulação

Parâmetros obrigatórios

  • weaveNum: Número do parâmetro de oscilação

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.31. Fim da Oscilação de Simulação

Novo na versão python: SDK-v2.0.5

Protótipo

WeaveEndSim(weaveNum)

Descrição

Fim da oscilação de simulação

Parâmetros obrigatórios

  • weaveNum: Número do parâmetro de oscilação

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.32. Início da Detecção de Alerta de Trajetória (Sem Movimento)

Novo na versão python: SDK-v2.0.5

Protótipo

WeaveInspectStart(weaveNum)

Descrição

Início da detecção de alerta de trajetória (sem movimento)

Parâmetros obrigatórios

  • weaveNum: Número do parâmetro de oscilação

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.33. Fim da Detecção de Alerta de Trajetória (Sem Movimento)

Novo na versão python: SDK-v2.0.5

Protótipo

WeaveInspectEnd(weaveNum)

Descrição

Fim da detecção de alerta de trajetória (sem movimento)

Parâmetros obrigatórios

  • weaveNum: Número do parâmetro de oscilação

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.34. Início da Mudança Gradual da Oscilação

Novo na versão python: SDK-v2.1.2

Protótipo

WeaveChangeStart(weaveChangeFlag, weaveNum, velStart, velEnd)

Descrição

Início da mudança gradual da oscilação

Parâmetros obrigatórios

  • weaveChangeFlag: Número da oscilação 1-alterar parâmetro de oscilação; 2-alterar parâmetro de oscilação + velocidade de soldagem

  • weaveNum: Número da oscilação

  • velStart: Velocidade inicial de soldagem, (cm/min)

  • velEnd: Velocidade final de soldagem, (cm/min)

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.35. Exemplo de Código de Soldagem com Mudança Gradual de Oscilação do Robô

 1from fairino import Robot
 2# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
 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. Fim da Mudança Gradual da Oscilação

Novo na versão python: SDK-v2.0.9-3.7.9

Protótipo

WeaveChangeEnd()

Descrição

Fim da mudança gradual da oscilação

Parâmetros obrigatórios

Nenhum

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.37. E/S Estendida - Configurar Sinal de Detecção de Gás da Máquina de Solda

Novo na versão python: SDK-v2.0.5

Protótipo

SetAirControlExtDoNum(DONum)

Descrição

E/S estendida - configurar sinal de detecção de gás da máquina de solda

Parâmetros obrigatórios

  • DONum: Número DO estendido do sinal de detecção de gás

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.38. E/S Estendida - Configurar Sinal de Abertura de Arco da Máquina de Solda

Novo na versão python: SDK-v2.0.5

Protótipo

SetArcStartExtDoNum(DONum)

Descrição

E/S estendida - configurar sinal de abertura de arco da máquina de solda

Parâmetros obrigatórios

  • DONum: Número DO estendido do sinal de detecção de gás

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.39. E/S Estendida - Configurar Sinal de Alimentação de Arame para Trás da Máquina de Solda

Novo na versão python: SDK-v2.0.5

Protótipo

SetWireReverseFeedExtDoNum(DONum)

Descrição

E/S estendida - configurar sinal de alimentação de arame para trás da máquina de solda

Parâmetros obrigatórios

  • DONum: Número DO estendido do sinal de detecção de gás

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.40. E/S Estendida - Configurar Sinal de Alimentação de Arame para Frente da Máquina de Solda

Novo na versão python: SDK-v2.0.5

Protótipo

SetWireForwardFeedExtDoNum(DONum)

Descrição

E/S estendida - configurar sinal de alimentação de arame para frente da máquina de solda

Parâmetros obrigatórios

  • DONum: Número DO estendido do sinal de detecção de gás

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.41. E/S Estendida - Configurar Sinal de Sucesso de Abertura de Arco da Máquina de Solda

Novo na versão python: SDK-v2.0.5

Protótipo

SetArcDoneExtDiNum(DINum)

Descrição

E/S estendida - configurar sinal de sucesso de abertura de arco da máquina de solda

Parâmetros obrigatórios

  • DINum: Número DI estendido do sinal de prontidão da máquina de solda

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.42. E/S Estendida - Configurar Sinal de Prontidão da Máquina de Solda

Novo na versão python: SDK-v2.0.5

Protótipo

SetArcDoneExtDiNum(DINum)

Descrição

E/S estendida - configurar sinal de prontidão da máquina de solda

Parâmetros obrigatórios

  • DINum: Número DI estendido do sinal de prontidão da máquina de solda

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.43. E/S Estendida - Configurar Sinal de Recuperação de Interrupção de Soldagem

Novo na versão python: SDK-v2.0.5

Protótipo

SetExtDIWeldBreakOffRecover(reWeldDINum, abortWeldDINum)

Descrição

E/S estendida - configurar sinal de recuperação de interrupção de soldagem

Parâmetros obrigatórios

  • reWeldDINum: Número DI estendido do sinal de retomada de soldagem após interrupção

  • abortWeldDINum: Número DI estendido do sinal de saída de soldagem após interrupção

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.44. Exemplo de Código para Configurar Sinais de Soldagem com E/S Estendida

 1from fairino import Robot
 2import time
 3import threading
 4# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
 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. Controle de Rastreamento de Arco

Novo na versão python: SDK-v2.0.9-3.7.9

Protótipo

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

Descrição

Controle de rastreamento de arco

Parâmetros obrigatórios

  • flag: Chave, 0-desligar; 1-ligar

  • delayTime: Tempo de atraso, em ms

  • isLeftRight: Compensação de desvio esquerda/direita 0-desativar, 1-ativar

  • klr: Coeficiente de ajuste esquerda/direita (sensibilidade)

  • tStartLr: Tempo de início da compensação esquerda/direita cyc

  • stepMaxLr: Quantidade máxima de compensação por vez esquerda/direita mm

  • sumMaxLr: Quantidade máxima total de compensação esquerda/direita mm

  • isUpLow: Compensação de desvio acima/abaixo 0-desativar, 1-ativar

  • kud: Coeficiente de ajuste acima/abaixo (sensibilidade)

  • tStartUd: Tempo de início da compensação acima/abaixo cyc

  • stepMaxUd: Quantidade máxima de compensação por vez acima/abaixo mm

  • sumMaxUd: Quantidade máxima total de compensação acima/abaixo

  • axisSelect: Seleção do sistema de coordenadas acima/abaixo, 0-oscilação; 1-ferramenta; 2-base

  • referenceType: Modo de definição da corrente de referência acima/abaixo, 0-feedback; 1-constante

  • referSampleStartUd: Início da amostragem da corrente de referência acima/abaixo (feedback), cyc

  • referSampleCountUd: Contagem do ciclo de amostragem da corrente de referência acima/abaixo (feedback), cyc

  • referenceCurrent: Corrente de referência acima/abaixo mA

  • offsetType: Tipo de rastreamento com deslocamento, 0-sem deslocamento; 1-amostragem; 2-percentagem

  • offsetParameter: Parâmetro de deslocamento; amostragem (tempo de início da amostragem de deslocamento, padrão um ciclo); percentagem (percentagem de deslocamento (-100 ~ 100))

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.46. Seleção da Banda de Passagem AI do Rastreamento de Arco

Novo na versão python: SDK-v2.0.5

Protótipo

ArcWeldTraceExtAIChannelConfig(channel)

Descrição

Seleção da banda de passagem AI do rastreamento de arco

Parâmetros obrigatórios

  • channel: Banda de passagem AI do rastreamento de arco, [0-3]

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.47. Ativação da Compensação de Rastreamento de Arco + Múltiplas Camadas e Múltiplos Passes

Novo na versão python: SDK-v2.0.5

Protótipo

ArcWeldTraceReplayStart()

Descrição

Ativação da compensação de rastreamento de arco + múltiplas camadas e múltiplos passes

Parâmetros obrigatórios

Nenhum

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.48. Desativação da Compensação de Rastreamento de Arco + Múltiplas Camadas e Múltiplos Passes

Novo na versão python: SDK-v2.0.5

Protótipo

ArcWeldTraceReplayEnd()

Descrição

Desativação da compensação de rastreamento de arco + múltiplas camadas e múltiplos passes

Parâmetros obrigatórios

Nenhum

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.49. Mudança de Coordenadas de Deslocamento - Soldagem de Múltiplas Camadas e Múltiplos Passes

Novo na versão python: SDK-v2.0.5

Protótipo

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

Descrição

Mudança de coordenadas de deslocamento - soldagem de múltiplas camadas e múltiplos passes

Parâmetros obrigatórios

  • pointo: Pose cartesiana do ponto de referência

  • pointX: Pose cartesiana do ponto de direção de deslocamento no eixo X do ponto de referência

  • pointZ: Pose cartesiana do ponto de direção de deslocamento no eixo Z do ponto de referência

  • dx: Quantidade de deslocamento na direção X (mm)

  • dz: Quantidade de deslocamento na direção Z (mm)

  • dry: Quantidade de deslocamento em torno do eixo Y (°)

Parâmetros padrão

Nenhum

Valor de retorno

  • Código de erro: sucesso-0, falha-código de erro

  • offset: Deslocamento calculado

14.50. Exemplo de Código de Rastreamento de Arco com Soldagem de Múltiplas Camadas e Múltiplos Passes

 1from fairino import Robot
 2import time
 3import threading
 4# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
 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. Seleção do Canal AI de Feedback de Corrente da Máquina de Solda para Rastreamento de Arco

Novo na versão python: SDK-v2.1.2

Protótipo

ArcWeldTraceAIChannelCurrent(channel)

Descrição

Seleção do canal AI de feedback de corrente da máquina de solda para rastreamento de arco

Parâmetros obrigatórios

  • channel: Canal; 0-AI estendido 0; 1-AI estendido 1; 2-AI estendido 2; 3-AI estendido 3; 4-AI da caixa de controle 0; 5-AI da caixa de controle 1

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.52. Seleção do Canal AI de Feedback de Tensão da Máquina de Solda para Rastreamento de Arco

Novo na versão python: SDK-v2.1.2

Protótipo

ArcWeldTraceAIChannelVoltage(channel)

Descrição

Seleção do canal AI de feedback de tensão da máquina de solda para rastreamento de arco

Parâmetros obrigatórios

  • channel: Canal; 0-AI estendido 0; 1-AI estendido 1; 2-AI estendido 2; 3-AI estendido 3; 4-AI da caixa de controle 0; 5-AI da caixa de controle 1

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.53. Parâmetros de Conversão de Feedback de Corrente da Máquina de Solda para Rastreamento de Arco

Novo na versão python: SDK-v2.1.2

Protótipo

ArcWeldTraceCurrentPara(AILow, AIHigh, currentLow, currentHigh)

Descrição

Parâmetros de conversão de feedback de corrente da máquina de solda para rastreamento de arco

Parâmetros obrigatórios

Nenhum

Parâmetros padrão

  • AILow: Limite inferior do canal AI, valor padrão 0V, intervalo [0-10V]

  • AIHigh: Limite superior do canal AI, valor padrão 10V, intervalo [0-10V]

  • currentLow: Valor de corrente da máquina de solda correspondente ao limite inferior do AI, valor padrão 0V, intervalo [0-200V]

  • currentHigh: Valor de corrente da máquina de solda correspondente ao limite superior do AI, valor padrão 100V, intervalo [0-200V]

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.54. Parâmetros de Conversão de Feedback de Tensão da Máquina de Solda para Rastreamento de Arco

Novo na versão python: SDK-v2.1.2

Protótipo

ArcWeldTraceVoltagePara(AILow, AIHigh, voltageLow, voltageHigh)

Descrição

Parâmetros de conversão de feedback de tensão da máquina de solda para rastreamento de arco

Parâmetros obrigatórios

Nenhum

Parâmetros padrão

  • AILow: Limite inferior do canal AI, valor padrão 0V, intervalo [0-10V]

  • AIHigh: Limite superior do canal AI, valor padrão 10V, intervalo [0-10V]

  • voltageLow: Valor de tensão da máquina de solda correspondente ao limite inferior do AI, valor padrão 0V, intervalo [0-200V]

  • voltageHigh: Valor de tensão da máquina de solda correspondente ao limite superior do AI, valor padrão 100V, intervalo [0-200V]

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.55. Exemplo de Código de Rastreamento de Arco

 1from fairino import Robot
 2# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
 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)  # ---- definir tensão
17robot.WeldingSetCurrent(0, 260, 0, 0)  # ---- definir 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. Definir Portas E/S Estendidas para Busca de Posição do Arame de Solda

Novo na versão python: SDK-v2.0.5

Protótipo

SetWireSearchExtDIONum(searchDoneDINum, searchStartDONum)

Descrição

Define as portas E/S estendidas para busca de posição do arame de solda

Parâmetros obrigatórios

  • searchDoneDINum: Porta DO de sucesso na busca de posição do arame (0-127)

  • searchStartDONum: Porta DO de controle de início/parada da busca de posição do arame (0-127)

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.57. Exemplo de Código

 1from fairino import Robot
 2import time
 3# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
 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. Início da Busca de Posição do Arame de Solda

Novo na versão python: SDK-v2.0.5

Protótipo

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

Descrição

Início da busca de posição do arame de solda

Parâmetros obrigatórios

  • refPos: 1-ponto de referência 0-ponto de contato

  • searchVel: Velocidade de busca %

  • searchDis: Distância de busca mm

  • autoBackFlag: Flag de retorno automático, 0-não automático; -automático

  • autoBackVel: Velocidade de retorno automático %

  • autoBackDis: Distância de retorno automático mm

  • offectFlag: 1-busca com deslocamento; 0-busca no ponto ensinado

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.59. Fim da Busca de Posição do Arame de Solda

Novo na versão python: SDK-v2.0.5

Protótipo

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

Descrição

Fim da busca de posição do arame de solda

Parâmetros obrigatórios

  • refPos: 1-ponto de referência 2-ponto de contato

  • searchVel: Velocidade de busca %

  • searchDis: Distância de busca mm

  • autoBackFlag: Flag de retorno automático, 0-não automático; -automático

  • autoBackVel: Velocidade de retorno automático %

  • autoBackDis: Distância de retorno automático mm

  • offectFlag: 1-busca com deslocamento; 2-busca no ponto ensinado

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.60. Calcular Deslocamento da Busca de Posição do Arame de Solda

Novo na versão python: SDK-v2.0.5

Protótipo

GetWireSearchOffset(seamType, method, varNameRef, varNameRes)

Descrição

Calcula o deslocamento da busca de posição do arame de solda

Parâmetros obrigatórios

  • seamType: Tipo de solda

  • method: Método de cálculo

  • varNameRef: Pontos de referência 1-6, # indica ausência de ponto variável

  • varNameRes: Pontos de contato 1-6, # indica ausência de ponto variável

Parâmetros padrão

Nenhum

Valor de retorno

  • Código de erro: sucesso-0, falha-código de erro

  • offsetFlag: 0-deslocamento adicionado diretamente ao ponto de comando; 1-deslocamento requer transformação de coordenadas do ponto de comando

  • offset: Deslocamento da pose [x, y, z, a, b, c]

14.61. Aguardar Conclusão da Busca de Posição do Arame de Solda

Novo na versão python: SDK-v2.0.5

Protótipo

WireSearchWait(varname)

Descrição

Aguarda a conclusão da busca de posição do arame de solda

Parâmetros obrigatórios

  • varName: Nome do ponto de contato RES0 ~ RES99

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.62. Escrever Ponto de Contato da Busca de Posição do Arame no Banco de Dados

Novo na versão python: SDK-v2.0.5

Protótipo

SetPointToDatabase(varName, pos)

Descrição

Escreve o ponto de contato da busca de posição do arame no banco de dados

Parâmetros obrigatórios

  • varName: Nome do ponto de contato RES0 ~ RES99

  • pos: Dados do ponto de contato [x, y, x, a, b, c]

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.63. Exemplo de Código de Busca de Posição do Arame de Solda do Robô

 1from fairino import Robot
 2import time
 3# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
 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. Definir Início da Mudança Gradual da Tensão de Soldagem

Novo na versão python: SDK-v2.1.2

Protótipo

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

Descrição

Define o início da mudança gradual da tensão de soldagem

Parâmetros obrigatórios

  • IOType: Tipo de controle; 0-E/S da caixa de controle; 1-protocolo de comunicação digital (UDP); 2-protocolo de comunicação digital (ModbusTCP)

  • voltageStart: Tensão de soldagem inicial (V)

  • voltageEnd: Tensão de soldagem final (V)

  • AOIndex: Número da porta AO da caixa de controle (0-1)

  • blend: Se suaviza 0-não suaviza; 1-suaviza

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.65. Definir Fim da Mudança Gradual da Tensão de Soldagem

Novo na versão python: SDK-v2.1.2

Protótipo

WeldingSetVoltageGradualChangeEnd()

Descrição

Define o fim da mudança gradual da tensão de soldagem

Parâmetros obrigatórios

Nenhum

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.66. Definir Início da Mudança Gradual da Corrente de Soldagem

Novo na versão python: SDK-v2.1.2

Protótipo

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

Descrição

Define o início da mudança gradual da corrente de soldagem

Parâmetros obrigatórios

  • IOType: Tipo de controle; 0-E/S da caixa de controle; 1-protocolo de comunicação digital (UDP); 2-protocolo de comunicação digital (ModbusTCP)

  • currentStart: Corrente de soldagem inicial (A)

  • currentEnd: Corrente de soldagem final (A)

  • AOIndex: Número da porta AO da caixa de controle (0-1)

  • blend: Se suaviza 0-não suaviza; 1-suaviza

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.67. Definir Fim da Mudança Gradual da Corrente de Soldagem

Novo na versão python: SDK-v2.1.2

Protótipo

WeldingSetCurrentGradualChangeEnd()

Descrição

Define o fim da mudança gradual da corrente de soldagem

Parâmetros obrigatórios

Nenhum

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.68. Exemplo de Código de Mudança Gradual de Corrente e Tensão de Soldagem do Robô

 1from fairino import Robot
 2# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
 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)  # ---- definir tensão
15robot.WeldingSetCurrent(0, 260, 0, 0)  # ---- definir 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. Definir Parâmetros de Oscilação Personalizada

Novo na versão python: SDK-v2.1.6

Protótipo

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

Descrição

Define parâmetros de oscilação personalizada

Parâmetros obrigatórios

  • id: Número da oscilação personalizada: 0-2

  • pointNum: Número de pontos de oscilação 0-10

  • point: Dados do ponto de extremidade de movimento x, y, z

  • stayTime: Tempo de permanência da oscilação ms

  • frequency: Frequência de oscilação Hz

  • incStayType: Modo de espera: 0-ciclo não inclui tempo de espera; 1-ciclo inclui tempo de espera

  • stationary: Espera na posição de oscilação: 0-continua movimento durante o tempo de espera; 1-posição permanece estática durante o tempo de espera

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

14.70. Obter Parâmetros de Oscilação Personalizada

Novo na versão python: SDK-v2.1.6

Protótipo

CustomWeaveGetPara(id)

Descrição

Obtém parâmetros de oscilação personalizada

Parâmetros obrigatórios

  • id: Número da oscilação personalizada: 0-2

Parâmetros padrão

Nenhum

Valor de retorno

  • Código de erro: sucesso-0, falha-código de erro

  • pointNum: Número de pontos de oscilação 0-10

  • point: Dados do ponto de extremidade de movimento x, y, z

  • stayTime: Tempo de permanência da oscilação ms

  • frequency: Frequência de oscilação Hz

  • incStayType: Modo de espera: 0-ciclo não inclui tempo de espera; 1-ciclo inclui tempo de espera

  • stationary: Espera na posição de oscilação: 0-continua movimento durante o tempo de espera; 1-posição permanece estática durante o tempo de espera

14.71. Exemplo de Código de Parâmetros de Oscilação Personalizada

 1from fairino import Robot
 2# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
 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. Configuração de Parâmetros da Soldadora a Laser

Protótipo

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

Descrição

Escreve os parâmetros de configuração de um dos 10 grupos de processo da soldadora a laser e configura para a soldadora

Parâmetros Obrigatórios

  • io_type: Tipo de comunicação 0-IO 1-UDP

  • Num: Número do grupo a ser configurado (1~10)

  • scanSpeed: Velocidade de varredura

  • scanWidth: Largura de varredura

  • peakPower: Potência de pico

  • dutyCycle: Ciclo de trabalho

  • Freq: Frequência

Parâmetros Padrão

Nenhum

Valor de Retorno

Código de erro Sucesso-0 Falha- errcode

14.73. Iniciar/Parar Soldagem a Laser

Protótipo

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

Descrição

Inicia/para a soldadora a laser

Parâmetros Obrigatórios

  • io_type: Tipo de comunicação 0-IO 1-UDP

  • status: Palavra de controle 0-laser desligado 1-laser ligado

  • max_waittime: Tempo máximo de espera

Parâmetros Padrão

Nenhum

Valor de Retorno

Código de erro Sucesso-0 Falha- errcode

14.74. Habilitar/Desabilitar Soldadora a Laser

Protótipo

SetLaserWeldingEnable(self, status, io_type=1)

Descrição

Habilitar/desabilitar soldadora a laser

Parâmetros Obrigatórios

  • io_type: Tipo de comunicação 0-IO 1-UDP

  • status: 0-desabilitar 1-habilitar

Parâmetros Padrão

Nenhum

Valor de Retorno

Código de erro Sucesso-0 Falha- errcode

14.75. Reset de Falha da Soldadora a Laser

Protótipo

ResetLaserWeldingErr(self,status, io_type=1)

Descrição

Reset de falha da soldadora a laser

Parâmetros Obrigatórios

  • io_type: Tipo de comunicação 0-IO 1-UDP

  • status: Palavra de controle 0-inválido 1-reset de falha

Parâmetros Padrão

Nenhum

Valor de Retorno

Código de erro Sucesso-0 Falha- errcode

14.76. Obter Estado de Operação da Soldadora a Laser

Protótipo

GetLaserWeldingRunningState(self, io_type=1)

Descrição

Obtém o estado de operação da soldadora a laser

Parâmetros Obrigatórios

  • io_type: Tipo de comunicação 0-IO 1-UDP

  • status: Palavra de controle 0-parado 1-operando

Parâmetros Padrão

Nenhum

Valor de Retorno

Código de erro Sucesso-0 Falha- errcode

14.77. Obter Estado de Falha da Soldadora a Laser

Protótipo

GetLaserWeldingErrState(self, io_type=1)

Descrição

Obtém o estado de falha da soldadora a laser

Parâmetros Obrigatórios

  • io_type: Tipo de comunicação 0-IO 1-UDP

  • status: 0-sem falha 1-com falha

Parâmetros Padrão

Nenhum

Valor de Retorno

Código de erro Sucesso-0 Falha- errcode

14.78. Obter Parâmetros de Configuração da Soldadora a Laser

Protótipo

GetLaserWeldingParamTarget(self, num)

Descrição

Obtém os parâmetros de configuração de um dos 10 grupos de processo da soldadora a laser

Parâmetros Obrigatórios

  • Num: Número do grupo a ser configurado (1~10)

  • scanSpeed: Velocidade de varredura

  • scanWidth: Largura de varredura

  • peakPower: Potência de pico

  • dutyCycle: Ciclo de trabalho

  • Freq: Frequência

Parâmetros Padrão

Nenhum

Valor de Retorno

Código de erro Sucesso-0 Falha- errcode

14.79. Obter Parâmetros de Configuração Ativos da Soldadora a Laser

Protótipo

GetLaserWeldingParamActual(self, io_type=1)

Descrição

Obtém os parâmetros de configuração ativos da soldadora a laser

Parâmetros Obrigatórios

  • io_type: Tipo de comunicação 0-IO 1-UDP

  • scanSpeed: Velocidade de varredura

  • scanWidth: Largura de varredura

  • peakPower: Potência de pico

  • dutyCycle: Ciclo de trabalho

  • Freq: Frequência

Parâmetros Padrão

Nenhum

Valor de Retorno

Código de erro Sucesso-0 Falha- errcode

14.80. Configurar Porta DO de E/S Expansão para Habilitar Soldadora a Laser

Protótipo

SetLaserWeldingEnableExtDoNum(self, ctrlModeDONum)

Descrição

Configura a porta DO de E/S expansão para habilitar a soldadora a laser

Parâmetros Obrigatórios

  • ctrlModeDONum: Número da porta DO de E/S expansão para habilitar a soldadora a laser

Parâmetros Padrão

Nenhum

Valor de Retorno

Código de erro Sucesso-0 Falha- errcode

14.81. Configurar Porta DO de E/S Expansão para Iniciar Soldadora a Laser

Protótipo

SetLaserWeldingStartExtDoNum(self, ctrlModeDONum)

Descrição

Configura a porta DO de E/S expansão para iniciar a soldadora a laser

Parâmetros Obrigatórios

  • ctrlModeDONum: Número da porta DO de E/S expansão para iniciar/parar a soldadora a laser

Parâmetros Padrão

Nenhum

Valor de Retorno

Código de erro Sucesso-0 Falha- errcode

14.82. Configurar Porta DO de E/S Expansão para Reset de Falha da Soldadora a Laser

Protótipo

SetLaserWeldingErrResetExtDoNum(self, ctrlModeDONum)

Descrição

Configura a porta DO de E/S expansão para reset de falha da soldadora a laser

Parâmetros Obrigatórios

  • ctrlModeDONum: Número da porta DO de E/S expansão para reset de falha da soldadora a laser

Parâmetros Padrão

Nenhum

Valor de Retorno

Código de erro Sucesso-0 Falha- errcode

14.83. Configurar Porta DI de E/S Expansão para Estado de Operação (Laser Ligado) da Soldadora a Laser

Protótipo

SetLaserWeldingRunningStateExtDiNum(self, diNum)

Descrição

Configura a porta DI de E/S expansão para estado de operação (laser ligado) da soldadora a laser

Parâmetros Obrigatórios

  • diNum: Número da porta DI de E/S expansão para estado de operação (laser ligado) da soldadora a laser

Parâmetros Padrão

Nenhum

Valor de Retorno

Código de erro Sucesso-0 Falha- errcode

14.84. Configurar Porta DI de E/S Expansão para Estado de Falha da Soldadora a Laser

Protótipo

SetLaserWeldingErrStateExtDiNum(self, diNum)

Descrição

Configura a porta DI de E/S expansão para estado de falha da soldadora a laser

Parâmetros Obrigatórios

  • diNum: Número da porta DI de E/S expansão para estado de falha da soldadora a laser

Parâmetros Padrão

Nenhum

Valor de Retorno

Código de erro Sucesso-0 Falha- errcode

14.85. Exemplo de Código de Soldagem a Laser

 1from time import sleep
 2from fairino import Robot
 3import time
 4
 5# Estabelecer conexão com o controlador do robô, retorna um objeto robô em caso de conexão bem-sucedida
 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    # Fechar conexão
40    robot.CloseRPC()
41    time.sleep(1)
42
43# Chamar função de teste
44testLsaerWeld()