Especificidades da comunicação com robots
Universal Robots
1.1. Intefaces primárias/secundárias O controlador UR fornece servidores para enviar dados do estado do robot e recebe comandos URScript. A interface principal transmite dados do estado do robot e mensagens adicionais, já a interface secundária transmite apenas dados do estado do robot. Os dados são utilizados principalmente para comunicação entre a GUI e o controlador. Ambos aceitam comandos URScript com taxa de atualização de 10 Hz. Isso permite controlar o robot remotamente sem o programa de robots.
robótica
62
DOSSIER SOBRE ROBÓTICA COLABORATIVA
1. VISÃO GERAL DAS INTERFACES DO CLIENTE O robot colaborativo industrial (UR robot ou Universal Robot) pode interagir com dispositivos externos através de diferentes tipos de interfaces de comunicação.
1.2. Interfaces em tempo real A funcionalidade da interface em tempo real é semelhante às interfaces primárias/ secundárias. O controlador transmite os dados do estado do robot e recebe comandos URScript. A principal diferença é a taxa de actualização, sendo que a interface em tempo real atualiza dados com 125 Hz. 1.3. Servidor do painel Um UR pode ser controlado a partir de controlo remoto, enviando comandos simples para a GUI através de uma socket TCP / IP. Essa interface é chamada de “Dashboard Server”. As principais funções do servidor são carregar, reproduzir, pausar e parar um programa de robots, definir o nível de acesso do usuário e receber comentários sobre o estado do robot. 1.4. Comunicação Socket O robot UR pode comunicar com o equipamento externo através do protocolo TCP / IP. Os dados podem ser transferidos através de comunicação socket entre o robot e outro dispositivo. Na comunicação socket, o robot atua como cliente e outro dispositivo desempenha um papel como servidor. O URScript fornece comandos
que abrem e fecham sockets e enviam e recebem diferentes formatos de dados. 1.5. XML-RPC XML-RPC é um método de Chamada de Procedimento Remoto que usa XML para transferir dados entre programas por sockets. Com isso, o controlador UR pode invocar métodos/funções (com parâmetros) num programa/servidor remoto e recuperar dados estruturados. Ao usá-lo, um cálculo complexo que não está disponível no URScript pode ser realizado. Além disso, outros pacotes de software podem ser combinados com o URScript. 1.6. RTDE (real-time data exchange) O RTDE (troca de dados em tempo real) é projetado como uma substituição robusta para a interface em tempo real. Isso permite que o controlador UR transmita dados de estado personalizados e aceite pontos de ajuste personalizados e dados de registo. Ele é executado na taxa de atualização de 125 Hz.
2. ACEDER AOS DADOS DE UM ROBOT ATRAVÉS DE UM SERVIDOR MODBUS Exemplo válido para: CB2 Software versão: 1.6 e superior CB3 Software versão: todas as versões 2.1. Objetivo Dar acesso de leitura e gravação aos dados no controlador do robot para outros dispositivos. 2.2. Como funciona O controlador do robot atua como um servidor Modbus TCP (porta 502), os
clientes podem estabelecer conexões e enviar solicitações MODBUS padrão para ele. O servidor está disponível no endereço de IP do controlador que pode ser encontrado e modificado no PolyScope (SETUP Robot Setup NETWORK). NOTA: Alguns fabricantes de dispositivos Modbus usam os termos Master (cliente) e Slave (servidor). Normalmente, o dispositivo I/O externo vai ser um servidor e o robot comportar-se-á como o cliente (solicitando e consumindo mensagens do servidor). No entanto, note-se que o controlador UR pode ser tanto um servidor como um cliente. 2.2.1. Funcionalidade • Diversos clientes podem-se conectar com o servidor simultaneamente; • O servidor pode responder aos seguintes códigos de função: 0x01: READ_COILS (ler bits de saída) 0x02: READ_DISCRETE_INPUTS (ler bits de entrada) 0x03: READ_HOLDING_REGISTERS (ler registos de saída) 0x04: READ_INPUT_REGISTERS (ler registos de entrada) 0x05: WRITE_SINGLE_COIL (bit de saída de escrita) 0x06: WRITE_SINGLE_REGISTER (registo de saída de gravação) 0x0F: WRITE_MULTIPLE_COILS (escrever multiplos bits de saída) 0x10: WRITE_MULTIPLE_REGISTERS (escrever vários registos de saída) • o servidor irá responder a todos os pedidos;