Escolar Documentos
Profissional Documentos
Cultura Documentos
1) Modo especialista
- Selecionar Configure;
- Selecionar User Group (Tecla 5);
- Escolher Log On;
- Selecionar Expert;
- Digitar senha (kuka);
- Clicar em Log On.
- Selecionar New;
- Selecionar Submit (Comment: User Submit);
- New novamente;
- Digitar o nome do arquivo;
- Clicar em Ok;
- Clicar em Open para editar arquivo.
Atenção: Usar o tipo de arquivo “Usuário Submit”, pois ele garante uma série de inicializações
vitais para o funcionamento do robô. Em casos de sub-rotinas esse tipo de arquivo não é
necessário, podendo-se utilizar o arquivo tipo Expert.
2) Estrutura de programas
• Observação: para excluir um arquivo deve-se excluir os dois arquivos (src e dat).
• Ao criar um programa do tipo “User Submit”, ele é iniciado com o seguinte conteúdo:
1
PMR3502 - Elementos de Robótica
- END.
• Linhas em vermelhos no programa são de fato comentários que incluem vários comandos.
Para visualizar o que está dentro desses comentários deve-se fazer:
- Selecionar Program;
- Selecionar Fold;
- Selecionar All folds open (opcional dependendo de quais comentários deseja visualizar).
- Declaração:
REAL X, Y, Z, R
- Atribuição de valores:
X = 8.025
Y = −0.0015
Z = 23.1E+05
- Declaração:
INT I, J, CONT, W
- Atribuição de valores:
I = 100
J = −8
W = ‘B1001‘ (8)
CONT = ‘H2A’ (42)
- Declaração:
2
PMR3502 - Elementos de Robótica
- Atribuição de valores:
ST1 = TRUE
ST2 = FALSE
- Declaração:
CHAR A, B, C
- Atribuição de valores:
A = “G”
B = “R”
C= “C”
4) Vetores e Matrizes
• Declaração:
• Atribuição de Valores:
FOR I = 1 to 20
X[I] = I
FOR J = 1 to 20
Y[I,J] = I*J
ENDFOR
ENDFOR
W = “CASA”
W[1] = “C”
W[2] = ”A”
W[3] = ”S”
W[4] = ”A”
W[5] = ” “.
3
PMR3502 - Elementos de Robótica
5) Estrutura de dados
• Atribuição de valores:
P1.X = 10
P1.Y = -8.1
P1.I = 20
Ou simplesmente,
• POS ⇒ REAL X, Y, Z, A (ângulo yaw – rotação em Z), B (ângulo pitch – rotação em Y), C
(ângulo roll – rotação em X).
• Declaração de variável:
• Atribuição de Valores:
4
PMR3502 - Elementos de Robótica
P1.X = 10 (mm)
P1.A = 45 (graus)
P1 = {X 10; A 45}
• Formato:
• Declaração de variáveis:
• Atribuição de valores:
EIXO1.A1 = 10
EIXO1.A6 = −45
EIXO1 = {A1 10, A6 -45}
9) Movimentos relativos
5
PMR3502 - Elementos de Robótica
Nesse exemplo, o robô movimenta segundo uma reta o centro da ferramenta de 100 mm
na direção x, −205 mm na direção y, gira o sistema de coordenadas da ferramenta de 30°
em torno do eixo z e gira -45° em torno do eixo x.
Nesse exemplo, o robô movimenta seguindo uma reta o centro da ferramenta e gira a
ferramenta nos valores armazenados na variável P1.
• Sintaxe:
PI
Y
X
PM R = 50
PF
6
PMR3502 - Elementos de Robótica
• Exemplos:
Os comandos de condição da linguagem KRL seguem o padrão normal das linguagens clássicas
de programação.
a) IF-THEN-ELSE
IF A == 0 THEN
Instruções
ELSE
Instruções
ENDIF
= = [igual];
<= [menor ou igual];
>= [maior ou igual];
< [menor];
> [maior];
<> [diferente].
7
PMR3502 - Elementos de Robótica
b) Switch – Case
SWITCH VAR
CASE 1
Instruções
CASE 2, 3
Instruções
CASE 5
Instruções
DEFAULT (Opcional)
Instruções (em geral usado para casos de erro)
ENDSWITCH
• O comando SWITCH VAR redireciona o cálculo para o CASE de número igual ao contido na
variável VAR. Por exemplo, se VAR = 1 então executa CASE 1. Assim, se VAR = 2
• VAR é uma variável tipo inteiro (INT), mas pode ser também uma variável tipo caractere
(CHAR).
a) Comando FOR
FOR I = 1 TO 10
Instruções
ENDFOR
• É possível variar o contador com incrementos maiores do que 1, como segue, para uma
variação com incremento de 2:
FOR I = 1 TO 10 STEP 2
Instruções
ENDFOR
b) Comando LOOP
• O comando LOOP precisa de uma condição de saída. A sua sintaxe e seu uso é o
seguinte:
8
PMR3502 - Elementos de Robótica
LOOP
I = I + 1 (contador)
IF I == 100 THEN (Condição de Saída)
Instruções
EXIT
ENDIF
ENDLOOP
c) Comando REPEAT-UNTIL
CONT = 0
REPEAT
CONT = CONT + 1
Instruções
UNTIL CONT >= 100 (Condição de Parada )
d) Comando WHILE
I=0
WHILE I < 100
I = I+1
Instruções
ENDWHILE
a) Comando GOTO
• O comando GOTO direciona a execução do programa para a linha onde está o “label”. A sua
sintaxe é a seguinte:
GOTO LB1 ⇒ execução desse comando, faz com que a próxima linha ou próximo comando
executado seja a linha onde está o comando LB1.
• LB1 é um nome que escolhemos para o “label”, podendo ser usado qualquer nome.
• O comando WIT FOR para a execução do programa até a condição determinada ser satisfeita.
9
PMR3502 - Elementos de Robótica
• O comando WAIT FOR é útil para controlar a execução do programa por meio das entradas
digitais.
• No exemplo a seguir a execução do programa fica esperando a entrada digital #1 ser ligada.
• No exemplo a seguir a execução do programa fica esperando a entrada digital #2 ser desligada.
• O comando WAIT SEC para a execução do programa por um intervalo de tempo definido no
comando.
12) Subrotinas
• Uma subrotina pode estar em um arquivo separado do programa principal, mas nesse caso o nome do
programa deve ser igual ao nome da subrotina.
Variáveis de entrada se modificadas dentro da subrotina não são modificados quando se termina a
execução da subrotina e volta-se para o programa principal.
Variáveis de saída são modificadas/calculadas dentro da subrotina e seus novos valores são
transferidos para o programa principal.
No programa principal (onde se usa e chama a subrotina) deve-se declarar a subrotina antes do
comando INI, da seguinte forma:
10
PMR3502 - Elementos de Robótica
As variáveis que são argumentos da subrotina devem ser declaradas no programa principal antes
de chamar a subrotina.
REAL X
INT I
POS P1
TESTE(X,P1,I)
• Entradas e saídas digitais podem ser agrupadas e tratadas como se fossem números inteiros.
• Por exemplo, se agruparmos 3 entradas digitais usando uma variável tipo SIGNAL então podemos
usar essa entradas como se fossem um número inteiro de 3 bits, ou seja, que varia de 0 a 7. A mesma
coisa pode ser feita com as saídas digitais.
• A declaração de uma variável tipo SIGNAL, agrupando entradas e saída digitais, é feita da seguinte
forma:
Nesse exemplo, como agrupamos 3 entradas e 3 saídas nas variáveis INPUT e OUPUT elas
consistem de números inteiros de 3 bits. O bit menos significativo de INPUT é a entrada IN[2] e
o bit menor significativo de OUTPUT é a saída OUT[2].
• Observa-se que a variável INPUT altera de valor toda vez que as entradas digitais são
alteradas. Por exemplo, se as entradas estiverem na seguinte condição:
IN[2] = TRUE
IN[3] = TRUE
IN[4] = FALSE
• Se atribuirmos algum valor para a variável OUPUT as saídas correspondentes serão ativas ou
desligas, por exemplo:
11