Instruções do programa

É possível adicionar novas instruções clicando com o botão direito do mouse em um programa ou no menu Programa, conforme mostrado na seção anterior.

Esta seção descreve as instruções suportadas pela interface gráfica do usuário do RoboDK para a programação off-line do robô.

Movimento Joint

Selecione Programa ➔Robot Programs - Imagem 4 Instrução Movimento Joint para adicionar uma nova instrução de movimento Joint. Como alternativa, selecione o botão correspondente na barra de ferramentas.

A menos que um ponto seja selecionado antes de adicionar a instrução, a instrução de movimento criará um novo ponto e eles serão vinculados. Se o ponto for movido, o movimento também será modificado.

Se essa for a primeira instrução adicionada ao programa, mais duas instruções serão adicionadas antes da instrução de movimento: uma seleção de frame de referência e uma seleção de frame de ferramenta. Isso garantirá que, quando o programa chegar à instrução de movimento, o robô esteja usando os mesmos frames de referência e de ferramenta usados para criar esse novo ponto.

Robot Programs - Imagem 5

Movimento Linear

Selecione Programa ➔Robot Programs - Imagem 6 Instrução Movimento Linear para adicionar uma nova instrução de movimento linear. Como alternativa, selecione o botão correspondente na barra de ferramentas.

A menos que um ponto seja selecionado antes de adicionar a instrução, a instrução de movimento criará um novo ponto e eles serão vinculados. Se o ponto for movido, o movimento também será modificado.

Os movimentos joint e os movimentos lineares se comportam da mesma forma e podem ser facilmente alternados de um tipo para o outro.

Da mesma forma que a instrução Movimento Joint, se essa for a primeira instrução adicionada a um programa, mais duas instruções serão adicionadas antes da instrução de movimento: uma seleção de Frame de Referência e uma seleção de Frame de Ferramenta.

Ao contrário dos movimentos joint, os movimentos lineares são sensíveis às singularidades do robô e aos limites dos eixos. Por exemplo, os robôs de 6 eixos não podem atravessar uma singularidade após um movimento linear. A imagem a seguir mostra um exemplo que diz que o eixo 5 está muito próximo de uma singularidade (0 graus). [...] Em vez disso, considere um movimento Joint. Como mostrado na imagem a seguir.

Robot Programs - Imagem 7

Se um movimento linear não for estritamente necessário, clique com o botão direito do mouse na instrução de movimento e altere-a para Movimento Joint.

Robot Programs - Imagem 8

Como alternativa, o ponto, o TCP ou a posição do frame de referência devem ser modificados para evitar a singularidade.

Definir frame de referência

Selecione Programa ➔Robot Programs - Imagem 9 Instrução Definir Frame de Referência para usar um frame de referência específico. Isso atualizará o frame de referência fornecido no controlador para as instruções de movimento a seguir e alterará o frame de referência ativo do robô no RoboDK para fins de simulação. Isso significa que as instruções de movimento para pontos específicos (pontos cartesianos) serão feitas com relação ao último frame de referência definido.

O frame de referência é uma variável também conhecida como Work Object (robôs ABB), UFRAME (robôs Fanuc), FRAME (para robôs Motoman) ou $BASE (para robôs KUKA).

Robot Programs - Imagem 10

Definir frame de ferramentas

Selecione Programa ➔Robot Programs - Imagem 11 Instrução Definir Frame de Ferramenta para usar um frame de ferramenta específico (TCP). Isso atualizará o frame de ferramentas fornecido no programa para as instruções de movimento a seguir e alterará o frame de ferramentas ativo do robô no RoboDK para fins de simulação. Isso significa que as instruções de movimento para um ponto específico (pontos cartesianos) serão feitas com relação ao último frame de ferramentas definido.

A estrutura de referência é uma variável também conhecida como ToolData (robôs ABB), UTOOL (robôs Fanuc), TOOL (para robôs Motoman) ou $TOOL (para robôs KUKA).

Robot Programs - Imagem 12

Movimento circular

Selecione Programa ➔Robot Programs - Imagem 13 Instrução Movimento Circular para adicionar uma nova instrução de movimento circular. Como alternativa, selecione o botão correspondente na barra de ferramentas.

A menos que dois pontos sejam selecionados antes de adicionar a instrução, a instrução de movimento não criará novos pontos. É necessário adicionar mais dois pontos separadamente e vinculá-los a partir da instrução de movimento circular, conforme mostrado na próxima imagem.

Robot Programs - Imagem 14

O caminho circular é um arco criado a partir do ponto em que o robô está localizado, passando pelo primeiro ponto circular (Ponto vinculado 1) e terminando no ponto final (Ponto vinculado 2).

Definir velocidade

Selecione Program ➔Robot Programs - Imagem 15 Instrução Definir Velocidade para adicionar uma nova instrução que altere a velocidade e/ou a aceleração. É possível especificar a velocidade e as acelerações no espaço da articulação e no espaço cartesiano.

Ative os casos correspondentes para impor uma velocidade e/ou aceleração específica no programa. A velocidade do robô é aplicada a partir do momento em que essa instrução é executada.

A velocidade do robô também pode ser alterada no menu de parâmetros do robô: Clique duas vezes no robô e, em seguida, selecione parâmetros.

Robot Programs - Imagem 16

Mostrar mensagem

Selecione Programa ➔Robot Programs - Imagem 17 Instrução Exibir Mensagem para adicionar uma nova instrução que exibirá uma mensagem no terminal de programação.

Robot Programs - Imagem 18

Pausa

Selecione Programa➔Robot Programs - Imagem 19 Instrução Pausa para adicionar uma nova instrução que pausará a execução do programa por algum tempo ou interromperá o programa até que o operador deseje retomá-lo.

Robot Programs - Imagem 20

Chamada de programa

Selecione Programa ➔Robot Programs - Imagem 21 Instrução Chamada de Programa para adicionar uma chamada a um subprograma do programa atual.

Por padrão, essa é uma chamada de bloqueio para um programa específico. Entretanto, é possível alternar para Inserir Cógido para inserir um código específico no local dessa instrução. Isso pode ser útil para um aplicativo específico e um controlador específico.

Robot Programs - Imagem 22      Robot Programs - Imagem 23

Mudar de Chamada de Programa para Iniciar Tópico para provocar uma chamada sem bloqueio para um subprograma. Nesse caso, o controlador iniciará um novo thread. Essa opção só está disponível para determinados controladores e só funciona para operações específicas.

Definir/aguardar IO

Selecione Programa ➔Robot Programs - Imagem 24 Instrução Definir ou Aguardar I/O para alterar o estado das saídas digitais (DO). Por padrão, essa instrução é definida como Definir saída digital. Essa instrução também permite esperar que uma entrada digital (DI) específica mude para um estado específico.

O Nome de I/O pode ser um número ou um valor de texto se for uma variável nomeada. O Valor de I/O pode ser um número (0 para Falso e 1 para Verdadeiro) ou um valor de texto se for um estado nomeado.

Robot Programs - Imagem 25

Defina Aguardar por Entrada Digital para interromper a execução do programa até que uma entrada específica mude para um valor específico. Além disso, a maioria dos controladores de robôs suporta um atraso de tempo limite para gerar um erro se o tempo de espera exceder um valor específico. Marque a opção Timeout (ms) para ativar esse recurso.

Robot Programs - Imagem 26

A alteração das entradas e saídas digitais simuladas criará novas variáveis de estação. Para verificar o estado dessas variáveis, você pode clicar com o botão direito do mouse na estação e selecionar Parâmetros da estação. Também é possível ler ou modificar essas variáveis por meio da API.

Definir o valor de arredondamento

Selecione Programa ➔Robot Programs - Imagem 27 Instrução Definir Arredondamento para alterar a precisão do arredondamento. A precisão de arredondamento usada para suavizar as bordas entre movimentos consecutivos. Essa alteração tem efeito a partir do momento em que é executada em um programa (da mesma forma que todas as outras instruções), portanto, é comum definir esse valor no início de um programa.

Sem uma instrução de arredondamento, o robô atingirá a velocidade de 0 no final de cada movimento (a menos que o próximo movimento seja tangente ao movimento anterior). Isso provocará altas acelerações e mudanças rápidas de velocidade para garantir a melhor precisão para cada movimento.

Esse valor também é conhecido como Blending radius (Universal Robots), ZoneData (robôs ABB), CNT/FINE (robôs Fanuc), Cornering (robôs Mecademic) ou $APO.CDIS/$APO.CPTP/Advance (robôs KUKA).

Robot Programs - Imagem 28

Alguns controladores exigem a definição desse valor como uma porcentagem; por exemplo, em um controlador Fanuc, se você quiser fornecer o comando CNT5, deve inserir o valor 5.

Você também pode especificar o parâmetro de arredondamento na janela Eventos de Programase estiver gerando seus programas para usinagem com robôs, impressão 3D ou seguimento de curva/ponto.

Robot Programs - Imagem 29

Os testes de precisão de trajetória do RoboDK podem permitir uma melhor compreensão dos efeitos de diferentes estratégias de arredondamento.

Simulação de Eventos

Selecione Programa ➔Robot Programs - Imagem 30 Instrução Simulação de Eventos para provocar um evento de simulação específico. Os eventos de simulação não têm impacto sobre o código gerado e são usados apenas para provocar um evento específico para fins de simulação.

Os eventos de simulação que usam a interface gráfica do usuário permitem que você:

Anexar ou desanexar objetos às ferramentas do robô

mostrar ou ocultar objetos ou ferramentas

alterar a posição de objetos e frames de referência

Robot Programs - Imagem 31

Por exemplo, se o robô se mover para um local específico para pegar um objeto, podemos configurar um evento Anexar objeto para mover esse objeto junto com o robô. Então, depois que o robô tiver se movido e estiver pronto para deixar os objetos, podemos configurar um evento Desanexar objeto para deixar quaisquer objetos que a ferramenta tenha pegado.

Robot Programs - Imagem 32

Anexar objeto

O evento de simulação de anexar objeto permite anexar um objeto a uma ferramenta para simular uma ação de captura (pick).

Quando a ação de anexar um objeto a uma ferramenta é acionada, o objeto mais próximo da ferramenta selecionada será anexado. Uma tolerância padrão de 200 mm é usada para ignorar quaisquer objetos mais distantes do que essa distância.

Robot Programs - Imagem 33

Se você não especificar uma tolerância de distância, o valor padrão global será usado (você pode alterar o padrão global em FerramentasOpçõesDistância máxima para anexar um objeto a uma ferramenta de robô). Além disso, por padrão, a distância é verificada a partir do local do TCP até a referência do objeto. Como alternativa, é possível usar a distância entre o TCP e a geometria do objeto selecionando Verificar a menor distância entre o TCP e a forma do objeto.

Desanexar objeto

O evento de simulação de desanexar objeto permite desanexar um objeto de uma ferramenta para outro objeto ou sistema de coordenadas.

Você deve escolher a ferramenta da qual os objetos devem ser desanexados e o sistema de coordenadas ou objeto ao qual os objetos devem ser anexados em seguida.

O evento de simulação de desanexar objeto permite simular uma operação de soltar/colocar em uma aplicação de pick and place (executando a ação oposta ao evento de anexar).

Por exemplo, se o robô se move até um local específico para pegar um objeto, podemos configurar um evento Anexar objeto para mover esse objeto junto com o robô. Depois que o robô tiver se movido e estiver pronto para soltar os objetos capturados, você pode acionar um evento Desanexar objeto para deixar quaisquer objetos que a ferramenta do robô tenha capturado.

Robot Programs - Imagem 34

Mostrar objetos ou ferramentas

O evento de mostrar objetos ou ferramentas permite tornar um ou mais objetos, ferramentas ou robôs visíveis dentro do ambiente de simulação.

Você pode selecionar um ou mais itens mantendo pressionada a tecla Ctrl.

Robot Programs - Imagem 35

Ocultar objetos ou ferramentas

O evento de ocultar objetos ou ferramentas permite tornar um ou mais objetos ou ferramentas invisíveis dentro da simulação.

Você pode selecionar um ou mais itens mantendo pressionada a tecla Ctrl.

Robot Programs - Imagem 36

Definir a posição absoluta

A opção Definir posição do objeto (absoluta) permite atualizar a posição de cada objeto selecionado quando essa ação é acionada. A referência pai à qual cada item está anexado não é modificada. Somente a posição de cada objeto é atualizada.

Você pode selecionar um ou mais itens mantendo pressionada a tecla Ctrl. A posição atual do item é registrada quando você pressiona OK.

Robot Programs - Imagem 37

Definir a posição relativa

A opção Definir posição do objeto (relativa) permite atualizar a posição e o pai de cada objeto selecionado quando essa ação é acionada. A referência pai à qual cada item está anexado também é modificada, e a posição de cada objeto também é atualizada.

Você pode selecionar um ou mais itens mantendo pressionada a tecla Ctrl. A posição atual do item e do item pai ao qual ele está anexado é registrada quando você pressiona OK.

A diferença entre essa instrução e a instrução de posição absoluta é que essa instrução também atualiza o item pai ao qual cada objeto está anexado.

Robot Programs - Imagem 38

Definir o robô para a posição inicial

O evento de definir as juntas para a posição inicial (home) aciona o robô ou mecanismo selecionado para se mover imediatamente para suas posições de junta "home" definidas (o movimento não é simulado ao longo do tempo).

Isso é útil quando você precisa redefinir uma simulação e posicionar as esteiras na posição inicial.

Você pode selecionar um ou mais itens mantendo pressionada a tecla Ctrl.

Robot Programs - Imagem 39

Evento de mover esteira

O evento de mover esteira simula o deslocamento da esteira por uma distância específica, simulando o efeito do movimento ao longo do tempo.

Isso é útil quando você precisa simular um incremento específico para processar um objeto na esteira depois que ela se move por uma distância específica.

Robot Programs - Imagem 40

Criar objeto

A instrução Criar objeto permite simular um alimentador (feeder) criando um novo objeto no ambiente de simulação.

Você deve selecionar o objeto modelo a ser criado e a referência pai à qual os itens devem ser anexados.

Essa ação é útil para criar novos objetos em uma esteira.

Robot Programs - Imagem 41

Excluir objetos

A instrução Excluir objetos remove objetos do ambiente de simulação.

Você deve selecionar um objeto modelo que deseja excluir. Qualquer objeto que corresponda ao nome e à geometria do mesmo objeto é excluído quando essa ação é acionada. O objeto modelo selecionado e quaisquer objetos bloqueados não são removidos.

Essa instrução ajuda a limpar uma simulação que foi concluída e na qual você tem muitos objetos que foram criados pela instrução Criar objeto.

Robot Programs - Imagem 42

Aguardar objeto

A instrução Aguardar objeto espera que um objeto entre em contato com outro objeto para acionar uma ação específica.

Esse evento é útil quando você deseja acionar uma ação com base no contato entre objetos. É comum colocar essa instrução sozinha em um programa em execução em loop, que executa uma ação específica quando um objeto entra em contato com um sensor.

Robot Programs - Imagem 43

As ações que você pode executar quando um objeto entra em contato com o sensor são as seguintes:

1.Parar um robô: você deve selecionar o robô ou mecanismo que deve parar.

2.Excluir um objeto: o objeto deve ser removido da estação.

3.Aguardar apenas o objeto (por exemplo, você pode acionar um robô para pegar um objeto).

4.Mover um objeto para outro sistema de coordenadas. Por exemplo, para transferir um objeto de uma esteira para outra.

Robot Programs - Imagem 44