Vous êtes sur la page 1sur 74

Pontifcia Universidade Catlica do Rio Grande do Sul

Faculdade de Engenharia


Curso de Engenharia Mecnica
&
Curso de Engenharia de Controle e Automao


LABORATRIO CIM
WWW.EM.PUCRS.BR/~LABCIM




DISCIPLINAS
PROGRAMAO DE ROBS
SISTEMAS ROBOTIZADOS


PROFESSORES
PROF. JLIO CSAR MARQUES DE LIMA
PROF. ANDR LUIZ TIETBHL RAMOS



TCNICOS
ENG. TIAGO LEONARDO BROILO
TC. LIANGRID LUTIANI DA SILVA
TC. RODRIGO KRUG

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
2

REGULAMENTO DO USO DO LABORATRIO DE ROBTICA
Art. 1 O Laboratrio CIM da Universidade Catlica do Rio Grande do Sul PUCRS destina-
se aos alunos e professores com prioridade de utilizao aos alunos.
Art. 2 As atividades desempenhadas no Laboratrio devem ser restritas ao ambiente
acadmico, orientadas s disciplinas dos respectivos cursos.
Art. 3 O Laboratrio poder ser utilizado de forma individual, para pesquisa e elaborao
de trabalhos, ou de forma coletiva, para aulas regulares.
Art. 4 Ao incio de cada ano letivo ser elaborado um planejamento para o uso coletivo do
Laboratrio para cada disciplina, com salas e horrios estipulados.
Pargrafo nico. Uma vez definida a programao, no permitida a mudana ou troca de
qualquer horrio.
Art. 5 Em aulas coletivas, de responsabilidade do professor da disciplina orientar os
trabalhos e zelar pela ordem e utilizao dos equipamentos.
Art. 6 O professor responsvel deve solicitar os materiais necessrios conduo de seus
trabalhos ao responsvel pelo Laboratrio CIM, com antecedncia.
Art. 7 As aulas coletivas a serem ministradas no Laboratrio so preparadas com
antecedncia pelo professor, com a preocupao de verificar a compatibilidade dos
equipamentos s necessidades previstas.
Art. 8 Cabe ao professor responsvel orientar a preparao e a utilizao dos programas e
equipamentos. A requisio de programas deve ser feita com antecedncia ao Coordenador
do Curso.
Art. 9 Ao trmino dos trabalhos, o professor responsvel deve solicitar aos alunos que
recoloquem as cadeiras em seus devidos lugares, desliguem os equipamentos
corretamente, retornando-os posio de origem, e que mantenham limpo o ambiente.
Art. 10. A utilizao de forma individual do Laboratrio permitida fora dos horrios de
aulas regulares, com a autorizao do responsvel pelo Laboratrio CIM.
Pargrafo nico. Para fazer uso dos equipamentos do Laboratrio, o aluno dever
identificar-se ao responsvel pelo Laboratrio com o respectivo crach.
Art. 11. Para a utilizao dos equipamentos, os alunos devero observar os procedimentos
e recomendaes afixados no Laboratrio para a utilizao e o manuseio dos equipamentos.
Art. 12. Para a preservao do meio ambiente acadmico necessrio s atividades do
Laboratrio importante:
I - no fumar;
II - manter silncio;
III - preservar a limpeza do ambiente;
IV - no escrever nas mesas;
V - no colocar os dedos ou as mos sobre a tela nem objetos sobre o monitor;

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
3
VI - no comer ou beber no recinto;
VII - entrar e sair do Laboratrio de forma tranqila, sem arrastar os mveis;
VIII - utilizar as instalaes e os equipamentos do Laboratrio da forma recomendada pelos
procedimentos da sala (em caso de dvida, informar-se com os responsveis);
IX - no levar equipamentos pessoais ou de terceiros ao Laboratrio;
X - identificar-se sempre que solicitado
XI - observar o horrio de funcionamento fixado.
Art. 13. Ao fazer uso dos equipamentos o aluno deve:
I - verificar se a mquina apresenta as condies necessrias para uso;
II - reportar qualquer problema ao responsvel, caso constate alguma irregularidade;
III - no caso de no observncia dos incisos anteriores, a responsabilidade pela utilizao
passa a ser do prprio aluno.
Art. 14. Sempre haver no recinto um tcnico responsvel para auxiliar em qualquer
dvida, ou problema, que venha a ocorrer. O responsvel sempre levar em conta o artigo
anterior.
Art. 15. Ao fazer uso da mquina o aluno no deve:
I - utilizar o equipamento com o intuito de alter-lo, mud-lo de posio, retirar ou conect-
lo a qualquer outro equipamento
II - causar danos nos equipamentos.
Art. 16. O uso de equipamentos, acessrios, softwares entre outros deve ser objeto de
requisio pelo professor da disciplina ao responsvel pelo Laboratrio CIM.
Art. 17. Fica expressamente proibida a instalao de softwares e o acesso a salas de chat,
sites pornogrficos ou jogos.
Art. 18. Por questes legais referentes a Direitos Autorais, no permitida a gravao,
reproduo ou a utilizao de quaisquer programas sem a autorizao ou permisso por
escrito do responsvel pelo Laboratrio.
Pargrafo nico. As impressoras devem ser usadas de forma ordenada entre os alunos que
se encontram no Laboratrio. No ser permitida a impresso de trabalhos extensos como
monografias, teses, etc durante os perodos de aula.
Art. 19. O descumprimento de qualquer artigo deste regulamento ser considerado falta
grave, sujeita a responsabilidade administrativa, se o caso assim o requerer.
Art. 20. de competncia do responsvel pelo Laboratrio CIM estabelecer as demais
normas e procedimentos para o bom andamento dos trabalhos no Laboratrio e se
manifestar nos casos omissos do presente Regulamento.
Art. 21. expressamente proibido o uso do Laboratrio por pessoas estranhas ao meio
acadmico da PUCRS sem prvia autorizao.

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
4
PROCEDIMENTOS DO USO DO LABORATRIO DE ROBTICA
1. No levar alimentos e bebidas ao laboratrio
2. No fumar nos laboratrios e nos corredores prximos.
3. No apoiar os ps nos assentos.
4. No jogar lixo no cho.
5. No acesso a sites ou aplicativos que contenham som, utilizar fones de ouvido evitando
desordem e poluio sonora.
6. Desligar aparelhos celulares, ou deix-los em modo silencioso. Somente atender ligaes
fora do laboratrio. (no perodo de aula o uso ser proibido)
7. Utilizar com cautela os equipamentos do laboratrio.
8. Recolher material de estudo, no deix-los espalhado sob e/ou sobre a bancada dos
computadores.
9. Respeitar os horrios de utilizao extra-aula.
10. A utilizao do laboratrio em horrios extra-aula fica restrita ao aluno, no sendo
permitido a entrada de acompanhantes que no sejam alunos da Instituio.
11. No utilizar a Internet para acessar sites pornogrficos ou com contedos violentos,
racistas, etc. A monitoria reserva-se o direito de bloquear o acesso a sites que sejam
inadequados ao uso acadmico sem aviso prvio.
12. No ser permitido trazer e instalar programas de casa, ou obtidos atravs de
download. Caso sejam necessrios para apresentao de trabalhos, deve-se pedir
autorizao ao monitor responsvel.
13. Para utilizao dos equipamentos, sero OBRIGATRIOS o uso do login e senha
pessoal.
14. As informaes de Login e Senha so pessoais e intransferveis, sendo assim, de
inteira responsabilidade do aluno zelar pela segurana destes dados. Estas informaes
tambm sero necessrias no acesso aos servios on-line encontrados no site.
15. Em caso de perda ou esquecimento do login e senha de acesso, o aluno dever solicitar
um novo login ao departamento responsvel.
16. No sero informados por telefone ou a terceiros dados de login e senha.
17. O Login do aluno possui uma pasta na rede para o armazenamento dos seus trabalhos e
atividades acadmicas. Ao final do ano letivo e/ou em caso de trancamento ou
cancelamento da matrcula, o login e o contedo da pasta sero apagados. Caso o aluno
deseje realizar uma cpia da sua pasta, o mesmo dever realiz-la at o ultimo dia letivo
constante no Calendrio Oficial da Instituio.
18. Todo sistema robotizado completo por hardware e software, para um perfeito
funcionamento os dois precisam estar funcionando perfeitamente. Se isso no acontecer,
no cabe ao aluno a soluo do problema. O mesmo deve se reportar de imediato ao
tcnico.

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
5
19. O Laboratrio CIM composto por vrios tipos de robs, cada rob com a caracterstica
especifica daquela estao de trabalho. Logo cada rob tem sua particularidade e modo de
operao.
20. Este laboratrio utilizado por vrios usurios. Por este motivo ser totalmente
padronizado o nome dos vetores de posio e nomes de programas. Sendo que ao final de
cada aula os alunos devero utilizar o comando REMOVE + nome do programa para
remover o programa. Nomes de vetores de posio devem que estar no padro, caso
contrrio sero apagados da memria.
21. Aps o trmino das aulas os grupos devero organizar a sua estao de trabalho, isto
implica em desligar corretamente o rob, colocar as cadeiras nos seus devidos lugares e
deixar a mesa limpa. O no cumprimento deste procedimento ser reportado ao professor
responsvel da turma e caber ao mesmo solicitar aos alunos o cumprimento deste
procedimento, ou, uma avaliao do professor.
22. No ser permitido o uso indevido do rob. Sejamos cautelosos e cuidadosos no
manuseio do rob. O uso no individual, o uso indevido pode causar problemas nos
trabalhos dos outros grupos.
23. O rob, como qualquer outra mquina, no foi implementada para trabalhar sobre
esforos indevidos. importante gravar as posies de get e put sem esforos
inadequados. Pois, desta forma voc estar evitando impactos e perda de posies.
24. Um esboo da movimentao do rob e a programao em outros computadores podem
aumentar o rendimento do grupo, evitando assim atividades extraclasse. Procure sempre
que possvel antecipar as experincias, para evitar transtornos e superlotao do laboratrio
no final semestre letivo.


O descumprimento deste Regulamento pelo corpo discente, implica na aplicao
das sanes previstas no Regimento Geral da Faculdade, captulo dos direitos e
deveres dos alunos. Eventuais danos causados aos equipamentos implicam o
ressarcimento Faculdade das despesas decorrentes dos reparos necessrios.

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
6
PROCEDIMENTOS PARA USO EXTRA-CLASSE
1. Os horrios livres para utilizao dos alunos durante o perodo letivo sero divulgados no
incio de cada semestre e divulgados no mural do laboratrio. Os horrios e laboratrios
reservados s aulas no podero ser utilizados para realizao de trabalhos sob hiptese
alguma.
2. No perodo matutino recomenda-se ao aluno verificar o horrio de funcionamento do
laboratrio e a reserva da estao para a realizao do trabalho.
3. No perodo vespertino fica disponvel aos alunos, no horrio das 13h30 s 17h15.
4. No perodo noturno o laboratrio fica disponvel aos alunos nos horrios que no haver
aula.
5. Aos sbados, o laboratrio estar disponvel para utilizao dos alunos no horrio
existente no mural do laboratrio. As datas de feriado, manuteno e/ou qualquer outra
eventualidade que causar a necessidade de fechamento do laboratrio sero divulgadas
antecipadamente.
6. Os horrios livres para utilizao dos laboratrios podero sofrer mudanas de acordo
com o horrio de aulas do semestre, sendo assim, eventuais indisponibilidades sero
comunicadas com antecedncia.

II. Agendamento do Laboratrio

1. O Agendamento deve ser feito no dia previsto para uso e somente sero liberados se no
houver reserva por professores. O agendamento vai ser realizado atravs de uma lista que
estar no mural do laboratrio
2. Responsveis pelo agendamento:
Manh: Estagirios que estaro no laboratrio.
Tarde: Tiago Leonardo Broilo, Liangrid Lutiani da Silva e Rodrigo Krug
Noite: Tiago Leonardo Broilo, Liangrid Lutiani da Silva e Rodrigo Krug
Sbado: Tcnico que estar no laboratrio.
3. O local de Agendamento ser o Laboratrio CIM, sala 104, bloco F, prdio 30, Ramal
4393.

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
7

Captulo 1
USANDO O TEACH PENDANT (TP)

Objetivos:
Conhecer os equipamentos do Laboratrio
Ligar os equipamentos do Laboratrio
Uso do Teach Pendant (TP)
Referenciar os robs

1. INTRODUO

Neste captulo, voc aprender a usar o Teach Pendant (TP) para movimentar o rob.
No nosso Laboratrio existem dois tipos de TP's:
TP para o controlador A
TP para os controladores B e AC
O TP para o controlador A usado com os robs ER-V e ER-VII.
O TP para os controladores B e AC usado com os robs ER-9 (controlador B), Scara
ER-14 (controlador B), Cartesiano do ASRS (controlador B) e Performer MK-3 (controlador
AC).

Os robs esto dispostos no laboratrio da seguinte maneira:
ESTAO ROB
Estao 1 Rob ASRS
Estao 2 Rob ER-9
Estao 3 Rob ER-7
Estao 4 Rob MK-3
Estao 5 Rob ER-14


2. PRIMEIRO CONTATO

Estudo do Teach Pedant (TP) para o controlador A e, aps, o TP para os controladores B e
AC.

2.1. O TEACH PENDANT PARA O CONTROLADOR A

Antes de comear a aprender a usar o TP, voc deve primeiramente ligar o controlador do
rob. Por motivo de segurana, verifique se o rob est disposto paralelamente mquina que ele
serve. Aps ligar o controlador, aparecer no TP a mensagem.

A JOINTS


Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
8
onde A significa rob e JOINTS significa o sistema de coordenadas que est sendo usado (so os
default do sistema).

O TP porttil fornece controle direto dos robs ER-V e ER-VII. As especificaes deste TP
so as seguintes:


Caractersticas do TP:
- Tela de Status: Sistema de Coordenadas, Grupo de controle ativo e mensagens. LCD, 2
linhas, 32 caracteres.
- Teclado: 30 teclas multi-functionais, codificadas por cores.
- Sistemas de Coordenadas (nmero 1 da figura): XYZ e J OINTS.
- Nmero de eixos controlados 11
- Movimentos retilneos X+, X-; Y+, Y-; Z+, Z-
- Controle de Pitch: Dois modos:
1. O rgo Terminal (garra) move-se para cima ou para baixo enquanto
os demais eixos permanecem estacionrios;
2. O rgo Terminal mantm sua posio e troca de orientao
enquanto os demais eixos se movimentam.
- Definio de velocidade (nmero 3 da figura):: Valores percentuais variando de 0 a 100%.
- Gravao de posies (nmero 28 da figura): Para cada grupo de controle, separadamente.
Movimentos tipo "Go position" (nmero 30 da figura): Para posies previamente gravadas, ou em movimento ponto a ponto,
ou ao longo de uma trajetria linear.
- Execuo de programas (nmero 5 da figura): Executa programas do usurio e as rotinas HOME e TEST.
- Abort (nmero 7 da figura):: Parada de emergncia: aborta programas do usurio e pra
imediatamente qualquer movimento.
- ON/OFF (nmero 6 da figura):: Habilita/desabilita o controle dos eixos.

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
9

O TP est dividido em duas reas, a tela e o teclado:

A tela mostra o status corrente do controlador, o comando corrente do usurio e mensagens
do sistema. Existem duas notas residentes na figura acima.

O teclado contm 30 teclas, a maioria das quais so multi-funcionais. Algumas teclas incluem
o comando de acionamento do eixo e tambm funo. A funo numrica estar ativa somente se
voc teclou anteriormente uma das funes SPEED, RUN, RECORD POSITION, GO POSITION ou
GROUP SELECT. Caso contrrio, o comando de acionamento do eixo que estar ativo.

N COMANDO DESCRIO
1 J OINTS/XYZ Mostra o sistema de coordenadas ativo.
2 A/B/AXIS Mostra o grupo ativo (ver tecla de seleo,31): A, B ou um dos eixos
independentes no pertencentes aos grupos A ou B.
3 SPEED +nmero +ENTER
Define a velocidade do grupo corrente como um percentual (0 a 100%) da
velocidade mxima do rgo Terminal.
4 J OINTS/XYZ Seleciona um dos sistemas de coordenadas: J OINTS ou XYZ.
5 RUN +nmero +ENTER
Executa um programa existente vlido. A cada programa automaticamente
atribudo um nmero pelo controlador. O comando DIR da linguagem ACL
(Advanced Control Language), que ser estudada mais adiante, lista os
programas e respectivos nmeros de identidade.
6 CONTROL ON/OFF
Ativa/desativa o sistema de controle, mostrando as seguintes mensagens:
CONTROL ENABLED
CONTROL DISABLED
7 ABORT
Parada de emergncia. Aborta imediatamente todos os programas em
execuo e pra todos os eixos em movimento.
9
14
BASE ou X+
Em J OINTS, as teclas movem o eixo da base no sentido horrio (SH) ou anti-
horrio (SAH). Em XYZ, as teclas movem o rgo Terminal ao longo de X+e
X- (Y e Z no mudam).
8
13
SHOULDER ou Y
Em J OINTS, as teclas movem o eixo do ombro no sentido horrio (SH) ou
anti-horrio (SAH). Em XYZ, as teclas movem o rgo Terminal ao longo de
Y+e Y- (X e Z no mudam).
10
14
ELBOW ou Z
Em J OINTS, as teclas movem o eixo do cotovelo no sentido horrio (SH) ou
anti- horrio (SAH). Em XYZ, as teclas movem o rgo Terminal ao longo de
Z+e Z- (X e Y no mudam).
11
16
PITCH
Em J OINTS, as teclas movem o pitch para cima ou para baixo. Os outros
eixos no movem. Em XYZ, as teclas movem 3 eixos (ombro, cotovelo e pitch)
para manter o rgo Terminal enquanto mudam os ngulos de pitch.
12
17
ROLL Movimenta o eixo de roll SH ou SAH.
18 a
27
EIXOS 7-11 ou teclas numricas
Cada tecla move, respectivamente, os eixos 27 Teclas Numricas 7 a 11
SH ou SAH. Se uma das funes SPEED, RUN, RECORD POSITION, GO
POSITION ou GROUP SELECT tiver sido ativada anteriormente, a
interpretao numrica que ter efeito.
28 OPEN/CLOSE Abre/fecha a garra.
29 RECORD POSITION +ENTER
Grava a localizao corrente do grupo ativo nmero como uma posio
especfica numerada.
30 GO POSITION +nmero +ENTER
Manda o rob ou o dispositivo perifrico para uma posio especfica
numerada. O movimento do rob (grupo A) ser ou ponto a ponto (em
J OINTS) ou ao longo de uma reta (em XYZ). GO POSITION 0 mandar todos
os eixos do grupo A para as suas posies de HOME. GO POSITION 00
mandar todos os eixos do grupo B para as suas posies de HOME.
31 GROUP SELECT
Seleciona o grupo ativo em seqncia, isto : A B AXIS A B
AXIS A ... Ao selecionar AXIS, voc deve tambm teclar o nmero do
eixo e aps dar ENTER. As funes RECORD POSITION e SPEED afetam
somente o grupo corrente selecionado. Quando ativada seguindo uma funo
numrica, essa tecla atua como funo backspace, isto , ela cancela a ltima
entrada numrica e move o cursor uma casa para a esquerda.
32 ENTER Confirma a ltima funo ativada.

2.2. COMANDOS USANDO O TEACH PENDANT PARA O CONTROLADOR A

Vejamos, a seguir, alguns comandos que podem ser feitos usando o TP:

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
10

2.2.1. Programa Homes referenciamento do rob.
Pressione Run + Digite 1: Run 1

onde o smbolo significa a tecla ENTER. O rob comea a se mover, procurando por uma posio
de referncia denominada HOME. Qualquer programa do usurio que esteja sendo executado ser
abortado. mostrada uma mensagem na tela do TP:

HOMING

Concluda a tarefa com sucesso, o rob se encontrar numa posio aproximadamente
vertical e a seguinte mensagem mostrada:

HOMING COMPLETE


Se o procedimento no for completado, uma mensagem de erro identificando a falha ser
mostrada. Por exemplo:

***HOME FAILURE AXIS 2



2.2.2. Control On/Off

Pressione Control On/Off: Control On/Off

Quando for ativado Control On/Off, as mensagens CONTROL ENABLED/DISABLED,
respectivamente, aparecem:

CONTROL ENABLED

OU

CONTROL DISABLED

Com o controlador em Control On, voc pode operar o rob. Com o controlador em Control
Off, voc no pode operar o rob. Certos erros ativam automaticamente o estado Control Off.
Quando isso acontecer, Control On deve ser ativado para que o movimento possa continuar.

2.2.3. Abort
Pressione Abort ou Digite no teclado do computador Crtl+a Abort ou Crtl + a

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
11

Esse comando pra a execuo de todos os programas e de todos os movimentos do rob e
demais eixos ligados ao ocontrolador.

Os procedimentos seguintes assumem que o HOMES tenha sido executado com sucesso e que
JOINTS aparea na tela do TP.

Pressione por 3 segundos Base: Base
Pressione por 3 segundos Shouder: Shouder
Pressione por 3 segundos Elbow: Elbow
Pressione por 3 segundos Roll: Roll

Movem os eixos do rob em ambas as direes. Somente o eixo referido movimentar-se-.

Pressione Speed + Digite nmero+Pressione Enter:
Speed <nmero> (1 <= nmero <= 100)

Varia a velocidade (default = 50% da velocidade mxima).

Pressione Go Position + Digite 0 + Pressione Enter:
Go Position 0

O rob volta posio HOME.

At agora, voc operou o rob no sistema de coordenadas JOINTS. Agora, voc vai
usar o sistema de coordenadas XYZ.

Pressione XYZ/Joints: XYZ/Joints

Note agora que aparece na tela do TP: A XYZ

Pressione por 3 segundos +X: X+
Pressione por 3 segundos -X: X-
Pressione por 3 segundos +Y: Y+
Pressione por 3 segundos -Y: Y-
Pressione por 3 segundos +Z: Z+
Pressione por 3 segundos -Z: Z-

Os comandos acima movem o rob nas direes especificadas. Nesse caso, mais do que um
eixo se movimentar, para que seja possvel o rgo Terminal seguir uma trajetria retilnea,
segundo a direo especificada. Em XYZ, no movimente o rob para posies localizadas no alcance
mximo do brao, a fim de evitar movimentos bruscos. Tambm as velocidades variaro com o
movimento do brao.

Pressione Pitch: Pitch

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
12

Move o eixo correspondente do rob em ambas as direes. Em JOINTS, somente o eixo de
pitch se movimenta. Em XYZ, o centro do rgo terminal permanece em sua posio, enquanto que os
eixos do ombro (shoulder), cotovelo (elbow) e pitch se movimentam.

2.3. O TEACH PENDANT PARA OS CONTROLADORES B e AC

Os TPs para os controladores B e AC operam e controlam os eixos conectados a ambos os tipos de
controladores. Ele est equipado com um boto de emergncia EMERGENCY/STOP, uma chave
seletora AUTO/TEACH e um boto lateral que acionado pela mo do operador quando ele empunha
o TP. O TP pode ser usado empunhado ou montado sobre um dispositivo especial localizado fora do
volume de trabalho do rob, neste caso uma pequena caixa. A operao do TP varia de acordo com
essas duas situaes de uso.



2.3.1. TP Montado ou TP empunhado


Quando o TP est montado sobre o dispositivo especial (verifique que o TP colocado dentro
de uma caixa), duas chaves magnticas so ativadas por meio de tiras magnticas existentes no
dispositivo, permitindo que programas possam ser executados a partir do TP montado. Usar o TP

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
13
montado tambm oferece segurana ao operador, j que ele se encontra fora do volume de trabalho
do rob quando o programa inicia.

Neste caso, o boto lateral deve permanecer acionado (apertado) durante todas as
operaes, ou, o TP deve estar dentro do seu dispositivo. Se o boto for solto, ou, se estiver fora do
seu dispositivo, o TP se torna inoperante. Por motivos de segurana, no se pode executar programas
com o TP empunhado.

2.3.1.1. Chave Seletora Auto/Teach TP Montado



2.3.1.1.1. Posio Teach

O TP tem controle total dos eixos.
Programas podem ser executados a partir do TP montado.
Comandos que causam movimento de eixos (tais como CON, MOVE, RUN) no podem entrar a
partir do teclado; todos os demais comandos ACL (tais como COFF, DIR, STAT, EDIT, DIMP,
ATTACH) permanecem disponveis.

2.3.1.1.2. Posio Auto

O TP est desabilitado e o teclado tem controle total dos eixos.

2.3.1.1.3. Transio de Auto para Teach

Programas em execuo continuam a ser executados;
O controle transferido para o TP.

2.3.1.1.4. Transio de Teach para Auto

Programas em execuo continuam a ser executados;
O controle transferido para o teclado, porm somente aps ter sido digitado o comando
AUTO no teclado.

2.3.1.2. Chave Seletora Auto/Teach TP Empunhado



2.3.1.2.1. Posio Teach

O TP tem controle total dos eixos, desde que o boto lateral esteja comprimido;

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
14
Programas no podem ser executados a partir do TP empunhado;
Comandos que causam movimento de eixos (tais como CON, MOVE, RUN) no podem entrar a
partir do teclado; todos os demais comandos ACL (tais como COFF, DIR, STAT, EDIT) permanecem
disponveis.

2.3.1.2.2. Posio Auto

O TP est desabilitado e o teclado tem controle total dos eixos.

2.3.1.2.3. Transio de Auto para Teach

Todos os programas que estiverem sendo executados so abortados.

2.3.1.2.4. Transio de Teach para Auto

O controle transferido para o teclado, porm somente aps ter sido digitado o comando
AUTO no teclado.

2.3.1.3. Mudana de posio do TP

Se o TP for colocado ou removido do dispositivo especial com a chave seletora na posio
Auto, a operao do sistema no afetada;
Se o TP for removido do dispositivo especial com a chave seletora na posio Teach, os
programas em execuo so abortados; se o boto lateral for solto durante a remoo do TP do
dispositivo especial, todos os eixos pararo e o TP tornar-se- inoperante;
Se o TP for colocado no dispositivo especial com a chave seletora na posio Teach, a
operao do sistema no afetada; uma vez colocado o TP no dispositivo especial, programas podem
ser executados a partir do TP.


2.3.1.4. Controle Manual do Teclado

Os comandos < Alt > + M ou ~ so usados para obter o controle manual a partir do teclado e
esto disponveis somente quando o TP est em modo Auto;

Se a chave seletora for movida da posio Auto para a posio Teach quando o Controle
Manual do Teclado estiver ativo, a operao a partir do teclado abortada; se a chave seletora for
ento movida de novo para a posio Auto e o comando AUTO digitado com a finalidade de retornar
o controle ao teclado, este ltimo resetado para o modo DIRECT, mas no para o modo Manual.


2.3.2. Boto Lateral

O boto lateral uma chave interruptora localizada na lateral esquerda do TP. Com o TP
empunhado, esse boto deve permanecer sempre comprimido para que o controle dos eixos seja

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
15
possvel a partir do TP. Se o boto lateral for solto com o TP em modo Teach, todos os eixos pararo
e a maioria das teclas do TP tornar-se-o inoperantes. As teclas numricas, Record e Select Axis
podem ser usadas para gravar posies e mudar o modo de movimento Direct Teach.

2.3.3. Boto de Emergncia

um boto vermelho, situado na parte superior direita do TP. Ele tem o mesmo efeito do
boto de emergncia existente no controlador. O boto de emergncia pode ser acionado
(pressionando-o) independentemente da localizao do TP (montado ou empunhado) ou modo do TP
(Teach ou Auto). Para retirar a situao de parada de emergncia, o boto de emergncia deve ser
desacionado (puxando-o) e acionada a tecla CONTROL ON/OFF.

2.3.4. Funes do Teclado


BOTO

FUNES
ENTER/EXECUTE
executa e/ou aceita o comando digitado anteriormente;
executa um programa
JOINTS
XYZ
TOOL
seleciona o sistema de coordenadas, a seleo realizada de maneira seqencial,
depende do sistema que estiver ativo:
os movimentos manuais dos eixos so executados coerentemente com o sistema
ativo;
o comando RECORD POSITION grava posies executando os comandos ACL:
HERE e HERER (modo J OINTS)
HEREC e HERERC (modo XYZ)
HEREC e HERERT (modo TOOL)
CLR
GROUP SELECT
anula um comando digitado parcialmente (no o mesmo comando CLR da
linguagem ACL)
habilita o controle, via TP, dos eixos perifricos (grupo B, grupo C), ou, uma garra
servo eltrica (grupo G). O default do rob o grupo A. A seleo seqencial.
+
modo J OINTS: move o eixo selecionado na direo positiva.
modo XYZ e TOOL: move o TCP (Tool Center Point) na direo positiva.
os movimentos acima continuaro enquanto a tecla estiver sendo pressionada, ou,
at que o limite do eixo seja atingido.
-
modo J OINTS: move o eixo selecionado na direo negativa.
modo XYZ e TOOL: move o TCP (Tool Center Point) na direo negativa.
os movimentos acima continuaro enquanto a tecla estiver sendo pressionada, ou,
at que o limite do eixo seja atingido.
0
SELECT AXIS
tecla numrica 0.
muda o modo de movimento: pressionar para mudar para Free Axes, Fixed Pitch ou
Fixed Pitch e modo Z.
1
AXIS 1
X
tecla numrica 1.
modo J OINTS: eixo 1
modos XYZ e TOOL: eixo X
2
AXIS 2
Y
tecla numrica 2.
modo J OINTS: eixo 2
modos XYZ e TOOL: eixo Y
3
AXIS 3
Z
tecla numrica 3.
modo J OINTS: eixo 3
modos XYZ e TOOL: eixo Z
4
AXIS 4
tecla numrica 4.
modo J OINTS: eixo 4
modos XYZ e TOOL: eixo pitch
5
AXIS 5
tecla numrica 5.
modo J OINTS: eixo 5
modos XYZ e TOOL: eixo Roll
6
AXIS 6
tecla numrica 6
modo J OINTS : eixo 6 (somente se instalado e configurado).
7
AXIS 7
tecla numrica 7
modo J OINTS: eixo 7 (somente se instalado e configurado).

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
16
8
AXIS 8
tecla numrica 8.
modo J OINTS: eixo 8 (somente se instalado e configurado).
9
AXIS 9
tecla numrica 9
modo J OINTS: eixo 9 (somente se instalado e configurado).
CONTROL ON/OFF
habilita e desabilita o controle do grupo selecionado ou de todos os grupos.
se pressionada uma vez, alterna entre CON e COFF para o grupo selecionado.
se pressionada duas vezes, muda CON e COFF para todos os grupos; se ao
menos um grupo est em modo CON, COFF aplicado a todos os grupos; se todos
os grupos esto em modo COFF, CON aplicado a todos os grupos.
RECORD POSITION
define e grava uma posio.
somente valores numricos com at 5 dgitos podem entrar pelo TP.
a posio definida para o grupo ativo corrente.
as coordenadas so gravadas no sistema de coordenadas corrente; dependendo
do sistema de coordenadas corrente, so gravadas posies absolutas e relativas
(sufixo R):
modo J OINTS: HERE e HERER
modo XYZ: HEREC e HERERC
modo TOOL: HEREC e HERERT
pressione 1 vez, digite o valor numrico da posio e ENTER para gravar uma
posio absoluta.
pressione 2 vezes, digite o valor numrico da posio e ENTER para gravar uma
posio relativa.
se voc mover os eixos e pressionar novamente ENTER, o TP repetir o comando
RECORD POSITION e automaticamente incrementar em 1 a ltima posio
gravada.
se voc gravar numa posio que j tenha sido definido anteriormente, as novas
coordenadas sobrescrevero as existentes.
se voc quiser gravar posies em um vetor (o que muito usual), o vetor deve ser
criado e atachado atravs dos comandos via terminal do computador:
DIMP+NOME VETOR[tamanho do vetor]+ENTER
ATTACH+NOME VETOR +ENTER
INSERT
DELETE
grava/remove posies de um vetor previamente atachado.
INSERT grava uma posio em um vetor e desloca em uma unidade para cima
todas as posies de nome numrico mais alto pr-existentes.
DELETE remove uma posio de um vetor e desloca de uma unidade para baixo
todas as posies de nome numrico mais alto pr-existentes.
INSERT e DELETE esto disponveis apenas para vetores que tenham sido
definidos com o prefixo &.
para inserir uma posio, pressione INSERT/DELETE uma vez, entre com o
nmero (ndice) da posio a ser inserida e d ENTER.
para deletar uma posio, pressione INSERT/DELETE duas vezes, entre com o
nmero (ndice) da posio a ser deletada e d ENTER; uma mensagem "ARE
YOU SURE?" ("VOC TEM CERTEZA?") aparecer na tela do TP; pressione +
para sim e d ENTER.
SPEED(%)
SPEEDL(%)
define o percentual da velocidade mxima para a junta ativa
SPEED(%) usado em conjunto com o modo J OINTS.
SPEEDL(%) usado em conjunto com os modos XYZ e TOOL.
pressione SPEED(%)/SPEEDL(%); a velocidade corrente mostrada; d ENTER
para aceitar ou use as teclas numricas para modificar e depois d ENTER.
OPEN
CLOSE
abre/fecha a garra; funciona para garras eltricas e pneumticas.
MOVE
MOVEL
Move os eixos para uma posio de destino
MOVEL aplica-se apenas para os eixos do rob (grupo A).
MOVE est associado ao modo J OINTS.
MOVEL est associado aos modos XYZ e TOOL (nesses dois casos, o movimento
linear).
pressione MOVE/MOVEL; aps, entre o nmero da posio de destino e pressione
a tecla ENTER/EXECUTE (mantendo-a pressionada at que a posio de destino
seja atingida); se a tecla ENTER/EXECUTE for solta, o movimento pra
imediatamente e o comando abortado.
SPLINE
MOVEC
movem os eixos para uma posio de destino
MOVEC aplica-se somente aos eixos do rob (grupo A)
SPLINE aplica-se somente aos dispositivos multi-eixos do grupo A ou do grupo B.
pressionando 1 vez, um movimento SPLINE ser executado.
pressionando 2 vezes, um movimento MOVEC ser executado.
digite o nmero da primeira posio e d ENTER/EXECUTE;
digite o nmero da segunda posio e d ENTER/EXECUTE;
pressione a tecla ENTER/EXECUTE (mantendo-a pressionada at que a posio
de destino seja atingida); se a tecla ENTER/EXECUTE for solta, o movimento pra
imediatamente e o comando abortado.

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
17
RUN
executa um programa; somente disponvel com o TP montado.
pressione RUN, o nmero de identidade do programa e pressione
ENTER/EXECUTE.
o comando DIR do ACL lista os programas e os respectivos nmeros de identidade
que foram atribudos pelo controlador.
o comando RUN 1 executa o homing (=comando HOME do ACL).
o comando RUN 999 executa o teste do sistema (=comando TEST do ACL).
ABORT
aborta todos os programas em execuo.
pra o rob e todos os eixos perifricos.


Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
18
Captulo 2
USANDO A LINGUAGEM ACL PARA CONTROLAR O ROB

Objetivos:
Conhecer o software envolvido
Referenciar os robs
Editar programas
Comando PRINT e PRINTLN
Controle de loops com os comandos LABEL e GOTO
Comentrios nos programas
Comandos ACL para gerenciamento de programas


1. INTRODUO

No captulo anterior, voc aprendeu a utilizar o TP, referenciar o rob (fazer o
homing do rob), mover o rob para diversas posies, entre outras coisas que o TP permite.
Neste captulo, voc aprender os comandos da linguagem ACL equivalentes para as tarefas de
referenciamento do rob, a partir do teclado. Tais comandos, combinados com o uso de
variveis e de vetores de posio, que sero estudados mais tarde, permitiro que voc
execute muitas aplicaes robticas interessantes, usando programas relativamente curtos.
Logo, neste captulo voc aprender a escrever um programa na linguagem ACL.

Os comando ACL podem ser divididos em dois tipos:

modo direto (direct mode)
modo edio (edit mode)

No modo direto, os comandos so executados imediatamente aps a digitao do
comando e do ENTER no hiperterminal do software. No modo edio, os comandos so
escritos dentro de um aplicativo (editor de texto), uma vez editado ele escrito na memria
do controlador, necessrio fazer o download do programa, e aps pode ser executado no
hiperterminal atravs do comando RUN + NOME DO PROGRAMA.

2. O PROGRAMA HOMES

Conforme j visto anteriormente, o rob deve ser referenciado cada vez que o controlador
ligado.
Lembrando, se o rob foi ligado e referenciado no se pode referenciar o rob novamente,
se o controlador desligou os drivers do rob necessrio somente ligar os drivers pressionando o
boto CONTROL On/Off do TP ,ou, digitando o comando CON ALL via terminal do computador.
Se o problema persistir chame o professor, ou, o tcnico.

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
19

Para referenciar o rob a linguagem ACL tem comandos especficos para isso. Mas, ns
utilizaremos o programa HOMES, pois este ir referenciar o rob e demais eixos.

DIGITE NO TERMINAL DO COMPUTADOR:

RUN HOMES (Enter)

NO TERMINAL APARECER A SEGUINTE MENSAGEM:

Wait !! homing...

QUANDO O ROB PARAR DE SE MOVER, VOC RECEBER A MENSAGEM:

Homing complete (robot).

VOC PODE RECEBER UMA DAS SEGUINTES MENSAGENS NA TELA, ENQUANTO ESTIVER
MOVIMENTANDO O ROB:

*** UPPER LIMIT AXIS n

*** LOWER LIMIT AXIS n

onde n o nmero do eixo. Isso significa que o rob no pode mais se movimentar naquela
direo, por j ter atingido o seu limite mecnico.

*** IMPACT PROTECTION AXIS n

*** THERMIC PROTECTION AXIS n


Nesse caso, o rob no pode mais se movimentar naquela direo, tendo o controle sido
automaticamente desconectado. Voc precisar conectar o controle novamente a fim de mover o
rob, atravs do comando CON.


3. COMANDOS DIRETOS

A linguagem ACL tem vrios comandos, alguns que operam somente no modo direto (direct),
outros apenas no modo edio (edit) e alguns que operam em ambos os modos. No Anexo desta
Apostila voc encontra, em ordem alfabtica, os principais comandos com os respectivos modos de
operao. Veremos, a seguir, alguns comandos diretos.


Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
20
No modo direct, voc emite os comandos a partir do Terminal do computador. Para isso,
abra o aplicativo Robosoft no seu computador (Start+Programs+Robsoft ou clique duas vezes
sobre o cone na rea de trabalho do computador). Ir abrir uma tela conforme a figura abaixo.
Entretanto, antes de comear, voc deve preparar o rob. Verifique a posio da chave de seleo
Auto/Teach dos controladores tipo B e AC, no tipo A no existe a chave, coloque em Auto. Aps
no terminal digite Auto, este comando habilita o uso do terminal. No terminal do controlador tipo A
isso no necessrio. Em ambos os controladores faa o Homing (referenciamento do rob):

DIGITE: RUN HOMES (enter)

3.1.1. COMANDO PRINT

O comando PRINT tem a seguinte forma:

PRINT texto

Esse comando escreve no terminal do computador, na posio corrente do cursor, o contedo
entre as aspas. No exemplo acima iria mostrar no terminal a palavra texto.

Faa o seguinte exemplo:

DIGITE: PRINT CIM LAB

Observe que o comando que voc digitou e a resposta do controlador aparecem uma aps a
outra na tela, na mesma linha. Isso acontece porque o comando PRINT escreve o texto entre aspas
na posio corrente do cursor.

Se voc cometer um erro, o controlador responder com uma mensagem de erro. Por
exemplo, repita o comando anterior, porm, desta vez no coloque as aspas. Veja o que acontece.

Alm disso, tente escrever algo que no um comando ACL, por exemplo, a palavra aluno.

Observe a resposta do controlador.

Os comandos CON e COFF ligam e desligam, respectivamente, o servo controle para todos os
eixos ou para um grupo de eixos especificados.

Exemplos: CON ; liga o servo controle para todos os eixos
COFFA ; desliga o servo controle para todos os
; eixos do grupo A
CON 10 ; liga o servo controle para o eixo 10
COFF ; desliga o servo controle para todos os
; eixos



Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
21
4. ESCREVENDO E EXECUTANDO PROGRAMAS EM ACL

Um programa um conjunto ordenado de comandos que recebe um nome pelo qual ele
pode ser referido. Quando voc executa (comando run) o programa, o conjunto de comandos
que foi armazenado no controlador ser executado em seqncia pelo mesmo. Um programa em
ACL sempre comea pelo comando PROGRAM <NOME> e termina pelo comando END:

PROGRAM PROG1

.
. comandos
.

END

Voc vai agora escrever um programa muito simples em ACL que imprime a mensagem Hello
Mundo na tela. Inicialmente, voc deve dar um nome ao programa, usando at 5 caracteres
alfanumricos. D o NOME do programa j no formato padro solicitado, neste exemplo chamaremos
este seu programa de Prog1. Voc utilizar o comando PRINTLN, o qual semelhante ao PRINT, mas
move o cursor para uma nova linha antes de imprimir a mensagem. PRINTLN um comando que s
pode ser usado no modo edio.

DIGITE E RODE O PROGRAMA PROG1

Suponhamos, agora, que voc queira modificar o programa Prog1, colocando nele uma nova
linha tal como Bem-vindo ao LABCIM!. Insira a nova linha no programa, salve-o e faa um novo
download. Em seguida, execute o programa.





5. ESTRUTURAS DE PROGRAMAO: LOOPS


5.1. Comandos GOTO and LABEL

Suponhamos que seja necessrio um lao de repetio , uma vez alcanado um certo ponto do
programa, voc gostaria de saltar para um outro ponto do programa (anterior ou posterior) e
executar os comandos existentes aps aquele ponto. Voc pode fazer isso com os comandos GOTO e
LABEL, criando o que se chama de loop.
O comando LABEL <n> marca uma localizao onde o programa ir saltar e continuar o
programa, onde n um nmero inteiro. O comando GOTO <n> faz o programa saltar para a linha onde
se encontra o respectivo LABEL <n>.
A CADA MODIFICAO QUE VOC FIZER EM UM PROGRAMA, UM
NOVO DOWNLOAD DEVE SER FEITO!

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
22

Exemplo: PROGRAM PROG2
LABEL 2
PRINTLN DEUS AJUDA
PRINTLN A QUEM CEDO MADRUGA
PRINTLN
GOTO 2
END

No programa acima, o comando PRINTLN imprime numa nova linha (lembre que PRINT
imprime aonde estiver o cursor). O ltimo comando PRINTLN, o qual no tem argumento, coloca uma
linha em branco na tela aps o ltimo comando de imprimir.

Se fossemos fazer o teste de mesa :

- Incio do programa
- passo 1: Label 2
- passo 2: Imprime na nova linha DEUS AJUDA
- passo 3: Imprime na nova linha A QUEM CEDO MADRUGA
- passo 4: GOTO 2- Salta para o LABEL 1 (passo 1)

O programa imprimir a mensagem a primeira vez. Quando ele alcanar o comando GOTO 2,
ele saltar para LABEL 2 e repetir a impresso na tela eternamente (ou at que, de algum modo, o
programa pare). Esse programa vai realizar um loop infinito, nunca ter fim.

5.2. O comando ABORT

No programa PROG2 voc necessita de uma maneira de parar o loop infinito. Isso pode ser
feito atravs do comando CTRL + <a>.

PRESSIONE : CRTL + a

Esse importante comando pra imediatamente o programa. Quando voc comear a usar
comandos que movimentam o rob, essencial que se tenha um modo de parar o seu movimento
rapidamente, em caso de emergncia, o CTRL + a pode ser uma delas.

6. COMANDOS ACL PARA GERENCIAMENTO DE PROGRAMAS

Esses comandos, emitidos no modo direto, ou, direct, operam sobre o programa como um
todo. Usando esses comandos, voc poder executar operaes tais como copiar ou deletar um
programa. Voc tambm aprender como ilustrar os seus programas com comentrios, os quais
ajudam outros usurios a entender os seus programas.

6.1. O Comando DIR


Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
23
O comando DIR fornece uma lista de todos os programas existentes na memria do
controlador.

DIGITE: DIR

Para cada programa, so informados: name, validity, identity e priority.

Name o nome que voc atribuiu ao seu programa.
Validity informa se a sintaxe do programa est correta. Se not valid aparece na coluna
validity, o programa no est sintaticamente vlido e no poder ser executado.
Identity o nmero do programa, o qual atribudo pelo controlador. O nmero usado para
acessar programas a partir do TP, conforme ser explicado mais tarde.
Priority nos informa sobre a preferncia que cada programa tem na alocao do tempo de
computao, ou seja, programas com prioridade mais alta tm preferncia quando vrios programas
so executados concorrentemente. As prioridades vo de 1 a 10, onde 10 a prioridade mais alta. A
prioridade default para programas dos usurios 5. Quando um programa not valid, a sua
prioridade 0.

6.2. O Comando RENAME

RENAME troca o nome do programa sem afetar o seu contedo. Por exemplo, o comando
abaixo troca o nome do programa de PROG3 para PROG4.

DIGITE: RENAME PROG3 PROG4


6.3. O Comando COPY

O comando COPY faz uma cpia do programa com um novo nome. Por exemplo, o comando
abaixo cria um novo programa denominado PROG6, com contedo idntico ao programa PROG5, sem
destruir esse ltimo.

DIGITE: COPY PROG5 PROG6

6.4. O Comando REMOVE

REMOVE apaga programas da memria do controlador. um comando poderoso que deve ser usado
com extremo cuidado. Para apagar efetivamente um programa, voc dever responder YES
pergunta Are you sure (YES/NO)? Por exemplo:

DIGITE: REMOVE PROG6
Are you sure (YES/NO)?
YES


Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
24
PROG6 ser removido da memria do controlador.


6.5. O Comando LIST

LIST <PROG> mostra todas as linhas do programa PROG.
LIST, apenas, mostra todas as linhas de todos os programas que esto na memria do
controlador.


6.6. O Comando STAT

STAT mostra o estado dos programas ativos. A lista inclui prioridades e o estado de
operao (DELAY, PEND, SUSPENDED). O estado PEND INFORMADO QUANDO O PROGRAMA
ESTIVER AGUARDANDO UM MOVIMENTO SER COMPLETADO.

7. COMENTRIOS DE PROGRAMAS

A maioria dos programas que voc escreveu at agora foram curtos e de fcil entendimento.
Entretanto, medida que voc progride, eles se tornaro mais longos e mais complicados, podendo se
tornar de difcil compreenso para outros usurios.

Uma maneira de contornar essa dificuldade usar comentrios nos seus programas. Um
comentrio um texto explicativo inserido em um programa. No um comando executvel e no
afeta a execuo do programa. Qualquer linha comeando com um ; interpretada como um
comentrio. So permitidos at 40 caracteres em uma linha de comentrio.





COLOQUE, SEMPRE, COMENTRIOS EM SEUS PROGRAMAS.
ELES SERO MUITO TEIS PARA O RPIDO
ENTENDIMENTO DO PROGRAMA.

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
25


Captulo 3
USANDO A LINGUAGEM ACL PARA CONTROLAR O ROB

Objetivos:
Conhecer o software envolvido
Referenciar os robs
Editar e compilar programas
Comando PRINT e PRINTLN
Controle de loops com os comandos LABEL e GOTO
Comentrios nos programas
Comandos ACL para gerenciamento de programas


1. INTRODUO

Apresentar os diversos tipos de variveis que podem ser empregadas na
programao ACL:
Variveis Locais e Globais
Controle de loops
Comandos Global, Define, Set, Listvar, Delvar, Read, Set, For
-Endfor

2. VARIVEIS

Para se definir uma varivel, deve-se atribuir um nome a mesma. Este nome tem no mximo 5
caracteres, e deve ser iniciado com um caracter alfanumrico. Existem dois tipos de variveis: as
Globais - aquelas vistas por qualquer programa e as Locais -aquela que vista somente pelo programa
que a criou. Em ambos os casos, elas so do tipo inteiro de 32 bits.

2.1. VARIVEL GLOBAL

A varivel GLOBAL pode ser definida atravs de comando direto ou indireto. O nome da
varivel no deve ultrapassar 5 caracteres alfanumricos.
definida atravs do comando:

GLOBAL <nome>

Exemplo:
Os comandos realizados no modo direto.

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
26
Crie uma varivel global MyVar e imprima seu resultado. Qual o valor?

GLOBAL MyVar
PRINT MyVar


Exemplo:
Comandos realizados no modo indireto, dentro do programa:
GLOBAL A
GLOBAL VAR AUX B

2.2. VARIVEL LOCAL

Toda varivel LOCAL definida no modo indireto e s pode ser utilizada pelo programa que
definiu a mesma. `

DEFINE <var>

Em uma linha de comando, pode-se definir at 8 variveis, separadas por um caractere de
espao.
DEFINE <var1> <var2> <var3> <var4> <var5> <var6> <var7> <var8>

Exemplos:

DEFINE R
DEFINE S T


2.3. COMANDO SET

Para definir o valor de uma varivel voc deve utilizar o comando SET. Comando pode ser
definido no modo direto e indireto. O comando SET possui a seguinte sintaxe:

SET <nome varivel> = <valor numrico>

Exemplos:

SET A=1
SET VAR=8

2.4. COMANDO READ

Este comando aguarda uma entrada de dado numrico e atribui a uma varivel. Deste modo
possvel escrever um programa interativo, pois com o mesmo possvel atribuir um valor a uma
varivel atravs do prompt do computador. Este comando s pode ser definido no modo indireto. O
comando READ possui a seguinte sintaxe:

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
27

READ <nome da varivel>
Ou
READ texto <nome da varivel>

2.5. CONTROLE DE LOOP - FOR

s vezes necessrio fazer o controle de execuo de um lao de repetio. Este comando
realizado normalmente pelo comando FOR. Este comando s pode ser definido no modo indireto. O
comando FOR possui a seguinte sintaxe:

FOR <NOME DA VARIVEL> = <INICIO> TO <FIM>
.
.
comandos
.
.
ENDFOR


Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
28

3. EXERCCIOS

a) Teste o comando PRINT na forma direta e indireta. Defina uma varivel
global e uma varivel local e teste na foma direta e indireta. Imprima nestes
casos o valor da varivel. Como a varivel do tipo global, tente imprimir o
valor da mesma, dentro de um outro programa. Qual o erro que ser
sinalizado se a varivel local pertencer a outro programa?


b) Crie um programa que defina as variveis locais A, B e C. Atribua a estas, os
valores 5, -2 e 8. Imprima os resultados. O que se observa?


c) Crie um programa com os seguintes comandos, rode este programa e faa
comentrios sobre cada comando:













d) Crie um programa, que entrando com QUALQUER valor atravs do promp,
realize a seguinte a sada:
Se o nmero digitado for mpar, por exemplo, o n 3, o mesmo deve
imprimir da seguinte forma:
> 3
***
**
*

Se o nmero digitado for par, por exemplo, o n 4, o mesmo deve
imprimir da seguinte forma:
PROGRAM EX1G_ (ultimo digito o nmero do grupo)
DEFINE CONT A AUX
PRINTLN TESTE DO COMANDO FOR
PRINTLN ENTRE COM O NUMERO DE LOOPS
READ AUX
PRINTLN
SET AUX=AUX+_ ( _ substituir pelo nmero do grupo)
FOR CONT=0 TO AUX
FOR A=0 TO _ ( _ substituir pelo nmero do grupo)
PRINT >
ENDFOR
PRINT LOOP NUMERO =
PRINT CONT
PRINTLN
ENDFOR
END

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
29
> 4
*
**
***
****
e) Crie um programa, que entrando com dois valores QUAISQUER atravs do
promp, realize a seguinte sada de dados:
Exemplo de uma matriz 4 por 4 e uma 3 por 2

>
>RUN EX2G1
PROGRAMA MATRIZ
ENTRE COM NUMERO DE LINHAS = 4
ENTRE COM NUMERO DE COLUNAS = 4
[1,1] [1,2][1,3] [1,4]
[2,1][2,2][2,3][2,4]
[3,1][3,2][3,3][3,4]
[4,1][4,2][4,3][4,4]

>
>RUN EX2G1
PROGRAMA MATRIZ
ENTRE COM NUMERO DE LINHAS = 3
ENTRE COM NUMERO DE COLUNAS = 2
[1,1][1,2]
[2,1][2,2]
[3,1][3,2]



Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
30


Captulo 4
PROGRAMAO UTILIZANDO VETORES

Objetivos:
Apresentar os diversos tipos de variveis que podem ser empregadas na programao ACL. AS
variveis do ACL so sempre do tipo inteiro de 32bits. Isto deve ser considerado. Principalmente
quando estamos realizando operaes de diviso
Vetores locais e globais
Comandos de deciso


1. INTRODUO

Apresentar os diversos tipos de variveis que podem ser empregadas na programao
ACL. As variveis do ACL so sempre do tipo inteiro de 32bits. Isto deve ser considerado.
Principalmente quando estamos realizando operaes de diviso. Alm disso, ser mostrada a
utilizao de vetores locais e globais.

Neste captulo ser apresentado o comando de deciso IF. Com este comando ser
possvel criar lgicas mais complexas de deciso.

2. Comandos
2.1. Vetores - Comando DIM
Como visto anteriormente, uma varivel ACL pode ser do tipo local ou global. As variveis
locais s podem ser definidas dentro de um programa, comando indireto, atravs do comando
DEFINE. Uma varivel do tipo global pode ser definida dentro ou fora de um programa e visvel
por qualquer programa que esteja rodando no controlador. O ACL permite tambm que se definam
vetores que podem ser do tipo local ou global.
O vetor do tipo local declarado atravs da seguinte sintaxe:
DIM <nome do vetor>[tamanho do vetor]
DIM var [n], var o nome do vetor, n o tamanho do vetor. Este comando do tipo indireto.
A varivel composta dos elementos var[1], var[2], ...var[n].

2.2. Vetores - Comando DIMG


Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
31
O vetor do tipo global declarado atravs da seguinte sintaxe:
DIMG <nome do vetor>[tamanho do vetor]
DIMG glob[n], onde n a dimenso do vetor. Este comando do tipo direto ou indireto e
declara uma varivel global de nome glob. A varivel glob composta dos elementos glob[1], glob[2],
...glob[n].

2.3. Comando SET
O valor dos vetores definido tambm pelo comando SET, neste caso, cada elemento do
vetor deve ser carregado independentemente. Exemplo:
SET vet[1]=10
SET vet[2]=3
.....
SET vet[n]=40
O comando SET utilizado para realizar operaes lgicas e aritmticas com todas as
variveis da linguagem ACL. O comando SET pode ter as seguintes combinaes de operandos e
variveis :
SET var1 = var2
SET var1 = oper var2
SET var1 = var2 oper var3
onde oper pode ser as operaes aritmticas de soma, subtrao, multiplicao e diviso
(respectivamente +,-,* e /), operaes algbricas de resto da diviso, mdulo, exponencial e
logartmo (respectivamente MOD, ABS, EXP e LOG), operaes trigonomtricas seno, cosseno,
tangente e arcotangente (respectivamente SIN, COS, TAN e ATAN), e as operaes lgicas
AND, OR e NOT.
Uma vez que o controlador trabalha apenas como representao de nmeros inteiros,
operaes que resultem valores em mdulo menor do que 1, devem ser escalonados para obter a
preciso necessria. o caso, por exemplo, das funes trigonomtricas. Observe os exemplos a
seguir:
SET A = 1000 COS 60. A recebe 1000*cos(60). O argumento var3 est em graus.
SET A = 100 EXP 200. A recebe 100*exp(200/1000). O argumento var3 primeiro dividido por 1000
para ento ser aplicado a funo.
SET A = 10 LOG 10000. A recebe 10*LOG(10000/1000). O argumento var3 primeiro dividido por
1000 para ento ser aplicado a funo.

2.4. Operaes em PONTO FIXO
Uma vez que o ACL representa somente nmeros inteiros, o resultado de muitas operaes
como, por exemplo, o da diviso, truncado. Uma forma de contornar este problema escalar um

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
32
dos operandos de modo a obter um resultado mais preciso. Por exemplo, se desejarmos dividir os
operandos A e B, respectivamente de valores 30 e 4 obteramos o valor 7. Podemos obter uma
maior preciso, digamos trs dgitos, multiplicando o operando A por 1000. Desta forma
obteramos o resultado 7500.
2.5. Comando de deciso IF/ELSE
Em muitas situaes necessrio tomar decises em resposta a uma entrada de dados ou aos
valores dos dados fornecidos pelo usurio. No ACL podemos tomar alguma deciso atravs de
valores numricos de variveis, condies das entradas e sadas gerenciadas pelo controlador.
Estas tomadas de deciso so realizadas pelo comando IF/ELSE. A sintaxe deste comando dada
por:
IF <VAR> COND <VAR>
.
comandos
.
ELSE
.
comandos
.
ENDIF

Onde COND pode ser as seguintes relaes: > (maior que), = (igual), < (menor
que), >=(maior que ou igual), <>(diferente) e <= (menor que ou igual). O comando de
IF pode testar apenas duas variveis. Se houver necessidade de combinar outras
variveis, possvel empregar os comandos ANDIF e ORIF. A sintaxe destes
comandos so dados conforme os exemplos abaixo:

IF A = B
ANDIF D=9
.
comandos
.
ELSE
.
comandos
.
ENDIF
IF A<>B
ORIF E>8
.
comandos
.
ELSE
.
comandos
.
ENDIF



Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
33
3. EXERCCIOS:
a) Faa um programa que cria um vetor local e um vetor global com 10 posies. Como possvel
listar estas variveis? Qual seria a resposta esperada a este comando?
b) Altere o programa anterior de modo a carregar os valores 1, 2, 3, ...., 10 aos respectivos
elementos dos dois vetores. Execute o programa. Altere novamente o programa de modo a
inserir valores aleatrios diretamente do teclado. Neste caso, altere o valor dos vetores
indicando a posio e o valor que o mesmo possua. Tente agora remover um dos vetores.
Qual comando deve ser empregado ? possvel remover estas variveis ?
c) Escreva um programa que utilizando o algoritmo anterior, calcule o seno de 10 arcos
igualmente espaados. A preciso desejada de quatro dgitos.
d) Escreva um programa que converta a temperatura expressa em
o
C para
o
F para todos os
valores a cada 10 de temperatura no intervalo de 10 a 100. Utilize uma preciso de trs
dgitos.
e) Escreva um programa que converta
o
C para
o
F. O programa encerra se o usurio digitar um
nmero menor que zero ou maior que 300.
f) Para o conjunto de pontos (4, 1, -3), (2, 9, 1), (3, -3, 6). Escreva um programa que indique qual
o maior dos elementos e qual o menor deles.
g) Escreva um programa que faa o produto escalar de dois vetores. O usurio dever fornecer
tambm o tamanho destes vetores. Crie um menu inicial onde o usurio dever digitar 0
para sair, ou, 1 para multiplicar os vetores. Se o valor estiver fora destes limites, o
programa dever sinalizar com uma mensagem de erro, e, voltar ao menu. O programa s ser
encerrado quando digitado o valor 0.

h) Faa um programa. Neste voc deve declarar dois vetores de dimenso 5, entrar com os
valores atravs do teclado e imprimir o contedo destes vetores. O usurio dever ser
informado qual o nome da varivel e a posio que o mesmo vai inserir o dado. O mesmo
deve acontecer na impresso do contedo dos vetores. A insero e a impresso dos dados
devem ser dispostas em forma de lista.
Ex.: var[1]=12
var[2]=52
var[3]=10 ...

i) Acrescente no programa anterior as operaes de soma, subtrao, multiplicao e diviso.
Estas operaes sero realizadas entre as mesmas posies dos vetores.
Exemplo: O elemento 1 do primeiro vetor deve ser somado com o elemento 1 do segundo vetor, 2
com 2, ... O programa armazena os resultados em outro vetor. Teste o seu programa com os
seguintes operandos :
A[1]=10, A[2]=15, A[3]=3, A[4]=30, A[5]=25 e B[1]=2, B[2]=7, B[3]=-7, B[4]= 9, B[5]=4.

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
34
j) Modifique o programa para que este determine o resto da diviso e a mdia de cada um dos
operandos do primeiro vetor e do segundo vetor.
k) Modifique o exerccio anterior de forma a separar a parte inteira e a parte fracionria, de
modo a imprimir o resultado da operao como: INTEIRO "," FRACIONRIO.

l) Desenvolva um programa que utilizando o conjunto de pontos dados no exerccio anterior,
calcule a mdia dos operandos do primeiro vetor e do segundo vetor com trs dgitos de
preciso. Modifique o programa de forma a permitir ajustar a preciso conforme a
necessidade do usurio.

m) Desenvolva um programa que teste os comandos IF, ANDIF, ORIF. O programa deve indicar
se um determinado valor digitado pelo usurio igual a "3", "4" ou "5". Se for deve sinalizar
a mensagem "Pertence ao conjunto", caso contrrio deve sinalizar com "No pertence".


Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
35

Captulo 5
COMANDOS DE MOVIMENTAO DO ROB

Objetivos:
Apresentar os comandos bsicos para a movimentao do rob.
Variveis de posio.
Comandos de movimentao.


1. INTRODUO

Apresentar os comandos bsicos para movimentao do rob. Para isso ser necessrio
definir e manipular as variveis de posio. Ser apresentada a utilizao do TEACH PEDANT
(TP) para a movimentao dos eixos, para a troca de sistemas de coordenadas, para a
gravao de coordenadas e para a execuo de movimentos previamente gravados, entre outros
comandos.

Neste captulo sero apresentados os seguintes comandos:
DEFP, DEFP, DEFPB, DEFPC
LISTP
DELP
DIMP
ATTACH

Comandos de movimentao:
MOVE
MOVED
OPEN
CLOSE
SPEED

2. MANIPULAO DAS VARI VEIS DE POSIO

A varivel de posio um tipo especial de dado capaz de manipular as informaes de
localizao do rob, ou seja, armazena a posio de cada junta do rob. Diferentemente das
variveis locais ou globais, que manipulam um nico valor inteiro, cada varivel de posio manipula as
informaes de: Base (eixo 1), Shouder (eixo 2), Elbow (eixo 3), Pitch (eixo 4), Roll (eixo 5) e
Gripper (eixo 6), para o grupo A ou (eixo 7) e (eixo 8) para o grupo B. As variveis de posio podem
ser denominadas de forma numrica ou de forma literal. Por exemplo :

Denominao Numrica: 15, 2, 24, .
Denominao Literal: Posit, Posl, X25,


Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
36

Cada varivel pode ter um nome com no mximo 5 caracteres. A denominao numrica
permite com que o Teach Pendant associe a posio atual do rob a varivel numrica apenas, pois o
mesmo no capaz de manipular caracteres alfanumricos.

2.1. Comando DEFP

Uma varivel do tipo posio criada com os comandos DEFP ou DEFPA, DEFPB ou DEFPC, os
quais tem a seguinte sintaxe :

DEFP <varl> (padro grupo A) ou DEFPA <var2>
DEFPB <var3>
DEFPC <var4> n

O comando DEFP <var1> cria uma varivel de nome var1, do tipo posio e associa a mesma ao
grupo A. Lembrando que os controladores dos robs que esto no laboratrio manipulam 8 eixos,
sendo 6 eixos do rob os quais so definidos como grupo A e 2 eixos de acessrios, definidos como
grupo B. Os comandos DEFPA, DEFPB e DEFPC, criam variveis de posio e associam estas variveis
aos grupos A, B e C respectivamente. O comando DEFPC tem como argumento alm do nome da
varivel, o nmero do eixo que a mesma ir ser associada.

2.2. Comando LISTP

Crie as variveis de posio pos1 e pos2. Assim como, as variveis de manipulao numrica,
as variveis de posio podem ser listadas e removidas quando necessrio. O comando para listar as
variveis o comando LISTP, comando direto. Assim como o comando LISTVAR, comando direto,
este comando no tem argumento. Ao ser executado este lista todas as variveis de posio que
foram definidas sero msotrados. Ao executar, esperado o seguinte resultado:

DEFINE POINTS
***************
point name : group axis
P[10] :A
PPCP :A
Bl :B
ALFA :B
BRAS :C :10
NEVE :C :11

2.3. Comando LISTPV

O ACL permite tambm visualizar o contedo de uma varivel do tipo posio de modo a
observar nos dois sistemas de coordenadas, juntas ou cartesianas, o valor desta varivel ou a posio
atual do rob. O comando para esta tarefa LISTPV, cuja sintaxe :
LISTPV <var>
LISTPV POSITION

onde POSITION uma palavra reservada e quando utilizada, indica a posio atual do rob.
LISTPV <var> indica em valores de encoder o contedo de uma determinada varivel. Se a varivel

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
37
for do grupo A, o comando tambm ir indicar o contedo da varivel em coordenadas cartesianas,
conforme exemplo a seguir:

LISTPV pos1
Position pos 1
1:0 2:5 3:13926 4:0 5:0
X: 5.425 Y: 0.000 z: 29.963 P: 12.640 R: -3.00

onde as informaes XYZ so dadas em milmetros, P e R so expressas em graus, com
preciso de 0.002.

2.4. Comando DELP

Como pode-se observar, ao listar as variveis de posio, aparece o nome da varivel, o grupo
que a mesma est associada e se for o caso, qual eixo que a mesma ir controlar. Para remover uma
varivel do tipo posio, o ACL dispe do comando DELP. A sintaxe deste comando :
DELP <var>

Para remover qualquer varivel, voc deve digitar "YES" para confirmar sua inteno.

2.5. Comando DIMP

As variveis de posio podem tambm ser declaradas como vetores com o comando
DIMP[A/B] ou DIMPC, cuja sintaxe apresentada a seguir:

DIMP pvec1[n]
DIMPA pvec2[n]
DIMPB pvec3[n]
DIMPC pvec4[n] m

O comando DIMP <pvec1[n]> cria uma varivel de nome pvec1, do tipo posio de n elementos
(pvec1[1], pvec1[2], ...pvec1[n]) e associa a mesma ao grupo A. Os comandos DIMPA, DIMPB e DIMPC
criam varivel do tipo posio de n elementos e associam estas variveis aos grupos A, B e C
respectivamente. O Comando DIMPC tem como argumento alm do nome da varivel e o nmero de
elementos, o nmero do eixo que a mesma ir ser associada.

2.6. Comando ATTACH

Para indexar ao vetor de posies posio selecionada, existem dois modos: via terminal do
computador ou pelo Teach Pedant (TP). Pelo terminal seria necessrio utilizar o comando HERE
<var1[n]>, comando direto/indireto, onde var1 o nome da varivel e n a posio da varivel. Pelo
Teach Pedant (TP) seria necessrio habilitar a indexao do vetor de posies pelo comando
ATTACH via terminal. Este comando um comando direto e no depende da chave seletora do TP
dos controladores B/AC, ou seja, a chave pode estar em AUTO, ou, em TEACH. Uma vez selecionado
uma posio do rob, a mesma poder ser gravada pressionando a tecla RECORD POSITION e aps
digitando a POSIO do vetor de posio. Este vetor de posio poder ser empregado dentro de
um programa, no qual ser definido a trajetria do rob.

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
38
Logo, o comando ATTACH possui as seguinte variaes de sintaxe:
ATTACH VET
ATTACH OFFA
ATTACH OFFB
ATTACH OFFC
ATTACH ?

onde ATTACH VET associa a varivel VET do tipo vetor de posio de n elementos ao grupo
que esta varivel foi criada (A, B ou C).
Os comandos ATTACH OFFA, ATTACH OFFB e ATTACH OFFC, retiram as associaes
feitas aos grupos A, B ou C respectivamente.
O comando ATTACH ? mostra no terminal quais as associaes feitas at o momento.

Para testar se uma determinada posio est correta, ou, se necessita ser corrigida, o TP
possui a tecla "GO POSITION n" onde n o ensimo elemento de uma varivel tipo vetor de
posies. possvel associar tambm variveis do tipo posies definidas numericamente. Neste
caso, cada dgito uma posio isolada.

3. COMANDOS ACL PARA MOVIMENTAO DO ROB

O ACL possui um repertrio bastante amplo para a execuo de movimentos. Vejamos um
conjunto bsico, com os quais podemos escrever programas que executem tarefas simples como
movimentar por uma determinada trajetria, em velocidades preestabelecidas, aguardando um
determinado tempo em cada posio, pegando determinados objetos e colocando-os em outras
posies. Estes comandos so :

3.1. Comando SPEED

O parmetro velocidade pode ser ajustado atravs dos seguintes comandos :
SPEED vel
SPEEDA vel
SPEEDB vel
SPEEDC vel axis
SHOW SPEED

SPEED e SPEEDA ajustam a velocidade em percentual de 0 at 100 dos eixos do grupo A atravs do
parmetro vel.
SPEEDR ajusta a velocidade do grupo R
SPEEDC ajusta a velocidade de um eixo do grupo C especificado no parmetro axis.

O comando SHOW SPEED apresenta no terminal, os ajustes feitos pelo usurio no
parmetro velocidade. O valor de vel deve estar entre 1 e 100.

3.2. Comando MOVE (DIRETO/EDIO)
`
O comando MOVE, modo direto/indireto, possui a seguinte sintaxe:

MOVE pos [durao]

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
39
move o Tool Center Point (TCP) do rob para a posio pos em um tempo durao (opcional),
especificado em centsimos de segundo. O comando depositado no buffer de movimento e o
comando seguinte do programa no espera a concluso do comando MOVE, no garantindo
seqencialidade ou preciso. o comando MOVE executado com a velocidade definida pelo ltimo
comando SPEED
EXEMPLO:
MOVE p[23] 500

3.3. Comando MOVED (EDIO)

O comando MOVED, modo direto/indireto, possui a seguinte sintaxe:

MOVED pos [durao]

move o TCP do rob para a posio POS em um tempo durao (OPCIONAL), especificado
em centsimos de segundo. O comando s depositado no buffer de movimento quando o comando
MOVED anterior tiver sido totalmente executado se o MOVED for precedido do comando EXACT,
que o default, garante-se seqencialidade e preciso, mas no garantida a durao. Se o MOVED
for precedido do comando EXACT OFF, garante-se seqencialidade e durao, mas no se garante a
preciso.
o comando MOVED executado com a velocidade definida pelo ltimo comando SPEED

EXEMPLO:
MOVED p[58]


3.4. Comandos OPEN/CLOSE

Os comandos OPEN/CLOSE possuem a funo de abrir e fechar a garra, modo direto/indireto,
possui a seguinte sintaxe:
OPEN
CLOSE

Estes comandos OPEN/CLOSE podem ser substitudos pelos respectivos programas: OGRIP
e CGRIP. Muitas vezes os comandos OPEN/CLOSE no acionam as vlvulas, por este motivo
importante rodar estes programas, pois eles acabam zerando os parmetros e garantindo o
acionamento das vlvulas.



Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
40
4. EXERCCIOS:


OBS.: A partir desta aula as variveis de posio e os nomes dos programas devero ser
criados de acordo com as seguintes caractersticas, qualquer outro nome poder acarretar em perda
da varivel e do programa.

NOME PROGRAMAS: __ __ __ __ __






NOME VARIVEL: __ __ __ __ __







Exemplo.: 2LM1A

2 Segunda-feira (os dias teriam os seguintes nmeros: 2-segunda, 3-tera, 4-quarta, 5-
quinta, 6-sexta, 7-sabado)
LM as respectivas letras de horrio da grade da PUCRS
1 grupo 1
A - exerccio A


a) Crie algumas variveis de posio com o comando DEFP. Como exerccio, liste o contedo das
variveis criadas com o comando LISTP e comente o resultado. Determine tambm a posio
atual do rob.
b) Defina um vetor de 10 elementos do tipo posio. Faa a indexao deste vetor ao TP.
Movimente o rob em 10 diferentes e grave estas posies nas respectivas posies
Exerccio Letra
Grupo n
Horrio aula - Letras
Dia da Semana - n

Exerccio Letra
Grupo n
Horrio aula - Letras
Dia da Semana - n

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
41


Captulo 6
PROGRAMAO UTILIZANDO OS COMANDOS DE
MOVIMENTAO DO ROB

Objetivos:
Apresentar os comandos avanados para a movimentao do rob.


1. INTRODUO

Apresentar os comandos avanados para movimentao do rob. Para isso ser
necessrio definir variveis de posio.

Neste captulo sero apresentados os seguintes comandos:

MOVEC/MOVECD
MOVEL/MOVELD
MOVES/MOVESD



2. COMANDOS DE MOVIMENTAO COM CONTROLE DE TRAJ ETRIA

2.1. Comando MOVEC/MOVECD

O comando MOVEC/MOVECD possui a seguinte sintaxe:

MOVEC pos1 pos2 (modo de edio/direto)
MOVECD pos1 pos2 (modo de edio)

Este comando move o rob ao longo de uma trajetria circular, a partir da localizao atual
para <pos1>, atravs da <pos2>. A localizao da <pos2> e <pos1> determina o comprimento da
trajetria, a qual em giro determina o tempo necessrio para completar o movimento.

O tempo requerido para completar o movimento pode ser definido pelo comando SPEED
precedente. A velocidade do movimento circular determina a preciso da trajetria circular.

Todos os outros aspectos dos comandos MOVEC/MOVECD so similares aos dos comandos
MOVE/MOVED.



Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
42

Ateno! Cuidado quando gravar posies para comandos MOVEC. Limitaes mecnicas ou
obstculos, tais como o prprio rob, podem tornar o arco resultante invlido.

Exemplos:

MOVEC 1 2
Move ao longo da trajetria circular a partir da atual posio para a posio1 via posio2.

SPEED 20
MOVEC 2 1

Move ao longo da trajetria circular a partir da atual posio para a posio 2 via posio 1, a
velocidade 20.

Nota:
Este comando vlido apenas para posies do robo (grupo A).


2.2. Comando MOVEL/MOVELD

O comando MOVEL/MOVELD possui a seguinte sintaxe:

MOVEL pos1 [durao] (modo de edio/direto)
MOVELD pos1 [durao] (modo de edio)

Move o rob ao longo de uma trajetria linear (linha reta) a partir da localizao atual para a
<pos1>.
A velocidade do movimento linear determina a preciso da trajetria.

Todos os outros aspectos deste comando so similares aos dos comandos MOVE/MOVED.

Ateno! Cuidado quando gravar posies para os comando MOVEL. Limitaes mecnicas ou
obstculos, tais como o prprio rob, podem tornar o resultado do arco invlido.

Exemplos:

MOVELD TR
Move-se ao longo de uma linha reta para a posio TR.

Nota:
Este comando vlido apenas para posies do robo (grupo A).



Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
43
2.3. Comando MOVES/MOVESD

O comando MOVES/MOVESD possui a seguinte sintaxe:

MOVES < pvect > < firstpos> <lastpos> <tempo> (modo direto/edio)
MOVESD < pvect > < firstpos> < lastpos> < tempo> (modo edio)
Onde:
<firstpos> a primeira posio a ser alcanada, e
<lastpos > a ltima posio alcanada.

Este comando move os eixos do rob atravs de qualquer nmero de vetores de posio
consecutivos, ou seja, primeira posio (<firstpos>) para ltima posio (<lastpos>) desejada, sem
pausa.
Um perfil de movimento aplicado ao movimento introduzido. Trajetrias de acelerao e
desacelerao ocorrem apenas no incio e fim do movimento total. Uma vez que o tempo distribuido
para cada segmento igual, a velocidade do movimento determinado pela distncia entre os
vetores de posio.
Todos os outros aspectos dos comandos MOVES/MOVESD so similares aos dos comandos
MOVE/MOVED.

Exemplos:

MOVED PATH [1]
MOVESD PATH 2 20
MOVESD PATH 19 1

Move para a posio de partida 1. Aps ocorre uma trajetria contnua atravs das posies
2 para 20. Ento executa a mesma trajetria na direo oposta.

Nota:
E recomendvel que os vetores de posio sejam igualmente espaados, para permitir uma
velocidade de curva suave.


Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
44
3. EXERCCIOS

MANIPULAO DE OBJ ETO

a) Escreva um programa em ACL que faa as seguintes operaes:
Inicialmente, dada uma pilha de quatro paraleleppedos, estando o maior embaixo e o menor em
cima, em ordem decrescente de tamanho;
O rob dever desmontar a pilha, colocando os objetos nos vrtices de um quadrado cujo centro
a posio da pilha, em ordem crescente de tamanho e no sentido horrio;
Acima da pilha de paraleleppedos existir uma posio de espera. O rob antes de comear a
operao dever ir a est posio e imprimir na tela a mensagem Estou na posio de espera;
A cada posio ocupada pelo rob, dever ser impressa na tela a mensagem Cheguei na posio
XX (completar com o nome e o ndice do vetor de posies);
Todos os movimentos de uma posio de alinhamento at a outra dever usar comando MOVECD
passando pela posio de espera;
Aps realizada a distribuio dos paraleleppedos, o rob dever voltar posio de espera e
bater palmas trs vez;
Por fim, o rob dever remontar a pilha original, voltar a posio de espera e novamente bater
palmas trs vezes;
O programa dever ter um menu com as seguintes opes:
- n. 1 repetir o movimento
- n. 0 sair do programa
Para a operao de montar e desmontar deve ser utilizado o comando FOR.



















Posio de alinhamento
Posio inicial
Posio de espera

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
45


Captulo 6
COMANDOS BSICOS DE PROGRAMAO E INTEGRAO COM
A CLULA

Objetivos:
Apresentar os comandos bsicos de programao.
Apresentar os conceitos de entradas (INPUTS) e sada (OUTPUTS).
Apresentar a diferena entre rodar um programa normal (RUN) e chamar uma subrotina (GOSUB)
Comandos de espera
Comandos de leitura


1. INTRODUO

Apresentar os comandos bsicos de programao. Neste captulo sero apresentados os
seguintes comandos:

INPUT
OUTPUT
DELAY
WAIT
GOSUB
GET

2. COMANDOS BSICOS DE PROGRAMAO E DE INTEGRAO

2.1. INPUT/OUTPUT

As ENTRADAS (INPUTS) e SADAS (OUTPUTS) so canais de comunicao atravs dos
quais o controlador se comunica com o mundo exterior. O meio deve estar pronto para receber
comandos e enviar alguns sinais de controle.

At neste momento, nos comunicamos com o controlador atravs do teclado e do teach
pendant para acionarmos os eixos do rob. Entretanto, em um sistema automatizado, o rob deve ser
capaz de receber sinais do seu ambiente, sem participao do usurio.

Exemplos:
Um rob deve colocar uma pea em um torno CNC para ser usinada. O torno manda
um sinal para o controlador, indicando se ele est ou no usinando uma pea naquele
momento.

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
46
Dois robs trabalham em conjunto em uma mesma tarefa. Quando um rob termina
uma operao, ele envia um sinal para o controlador do outro rob, indicando que ele
pode comear a prxima parte da tarefa.




Nos controladores dos robs temos 16 ENTRADAS (INPUTS) e 16 SADAS (OUTPUTS).

Nas ENTRADAS (INPUTS) podemos conectar alguns tipos de sensores: sensores indutivos,
sensores capacitivos, sensores magnticos, sensores de toque, entre outros.

Os sensores so conectadas as ENTRADAS (INPUTS) atravs de fios que so inseridos nas
portas de entrada. Podemos simular uma entrada (INPUT) externa, conectando uma entrada a um
dos 4 grounds existentes no painel. O LED (Light Emitter Diode) correspondente aquela entrada
deve acender.

Nos controladores existem 16 SADAS (OUTPUTS) e os LEDs correspondentes. As portas
de sada consistem de 4 sadas a rels (nmeros 1 a 4) e de 12 portas abertas (nmeros 5 a 16).
Normalmente as sadas so ligadas as vlvulas pneumticas ou outros dispositivos que podero ser
acionados na clula de manufatura.


Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
47



2.1.1. Varivel IN

As ENTRADAS (INPUTS) o canal de comunicao atravs do qual o controlador recebe
sinais do mundo exterior. Porm, necessitamos utilizar est informao recebida. Isto pode ser
feito atravs do vetor IN [<n>], onde n a posio do vetor. O contedo de cada posio deste
vetor do tipo binrio. Ou seja, o valor do vetor pode ser 1(um) ou 0 (zero).

Podemos utilizar o contedo deste vetor das ENTRADAS para lgicas de deciso, repetio,
controle, etc...

Exemplos:

DECISO

PROGRAM LUZ
IF IN[5]=1
PRINTLN EST LIGADO
ENDIF
PRINTLN
END

REPETIO

PROGRAM ON
FOR I=1 TO 16
IF IN[I]=1
PRINTLN INPUT[ I ] EST ON
ENDIF
ENDFOR
END

CONTROLE

PROGRAM PINO
IF IN[11]=1
SET OUT[12]=1
ENDIF

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
48
END


2.1.2. Varivel OUT

As SADAS (OUPUTS) o canal de comunicao atravs do qual o controlador poder
acionar algum dispositivo do mundo exterior. Isto pode ser feito atravs do vetor OUT [<n>], onde n
a posio do vetor. O contedo de cada posio deste vetor do tipo binrio. Ou seja, o valor do
vetor pode ser 1(um) ou 0 (zero). As SADAS precisam receber um contedo, este deve ser binrio,
para que possam interagir com o meio. Isso deve ser feito pelo comando SET. Logo a sintaxe deve
ser a seguinte:

SET OUT[n]=1 //neste caso a sada estaria no estado ON
SET OUT[n]=0 //neste caso a sada estaria no estado OFF

Podemos utilizar o contedo deste vetor das SADAS para lgicas de deciso, repetio,
controle, etc... Porm, isso no muito usual.

Exemplo:

PROGRAM OUT01
LABEL 1
FOR I=1 TO 16
SET OUT[I]=1
ENDFOR
PRINTLN
GOTO 1
END

2.2. Comando DELAY

Muitas vezes num programa necessitamos utilizar o TEMPO para aguardar algum
acontecimento ou para elaborar uma lgica.

Na linguagem ACL existe o comando chamado DELAY que faz o programa parar por um
determinado tempo em centsimos de segundo. O comando possui a seguinte sintaxe:

DELAY <n>

onde n o valor do tempo em centsimos de segundo. Ou seja, se n for igual a 300, o
programa pra por 3 segundos.

Exemplo:

DELAY 800

O programa pra durante 800 centsimos de segundo, ou, 8 segundos.


Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
49

2.3. Comando WAIT

Muitas vezes num programa necessitamos aguardar que alguma coisa acontea para dar
prosseguimento ao programa. Isso aplicado principalmente atravs do uso das ENTRADAS E
SADAS do controlador, ou, pela utilizao de variveis. Este comando o comando WAIT. A
sintaxe deste comando segue abaixo:

WAIT <VAR1> <COND> <VAR2>

onde <COND> pode ser operadores relacionais (<, >, >=, <=, =)

Exemplo:

WAIT IN[5] = 1

O programa aguarda at que a entrada 5 seja igual a 1, ou, a entrada estaja no estado ON.

2.4. Comando GOSUB

Para rodar um programa utilizado o comando RUN. Entretanto, depedendo da lgica
podemos ter um programa com vrias linhas. Todos sabemos que complicado de debugar (encontrar
um erro) um programa muito extenso, ou, adicionar mais linhas a este programa. Por este motivo a
existncia deste comando GOSUB.

Com o comando GOSUB voc pode dividir o seu programa em pequenos programas. Estes
programas so chamados agora de subrotinas. Estes programas precisam ser armazenados no
controlador antes do programa principal, ou seja, necessrio fazer o download para o controlador,
antes de cham-los no programa principal.

O programa principal vai executando normalmente linha aps linha, quando encontra o
comando GOSUB, o programa principal pra e neste momento comea a executar o programa
chamado pelo comando GOSUB. Logo, a sintaxe para este comando o seguinte:

GOSUB <nome do programa>

Exemplo:
.
.
SET Z = 10
GOSUB PROG1
MOVED P[3]
.
.

No programa acima podemos ver que aps atribuir o valor a varivel Z, o prximo comando
o GOSUB. Neste momento o programa principal pra de executar o programa principal e executa o

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
50
programa chamado pelo comando GOSUB, neste exemplo o PROG1. O programa PROG1
inteiramente executado e quando o seu END atingido, o controle retorna para o programa
principal, o qual continua com a execuo do comando MOVED e seguintes.

2.5. Comando GET

Um novo comando para a entrada de dados. Quando o programa encontra um comando GET,
ele para e aguarda um caracter ser pressionado no teclado. A varivel atribuda o valor ASCII do
caracter que pressionado. O comando get possui a seguinte sintaxe:


GET <var>
GET <mensagem ao usurio><var>

onde <var> uma varivel definida. O comando GET pode ser precedido por uma mensagem ao
usurio. A mensagem deve vir entre aspas, indicando por exemplo ao usurio a insero de um
caracter via teclado.

Exemplos:
PROGRAM PROG1
DEFINE VP
PRINTLN "SELECT PROGRAM: P Q R"
GET VP (VP a varivel)
IF VP=80 (80 o ASCII para P)
RUN P
ENDIF
IF VP=81 (81 o ASCII para Q)
RUN Q
ENDIF
IF VP=82 (82 o ASCII para R)
RUN R
ENDIF
END

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
51

3. EXERCCIOS


a) ENCONTRAR PALET ( Apresentar e Entregar)

Algumas definies:

Templates so bandejas plsticas que podem comportar vrios tipos de peas. Eles permitem
que as peas sejam transportadas sobre a esteira num pallet. Um template contm uma matriz de
furos nos quais pinos so colocados conforme as dimenses das peas. Cada arranjo de pinos define
um tipo nico de template. Cada pea pode somente ser comportado pelo template que tenha sido
determinado para ele. Esta configurao dos templates permite um fcil manuseio do rob de cima
ou de frente. Um cdigo de barra opcional colado sobre um dos lados do templates mostrando
os cdigos de identificao (ID) do produto ou matria-prima. H um leitor de cdigos de barras
prximo da esteira verificando a identidade de cada template inserido ou removido no ASRS.


Figura 1. Imagem do template sobre o pallet.
Um pallet uma bandeja que viaja sobre a esteira e feito para carregar um template. Para
transportar uma pea para outra estao, um template carrega a pea que colocada pelo rob
sobre um pallet da esteira. A esteira transporta os pallets de estao por estao. Cada pallet tem
um ID # no qual magneticamente decodificado em uma barra embaixo do pallet por meios de
sensores postos em cada estao da clula.

Decodificao dos pallets feita atravs da converso do valor binrio lido pelo
decodificador em nmero decimal. Cada estao possui 5 sensores magnticos. Sendo que um para
verificar se o pallet est no local correto, este sensor o INPLACE. Os outros quatro sensores so
para identificar o nmero do pallet, estes nmeros so binrios e so compostos da seguinte
maneira: ID3, ID2, ID1 e ID0. Para converter para decimal pasta multiplicar o valor de ID3 por 8,
ID2 por 4, ID1 por 2 e ID0 por 1 e somar todos estes valores para saber o respectivo valor em
decimal.


Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
52
A esteira conveyor CIM-ACL carrega pallets em circuito contnuo de estao para estao.
Em normal, na clula de operao, cada pallet parado brevemente quando ele chega numa estao
somente para a leitura do cdigo magntico. Se a estao determina que o pallet necessrio nesta
estao, este pallet permanece nesta estao at que o rob retire o template. Enquanto um pallet
parado, a esteira continua a transportar outros pallets, os quais so movimentados entre as
estaes. Cada estao CIM-ACL tem sua prpria estao de esteira no qual o pallet parado. A
parada dos pallets realizado por pistes pneumticos de parada, usando entrada dos sensores de
deteco de pallets localizados na esteira da estao. Se o pea carregada por um pallet e no
requer processamento na estao, o pallet permanecera sobre a esteira. Por outro lado, se
processado, o rob remove o template contendo o part do pallet e o coloca sobre o buffer da
estao. O pallet vazio ento liberado e pode continuar sobre a esteira, pronto para colocar outro
template.


Figura 2. Imagem da estao 5 com um pallet parado no local de leitura. Local este onde acionado um
pisto para parar o pallet e onde o rob vai pegar o template.

Desenvolver 5 pequenos programas:
Programa que serve de interface com o usurio, ou seja, um programa MENU. Este dever
possuir como opes apenas letras, e no nmeros. As opes so: Sair, Encontrar pallets,
imprimir os estados das entradas, qualquer outro valor dever acusar erro e voltar para o
menu.
Programa que encontrar o pallet que o usurio pedir.
Programa que ir retirar o template do pallet, colocar no buffer.
Programa que ir retirar o template do buffer e colocar sobre o pallet indicado pelo usurio
atravs do programa 2.
Programa ir imprimir na Tela de 1 em 1 min o tempo de utilizao do programa.

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
53


Apndice I
MENSAGENS DE ERRO

Objetivos:
Conhecer os erros mais comuns nos controladores ACL.
Permitir que os alunos identifiquem os erros.


1. MENSAGENS DO TEACH PEDANT

A seguir esto listadas as principais mensagens que aparecem no visor de LCD do teach pendant
durante a operao em modo manual causado por alguma instruo incorreta. Esta listado tambm as
possveis solues para cada erro

ALL PROGRAMS ABORTED
(205) All programs aborted
O Boto de Emergncia est precionado ou o TP est fora da casa sem o boto do modo
empunhado pressionado.
Libere o boto de emergncia, no caso de movimentao volte a habilitar os eixos do rob
(CON).


ARlTHMETIC OVERFLOW
(302) Arithmetic overflow (or division by zero)
O resultado de uma operao matemtica est for a do range ou invalido.


AXIS DISABLED
(304) Axis disabled.
Os eixos do rob esto desabilitados (COFF).
Volte a habilitar os eixos do rob (CON).


BAD AXIS
(310) Invalid axis.
O eixo no do grupo selecionado ou o mesmo no est configurado.
Selecione outro eixo ou outro grupo.


BAD GROUP
(321) MOVES/SPLINE not allowed for a single axis group.

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
54
O commando (MOVES) no pode ser executado com um nico eixo no grupo.

BAD POS n
(312) Invalid position coordinate values.
Voc tentou usar uma posio invlida.


BAD XYZ POSITION
(317) Invalid cartesian position pos.
A posio no pode ser gravada ou alcanado porque suas coordenadas de XYZ esto fora do
sistema XYZ


CONTROL DISABLED
(72) CONTROL DISABLED.
Os eixos esto desabilitados ou motores no foram ligados. Verificar o boto branco com o
Led verde no painel frontal do controlador e habilitar os eixos (CON)


CONTROL ENABLED
(73) CONTROL ENABLED.
Os motores esto habilitados para funcionar.


EMERGENCY
(148) To perform action - release emergency button.
O Boto de emergncia est pressionado.
Libere o Boto e volte a habilitar os eixos do rob (CON).


HANDLE PUSHED!
(167) Pressure was applied on handle before switch activation

(168) or payload is too heavy for Direct Teach
Ao usar o modo direto de movimentao, voc deve primeiramente passar o TP para o modo
AUTO. Somente aps voc pode comear a pressionar as teclas a fim mover o rob.



HOME FAIL n
(51) *** HOME FAILURE AXIS n.
O processo de referenciamento do rob falou no eixo n.


HOME NOT DONE
(301) Group/axis has not been homed.

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
55
Voc tentou mover o brao para posies gravadas, ou gravar uma posio, antes de
referenciar os eixos (homes) do rob.
Referencie o rob e tente novamente executar o comando atual.


HOMING
(31) WAIT !! homing...
Aguarde o rob est sendo referenciado.


HOMING COMPLETE
(32) Homing complete
O rob j terminou o seu referenciamento.


IMPACT AX n
(53) *** IMPACT PROTECTION axis n
O controlador detectou um impacto. O sistema abortou todos os movimentos desse grupo de
eixos, e incapacitou todos os movimentos desse grupo.
Volte a habilitar os eixos deste grupo (CON).

INDEX RANGE
(309) Index value - out of range.
O valor do ndice esta fora da range.

LIMIT AX n
(33) *** UPPER LIMIT AXIS n

(34) *** LOWER LIMIT AXIS n
O encoder do eixo alcanou o seu valor mximo ou mnimo permitido.
Habilite novamente as juntas e movimente no sentido contrrio o eixo em questo.

I SERVO ERROR
(212) Error must be reset.
O boto dos motores est desligado.
Ligue o boto no painel frontal do controlador.

MOTORS OFF
(319) Motor power switch is off.
O boto dos motores est desligado.
Ligue o boto no painel frontal do controlador.
POS NOT DEF/ARRAY
(145) position is not defined or is not a vector.
A posio no foi definida ou este no o nome do vetor de posio
Verifique se sua varivel de posio foi definida corretamente.


Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
56
POS NOT FOUND
(110) Position undefined, not recorded, or for other group.
A posio que voc tentou usar no foi definida, no foi gravada, ou no foi definida
para um outro grupo de eixos do rob.

POS NOT RECORDED
(74) (303) No coordinate values for position.
A posio no foi gravada.

2. MENSAGENS DO CONTROLADOR NO TERMINAL

A varivel ERROR uma varivel do sistema ACL. Quando um erro ocorre no sistema durante uma
execuo do programa, a varivel ERROR atribuda ao correspondente valor e ao tipo especfico
de erro, e uma mensagem de erro ser mostrada. A seguir, uma descrio dos erros do ACL que voc
pode encontrar.

53 IMPACT PROTECTION AXIS [n]
Eixo [n] no est conectado, ou falhou, ou colidiu contra um obstculo.

54 OUT OF RANGE AXIS [n]
Eixo [n] foi alm de seu limite e est fora de alcance.

55 THERMIC OVERLOAD AXIS [n]
Eixo [n] est sobrecarregado e/ou sobreaquecido; ou o parametro trmico do
eixo est setado errado.

302 ARITHMETIC OVERFLOW AT LINE [n]
O resultado de uma operao aritmtica est alm da capacidade do controlador.

303 NO POSITION ASSIGNED TO POINT [pos]
O atual comando no pode ser executado uma vez que nenhum valor de localizao foi
atribudo a posio especificada.

304 AXIS DISABLED
Voc tentou mover um eixo o qual no estava desabilitado. Use o comando CON para reativar
o servo controle do eixo.

305 TOO DEEP NESTING
Muitas sub-rotinas - comandos GOSUB - esto "aninhados" dentro de outras.

3O6 INVALID PROGRAM
O programa no pode ser executado, devido a uma lgica ou sintaxe errada. Por exemplo, o
programa contm um comando IF sem o correspondente comando ENDIF.

309 INDEX OUT OF RANGE
Voc tentou usar um ndice de valor o qual est alm da gama definida de variveis ou
vetores de posio.

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
57

310 BAD AXIS
Muitas causas possveis. Por exemplo, o eixo no est no grupo definido, o eixo no est
definido, o eixo est fora de limite, etc.

311 LOOPING RELATIVE CHAIN OR DEPTH EXCEEDED 32 POINTS
Voc pode ter ligado uma posio relativa em um loop invlido ou infinito. Ou voc usou mais
de 32 pontos relativos ligados.

312 BAD POINT COORDINATE [pos]
Voc tentou usar uma posio invlida. Por exemplo, a posio relativa que voc definiu est
fora do limite do eixo.

315 INCOMPATIBLE POINTS
Voc tentou copiar um ponto (SETP) a partir de grupo de eixo para outro grupo de eixo.

316 NO GRIPPER CONFIGURATION
O comando gripper no pode ser executado uma vez que o gripper no foi configurado.

317 BAD CARTESIAN POINT [pos]
O atual comando no pode ser executado devido a um valor Cartesiano invlido da posio
especificada

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
58
Apndice II
LISTA DE INPUTS/OUTPUTS DE CADA ESTAO

Objetivos:
Conhecer todas as entradas e sadas conectadas aos robs do Laboratrio CIM.


1. ESTAO 1 ASRS ALMOXARIFADO

ENTRADAS
NOME DA ENTRADA NMERO DA ENTRADA FUNO
I_SafetyFence 9 Sinal de segurana (ligado = ativo)
IN PLACE 10 Sensor IN PLACE da esteira
ID0 11 Sensor ID0 da esteira
ID1 12 Sensor ID1 da esteira
ID2 13 Sensor ID2 da esteira
ID3 14 Sensor ID3 da esteira

SADAS
NOME DA SADA NMERO DA SADA FUNO
Gripper 3 Sada da garra
O_Light 4 Sada da luz
T1 11 Trava o pallet na estao
L1 12 Liga a lmpada verde
L2 13 Liga a lmpada vermelha

Funcionamento do leitor de ldigo de barras:
i. Posicionar o template na posio correta.
ii. Executar o programa READ (GOSUB READ)
iii. Valor do tipo do template ser armazenado na posio do vetor REAL[3]
iv. Valor do nmero do template ser armazenado nas posies do vetor REAL[4 .. 7]




Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
59

2. ESTAO 2 ER9

ENTRADAS
NOME DA ENTRADA NMERO DA ENTRADA FUNO
I_CycleStatus 1 Status de ciclo (set = mquina
esperando)
I_ChuckClosed 2 Castanha Fechada
I_ChuckOpened 3 Castanha Aberta
I_DoorClosed 4 Porta Fechada
I_DoorOpened 5 Porta Aberta
I_MachAlarm 6 Alarme setado na mquina
I_NoPartChuck 7 Castanha fechada, mas sem pea
I_MachReady 8 Mquina pronta para operar ***
I_RefAuto 9 Referncia de status automtica
(Set=Ref)
ID0 10 Sensor ID0 da esteira
ID1 11 Sensor ID1 da esteira
ID2 12 Sensor ID2 da esteira
ID3 13 Sensor ID3 da esteira
IN PLACE 14 Sensor IN PLACE da esteira
SC 15 Sensor auxiliar capacitivo
SI 16 Sensor auxiliar indutivo
SADAS
NOME DA SADA NMERO DA SADA FUNO
Gripper 1 Sada da garra
O_CycleStart 4 Inicia a mquina
O_CloseChuck 5 Fecha castanha
O_OpenChuck 6 Abre castanha
O_CloseDoor 7 Fecha a porta
O_OpenDoor 8 Abre a porta
O_RefAxes 9 Eixos de referencia
O_RefAuto 10 Troca entre referencia automatica
O_AuxOn 11 Auxiliares ligados
T1 12 Trava o pallet na estao
L1 13 Liga a lmpada verde
L2 14 Liga a lmpada vermelha
*** Aux ligado, porta aberta, ponto de referencia est ativo, castanha aberta, espera aberta,
modo automtico








Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
60

3. ESTAO 3 ER7


ENTRADAS
NOME DA ENTRADA NMERO DA ENTRADA FUNO
I_DoorClosed 1 Porta fechada (se setado)
I_ViceClosed

2 Morsa fechada (se setado)
I_CycleStatus

3 Status de ciclo (set = mquina
ocupada)
ID0 8 Sensor ID0 da esteira
ID1 9 Sensor ID1 da esteira
ID2 10 Sensor ID2 da esteira
ID3 11 Sensor ID3 da esteira
IN PLACE 12 Sensor IN PLACE da esteira
SI 15 Sensor auxiliar indutivo
SC 16 Sensor auxiliar capacitivo
SADAS
NOME DA SADA NMERO DA SADA FUNO
O_SwitchDoor

5 Estado da porta
O_CloseVice 6 Fecha a morsa
O_OpenVice

7 Abre a morsa
O_LoadMode 8 Coloca a mquina no modo de carga
O_CycleStar

9 Inicia a mquina
O_AutoMode

10 Coloca a mquina no modo
automtico
T1 11 Trava o pallet na estao
L1 -- No implementado
L2 -- No implementado

Observaes:

O ER7 tem uma garra eltrica, sendo possvel controlar o quanto se quer abrir ou fechar. O comando
para abrir e fechar a garra possui a seguinte sintaxe:

JAW <valor>

onde <valor> o percentual que a garra dever abrir.

Exemplo:
JAW 30
Neste exemplo a garra ir abrir 30%.

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
61
4. ESTAO 4 Performer MK3

ENTRADAS
NOME DA ENTRADA NMERO DA ENTRADA FUNO
ID0 9 Sensor ID0 da esteira
ID1 10 Sensor ID1 da esteira
ID2 11 Sensor ID2 da esteira
ID3 12 Sensor ID3 da esteira
IN PLACE 13 Sensor IN PLACE da esteira
SC 14 Sensor auxiliar capacitivo
SI 15 Sensor auxiliar indutivo

SADAS
NOME DA SADA NMERO DA SADA FUNO
1 = Abre paquimetro Caliper 2
0 = Fecha paquimetro
T1 11 Trava o pallet na estao
L1 12 Liga a lmpada verde
L2 13 Liga a lmpada vermelha

Funcionamento Paqumetro e altmetro

Execute o programa INITC uma nica vez, fora do seu programa, RUN INITC

ALTMETRO
i. Execute o programa HEIGH para baixar o medidor.
ii. Espere o medidor baixar at a pea.
iii. Verifique o valor da medida na varivel HGLNR.
iv. Execute o programa UP para subir o medidor.

PAQUMETRO

i. Coloque o paqumetro no local da medida
ii. Execute o programa chamado CALP.
iii. O valor da medida estar armazenado na varivel CLNUM

OBSERVAES:

Executar os programas com o comando GOSUB

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
62
5. ESTAO 5 SCARA ER14

ENTRADAS
NOME DA ENTRADA NMERO DA ENTRADA FUNO
I_BallSensor 1 Sensor do alimentador de esferas
ID0 9 Sensor ID0 da esteira
ID1 10 Sensor ID1 da esteira
ID2 11 Sensor ID2 da esteira
ID3 12 Sensor ID3 da esteira
IN PLACE 13 Sensor IN PLACE da esteira
SC 7 Sensor auxiliar capacitivo
SI 8 Sensor auxiliar indutivo

SADAS
NOME DA SADA NMERO DA SADA FUNO
O_BallFeeder 1 Alimentador de bolinhas
O_LIGHT 2 Sada da Luz
O_ToolChange 3 Troca de ferramenta
O_ScrewDriver 4 Parafusadeira
O_OpenGripper 5 Abre a garra
O_CloseGripper 6 Fecha a garra
O_Vacum 6 Aciona o vcuo
T1 11 Trava o pallet na estao
L1 -- No implementado
L2 -- No implementado

Observaes:

ABRIR GARRA
RUN OGRIP (no terminal)
GOSUB OGRIP (no programa)

FECHAR GARRA
RUN CGRIP (no terminal)
GOSUB CGRIP (no programa)

VCUO
ACIONAR: SET OUT[6]=1
DESACIONAR: SET OUT[6]=0

PARAFUSADEIRA
ACIONAR: SET OUT[4]=1
DESACIONAR: SET OUT[4]=0

ESFERAS
ACIONAR: SET OUT[1]=1
DESACIONAR: SET OUT[1]=0

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
63
Apndice III
DADOS ADICIONAIS

Objetivos:
Conhecer os valores que o comando GET recebe ao digitar um dgito.


1. TABELA ASCII



Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
64



Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
65
Apndice IV
COMUNICAO ENTRE AS ESTAES

Objetivos:
Apresentar a comunicao entre duas estaes.
Enviar e receber mensagens numa estao


1. COMUNICAO ENTRE AS ESTAES

1.1. Como enviar uma mensagem para outra estao?
Para enviar uma mensagem so necessrias trs operaes:
i. Dar um valor para varivel PALET (SET PALET= nmero). Est varivel global, logo, no
necessrio definir est varivel. Esse valor indicar qual o valor do pallet dever ser
parado na estao que receber essa mensagem.
ii. Dar um valor para varivel EST (SET EST = nmero). Est varivel global, logo, no
necessrio definir est varivel. Esse valor indicar para qual estao ser enviada a
mensagem.
iii. Executar o programa ENVIO (GOSUB ENVIO). Envia a mensagem com o nmero do pallet
para a estao desejada.

1.2. Como receber a mensagem em uma estao?

Para receber uma mensagem necessrio verificar em que momento o programa principal poder
parar para receber a mensagem.
Nesse local, executar o programa RECEB (GOSUB RECEB). O valor da varivel PALLET ser
armazenado na varivel PLT. A varivel PLT global, logo, no necessrio definir est
varivel.

1.3. Observaes importantes

i. Ambos os programas (ENVIO e RECEB), faro parte de um programa principal que ir
execut-lo.
ii. NUNCA DECLARE as variveis PLT, PALET e EST, SOMENTE USE.

Exemplo:

O exemplo a seguir mostra como enviar uma mensagem da estao 1 e receber na estao 5.

Na estao 1:

PROGRAM nome_prog
......

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
66
......
PRINTLN
READ DIGITE O NUMERO DO PALLET: PALET
PRINTLN
READ DIGITE O NUMERO DA ESTACAO: EST
PRINTLN
GOSUB ENVIO // ENVIA OS VALORES
......
......
END

Na estao 5:

PROGRAM nome_prog
......
......
PRINTLN
GOSUB RECEB // ESPERA RECEBER OS VALORES
PRINTLN O VALOR DO PALLET EH PLT
IF PLT=8
SET OUT[11]=1
......
......
END




Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
67
Apndice V
OUTROS COMANDOS

Objetivos:
Apresentar outros comandos existentes na linguagem ACL.

1. MANUAL MODE

Existem comandos ACL equivalentes aos do TP para movimentar o rob. Entretanto, se
existe um TP disponvel, mais conveniente us-lo para movimentar o rob.

Para ativar o controle manual do rob, seja no modo DIRECT ou no modo MANUAL MODE.
Voc deve seguir os seguintes comandos:

PRESSIONE ~ (ou Alt M)

Na tela do seu computador ir aparecer a mensagem MANUAL MODE e o sistema de
coordenadas corrente, JOINT ou XYZ, dependendo em que modo ele estava:
MANUAL MODE!
>
JOINT MODE

Podemos trocar para JOINT da seguinte maneira:

PRESSIONE J

Aparecer na tela:
JOINT MODE

Para trocar para XYZ:

PRESSIONE X

Aparecer na tela:
XYZ MODE

Voc pode usar algumas teclas para movimentar o rob:

JOINTS
1/Q move a base (eixo 1) direita/esquerda
2/W move o ombro (eixo 2) acima/abaixo
3/E move o cotovelo (eixo 3) acima/abaixo
4/R move o punho-pitch (eixo 4) acima/abaixo
5/T move o punho-roll (eixo 5) direita/esquerda

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
68
6/Y controla a garra (eixo 6) abre/fecha

Notas:

1. As teclas 6 e Y funcionam de maneira diferente das demais. Pressionando Y uma vez abre a
garra completamente. Pressionando 6 uma vez a garra fecha completamente.

2. As funes das teclas 5/T e 6/Y so as mesmas, tanto em JOINT como em XYZ.

XYZ
1/Q move na direo X direita/esquerda
2/W move na direo Y acima/abaixo
3/E move na direo Z acima/abaixo
4/R muda o valor do pitch
mantendo a extremidade da
garra fixa no espao
acima/abaixo

Os comandos em JOINTS, dados abaixo, movem os eixos 7 a 11. Tais eixos controlam
acessrios perifricos, tais como uma mesa linear (slide base) ou uma mesa giratria.

ACESSRIOS PERIFRICOS
7/U move o eixo 7 +/-
8/I move o eixo 8 +/-
9/O move o eixo 9 +/-
0/P move o eixo 10 +/-
-/[ move o eixo 11 +/-

OUTROS COMANDOS:

S <n> define a velocidade do rob speed (n = % da velocidade mxima)
C/F conecta/desconecta o controle

Para sair do modo MANUAL:

PRESSIONE ~ (Alt + M)

Aparecer na tela:
EXIT MANUAL MODE ...

e voc retornar exatamente onde estava quando entrou no modo Manual.

2. COMANDO CONTINUE/ SUSPEND

Os comandos CONTINUE e SUSPEND permitem que voc possa, respectivamente, continuar
ou suspender a execuo de um programa. Assim, voc pode continuar o programa PROG, que havia
sido previamente suspenso usando o comando. A sintaxe deste comando segue abaixo:


Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
69
CONTINUE PROG

Analogamente, voc pode suspender a execuo de um programa atravs da seguinte sintaxe:

SUSPEND PROG

Tanto CONTINUE como SUSPEND podem ser usados nos modos direto ou edio.


3. COMANDOS DE EDIO DE PROGRAMAS EM ACL

O controlador possui um editor de texto que permite ao usurio editar programas utilizando
comandos do ACL. Para chamar o editor, execute o seguinte comando: Edit nome <ENTER>. Caso
nenhum programa tenha sido criado anteriormente com este nome, dever aparecer a mensagem do
tipo :
"NOME NEW PROGRAM"
"DO Y OU WANT TO CREATE THAT PROGRAM (Y /N) ?"

Responda "Y" para criar o programa. Aps este comando o usurio entra no modo de edio e
todos os comandos so do tipo indireto. Se o arquivo j existir, o editor abre o mesmo, posicionando
o cursor sobre a primeira linha. Em qualquer um dos casos, surge a mensagem dada a seguir :

PROGRAM NOME
********************
30 ? //onde "30" o nmero da primeira linha do programa. Esse nmero depende dos
programas j criados.

O editor implementado dentro do controlador um editor de linha, que possui poucos
recursos de edio. Os comandos esto descritos na tabela a seguir:

COMANDO FUNO
<ENTER> MOSTRA PRXIMA LINHA
P <ENTER> MOVE PARA LINHA ANTERIOR
S <ENTER> MOVE PARA O INCIO DO PROGRAMA
S N <ENTER> MOVE PARA A LINHA N
DEI <ENTER> DELETA A LINHA ANTERIOR
L N1 N2 LISTA AS LINHAS N1 AT N2
* COMENTRIO

Crie um programa simples utilizando os comandos descritos anteriormente. Como exemplo,
edite o programa abaixo, lembrando que todos os comandos so realizados no prompt do software:


EDIT FIRST <ENTER>

PROGRAM FIRST
********************
30 PRINTLN "PRIMEIRO PROGRAMA EM ACL "
31 PRINTLN "UTILIZANDO O COMANDO PRINTLN"

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
70
32 PRINTLN "LABORATORIO DE ROBOTICA"
33 EXIT

O comando exit encerra a edio do programa ACL. Ao encerrar o modo de edio o ACL
verifica a validade do programa, emitindo uma mensagem do tipo "NOME IS VALID" se o programa
estiver correto. Aps isto, o ACL novamente colocado no modo de comando direto.

4. COMANDO TRIGGER

Ideal para sensoriamento de sinais cujo TIMING indefinido ou imprevisvel. Se uma
aplicao exige interrupes repetidas dos sensores, o TRIGGER deve surgir antes de cada
interrupo esperada.
SINTAXE: TRIGGER <PROG> BY {IN/OUT} <n> [0/1]

Exemplos:
TRIGGER FURA BY OUT 8 1 //EXECUTA O PROGRAMA FURA QUANDO A SADA 8
ESTIVER ON
TRIGGER PEGA BY IN 5 //EXECUTA O PROGRAMA PEGA QUANDO A ENTRADA 5
MUDAR DE estado.

5. COMANDO ENABLE/ DISABLE

Os comandos ENABLE e DISABLE so comandos de modo direto que, respectivamente,
reconectam e desconectam a I/O fsica (hardware) do I/O lgica (software).

Exemplos:
ENABLE IN 8 //RECONECTA A ENTRADA 8 AO SOFTWARE
ENABLE OUT 12 //RECONECTA A SADA 12 DO SOFTWARE
DISABLE IN 8 //DESCONECTA A ENTRADA 8 DO SOFTWARE
DISABLE OUT 12 //DESCONECTA A SADA 12 DO SOFTWARE












Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
71
Apndice VI
SIMULADOR DA LINGUAGEM ACL ROBOSOFT SIMULATOR

Objetivos:
Utilizar est ferramenta para a AUXILIAR a programao de robs


1. SIMULADOR DA LINGUAGEM ACL

Esse programa tem como objetivo simular os programas na linguagem ACL

1.1. Simulador da Linguagem Acl

Antes de comearmos a simular necessitamos fazer o download do software e a sua instalao. O
software est disponvel para download no site: www.ee.pucrs.br/~labcim.

1.1.1. Instalando:
i. Faa o download do arquivo RoboSoft_Simulator.exe
ii. D um dublo clique sobre o cone RoboSoft_Simulator.exe
iii. Siga as instrues do instalador.

1.1.2. Como utilizar

O simulador tem o mesmo sistema de funcionamento do Robosoft. Logo, para executar uma
simulao de um programa, temos que fazer os mesmos passos feitos na utilizao do Robosoft, que
so:
i. Executar o Robosoft Simulator
ii. Criar um programa no editor.
iii. Fazer o download do programa
iv. Execuo do programa, comando run.

A interface muito parecida com o Robosoft, o terminal de um tem a mesma importncia que
o terminal do outro, como por exemplo, criao de vetores e variveis de posio, criao de vetores
globais.


Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
72

Figura 3. Robosoft Simulator.
1.1.3. Observaes

O simulador tem o mesmo sistema de funcionamento do Robosoft. Logo, para executar uma
simulao de um programa, temos que fazer os mesmos passos feitos na utilizao do Robosoft, que
so:
i. O usurio s vai utilizar o arquivo .dnl, pois nele est o contedo do programa. Os demais
arquivos com os .acl so utilizados internamente no software.
ii. O comando GET s funciona na verso do WINDOWS NT, 2K e XP.
iii. O operador <> do comando de lgica relacional if, orif, andif e wait s funciona na verso do
WINDOWS NT, 2K e XP.
iv. No foram implementados os seguintes operadores para o comando SET: COS, SIN, TAN,
ATAN, EXP, LOG, AND e OR.

1.1.4. Caractersticas

i. Manual eletrnico da linguagem ACL.
ii. Editor de programao.
iii. Simulao da lgica
iv. Simulao do terminal de comunicao com o controlador do rob
v. Alguns exemplos

1.1.5. Informaes extras e download

O retorno de erros est em ingls e no est totalmente implementado. Alguns dos comandos
implementados:

IF RUN DIM PRINTLN
ANDIF GOSUB DIMG PRINT

Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
73
ORIF DEFINE READ
ELSE GLOBAL SET
LABEL
GOTO
FOR
ENDFOR
DELAY


Voc encontra mais informaes no site: http://www.ee.pucrs.br/~labcim/.




Pontifcia Universidade Catlica do Rio Grande do Sul - PUCRS
Faculdade de Engenharia - FENG
Curso de Engenharia Mecnica e
Curso de Engenharia de Controle e Automao
LABORATRIO CAD/CAM/CAE/CIM



SISTEMAS ROBOTIZADOS PROF. JLIO CSAR MARQUES DE LIMA
PROGRAMAO DE ROBS PROF. ANDR LUIZ TIETBHL RAMOS
74
BIBLIOGRAFIA

Manual ACL
Teach Pendant for Controller AC Users Manual
Teach Pendant for Controller A Users Manual
Teach Pendant for Controller B Users Manual
ACL Linguagem de Controle Avanada Guia de Referncia