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

14.86. Definir Retorno ao Ponto Zero do Ciclo ao Final da Oscilação

Protótipo

SetWeaveBackCenterConfig(self, flag)

Descrição

Define se retorna ao ponto zero do ciclo ao final da oscilação

Parâmetros Obrigatórios

  • flag: Se retorna ao ponto zero do ciclo ao final da oscilação; 0-não retornar; 1-retornar ao ponto zero do ciclo

Parâmetros Padrão

Nenhum

Valor de Retorno

Código de erro, 0-sucesso; diferente de zero-erro

14.87. Obter Parâmetros de Retorno ao Ponto Zero do Ciclo ao Final da Oscilação

Protótipo

GetWeaveBackCenterConfig(self)

Descrição

Obtém os parâmetros de retorno ao ponto zero do ciclo ao final da oscilação

Parâmetros Obrigatórios

  • flag: Se retorna ao ponto zero do ciclo ao final da oscilação; 0-não retornar; 1-retornar ao ponto zero do ciclo

Parâmetros Padrão

Nenhum

Valor de Retorno

Código de erro, 0-sucesso; diferente de zero-erro

14.88. Exemplo de Código de Retorno ao Ponto Zero do Ciclo ao Final da Oscilação

 1from fairino import Robot
 2import time
 3
 4def main():
 5    robot = Robot.RPC('192.168.58.2')
 6    time.sleep(0.5)
 7
 8    def callback(src_type, count, cmd_id, data_len, content):
 9        print(" cmd_id={} count={} data_len={} content={}".format(cmd_id, count, data_len, content))
10        return 0
11
12    robot.SetUDPCmdRpyCallback(callback)
13
14    j1 = [9.000, -66.067, 67.706, -103.217, -90.151, 100.669]
15    j2 = [-4.660, -107.973, 103.734, -76.214, -89.999, 90.886]
16    j3 = [-36.762, -77.380, 91.364, -127.159, -90.024, 54.833]
17    j4 = [-62.875, -89.460, 86.437, -77.030, -90.012, 31.539]
18
19
20    desc_pos1 = [-654.129, -235.344, 246.543, 6.010, -11.535, -176.787]
21    desc_pos2 = [-273.710, -100.871, 280.935, 5.692, 9.522, 179.512]
22    desc_pos3 = [-566.093, 311.278, 215.008, -10.453, -17.486, -174.209]
23    desc_pos4 = [-246.558, 328.240, 292.173, 13.912, 4.437, -179.067]
24
25    offset_pos = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
26    epos = [0.0, 0.0, 0.0, 0.0]
27
28    tool = 2
29    user = 0
30    vel = 100.0
31    acc = 100.0
32    ovl = 20.0
33    oacc = 100.0
34    blendT = 0.0
35    blendR = 0.0
36    flag = 0
37    search = 0
38    blendMode = 0
39    velAccMode = 0
40
41    robot.SetSpeed(1)
42
43    robot.WeaveEnd(0)
44
45    rtn = robot.SetWeaveBackCenterConfig(1)
46    print(f"SetWeaveBackCenterConfig rtn is {rtn}")
47
48    rtn, weaveBackConfig = robot.GetWeaveBackCenterConfig()
49    print(f"GetWeavebackCenterConfig {weaveBackConfig}")
50
51    rtn = robot.MoveJ(joint_pos=j1, desc_pos=desc_pos1, tool=tool, user=user,
52                    vel=vel, acc=acc, ovl=100.0, exaxis_pos=epos,
53                    blendT=blendT, offset_flag=flag, offset_pos=offset_pos)
54    print(f"MoveJ rtn is {rtn}")
55
56    robot.WeaveStart(0)
57
58    robot.NewSplineStart(0, 6000)
59
60    rtn = robot.NewSplinePoint(joint_pos=j1, desc_pos=desc_pos1, tool=tool, user=user,lastFlag=0,
61                            vel=vel, acc=acc, ovl=ovl, blendR=-1, config=0)
62    print(f"NewSplinePoint 1 rtn is {rtn}")
63
64    rtn = robot.NewSplinePoint(joint_pos=j2, desc_pos=desc_pos2, tool=tool, user=user,lastFlag=0,
65                            vel=vel, acc=acc, ovl=ovl, blendR=-1, config=0)
66    print(f"NewSplinePoint 2 rtn is {rtn}")
67
68    rtn = robot.NewSplinePoint(joint_pos=j3, desc_pos=desc_pos3, tool=tool, user=user,lastFlag=0,
69                            vel=vel, acc=acc, ovl=ovl, blendR=-1, config=0)
70    print(f"NewSplinePoint 3 rtn is {rtn}")
71
72    rtn = robot.NewSplinePoint(joint_pos=j4, desc_pos=desc_pos4, tool=tool, user=user,lastFlag=1,
73                            vel=vel, acc=acc, ovl=ovl, blendR=-1, config=1)
74    print(f"NewSplinePoint 4 rtn is {rtn}")
75
76    robot.NewSplineEnd()
77
78    robot.CloseRPC()
79
80
81if __name__ == "__main__":
82    main()