Programa de lógica
| Descrição |
As aplicações do PolyScope X podem incluir um programa lógico que funciona continuamente em segundo plano, independentemente do programa principal do robô. Isto é útil para tarefas que têm de continuar a ser executadas quando o braço está desligado, o programa principal está em pausa ou parado, ou quando o operador entrou numa área de segurança. As utilizações típicas incluem a manutenção da comunicação por fieldbus (Modbus, Ethernet/IP, PROFINET, Socket, XmlRPC), a reação a entradas de sensores externos, a comunicação do estado do robô a um PLC de produção e o controlo de equipamento externo quando o programa principal é interrompido. O Programa Lógico não pode utilizar funções que movam diretamente o braço do robô, alterem a carga útil ou modifiquem os parâmetros TCP. |
|
Exemplos de aplicações com o Programa Lógico |
|
|
Licença |
O Logic Program requer uma licença, que pode ser adquirida através do portal do cliente.
|
|
Controlo do programa lógico |
Na página «Programa», selecione «Programa lógico» na barra lateral. A barra lateral expandida apresenta os controlos para navegar pelas diferentes partes do Programa Lógico. Também permite iniciar, pausar, parar e reiniciar o programa.
|
||||||
|
|
O botão «Executar programa» passa a exibir «Executar programa » ou «Parar programa», dependendo do estado do programa lógico. Funciona como um atalho para as ações de controlo do programa disponíveis no menu de contexto do Programa Lógico.
Os quatro indicadores do Programa Logic mostram o estado atual do programa. Também indicam se o programa está configurado para iniciar automaticamente quando uma aplicação é carregada.
|
|
Estrutura do programa lógico |
Um programa lógico tem as mesmas secções estruturais que um programa principal:
O programa do robô e o programa lógico têm, cada um, o seu próprio conjunto de variáveis globais, um conjunto de threads independente e um ciclo de vida de execução independente. O arranque, a paragem ou a ocorrência de uma falha num programa não interrompe o outro. Uma instrução
|
|
|
Na secção «Antes do arranque », só é possível executar o programa uma vez.
Na secção Módulos , pode ver a lista de funções e threads disponíveis para o programa.
|
|
Troca de dados com o programa do robô |
A principal forma de comunicação entre o programa do robô e o Programa Lógico é através das Variáveis de Aplicação . As variáveis podem ser definidas e lidas a partir do robô e do programa lógico. Este exemplo conta os itens que entram no buffer de entrada da célula do robô e apresenta a contagem ao programa do robô. O contador continua a aumentar mesmo quando o braço do robô está desligado.
|
|
Ler o estado do robô |
O estado do robô está disponível através das variáveis RTDE integradas. Estas variáveis podem ser lidas utilizando a função de script O exemplo seguinte mostra como verificar se a função «Safeguard Stop» está ativa:
O exemplo seguinte verifica se o programa do robô está em pausa:
A API de controlo URScript também integra esta funcionalidade.
|
|
Início automático do programa lógico |
Pode selecionar um programa para ser iniciado automaticamente quando uma aplicação for carregada. Quando seleciona a opção Início automático , o Programa Lógico inicia-se imediatamente após o carregamento da aplicação.
Também é possível iniciar automaticamente o Programa Lógico quando o controlador do robô for ligado e a última aplicação for carregada. A função «Autostart» funciona independentemente do modo de funcionamento ou do estado do braço do robô. Quando a função «Autostart» é ativada no arranque, uma notificação em forma de barra de notificação confirma que o Programa Lógico foi iniciado.
|
|
|
O ícone na barra lateral do ícone do Programa Logic indica sempre o estado atual do programa, quer este esteja em execução ou parado.
É da sua responsabilidade garantir que o Programa Lógico é seguro quando o robô está ligado e quando são carregadas diferentes aplicações.
Os programas lógicos podem ativar e desativar equipamento externo através de ligações com fios ou PLC (Modbus, PROFINET, Ethernet/IP, Socket, saídas diretas ou outras interfaces).
|
|
Módulos e threads |
A funcionalidade do Programa Lógico pode ser organizada em funções. Isto funciona da mesma forma que no programa do robô. Cada função pode ser marcada como um Thread . Por predefinição, os threads são executados apenas uma vez. Selecione a caixa de seleção «Loop» na função do thread para executar o thread de forma contínua.
|
|
Partilha de recursos |
Embora o programa do robô e o programa lógico sejam executados de forma independente, cada um com o seu próprio conjunto de threads e variáveis, todos partilham os mesmos recursos de hardware. Isto impõe algumas limitações que o programador deve ter em conta:
|
|
Limitações |
|