Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
Programação do robô 2
Programação
do robô 2
Data: 24.02.2015
Versão: P2KSS8_robotprogramming_2_(R2)_V4
Programação do robô 2
© Copyright 2015
KUKA Roboter GmbH
Zugspitzstraße 140
D-86165 Augsburg
Alemanha
Este documento ou excertos do mesmo não podem ser reproduzidos ou disponibilizados a terceiros
sem autorização expressa da KUKA Roboter GmbH.
Outras funções de comando não descritas nesta documentação poderão ser postas em prática. No
entanto, não está previsto qualquer tipo de reclamação quanto a estas funções em caso de nova re-
messa ou de serviço.
Verificamos que o conteúdo do prospecto é compatível com o software e com o hardware descrito.
Porém, não são de excluir exceções, de forma que não nos responsabilizamos pela total compatibi-
lidade. Os dados contidos neste prospecto serão verificados regulamente e as correções necessá-
rias serão incluídas na próxima edição.
Sob reserva de alterações técnicas sem influenciar na função.
Tradução da documentação original
KIM-PS5-DOC
Índice
1 Programação com WorkVisual ................................................................... 7
1.1 Visão geral ................................................................................................................. 7
1.2 Gerenciar projeto com o WorkVisual ......................................................................... 7
1.2.1 Vinculação de um PC WorkVisual à unidade de comando .................................. 7
1.2.2 Visão geral da interface de operação WorkVisual ................................................ 8
1.2.3 Carregar projeto existente no WorkVisual ............................................................ 10
1.2.4 Gravar localmente o projeto WorkVisual .............................................................. 12
1.2.5 Modos WorkVisual ................................................................................................ 12
1.2.6 Estrutura de projeto WorkVisual (guia Arquivos) .................................................. 13
1.2.7 Comparar projetos com WorkVisual ..................................................................... 14
1.2.8 Transmitir o projeto à unidade de comando do robô (instalar) ............................. 18
1.2.9 Atribuir o projeto à unidade de comando do robô real .......................................... 28
1.2.10 Ativar o projeto na unidade de comando do robô ................................................. 32
1.3 Processar programas KRL com WorkVisual .............................................................. 35
1.3.1 Importar manuseio de arquivos ............................................................................ 35
1.3.2 Ativar Templates de catálogo ............................................................................... 39
1.3.3 Manuseio com o editor KRL ................................................................................. 41
1.4 Exercício: Editar um projeto ativo no WorkVisual ...................................................... 54
Até a versão de software KSS 8.2 estava disponível para isso somente a
interface KLI - KUKA Line Interface, que tinha que ser configurada em se-
parado. Essa interface também está à disposição com o KSS 8.3.
A partir da versão de software KSS 8.3 está disponível a nova interface
KSI - KUKA Service Interface, que oferece um manuseio bem mais simples.
Após um update do KSS 8.2 para KSS 8.3 também esta interface será li-
berada em unidades de comando mais "antigas".
Conectar o PC
WorkVisual à KSI
Pos. Descrição
1 Notebook com WorkVisual
2 Cabo de rede
3 Armário de comando KR C4
A Conexão KSI atrás da tampa do CSP
Pos. Descrição
1 Barra de menu
2 Barras de botões
3 Área de editores
Quando um editor está aberto, ele é exibido aqui. Podem estar
abertos vários editores simultaneamente, como neste exemplo.
Eles então estão sobrepostos e podem ser selecionados através
de guias.
4 Botão de ajuda
5 Janela Estrutura de projeto
6 Janela Catálogos
Nesta janela são exibidos todos os catálogos adicionados. Os
itens no catálogo podem ser adicionados à janela Estrutura de
projeto da guia Dispositivos ou Geometria.
7 Janela Áreas de trabalho
8 Janela Mensagens
Pos. Descrição
9 Janela Propriedades
Quando um objeto é selecionado, as suas propriedades são exibi-
das nesta janela. As propriedades podem ser alteradas. Proprie-
dades individuais em campos cinza não podem ser alteradas.
10 Ícone Análise de projeto WorkVisual
Descrição Em cada unidade de comando do robô, para a qual existe uma conexão de
rede, um projeto pode ser selecionado e transmitido ao WorkVisual. Isto tam-
bém é possível, se este projeto ainda não existir neste PC.
O projeto é salvo no diretório …\WorkVisual Projects\Downloaded Projects.
Explorer de
projeto
Equipamentos:
Na guia Equipamentos é esclarecida a interdependência dos equipa-
mentos. Aqui os equipamentos individuais podem ser atribuídos a uma
unidade de comando do robô.
Geometria:
Na guia Geometria são disponibilizados os dados da máquina para as ci-
nemáticas externas como, p.ex., eixos adicionais.
Arquivos:
A guia Arquivos contém os arquivos de programa e de configuração per-
tencentes ao projeto.
Representação em cores dos nomes de arquivos:
Arquivos gerados automaticamente (com função Gerar código): cin-
za
Arquivos inseridos manualmente no WorkVisual: azul
Arquivos, que foram transmitidos de uma unidade de comando do
robô ao WorkVisual: preto
Caminho de arquivo para a programação no KRL
Para a programação no WorkVisual são gerados ou adaptados progra-
mas *.SRC .
Estes se encontram na unidade de comando real na partição C:\KRC\Ro-
boter\Programme
No navegador este caminho é representado em separado (semelhante
como os arquivos próprios sob Microsoft Windows).
Projeto ativo
Projeto de mesmo nome na unidade de comando (somente possível com
conexão de rede)
Projeto base
Projeto inicial
Projeto local (do Notebook)
Comparação:
As diferenças entre os projetos são exibidas em uma visão geral. Para cada
diferença pode ser selecionado qual estado deve ser assumido.
Pos. Descrição
1 O nó para a unidade de comando do robô. As diversas áreas de projeto são represen-
tadas em subnós. Abrir os nós, para exibir as comparações.
Se existirem várias unidades de comando do robô, elas são enumeradas uma sob a
outra.
Em uma linha, sempre colocar o ticado no valor que deve ser assumido. (Alterna-
tiva: usar as caixas de verificação na linha de rodapé.)
Um ticado em Não disponível significa, que o elemento não é assumido ou que,
se já existente, será excluído do projeto.
Quando um nó é ticado, também são ticados automaticamente todos os elementos
subordinados.
Quando um ticado é removido em um nó, também é removido automaticamente o
ticado em todos os elementos subordinados.
Os elementos subordinados, contudo, também podem ser editados individualmen-
te.
Uma caixa preenchida significa: Dos elementos subordinados, pelo menos um
está selecionado, contudo, não todos.
2 Estado no projeto, que está aberto no WorkVisual.
3 Estado no projeto de comparação.
4 Filtro, para exibir e ocultar diversos tipos de diferenças.
5 TRUE: São inseridas informações detalhadas para a linha marcada na visão geral.
Pos. Descrição
6 Seta para trás: O foco na exibição salta para a diferença anterior.
Seta para frente: O foco na exibição salta para a diferença seguinte.
Os nós fechados são abertos automaticamente.
7 As caixas de verificação exibem o estado da linha, na qual se encontra o foco no mo-
mento. Em vez de colocar os ticados diretamente na linha, eles também podem ser co-
locados e removidos aqui.
8 Assume as alterações selecionadas no projeto aberto.
9 Fecha a janela Unir projetos.
Coluna Descrição
Estrutura de projeto Cada elemento é exibido na cor, que ele tem na coluna, na qual está
selecionado.
WorkVisual Todos os elementos são exibidos em preto.
Valor selecionado Verde: Elementos, que não existem no projeto aberto, mas no proje-
to de comparação.
Azul: Elementos, que existem no projeto aberto, mas não no projeto
de comparação.
Vermelho: Todos os demais elementos. A estes também pertencem
elementos superiores, que contêm elementos em várias cores.
2. Selecionar o projeto, com o qual o projeto WorkVisual atual deve ser com-
parado, p.ex. o projeto de mesmo nome na unidade de comando do robô
real.
ou o botão
O código é exibido na janela Estrutura de projeto na guia Arquivos.
Um código gerado automaticamente é exibido em cinza claro.
Versões
WorkVisual até
3.0
Procedimento
1. Na barra de menu, pressionar o botão Instalar …. . Abre-se a janela
Transmissão de projeto.
8. Para cada diferença, selecionar qual estado deve ser assumido. Isto não
é necessário fazer para todas as diferenças em uma operação.
Se for conveniente, pode ser mantida também a seleção padrão.
9. Pressionar Unir, para assumir as alterações.
10. Repetir os passos 8 e 9 quantas vezes for necessário. Isto possibilita edi-
tar sequencialmente as diversas áreas.
Se não existirem outras diferenças, isto é exibido na mensagem a seguir:
Não há outras diferenças.
11. Fechar a janela Comparar projetos.
15. Somente nos modos de operação T1 e T2: O KUKA smartHMI exibe a per-
gunta de segurança Deseja permitir a ativação do projeto […]?. Além disso, é
indicado se através da ativação um projeto seria sobrescrito e, caso sim,
qual.
Se nenhum projeto relevante for sobrescrito: Confirmar a pergunta com
Sim dentro de 30 minutos.
16. É exibida uma visão geral sobre as alterações, que ainda serão feitas em
comparação com o projeto ainda ativo na unidade de comando do robô.
Através da caixa de verificação Detalhes é possível exibir detalhes sobre
as alterações.
17. A visão geral exibe a pergunta de segurança Deseja prosseguir?. Respon-
der com Sim. O projeto é ativado na unidade de comando do robô. No
WorkVisual é exibida uma confirmação.
Versões
WorkVisual a
partir de 3.1
Procedimento
Iniciar trans-
Na barra de menu, pressionar o botão Instalar …. .
missão de projeto
Abre-se a janela Transmissão de projeto.
Alternativamente a transmissão de projeto também pode ser acessada
através do Caminho de menu: Extras (Ferramentas) > Instalar.
Atribuir unidade 1. A unidade de comando do projeto WorkVisual (2) já está atribuída à uni-
de comando dade de comando real (4) através da seta azul (3). (>>> "Procedimento"
Página 31)
Pos. Descrição
1 Decurso da transmissão de projeto
2 Armário de comando do projeto WorkVisual
3 Atribuição do projeto ao armário de comando real
4 Armário de comando real na rede do sistema
5 Abre a janela para a localização de armários de comando na
rede do sistema
6 Abre a janela para a comparação de projeto
7 Confirmação da atribuição de armário de comando
Ativar o projeto Depois que o projeto foi transmitido, o projeto pode ser ativado diretamen-
te através do WorkVisual. Se a ativação falhar, porque, por exemplo, os
direitos de usuário necessários na unidade de comando não estão pre-
sentes, o projeto pode ser ativado novamente através do ícone (1).
Após uma ativação de projeto bem sucedida é inserida uma barra de pro-
gresso verde. Com o botão Finalizar (1) é finalizado o Wizard.
Assumir a soma 1. Se no WorkVisual a segurança tiver sido alterada como, p.ex., a interface
de verificação de segurança ou o parâmetro SafeOperation, é exibida a seguinte men-
alterada sagem de erro na janela de mensagens: "Soma de verificação da configu-
ração de segurança está incorreta".
Versões
WorkVisual até
3.0
3. Sob Célula de destino são exibidas as células existentes. (As células po-
dem ser renomeadas através de clique no botão direito.)
Se a célula desejada não estiver disponível, pode ser criada uma célula
nova:
Clique em Nova célula. Abre-se a janela Propriedades de células.
Introduzir um nome e, se necessário, uma descrição. Salvar com OK.
Agora a célula nova é exibida sob Célula de destino.
4. Sob Célula de destino, marcar a célula desejada. A esta célula agora de-
vem ser atribuídas as unidades de comando do robô reais.
5. Sob Unidades de comando disponíveis, marcar a unidade de comando
do robô real desejada.
Dependendo da topologia de rede é possível, que a unidade de comando
do robô não seja exibida sob Unidades de comando disponíveis. Se o
endereço IP for conhecido, a unidade de comando do robô pode ser exi-
bida como a seguir:
Versões
WorkVisual a
partir de 3.1
Função da Generalidades
administração de A unidade de comando do robô tem a possibilidade de administrar vários
projeto projetos na unidade de comando.
Todas as funções primeiro estão disponíveis no grupo de usuários Peri-
tos
Um acesso ocorre via:
Na interface de operação, com a tecla WorkVisual-Symbol e, em se-
guida, o botão Abrir
Manuseio / Operação
Pos. Descrição
1 É exibido o projeto inicial.
2 Restabelece o estado de fornecimento da unidade de comando do
robô.
Está disponível a partir do grupo de usuários Peritos.
3 É exibido o projeto base.
4 Cria uma cópia do projeto base.
Está disponível a partir do grupo de usuários Peritos.
5 O projeto ativo é exibido.
6 Salva o projeto ativo como projeto base. O projeto ativo permane-
ce ativo.
Está disponível a partir do grupo de usuários Peritos.
7 Cria uma cópia pinada do projeto ativo.
Está disponível a partir do grupo de usuários Peritos.
8 Lista dos projetos. O projeto ativo não é exibido aqui.
Projeto Descrição
Projeto inicial O projeto inicial sempre existe. Ele não pode ser alte-
rado pelo usuário. Ele contém o estado da unidade de
comando do robô no fornecimento.
Projeto base O usuário pode salvar o projeto ativo como projeto
base. Esta funcionalidade normalmente é usada para
salvar um estado de projeto aprovado e funcional.
O projeto base não pode ser ativado, mas copiado. O
projeto base não pode mais ser alterado pelo usuário.
Mas ele pode ser sobrescrito através da gravação de
um novo projeto base (após uma pergunta de segu-
rança).
Quando é ativado um projeto, que não contém todos
os arquivos de configuração, as informações faltantes
são assumidas do projeto base. Este pode ser o caso,
p.ex., quando é ativado um projeto de uma versão
anterior do WorkVisual. Aos arquivos de configuração
pertencem arquivos de dados da máquina, arquivos da
configuração de segurança e inúmeros outros.
Botão Descrição
Ativar Ativa o projeto marcado.
Se o projeto marcado estiver pinado: Cria uma cópia
do projeto marcado. (Um projeto pinado não pode ser
ativado, somente uma cópia dele.) O usuário pode
decidir, se a cópia deve ser ativada imediatamente ou
se o projeto atual deve permanecer ativo.
Está disponível a partir do grupo de usuários Peritos.
Colocar pinos Projetos pinados não podem ser alterados, ativados ou
excluídos. Contudo, eles podem ser copiados ou "des-
pinados". Portanto, pode-se pinar um projeto para,
p.ex., impedir que ele seja excluído acidentalmente.
Somente está disponível, se estiver marcado um pro-
jeto não-pinado. Está disponível a partir do grupo de
usuários Peritos.
Despinar "Despina" o projeto.
Somente está disponível, se estiver marcado um pro-
jeto pinado. Está disponível a partir do grupo de usuá-
rios Peritos.
Copiar Copia o projeto marcado.
Está disponível a partir do grupo de usuários Peritos.
Excluir Exclui o projeto marcado.
Somente está disponível, se estiver marcado um pro-
jeto não-pinado não ativo. Está disponível a partir do
grupo de usuários Peritos.
Botão Descrição
Editar Abre uma janela, na qual podem ser alterados o nome
e/ou a descrição do projeto marcado.
Somente está disponível, se estiver marcado um pro-
jeto não-pinado. Está disponível a partir do grupo de
usuários Peritos.
Atualizar Atualiza a lista de projetos. Desta forma são exibidos,
p.ex., projetos, que foram transmitidos à unidade de
comando do robô desde a abertura da exibição.
Procedimento
Restrição: Se a ativação causar alterações na área de parâmetros
de comunicação da configuração de segurança, deve estar selecio-
nado o grupo de usuários técnico de manutenção de segurança ou
superior.
Se o modo de operação AUT ou AUT EXT estiver selecionado: O projeto so-
mente pode ser ativado, se através disto se alterarem apenas programas
KRL. Se o projeto contiver ajustes, que causariam outras alterações, ele não
pode ser ativado.
Manuseio do arquivo
Ativar catálogo
Templates
3. Selecionar arquivo e ou
com duplo-clique
Adicionar o Procedimento
arquivo com 1. Trocar arquivo da árvore de projeto
templates KRL 2. Abrir diretórios até ao diretório R1
5. Seleção de template
Descrição Para poder executar determinadas funções no WorkVisual como, p.ex., con-
figuração ou programação, é necessário ativar os respectivos catálogos.
Exemplo
A estrutura de projeto deve ser expandida.
Clicar com o botão direito no ícone da unidade de comando ativa e clicar
em "Adicionar".
Procedimento
Ativar catálogo
Templates
Conhecer a Descrição
interface de O editor KRL permite o processamento confortável de programas KUKA.
operação Editor
Não é possível testar ou deixar executar programas.
KRL
Caminho de menu: Editores > Editor KRL
Pos. Descrição
1 Área do programa
Aqui se insere ou edita o código. O editor KRL oferece inúmeras
funcionalidades que dão suporte ao programador.
2 Lista dos subprogramas neste arquivo
Para se chegar a um subprograma, selecionar isto na lista: O cur-
so salta para a fileira DEF deste subprograma.
Se o arquivo não incluir subprogramas, a lista estará vazia.
3 Lista de declaração de variáveis
Esta lista sempre se refere a um subprograma que foi selecionado
atualmente na lista de subprogramas. Para se chegar a uma de-
claração, selecionar a variável na lista: O cursor salta para a fileira
com a declaração destas variáveis.
Se não houver nenhuma declaração de variável disponível, a lista
estará vazia.
4 Barra de análise
As marcações mostram erros ou discrepâncias no código.
Um mouseover sobre a marcação mostra uma sugestão de
ferramenta com a descrição do erro.
Através de um clique na marcação, o cursor salta até a posi-
ção correspondente no programa. Para o caso de alguns er-
ros/discrepâncias é oferecida uma correção automática.
Botão Nome/Descrição
Agrupa as variáveis conforme subfunções locais
O botão está pressionado: A exibição é classificada por tipos
de arquivo. (Dentro desta classificação pode ser classificado
adicionalmente por colunas.)
O botão não está pressionado: A exibição não está classifi-
cada por tipos de arquivo.
Localizar e Descrição
substituir em No WorkVisual há uma opção de pesquisa com a qual se pode pesquisar
arquivos o texto de todos os arquivos do projeto todo.
Pode-se selecionar quais áreas podem ser pesquisadas na janela de pes-
quisa.
Ainda assim, pode-se pesquisar um único arquivo ou uma área marcada
em um arquivo.
Procedimento
1. Abrir esta caso se queira pesquisar um arquivo individual.
2. Marcar estes no caso de uma pesquisa de uma área em um arquivo.
3. Abrir a janela de pesquisa: CTRL+F
Renomear Descrição
variáveis Um nome de variável pode ser alterado com uma única ação em todas as
posições onde ela ocorre.
Isto também é possível quando a variável está declarada em um arquivo
DAT e é usada em vários arquivos SRC.
Pré-requisito
Os arquivos nos quais os nomes das variáveis aparecem não contêm er-
ros de programação.
A mudança não acontecerá automaticamente em arquivos com erros de
programação.
Procedimento
1. Em uma posição qualquer, marcar a variável desejada.
2. Clicar com o botão direito e no menu de contexto selecionar Renomear.
3. Abre-se uma janela. Mudar o nome e confirmar com OK.
Autocompletar Descrição
Existe uma funcionalidade de autocompletar disponível no editor KRL.
Ao se incluir o código uma lista é automaticamente exibida, que inclui os
seguintes itens:
Palavras-chave KRL
Nomes conhecidos de variáveis
Nomes conhecidos de funções
Tipos de dados conhecidos específicos por usuário (STRUC or
ENUM)
Snippets (>>> "Snippets – Introdução rápida para instruções KRL"
Página 48)
Procedimento
Introduzir as primeiras letras do comando desejado, variável etc. na linha
de programa correspondente.
Abre-se a autocompletação:
No topo da lista são exibidos itens que correspondem aos símbolos já in-
cluídos.
Estes itens são novamente priorizados de acordo com a sua frequência
de utilização, isto é, a seleção se adapta ao comportamento do utilizador.
3. Saltar para a próxima posição variável com a tecla TAB. Introduzir o valor
desejado.
4. Repetir o passo 3 para todas as posições variáveis.
5. Para encerrar a edição, pressionar a tecla Enter.
Aternativas
1. A lista de fragmentos também pode ser acessadas de outra forma: Clicar
o botão direito e no menu de contexto selecionar a entrada Inserir frag-
mento.
2. Além disso, pode-se inserir o fragmento conforme segue: Digitar a abre-
viatura e pressionar a tecla TAB.
Correção Descrição
Quickfix Ondas sob o código e marcas na barra de análise indicam erros ou incon-
sistências no código.
Procedimento
Para o caso de alguns erros/discrepâncias é oferecida uma correção au-
tomática, o "Quickfix".
Uma luzinha Quickfix aparece.
4. Se necessário: Clicar duas vezes sobre uma linha na lista. A posição cor-
respondente será marcada no programa.
Objetivo do Após a conclusão com êxito deste exercício, você estará em condições de
exercício executar as seguintes atividades:
Conectar um PC com WorkVisual 3.x instalado com a interface KSI da uni-
dade de comando.
Carregar um projeto ativo no WorkVisual.
Criar um novo programa KRL no WorkVisual.
Transmitir e ativar o projeto atualizado na unidade de comando.
Pré-requisitos São necessários os seguintes pré-requisitos para a conclusão com êxito des-
te exercício:
É necessário um PC com WorkVisual 3.x instalado.
Conhecimentos teóricos sobre a gestão de projeto com WorkVisual
Definição de Conecte o PC com o WorkVisual 3.x à KSI - KUKA Service Interface do ar-
funções mário de comando.
Carregue o projeto ativo da unidade de comando no WorkVisual.
Crie um novo programa com o nome my1prog.
Crie um comentário entre os dois conjuntos de movimentos PTP HOME.
Gere a estrutura de dados específica de projeto com o botão Gerar có-
digo .
2 Programação estruturada
2
INI
END
INI
END
Descomentário:
Se uma parte do código for excluído provisoriamente mas posteriormente
reinserido, ele será descomentado. A parte do código, depois de embalado no
comentário, no ponto de vista não é mais código, ou seja, já não existe mais.
DEF Palletize()
INI
PICK_CUBE()
;CUBE_TO_TABLE()
CUBE_TO_MAGAZINE()
END
Que exemplos há Na unidade de comando KUKA já são usadas, como padrão, pastas pelo sis-
para o uso de tema, por exemplo, na exibição de formulários Inline. As pastas simplificam a
pastas? visibilidade dos valores introduzidos no formulário Inline, ocultando partes do
programa não relevantes para o operador.
Além disso, o usuário (a partir do grupo de usuários peritos) tem a possibili-
dade de criar pastas próprias. Essas pastas podem ser usadas pelo progra-
mador para, por um lado, comunicar ao operador algo que ocorre em um
END
DEF Main()
...
INI ; PASTA KUKA fechada
END
DEF Main()
...
INI ; PASTA KUKA fechada
...
END
LOOP
GET_PEN()
PAINT_PATH()
PEN_BACK()
GET_PLATE()
GLUE_PLATE()
PLATE_BACK()
ENDLOOP
END
ENDLOOP
Fig. 2-1
Fig. 2-2
Ramificação
Fig. 2-3
Fig. 2-4
Acesso ao subprograma
Fig. 2-5
Instrução de entrada/saída
Fig. 2-6
Exemplo PAP
Fig. 2-7
Como é Partindo da ideia do usuário o problema é detalhado passo a passo, até que
elaborado um os componentes elaborados sejam suficientemente visualizáveis, para poder
PAP realizá-los no KRL.
As minutas geradas nos passos subsequentes de desenvolvimento se destin-
guem pela crescente profundidade de detalhes.
1. Desmembramento grosseiro de todo o processo em aprox. 1 - 2 páginas
2. Divisão da tarefa total em diversas tarefas parciais
3. Classificação geral das tarefas parciais
4. Detalhamento da classificação das tarefas parciais
5. Transposição em código KRL
Abrir/Fechar PASTA
As FOLDs estão sempre fechadas para o usuário e podem ser abertas
como perito.
O perito também pode programar suas PASTAS próprias.
Objetivo do Após a conclusão com êxito deste exercício, você estará em condições de
exercício executar as seguintes atividades:
Medição da ferramenta com o método XYZ 4-Pontos e o método World 5D
Medição da ferramenta com introdução numérica de valor
Medição da base conforme o método 3 pontos
Pré-requisitos São necessários os seguintes pré-requisitos para a conclusão com êxito des-
te exercício:
Conhecimentos teóricos sobre a medição de uma ferramenta
Conhecimentos teóricos sobre a medição de uma base
Função: Intro- Introduza para a sua garra de treinamento com introdução numérica:
dução de dados
de ferramenta de
garra
Garra de treinamento KR 16
Massa:
M = 4,3 kg
Centro de gravidade da massa:
X = 41 mm Y = 35 mm Z = 62 mm
Orientação:
A = 0° B = 0° C = 0°
Momentos de inércia:
JX = 0,03 kgm2 JY = 0,04 kgm2 JZ = 0,12 kgm2
Massa:
M = 4,4 kg
Centro de gravidade da massa:
X = 7 mm Y = -24 mm Z = 80 mm
Orientação:
A = 0° B = 0° C = 0°
Momentos de inércia:
JX = 0,02 kgm2 JY = 0,05 kgm2 JZ = 0,11 kgm2
Massa:
M = 2 kg
Centro de gravidade da massa:
X = 23 mm Y = 0 mm Z = 61 mm
Orientação:
A = 0° B = 0° C = 0°
Momentos de inércia:
JX = 0,002 kgm2 JY = 0,004 kgm2 JZ = 0,003 kgm2
Massa:
M = 4,9 kg
Centro de gravidade da massa:
X = 53 mm Y = 49 mm Z = 65 mm
Orientação:
A = 0° B = 0° C = 0°
Momentos de inércia:
JX = 0,02 kgm2 JY = 0,03 kgm2 JZ = 0,15 kgm2
Massa:
M = 5 kg
Centro de gravidade da massa:
X = 23 mm Y = -38 mm Z = 84 mm
Orientação:
A = 0° B = 0° C = 0°
Momentos de inércia:
JX = 0,02 kgm2 JY = 0,07 kgm2 JZ = 0,14 kgm2
Massa:
M = 2,14 kg
Centro de gravidade da massa:
X = 30 mm Y = 0 mm Z = 64 mm
Orientação:
A = 0° B = 0° C = 0°
Momentos de inércia:
JX = 0,002 kgm2 JY = 0,004 kgm2 JZ = 0,003 kgm2
Objetivo do Após a conclusão com êxito deste exercício, você estará em condições de
exercício executar as seguintes atividades:
Criação de módulos no plano de perícia
Vínculo de determinados módulos em um programa principal
Uso de um loop sem fim
Pré-requisitos São necessários os seguintes pré-requisitos para a conclusão com êxito des-
te exercício:
Conhecimentos teóricos sobre o Navigator no plano de peritos
Conhecimentos teóricos sobre o uso de subprogramas globais
Conhecimentos teóricos sobre um loop sem-fim
4 Variáveis e acordos
4
Dados gerais
sobre variáveis
Campos /Array
Voltage[10] = 12.75
Voltage[11] = 15.59
a palavra chave DECL pode ser suprimida nos quatro tipos de dados sim-
ples.
As atribuições de espera ocorrem no avanço.
a declaração de variável pode ocorrer em diferentes pontos. Isto se reflete
na vida útil e na validade das respectivas variáveis.
Dados de sistema Os dados de sistema KUKA ocorrem em todos os tipos de dados, por
KUKA exemplo, como
tipo de dados de contagem, como p.ex. modo de operação
...
ENDDAT
Cálculo: 1*32+1*16+1*8+0*4+1*2+0*1 = 58
Binário 25 24 23 22 21 20
Dez 32 16 8 4 2 1
Inicialização hexadecimal
value = 'H3A'
Hex 0 1 2 3 4 5 6 7 8 9 A B C D E F
Dez 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Declaração e Descrição
inicialização de Constantes são criadas com a palavra chave CONST.
uma constante
Constantes só podem ser criadas em listas de dados.
Criação de constantes
1. Abrir DAT-File no editor.
2. Realizar declaração e inicialização.
DEFDAT MY_PROG
EXTERNAL DECLARATIONS
DECL CONST INT max_size = 99
DECL CONST REAL PI = 3.1415
...
ENDDAT
Listagem de Os valores de variáveis são alterados de forma distinta de acordo com a de-
possibilidades finição de funções nas rotinas de programa (SRC-File) conforme a tarefa. A
para a alteração seguir são abordados os métodos mais comuns. A manipulação com opera-
ções bit e funções padrão é possível, mas não será detalhada.
de valores de
variáveis com Manipulação de dados através de
KRL Tipos de cálculo básico
(+) Adição
(-) Subtração
(*) Multiplicação
(/) Divisão
Operações comparativas
(==) idêntico / igualdade
(<>) desigual
(>) maior
(<) menor
(>=) maior ou igual
(<=) menor ou igual
Operações lógicas
(NOT) Inversão
(AND) (E) lógico
(OR) OU lógico
(EXOR)OU exclusivo
Operações Bit
(B_NOT) Inversão de bit
(B_AND) vinculação E de bits
(B_OR) vinculação OU de bits
(B_EXOR) vinculação OU exclusiva de bits
Funções padrão
Função absoluta
Função de raiz
Função seno e coseno
Função tangente
Função arco seno
Função arco tangente
Diversas funções para a manipulação de strings
; Declaração
DECL INT D,E
DECL REAL U,V
; Inicialização
D = 2
E = 5
U = 0.5
V = 10.6
; Seção de instrução (manipulação de dados)
D = D*E ; D = 2 * 5 = 10
E = E+V ; E= 5 + 10.6 = 15.6 -> arredondar para cima E=16
U = U*V ; U= 0.5 * 10.6 = 5.3
V = E+V ; V= 16 + 10.6 = 26.6
Operações comparativas
Com operações comparativas podem ser formadas expressões lógicas O re-
sultado de uma comparação é sempre o tipo de dados BOOL.
Operador/
Descrição Tipos de dados admissíveis
KRL
== idêntico/igual- INT, REAL, CHAR, BOOL
dade
<> desigual INT, REAL, CHAR, BOOL
> maior INT, REAL, CHAR
< menor INT, REAL, CHAR
>= maior igual INT, REAL, CHAR
<= menor igual INT, REAL, CHAR
; Declaração
DECL BOOL G,H
; Inicialização/Seção de instrução
G = 10>10.1 ; G=FALSE
H = 10/3 == 3 ; H=TRUE
G = G<>H ; G=TRUE
Operações lógicas
Com operações lógicas podem ser formadas expressões lógicas. O resultado
dessa operação é sempre o tipo de dados BOOL.
A EXOR
Operações NOT A A AND B A OR B
B
A=FALSE B=FALSE TRUE FALSE FALSE FALSE
A=FALSE B=TRUE TRUE FALSE TRUE TRUE
A=TRUE B=FALSE FALSE FALSE TRUE TRUE
A=TRUE B=TRUE FALSE TRUE TRUE FALSE
; Declaração
DECL BOOL K,L,M
; Inicialização/Seção de instrução
K = TRUE
L = NOT K ; L=FALSE
M = (K AND L) OR (K EXOR L) ; M=TRUE
L = NOT (NOT K) ; L=TRUE
Prioridade Operador
1 NOT (B_NOT)
2 Multiplicação (*); Divisão (/)
3 Adição (+), Subtração (-)
4 AND (B_AND)
5 EXOR (B_EXOR)
Prioridade Operador
6 OR (B_OR)
7 qualquer comparação (==; <>; ...)
; Declaração
DECL BOOL X, Y
DECL INT Z
; Inicialização/Seção de instrução
X = TRUE
Z = 4
Y = (4*Z+16 <> 32) AND X ; Y=FALSE
Comando PARAR PARAR é utilizado principalmente durante a fase de programação para fins de
teste. Por exemplo, para levar à exibição o conteúdo de uma variável de tem-
po de execução.
O comando PARAR para o programa. Contudo, a última instrução de mo-
vimento percorrida ainda é executada por completo.
O programa somente pode ser continuado com a tecla Iniciar. Depois é
executada a próxima instrução após PARAR.
Exemplo:
DEF program()
DECL BOOL a,b
INI
...
SPTP XP1
a=$IN[1]
b=$IN[2]
HALT
IF ((a == TRUE) AND (b == FALSE)) THEN
..
ENDIF
...
Exibir e alterar o 1. No menu principal, selecionar Exibir > Variável > Individual.
valor de uma Abre-se a janela Display de variáveis - individual.
variável 2. No campo Nome introduzir o nome da variável.
3. Quando um programa está selecionado, no campo Módulo está inserido
automaticamente o programa.
Caso deva ser exibida uma variável de outro programa, introduzir o pro-
grama como a seguir:
/R1/Nome de programa
Não especificar nenhuma pasta entre /R1/ e o nome de programa. Não
especificar nenhuma extensão de arquivo no nome de programa.
4. Pressionar a tecla Enter.
No campo Valor atual é exibido o valor atual das variáveis. Se nada for
exibido, ainda não foi atribuído nenhum valor às variáveis.
5. No campo Novo valor digitar o valor desejado.
6. Pressionar a tecla Enter.
No campo Valor atual é exibido o novo valor.
Pos. Descrição
1 Nome das variáveis, que devem ser alteradas
2 Novo valor, que deve ser atribuído às variáveis
3 Programa, no qual são procuradas variáveis
Em variáveis de sistema o campo Módulo é irrelevante.
4 Este campo tem dois estados:
Descrição de Campos ou também Arrays oferecem espaço de memória para várias variá-
campos com KRL veis do mesmo tipo de dados, que são diferenciados através de index
O espaço de memória para campos é finito, ou seja, o tamanho de campo
máximo depende da necessidade de memória do tipo de dados
na declaração devem ser conhecidos o tamanho de campo e o tipo de da-
dos
O índice de partida no KRL sempre começa com 1
Uma inicialização pode ser realizada sempre individualmente
Uma inicialização no SRC-File também pode ser realizada através de loop
Dimensões de campo
Campo unidimensional
dimension[4]= TRUE
Campo bidimensional
dimension[2,1]= 3.25
Campo tridimensional
dimension[3,4,1]= 21
Contextos no uso A vida útil e a validade de variáveis de campos é igual, como no uso de vari-
de campos áveis de um tipo de dados simples
Declaração de campo
Criar no SRC_File
DEF MY_PROG ( )
DECL BOOL error[10]
DECL REAL value[50,2]
DECL INT parts[10,10,10]
INI
...
END
error[6]=FALSE
error[7]=FALSE
error[8]=FALSE
error[9]=FALSE
error[10]=FALSE
FOR x = 1 TO 10
error[x]=FALSE
ENDFOR
Gera dez mensagens de erro "Passo de valor inicial não está na se-
ção inicial"
DEF MY_PROG ( )
INI
error[1]=FALSE
error[2]=FALSE
error[3]=FALSE
...
error[10]=FALSE
ou
DEF MY_PROG ( )
INI
FOR x = 1 TO 10
error[x]=FALSE
ENDFOR
Campo bidimensional
DECL INT parts_table[10,5]
DECL INT x, y
FOR x = 1 TO 10
FOR y = 1 TO 5
parts_table[x, y]= 6
ENDFOR
ENDFOR
Campo tridimensional
DECL INT parts_palette[5,4,3]
DECL INT x, y, z
FOR x = 1 TO 5
FOR y = 1 TO 4
FOR z = 1 TO 3
parts_palette[x, y, z]= 12
ENDFOR
ENDFOR
ENDFOR
Objetivo do Após a conclusão com êxito deste exercício, você estará em condições de
exercício executar as seguintes atividades:
Declarar e inicializar campos com tipos de dados simples
Editar elementos individuais de campo
Trabalhar com a exibição de variáveis (configuração/exibição)
Pré-requisitos São necessários os seguintes pré-requisitos para a conclusão com êxito des-
te exercício:
Conhecimentos sobre tipos de dados simples
Conhecimentos teóricos sobre campos
Conhecimentos teóricos sobre loop FOR
Conhecimentos teóricos sobre a exibição da variável
Fig. 4-3
.............................................................
2. Qual é a diferença da declaração de um campo no SRC-File e no DAT-File?
.............................................................
.............................................................
3. Qual mensagem de erro é exibida ao ultrapassar o index de campo?
.............................................................
.............................................................
4. Declare um campo tridimensional com o nome preço do armário. O preço
do armário é calculado com os componentes comprimento, largura e profun-
didade. A gama abrange 5 comprimentos diferentes, 3 larguras diferentes e
duas profundidades diferentes?
.............................................................
.............................................................
5. Como o campo Preço do armário (Schrankpreis) acima é exibido de forma
completa?
.............................................................
.............................................................
Variáveis com
diversas infor-
mações indivi-
duais
Fig. 4-4
Uma estrutura primeiro precisa ser definida, depois pode ser reutilizada.
Porém:
my_car = {price 14999.95, motor 50, air_condition TRUE}
my_car = {price 12000.0} ; Os valores para motor e ar condicionado
são excluídos
my_car.price = value_car
Objetivo do Após a conclusão com êxito deste exercício, você estará em condições de
exercício executar as seguintes atividades:
Geração de estruturas próprias (declaração, inicialização)
Trabalhar com o separador de pontos
Pré-requisitos São necessários os seguintes pré-requisitos para a conclusão com êxito des-
te exercício:
Conhecimentos teóricos sobre tipos de dados e estruturas simples
............................................................
5. Para que precisamos do separador de ponto?
............................................................
............................................................
Texto inequívoco
como valor de
variável
Fig. 4-5
Objetivo do Após a conclusão com êxito deste exercício, você estará em condições de
exercício executar as seguintes atividades:
Gerar variáveis ENUM próprias (declaração)
Trabalhar com variáveis ENUM
Pré-requisitos São necessários os seguintes pré-requisitos para a conclusão com êxito des-
te exercício:
Conhecimentos teóricos sobre tipos de dados e estruturas simples
Conhecimentos teóricos sobre variáveis ENUM simples
5 Subprogramas e funções
s
Nesta unidade de aprendizagem são repassados os seguintes conteú-
dos:
Subprogramas locais
Subprogramas globais
Transferência de parâmetros a subprogramas
Programação de funções
DEFDAT MY_PROG
...
DECL E6POS XP1={X 100, Y 200, Z 300 ... E6 0.0}
...
ENDDAT
DEF MY_PROG( )
...
END
DEF PICK_PART( )
END
DEF GLOBAL2( )
...
END
DEF GLOBAL2( )
...
GLOBAL3( )
...
END
DEF GLOBAL3( )
...
END
DEF GLOBAL1( )
...
SPTP P1 Vel=100% PDAT1
END
DEFDAT GLOBAL1( )
DECL E6POS XP1={X 100, Z 200, Z 300 ... E6 0.0}
ENDDAT
DEFDAT GLOBAL2( )
DECL E6POS XP1={X 800, Z 775, Z 999 ... E6 0.0}
ENDDAT
DEF GLOBAL2( )
...
IF $IN[12]==FALSE THEN
RETURN ; Retorno ao GLOBAL1( )
ENDIF
...
END
...
END
Descrição da Sintaxe
transferência de DEF MY_PROG( )
parâmetros ...
CALC (K, L)
...
END
...
END
DEF CALC_1(num1:IN)
; O valor "r" é transferido somente para leitura para num1
DECL REAL num1
...
END
DEF CALC_2(num2:OUT)
; O valor "s" é transferido para num2, alterado e retornado
DECL REAL num2
...
END
Procedimento na Considerações
transferência de 1. Definir quais parâmetros são necessários no subprograma
parâmetros 2. Determinar o tipo de transferência de parâmetros (parâmetros IN ou OUT)
3. Definir tipos de dados de saída e de dados de destino (no ideal o mesmo
tipo de dados)
4. Determinar a sequência da transferência de parâmetros
Procedimento
1. Carregar um programa principal no editor
2. No programa principal, declarar, inicializar e possivelmente manipular va-
riáveis
3. Criar acesso de subprograma com transferência de variável
4. Fechar e salvar o programa principal
5. Carregar um subprograma no editor
6. Complementar linha DEFcom variáveis e IN/OUT
7. No subprograma, declarar, inicializar e possivelmente manipular variáveis
8. Fechar e salvar o subprograma
Exemplo completo:
DEF MY_PROG( )
DECL REAL w
DECL INT a, b
w = 1.5
a = 3
b = 5
CALC(w, b, a)
; valores atuais
; w = 3.8
; a = 13
; b = 5
END
_______________________________________
DEF CALC(ww:OUT, bb:IN, aa:OUT)
; w <-> ww, b -> bb, a <-> aa
DECL REAL ww
DECL INT aa, bb
ww = ww + 2.3 ; ww = 1.5 + 2.3 =3.8 ->w
bb = bb + 5 ; bb = 5 + 5 = 10
aa = bb + aa ; aa = 10 + 3= 13 -> a
END
Objetivo do Após a conclusão com êxito deste exercício, você estará em condições de
exercício executar as seguintes atividades:
Técnica de subprogramas com transferência de parâmetros
Pré-requisitos São necessários os seguintes pré-requisitos para a conclusão com êxito des-
te exercício:
Conhecimentos sobre técnica de subprograma
Conhecimentos teóricos sobre a transferência de parâmetros
Conhecimentos teóricos sobre funções
; Calculation
X1 = X1 + 211 ; X1 = …………………
X2 = X2 - 312 ; X2 = …………………
X3 = X2 + X3 ; X3 = …………………
X4 = X4 * X5 ; X4 = …………………
X5 = X5 * 8 ; X5 = …………………
X6 = X6 – 40 ; X6 = …………………
END