Programação básica
Controle de Movimentação
Calibração e Turn Set dos Eixos do Robô
Turn-Set na Posição de Calibração de Sistema
Calibração
Calibração de Sistema
27
Tipo de movimentação FLY
Velocidade Variável: $FLY_TYPE := FLY_NORM
A velocidade do robô pode se reduzir ligeiramente.
Velocidade Constante: $FLY_TYPE := FLY_HIGH
Durante a execução do movimento FLY, a velocidade
do braço se manterá num valor constante.
Property of Comau S.p.A. - Duplication prohibited 8 de abril de 2025 28
Tipo de movimentação FLY
$FLY_PER := valor
O perfil do movimento contínuo age somente nos movimentos para os
quais é especificada a velocidade variável $FLY_TYPE := FLY_NORM.
Property of Comau S.p.A. - Duplication prohibited 8 de abril de 2025 29
Precisão da Parada do Movimento
NOSETTLE: Menos preciso e não especifica qualquer
tolerância.
$TERM_TYPE := NOSETTLE
COARSE: No máximo 1,5 mm de raio ao redor do ponto de
destino.
$TERM_TYPE := COARSE
FINE: No máximo 0,5 mm de raio ao redor do ponto de
destino.
$TERM_TYPE := FINE
30
Property of Comau S.p.A. - Duplication prohibited 8 de abril de 2025
Cursor de Movimento
A instrução de movimento que o braço está executando, se não há
nenhum movimento em desenvolvimento, aponta à última instrução
de movimento executada.
O ícone associado indica o estado de movimento:
• o robô está na trajetória mas o movimento não terminou;
• o robô alcançou a posição final;
• o robô está fora de trajetória
• o movimento atual foi abortado.
Property of Comau S.p.A. - Duplication prohibited 8 de abril de 2025 31
Tipo de movimentação FLY
Velocidade Variável: $FLY_TYPE := FLY_NORM
A velocidade do robô pode se reduzir ligeiramente.
Velocidade Constante: $FLY_TYPE := FLY_HIGH
Durante a execução do movimento FLY, a velocidade
do braço se manterá num valor constante.
Property of Comau S.p.A. - Duplication prohibited 8 de abril de 2025 32
Precisão da Parada do Movimento
NOSETTLE: Menos preciso e não especifica qualquer
tolerância.
$TERM_TYPE := NOSETTLE
COARSE: No máximo 1,5 mm de raio ao redor do ponto de
destino.
$TERM_TYPE := COARSE
FINE: No máximo 0,5 mm de raio ao redor do ponto de
destino.
$TERM_TYPE := FINE
Property of Comau S.p.A. - Duplication prohibited 8 de abril de 2025 34
Cursor de Movimento
A instrução de movimento que o braço está executando, se não há
nenhum movimento em desenvolvimento, aponta à última instrução
de movimento executada.
O ícone associado indica o estado de movimento:
• o robô está na trajetória mas o movimento não terminou;
• o robô alcançou a posição final;
• o robô está fora de trajetória
• o movimento atual foi abortado.
Property of Comau S.p.A. - Duplication prohibited 8 de abril de 2025 35
Calibração e Turn Set dos Eixos do Robô
O objetivo da operação de turn-set é atualizar o número de giros do Resolver caso
a Unidade de Controle tenha perdido tal valor quando religada.
A operação consiste em levar o eixo em questão à posição de calibração, mediante
o uso das marcas de referência.
Não é necessário utilizar nenhum equipamento específico, visto que o único valor
inicializado é o número de giros do ENCOLDER
36
Introdução à Programação Básica
Um programa PDL2 é iniciado com a instrução PROGRAM. Esta instrução
identifica o programa com um nome definido pelo usuário. O mesmo identifica
também o arquivo no qual o programa foi memorizado. O programa em si pode
ser definido como HOLD ou NOHOLD.
Os programas HOLD (holdable) são controlados mediante os comandos START e
HOLD, geralmente tais programas incluem instruções de movimento.
Os programas NOHOLD geralmente são utilizados para controle de processo e
não podem incluir um movimento; uma vez ativo não necessita de um START. Os
programas são subdivididos em uma área de declaração e uma área de seção
executável.
37
Introdução à Programação Básica
A área de declaração consiste em um conjunto de todas as rotinas e de todas as
categorias de dados que serão utilizados pelo programa.
A seção executável é formada por um conjunto de instruções que o controlador
deverá executar para efetuar uma tarefa.
As duas áreas são separadas pela instrução BEGIN. Para esta instrução, o
programador pode associar a opção CYCLE de modo a criar um ciclo contínuo, e
a instrução END, que indica o fim do programa.
38
Estrutura Básica de um Programa PDL2
PROGRAM name <attributes>
<import statements>
<constant, variable, and type declarations>
<routine declarations>
BEGIN <CYCLE>
<executable statements>
END name
39
Instrução Begin e Cycle
A instrução BEGIN marca o início das instruções executáveis em um programa ou
em uma rotina.
Sintaxe: BEGIN<CYCLE>
Comentários: As seções de declarações de variáveis, tipos e constantes devem
ser colocadas antes da instrução BEGIN.
A opção CYCLE é permitida para qualquer instrução BEGIN de programa, mas
não pode ser utilizada por um instrução BEGIN dentro de uma rotina.
A opção CYCLE cria um ciclo contínuo. Quando for encontrada a instrução END
do programa, a execução prosseguirá recomeçando pela instrução BEGIN. O ciclo
continuará enquanto o programa não for desativado ou enquanto não for
executada uma instrução EXIT CYCLE. Uma instrução EXIT CYCLE termina o ciclo
em andamento: a execução prossegue imediatamente recomeçando pela
instrução BEGIN.
40
Instrução End
A instrução END marca o fim de um programa ou de uma rotina.
Sintaxe: END nome
Comentários: nome é o identificador definido pelo usuário
utilizado para dar um nome ao programa ou rotina.
Se a instrução END estiver presente em uma rotina tipo
procedimento, o controle do programa é restituído à rotina ou
programa que a chama.
41
Instrução IF
A instrução IF é utilizada para escolha entre dois possíveis
fluxos de execução, baseada no resultado de uma expressão.
IF $DIN[300] AND $DIN[301] = OFF THEN
$DOUT[300] := ON
$DOUT[301] := OFF
ELSE
$DOUT[300] := ON
$DOUT[301] := OFF
ENDIF
42
Instrução GOTO
A instrução GOTO é utilizada para destinar o curso do programa para
determinada linha específica ignorando as demais.
meu_salto_1 ::
DELAY 5000
IF $DIN[300] AND $DIN[301] = OFF THEN
GOTO meu_salto_1
ELSE
GOTO outro_salto
ENDIF
MOVE LINEAR TO ponto1
outro_salto ::
MOVE LINEAR TO ponto2
43
Instrução WAIT FOR
DELAY 5000
A instrução WAIT
FOR suspende a WAIT FOR $DIN[12] AND my_bool_1
execução do
programa até que
seja satisfeita a MOVE LINEAR TO ponto1
condição
especificada. MOVE LINEAR TO ponto2
44
Instrução FOR
A instrução FOR executa por certo número de vezes uma
seqüência de instruções.
Sintaxe: FOR varint : = valinicio | | TO | DOWNTO | | valfim
<STEP val_passo>
Exemplo:
DO
<instrução>…
ENDFOR
x
45
Instrução FOR
Comentários: Inicialmente é atribuído o valor val_início a var_int. O valor
será aumentado ou diminuído a cada ciclo até alcançar ou superar o valor de
val_fim. O ciclo é constituído por instruções executáveis posicionadas entre
FOR e ENDFOR.
Val_início, val_fim e val_passo podem ser quaisquer expressões INTEGER.
Val_int deve ser uma variável INTEGER.
Exemplo: FOR i:= 21 TO sinal_total DO
$DOUT [i]:= OFF
END FOR
46
Instrução HOLD
A instrução HOLD pára a execução do programa. Somente um
novo START restabelece o ciclo. É similar à tecla HOLD.
Comentários: A instrução HOLD provoca uma lenta
desaceleração do braço até a parada do robô. Pode ser
utilizada também como ação de um gestor de condição.
Exemplo: IF $DIN[5] = OFF THEN
HOLD
ENDIF
x
47
Exercícios