19. Modo Escravo do Robô

19.1. Visão Geral

Para facilitar o controle do movimento do robô por um CLP através de diferentes protocolos de barramento industrial (CC-Link, Profinet, Ethernet/IP, EtherCAT), as placas FRJ-PCIeN-EIP/CC/PN-RJ-V10 e FRJ-PCIeN-EC/PN/EIP/CC-RJ-V20 são adicionadas ao gabinete de controle mini integrado. O modo escravo do robô é desenvolvido para realizar as seguintes funções:

    1. O dispositivo mestre envia sinais de entrada para o escravo do robô para controlar o robô a executar ações correspondentes, por exemplo: controlar a saída DO do gabinete de controle do robô, controlar o movimento do robô, etc.;

    1. O dispositivo mestre lê o valor do endereço correspondente para obter os dados de estado em tempo real correspondentes do robô, por exemplo: dados das juntas do robô, posição TCP, se o robô concluiu o movimento, etc.

19.2. Configuração do Ambiente

O modelo da placa e a versão do software são descritos a seguir:

Tipo de Protocolo

Modelo da Placa

Versão do Software do Robô

CC-Link IEF Basic

Placa FRJ-PCIeN-EIP/CC/PN-RJ-V10

V3.8.4 e superior

CC-Link IEF Basic

Placa FRJ-PCIeN-EC/PN/EIP/CC-RJ-V20

V3.9.6 e superior

Profinet

Placa FRJ-PCIeN-EIP/CC/PN-RJ-V10

V3.8.4 e superior

Profinet

Placa FRJ-PCIeN-EC/PN/EIP/CC-RJ-V20

V3.9.6 e superior

Ethernet/IP

Placa FRJ-PCIeN-EIP/CC/PN-RJ-V10

V3.8.4 e superior

Ethernet/IP

Placa FRJ-PCIeN-EC/PN/EIP/CC-RJ-V20

V3.9.6 e superior

EtherCAT

Placa FRJ-PCIeN-EC/PN/EIP/CC-RJ-V20

V3.9.6 e superior

19.2.1. Instalação da Placa

  1. Verificação dos materiais: A aparência da placa FRJ-PCIeN e das peças de chapa metálica complementares é mostrada abaixo.

../_images/0019.png

Figura 19.2-1 Chapa de Instalação (Frente)

../_images/0028.png

Figura 19.2-2 Chapa de Instalação (Verso)

../_images/0038.png

Figura 19.2-3 Placa FRH-PCIeN-EC/EIP/CC/PN-RJ-V10

../_images/0048.png

Figura 19.2-4 Placa FRJ-PCIeN-EIP/CC/PN-RJ-V10

  1. Instale a placa no gabinete de controle mini integrado, conforme mostrado na figura.

../_images/0058.png

Figura 19.2-5 Diagrama de Instalação da Chapa Metálica

../_images/0085.png

Figura 19.2-6 Diagrama de Instalação da Placa Mãe Principal

../_images/0095.png

Figura 19.2-7 Diagrama de Instalação da Placa de Expansão da Porta RJ45

Nota

Nota: Todos os parafusos devem ser apertados.

  1. A fiação entre o gabinete de controle do robô e o CLP é mostrada na figura abaixo.

../_images/0105.png

Figura 19.2-8 Diagrama de Fiação do Gabinete de Controle & CLP Mitsubishi

../_images/0116.png

Figura 19.2-9 Diagrama de Fiação do Gabinete de Controle & CLP Siemens

../_images/0127.png

Figura 19.2-10 Diagrama de Fiação do Gabinete de Controle & CLP Inovance

../_images/0137.png

Figura 19.2-11 Diagrama de Fiação do Gabinete de Controle & CLP Inovance

Nota

1: Gabinete de controle do robô (porta de rede da placa); 2: Switch; 3: PC portátil; 4: CLP Mitsubishi (porta de rede CC-Link IEF Basic); 5: CLP Siemens (porta de rede Profinet); 6: CLP Inovance (Ethernet/IP); 7: CLP Inovance (porta de rede EtherCAT);

19.2.2. Configuração do Ambiente CLP

O ambiente de teste construído para implementar os comandos escravos de cada protocolo é mostrado na tabela a seguir, incluindo o modelo do CLP, a versão do firmware e o software de teste usados em cada protocolo.

Tabela 2-1 Ambiente de Teste

Protocolo

Profinet

CC-link

Marca

Siemens

Mitsubishi

Modelo

CPU 1515-2 PN

FX5S-30TR/DS

Firmware

6ES75152AM020AB0

30MR/ES V1.3

Software

TIA Portal V17

GXWorks3V1.097B

Endereço IP da Placa

Configurável

Configurável

Endereço IP do CLP

Não precisa estar na mesma sub-rede

Mesma sub-rede

Protocolo

Ethernet/IP

EtherCAT

Marca

Inovance

Inovance

Modelo

Easy521-0808TN

Easy521-0808TN

Firmware

/

/

Software

AutoShop 4.11.0.1

AutoShop 4.11.0.1

Endereço IP da Placa

Configurável

Configurável

Endereço IP do CLP

Mesma sub-rede

Mesma sub-rede

19.2.2.1. Inovance Ethernet/IP

  1. Importação do Arquivo EDS

Abra o software de programação Inovance AutoShop, crie um novo projeto CLP e selecione «EtherNet/IP Devices» na caixa de ferramentas à direita.

Clique com o botão esquerdo em «EtherNet/IP», clique com o botão direito para abrir a caixa de diálogo «Importar EDS». Confirme com o botão esquerdo e encontre a pasta que contém o arquivo EDS da placa. Após a importação bem-sucedida, o nome da placa aparecerá no diretório «EtherNet/IP Devices». Feche o projeto e reabra-o para concluir a importação do arquivo EDS.

../_images/00110.png ../_images/0029.png
  1. Configuração de Parâmetros EtherNet/IP

Clique duas vezes no escravo em «EtherNet/IP» na barra de ferramentas esquerda para abrir a janela de configuração de parâmetros:

../_images/0039.png

Preencha o endereço IP da placa:

../_images/0049.png

Clique para selecionar «Conexão» para definir o tamanho em bytes de entrada e saída de dados:

../_images/0059.png

Clique em «Editar Conexão» para entrar na janela pop-up e altere os bytes de entrada e saída para 256:

../_images/0068.png

Clique para selecionar «Conjunto de Dados», defina o tipo de dados de entrada e saída como «INT» e o comprimento do bit como «2048»:

../_images/0078.png ../_images/0086.png ../_images/0096.png

Após definir os parâmetros do «Conjunto de Dados» com sucesso, clique para selecionar «Mapeamento de E/S EtherNet/IP» e insira D0 e D200 respectivamente. D0 e D200 correspondem aos endereços iniciais das matrizes de recebimento e envio no lado do CLP.

../_images/0106.png ../_images/0117.png
  1. Download do Programa

Abra o programa de teste, modifique o endereço IP do CLP para que esteja na mesma sub-rede da placa e execute o programa após o download.

19.2.2.2. Siemens Profinet

  1. Importação do Arquivo GSD (Arquivo XML)

Abra o software de programação Siemens TIA Portal V17, crie um novo projeto CLP, selecione «Dispositivos e Redes» e clique duas vezes em 6ES7 515-2AM02-0AB0 no «Catálogo de Hardware» à direita para adicionar o módulo CLP.

../_images/0128.png

Na barra de menu do software TIA PORTAL, selecione «Opções» -> «Gerenciar arquivos de descrição de estação geral (GSD)» para instalar ou excluir arquivos GSD já instalados.

../_images/0138.png

Para instalar arquivos GSD, selecione «Gerenciar arquivos de descrição de estação geral (GSD)» como acima. A janela «Gerenciar arquivos de descrição de estação geral» aparece.

Selecione a pasta que contém os arquivos GSD a serem instalados no «Caminho de origem», selecione um ou mais arquivos para instalar na lista de arquivos GSD exibida e clique no botão «Instalar». Conforme mostrado na figura abaixo.

../_images/0147.png

Após a instalação bem-sucedida, o dispositivo com o arquivo GSD instalado pode ser encontrado em «Outros dispositivos de campo» no catálogo de hardware, conforme mostrado na figura abaixo.

../_images/0157.png

Atribuição de E/S: Procure módulos no diretório e arraste Input e Output.

../_images/0168.png

Compilar o programa: Clique duas vezes para entrar em «Dispositivos e Redes» na árvore do projeto à esquerda, clique com o botão direito no módulo «PLC_1», selecione «Compilar» no menu suspenso e clique em «Hardware e software (somente alterações)». Após a conclusão da compilação, «Compilação concluída» aparecerá na parte inferior da visualização do software:

../_images/0178.png ../_images/0188.png

Baixar o programa para o dispositivo: Clique duas vezes para entrar em «Dispositivos e Redes» na árvore do projeto à esquerda, clique com o botão direito no módulo «PLC_1», selecione «Baixar para dispositivo» no menu suspenso e clique em «Hardware e software (somente alterações)»:

../_images/0197.png

Pesquisar e baixar o dispositivo: Após a janela pop-up, configure o tipo de interface PG/PC conforme mostrado abaixo, clique em «Iniciar pesquisa», selecione o dispositivo para o qual o programa precisa ser baixado e clique em «Baixar»:

../_images/0208.png ../_images/0218.png

19.2.2.4. Inovance EtherCAT

  1. Importação do Arquivo XML

Abra o software de programação Inovance AutoShop, crie um novo projeto CLP e selecione «EtherCATDevices» na caixa de ferramentas à direita:

../_images/0307.png

Clique com o botão esquerdo em «EtherCATDevices», clique com o botão direito para abrir a caixa de diálogo «Importar Dispositivo XML». Confirme com o botão esquerdo e encontre a pasta que contém o arquivo XML da placa.

Após a importação bem-sucedida, o nome da placa aparecerá no diretório «EtherCAT Devices». Feche o projeto e reabra-o para concluir o processo de importação do arquivo XML.

../_images/0316.png
  1. Adicionar Escravo EtherCAT

Barra de ferramentas direita → «EtherCAT Devices» → «Other Devices» → «JIYuan» → «Xone-PCIe-ECATs». Clique duas vezes em «Xone-PCIe-ECATs» para adicionar o escravo EtherCAT. Agora você pode ver que o escravo foi adicionado com sucesso sob o mestre EtherCAT na árvore do projeto à esquerda.

../_images/0327.png ../_images/0337.png
  1. Adicionar PDO

../_images/0347.png ../_images/0357.png
  1. Mapeamento de Endereços EtherCAT

Clique duas vezes na tabela de variáveis na barra de ferramentas esquerda para criar uma nova matriz de entrada de 256 bytes com endereço de componente suave D0. Crie uma nova matriz de saída de 256 bytes com endereço de componente suave D200.

../_images/0367.png

Em «EtherCAT» na barra de ferramentas esquerda, clique duas vezes em «Xone-PCIe-ECATs». Na caixa de diálogo exibida, clique em «Mapeamento de Funções de E/S», clique na caixa para vincular o endereço da variável. Na caixa de diálogo exibida, clique em «Tabela de Variáveis», selecione a entrada/saída correspondente e clique em «OK». Vincule outros endereços em ordem usando o mesmo procedimento.

../_images/0377.png
  1. Download do Programa

Abra o programa de teste, altere o endereço IP do CLP para que esteja na mesma sub-rede da placa e execute o programa após o download.

19.3. Instruções Operacionais Relacionadas ao Modo Escravo do Robô

19.3.1. Carregar Modo Escravo

  1. Abra o WebApp, vá para Configurações Iniciais -> Periféricos -> Comunicação da Placa -> Configuração Manual.

../_images/0386.png

Primeiro, configure o endereço IP da placa. Se deixado em branco, a placa iniciará com o IP padrão: 192.168.0.100. Atualmente, a configuração de IP é aplicável apenas aos protocolos EIP e CC-link; para o protocolo PN, o IP é atribuído pelo mestre CLP que escaneia o dispositivo escravo.

Nota

Após alterar o endereço IP na página, você precisa carregar o modo escravo para que ele entre em vigor.

Em seguida, selecione as funções de mapeamento necessárias para DI, DO e AO (ver apêndice). O significado de cada parâmetro é o seguinte:

  • DI é para controle do robô: O escravo do robô recebe o sinal de entrada externo e executa a função mapeada;

  • DO é para saída de estado do robô: O escravo do robô envia sinais de estado de volta ao mestre;

  • AO é para feedback de estado do robô: O escravo do robô envia dados de estado de volta ao mestre. AO0~AO15 são inteiros com sinal (int16), AO16~AO31 são números de ponto flutuante de precisão simples (float).

  1. Clique no botão «Configurar» para gerar o arquivo lua de protocolo aberto.

../_images/0396.png

Nota

O arquivo lua de protocolo aberto suporta download e pode ser importado na interface de configuração automática.

Um exemplo do programa gerado é o seguinte:

 1local id = 3
 2local ctrlDI = {0, 0, 0, 0, 0, 0}
 3local funcDI = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
 4local DOState = {0, 0, 0, 0, 0, 0, 0, 0}
 5local AOState = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
 6-- Launch the board communication process
 7SetFieldBusIP("192.168.0.99")
 8LoadFieldBusSlave()
 9sleep_ms(8000)
10while(1) do
11   -- Set the DO status
12   CtrlBoxDO, CtrlBoxCO, CtrlBoxDI, CtrlBoxCI, errState, motionState, moveToOriginState, robotStartDoneState, modeChangeState, programStartStopState, emergencyState, reduceState, collision, enablestate, safetyStop0, safetyStop1, pauseState, interfereState = GetRobotFuncDOState()
13   DOState[1] = CtrlBoxDO
14   DOState[2] = CtrlBoxCO
15   DOState[3] = CtrlBoxDI
16   DOState[4] = CtrlBoxCI
17   local ctrlWord0 = 0
18   ctrlWord0 = SetBitWithIndex(ctrlWord0, 0, errState)
19   ctrlWord0 = SetBitWithIndex(ctrlWord0, 1, motionState)
20   ctrlWord0 = SetBitWithIndex(ctrlWord0, 2, moveToOriginState)
21   ctrlWord0 = SetBitWithIndex(ctrlWord0, 3, robotStartDoneState)
22   ctrlWord0 = SetBitWithIndex(ctrlWord0, 4, modeChangeState)
23   ctrlWord0 = SetBitWithIndex(ctrlWord0, 5, programStartStopState)
24   ctrlWord0 = SetBitWithIndex(ctrlWord0, 6, emergencyState)
25   ctrlWord0 = SetBitWithIndex(ctrlWord0, 7, reduceState)
26   DOState[5] = ctrlWord0
27   local ctrlWord1 = 0
28   ctrlWord1 = SetBitWithIndex(ctrlWord1, 0, collision)
29   ctrlWord1 = SetBitWithIndex(ctrlWord1, 1, enablestate)
30   ctrlWord1 = SetBitWithIndex(ctrlWord1, 2, safetyStop0)
31   ctrlWord1 = SetBitWithIndex(ctrlWord1, 3, safetyStop1)
32   ctrlWord1 = SetBitWithIndex(ctrlWord1, 4, pauseState)
33   ctrlWord1 = SetBitWithIndex(ctrlWord1, 5, interfereState)
34   DOState[6] = ctrlWord1
35   SetFieldBusDOState(DOState)
36
37   -- Set the AO status
38   mainErrCode, subErrCode, TCPSpeed, axisPos1, axisPos2, axisPos3, axisPos4, axisPos5, axisPos6, jointVelFeedback1, jointVelFeedback2, jointVelFeedback3, jointVelFeedback4, jointVelFeedback5, jointVelFeedback6, jointCurFeedback1, jointCurFeedback2, jointCurFeedback3,jointCurFeedback4,jointCurFeedback5,jointCurFeedback6, jointTorqueFeedback1, jointTorqueFeedback2,jointTorqueFeedback3,jointTorqueFeedback4, jointTorqueFeedback5, jointTorqueFeedback6, cartPosx, cartPosy, cartPosz, cartPosrx, cartPosry, cartPosrz = GetRobotFuncAOState()
39   AOState[1] = mainErrCode
40   AOState[2] = subErrCode
41   AOState[17] = axisPos1
42   AOState[18] = axisPos2
43   AOState[19] = axisPos3
44   AOState[20] = axisPos4
45   AOState[21] = axisPos5
46   AOState[22] = axisPos6
47   AOState[23] = cartPosx
48   AOState[24] = cartPosy
49   AOState[25] = cartPosz
50   AOState[26] = cartPosrx
51   AOState[27] = cartPosry
52   AOState[28] = cartPosrz
53   SetFieldBusAOState(AOState)
54   sleep_ms(10)
55
56   -- Set the DI status
57   -- Configue the DI function and update it in real-time
58   ctrlDI[1],ctrlDI[2],ctrlDI[3],ctrlDI[4],ctrlDI[5],ctrlDI[6] = GetFieldBusDIState()
59   funcDI[1] = ctrlDI[1]
60   funcDI[2] = ctrlDI[2]
61   funcDI[3] = GetBitWithIndex(ctrlDI[3], 0)
62   funcDI[4] = GetBitWithIndex(ctrlDI[3], 1)
63   funcDI[5] = GetBitWithIndex(ctrlDI[3], 2)
64   funcDI[6] = GetBitWithIndex(ctrlDI[3], 3)
65   funcDI[7] = GetBitWithIndex(ctrlDI[3], 4)
66   funcDI[8] = GetBitWithIndex(ctrlDI[3], 5)
67   funcDI[9] = GetBitWithIndex(ctrlDI[3], 6)
68   funcDI[10] = GetBitWithIndex(ctrlDI[3], 7)
69   funcDI[11] = GetBitWithIndex(ctrlDI[4], 0)
70   funcDI[12] = GetBitWithIndex(ctrlDI[4], 1)
71   funcDI[13] = GetBitWithIndex(ctrlDI[4], 2)
72   funcDI[14] = GetBitWithIndex(ctrlDI[4], 3)
73   funcDI[15] = GetBitWithIndex(ctrlDI[4], 4)
74   funcDI[16] = GetBitWithIndex(ctrlDI[4], 5)
75   SetRobotFuncDIState(funcDI)
76   local stopFlag = GetOpenLUAStopFlag(id)
77   if(stopFlag ~= 0) then
78      UnloadFieldBusSlave()
79      break
80   end
81   sleep_ms(10)
82end
  1. Clique no botão «Carregar» para carregar o modo escravo do robô.

../_images/0405.png

Nota

Após o modo escravo do robô ser carregado com sucesso, ele suporta a inicialização automática ao ligar. Se precisar usar o modo remoto, descarregue o modo escravo primeiro.

  1. Clique no botão da barra de status da placa à direita para monitorar as informações de interação DI, DO, AI e AO. Os parâmetros são introduzidos a seguir:

  • CtrlDO: Valor de entrada do sinal DO/CO do gabinete de controle enviado pelo mestre externo;

  • DI: Valor de entrada do sinal de controle do mestre externo;

  • Aux_DI: DI estendido da placa de comunicação;

  • DO: Valor de saída do sinal de feedback do escravo do robô;

  • Aux_DO: DO estendido da placa de comunicação;

  • AI: Valor de entrada do mestre externo;

  • AI0~AI15: tipo int16;

  • AI16~AI31: tipo float;

  • AO: Valor de saída do escravo do robô;

  • AO0~AO15: tipo int16;

  • AO16~AO31: tipo float.

Nota

Para informações detalhadas sobre os parâmetros DI, DO, AI, AO, consulte «RD36-Tabela de Comparação de Endereços do Modo Escravo do Robô-V1.0-20260605».

../_images/0414.png
  1. Após o carregamento, você pode gerar instruções lua da placa através de Programa de Ensino -> Instruções de Comunicação -> Placa para definir DO, AO do escravo, obter DI, AI do escravo e aguardar DI, AI do escravo.

../_images/0425.png

19.4. Atualização de Firmware da Placa e Configuração do Ciclo de Comunicação

19.4.1. Placa FRJ-PCIeN-EIP/CC/PN-RJ-V10

Ao alternar protocolos, a placa requer uma atualização de firmware. Use o computador host para atualizar o firmware da placa FRJ-PCIeN-EIP/CC/PN-RJ-V10. As etapas são as seguintes:

  1. Abra WinPcap_4_1_3.exe e instale o pacote de driver da placa de rede.

  2. Conecte diretamente a porta de rede do PC (sistema Win11) à porta de rede da placa. Abra Device Assistant v1.1.0.exe, clique duas vezes em «Ethernet» e clique no botão «Atualizar» no canto superior esquerdo para escanear o dispositivo da placa atualmente conectado.

../_images/0436.png ../_images/0445.png
  1. Clique duas vezes no dispositivo da placa escaneado para entrar na interface de atualização de firmware. Configure o PC e o IP da placa obtido na mesma sub-rede. Clique no botão «…» no lado direito da barra de menu «Atualização de Firmware» para carregar o firmware a ser atualizado. Clique no botão «Atualizar» e uma mensagem «Atualização bem-sucedida» aparecerá na caixa de texto no canto inferior esquerdo.

../_images/0456.png
  1. Após uma atualização bem-sucedida da placa, uma operação de reinicialização será executada. Aguarde a conclusão da reinicialização da placa (5s), insira o ciclo de comunicação necessário (suporta 1~100ms), clique no botão «Definir» e, após a mensagem «Configuração de ciclo bem-sucedida» aparecer no canto inferior esquerdo, reinicie o gabinete de controle.

../_images/0466.png

19.4.2. Placa FRJ-PCIeN-EC/PN/EIP/CC-RJ-V20

Ao alternar protocolos, a placa requer uma atualização de firmware. Faça login na interface do robô para atualizar o firmware da placa FRJ-PCIeN-EC/PN/EIP/CC-RJ-V20. As etapas são as seguintes:

  1. Digite o URL 192.168.58.2 para acessar a interface do robô. Clique na interface «Configurações Iniciais» -> «Periféricos» -> «Comunicação da Placa» para obter o número da versão do firmware da placa FRJ-PCIeN-EC/PN/EIP/CC-RJ-V20. Selecione o arquivo bin a ser atualizado, clique em «Carregar», aguarde a atualização do firmware ser bem-sucedida e reinicie o gabinete de controle.

../_images/0475.png

Nota

Para atualizar o firmware da placa FRJ-PCIeN-EC/PN/EIP/CC-RJ-V20, você precisa descarregar o protocolo aberto em execução.

  1. Digite o URL 192.168.58.2 para acessar a interface do robô. Clique na interface «Configurações Iniciais» -> «Periféricos» -> «Comunicação da Placa» para obter o ciclo de comunicação da placa. Digite o ciclo de comunicação necessário (1~100ms), clique no botão «Configurar», aguarde a configuração ser bem-sucedida e reinicie o gabinete de controle.

../_images/0485.png

Nota

Para configurar o ciclo de comunicação da placa FRJ-PCIeN-EC/PN/EIP/CC-RJ-V20, você precisa descarregar o protocolo aberto em execução.

Firmware da placa de comunicação e arquivos de configuração

Resumo dos programas de teste PLC para cada protocolo