Você está na página 1de 144

Treinamento de

Programação
Avançada de
Robôs Comau

Unidade de Negócios Robótica

Property of Comau S.p.A. - Duplication prohibited


TREINAMENTO DE PROGRAMAÇÃO AVANÇADA DE
ROBÔS COMAU – Ementa

 Introdução à linguagem de programação PDL2 e ao ambiente WinC5G


 Usando o WinC4G/WinC5G
 Descrição dos tipos de programas
 Descrição dos tipos de dados
 Exercícios práticos para criação de programas com movimento
 Criação de rotinas e funções
 Rotinas locais e globais
 Variáveis predefinidas do sistema
 Gerenciamento de conditions
 Programas non-holdable para diagnósticos
 Programas non-holdable para funções de TP
 Manipulação de arquivos
 Instalação do sistema de software
 Instalação do pacote de aplicativos
 Gerenciamento da comunicação
 Configuração de I/O

Property of Comau S.p.A. - Duplication prohibited 2


ESTRUTURA DO PROGRAMA PDL2

Um programa PDL2 é iniciado com a instrução PROGRAM. Esta instrução


identifica o programa com um nome definido pelo usuário. O mesmo
identifica também o arquivo no qual o programa foi memorizado.

O programa em si pode ser definido como HOLD ou NOHOLD, os programas


HOLD (holdable) são controlados mediante os comandos START e HOLD,
geralmente tais programas incluem instruções de movimento. Os programas
NOHOLD geralmente são utilizados para controle de processo e não podem
incluir um movimento, uma vez ativo não necessita de um START.

Property of Comau S.p.A. - Duplication prohibited 3


ESTRUTURA DO PROGRAMA PDL2

Os programas são subdivididos em uma área de declaração e uma área de


seção executável.

A área de declaração consiste em um conjunto de todas as rotinas e de


todas as categorias de dados que serão utilizados pelo programa, enquanto
a seção executável é formada por um conjunto de instruções que o
controlador deverá executar para efetuar uma tarefa.

As duas áreas são separadas pela instrução BEGIN. Para esta instrução, o
programador pode associar a opção CYCLE de modo a criar um ciclo
contínuo, e a instrução END, que indica o fim do programa.

Property of Comau S.p.A. - Duplication prohibited 4


ESTRUTURA DO PROGRAMA PDL2

Property of Comau S.p.A. - Duplication prohibited 5


UNIDADES DE MEDIDA EM PDL2

Distância: milímetros (mm)


Tempo: milíssegundos (ms)
Ângulo: graus (°)
Velocidade linear: metros/segundo (m/s)
Velocidade angular: radianos/segundo (rad/s)
Corrente: amperes (A)
Encoder/Resolver Data: revolutions (2 ms)

Property of Comau S.p.A. - Duplication prohibited 6


COMPONENTES DA LINGUAGEM

O PDL2 reconhece os caracteres elencados abaixo:

Letras:
abcdefchijklmnopqrstuvwxyz
ABCDEFGHI JKLMNOPQRSTUVWXYZ

Algarismos:
0123456789

Símbolos:
@<>=/*+,;.#S'[]%(}\:!()_
 
Caracteres Especiais:
blank (space), tab
 
O PDL2 não faz distinção entre letras maiúsculas e minúsculas.

Property of Comau S.p.A. - Duplication prohibited 7


PALAVRAS E SÍMBOLOS RESERVADOS

Trata-se de palavras, símbolos e operadores que têm um significado especial


e imutável no âmbito do PDL2. As palavras identificam as seções de um
programa, os tipos de dados e as palavras-chaves de uma instrução,
enquanto os símbolos ressaltam uma instrução. Enfim, os operadores
indicam um cálculo ou uma comparação.

No próximo slide são demonstrados todos os símbolos e palavras reservadas


na linguagem.

Property of Comau S.p.A. - Duplication prohibited 8


PALAVRAS E SÍMBOLOS RESERVADOS

Property of Comau S.p.A. - Duplication prohibited 9


IDENTIFICADORES PREDEFINIDOS

Os identificadores predefinidos constituem a porção restante das palavras que


fazem parte da linguagem PDL2. São utilizados para a identificação de
constantes, variáveis, campos e rotinas que o PDL2 já compreende. Os
identificadores predefinidos diferenciam-se das palavras reservadas pois o
significado de um identificador predefinido pode ser modificado pelo programador.
 
As constantes predefinidas são identificadores aos quais estão associados
valores pré-designados. Ao interno de um programa, é possível utilizar um
identificador de constante predefinida no lugar de um valor.

No próximo slide são demonstrados todos os identificadores reservados na


linguagem.

Property of Comau S.p.A. - Duplication prohibited 10


IDENTIFICADORES PREDEFINIDOS

Property of Comau S.p.A. - Duplication prohibited 11


VERIFICAÇÃO DA SINTAXE E DA SEMÂNTICA

O editor controla a sintaxe e a semântica de cada instrução de programa


durante a sua inserção e modificação.

Em caso de erro, o programador é imediatamente informado através de uma


janela de pop-up.

Em alguns casos, o editor corrige automaticamente o erro ou solicita ao


programador a sua correção.

Em outros casos, o editor assinala o erro com a marcação ~ERROR~ na


instrução de programa.

Property of Comau S.p.A. - Duplication prohibited 12


VERIFICAÇÃO DA SINTAXE E DA SEMÂNTICA

Exemplo:
PROGRAM teste NOHOLD
BEGIN CYCLE
~ERROR~ IF
WRITE (‘mensagem’, NL)
END teste

Neste caso, a linha onde aparece ~ERROR~ é um erro, pois a instrução IF está
incompleta. A marcação é removida automaticamente quando o programador
corrige o erro.

Qual palavra reservada completa a instrução IF citada no exemplo acima?

Property of Comau S.p.A. - Duplication prohibited 13


VERIFICAÇÃO DA SINTAXE E DA SEMÂNTICA

O editor de programa trata instruções de mais de uma linha como unidades.


Por exemplo, se o programador elabora WHILE $DIN [4] DO, o editor fornece
automaticamente uma linha ENDWHILE. Se o programador cancelar a linha
WHILE, o editor cancelará automaticamente toda instrução WHILE.

O editor processa o espaço e o uso das letras maiúsculas em modo padrão,


independentemente do modo no qual as instruções foram introduzidas.

Todos os identificadores dos usuários são visualizados com letras


minúsculas, enquanto todos aqueles predefinidos e as palavras reservadas
são visualizadas em letras maiúsculas.

Property of Comau S.p.A. - Duplication prohibited 14


INSTRUÇÕES

Os programas PDL2 são constituídos por instruções, formadas por associações dos
seguintes elementos:
 Palavras, símbolos e operadores reservados;
 Identificadores pré-definidos;
 Identificadores definidos pelo usuário.

A sintaxe das instruções deve estar correta, isto é, as instruções devem ser
estruturadas com base nas regras de sintaxe do PDL2. O editor contido no programa
fornece um suporte válido para garantir a sintaxe correta das instruções durante a
digitação das mesmas.

Alguns exemplos de instruções da linguagem de programação PDL2: DELAY, GOTO,


SELECT CASE, IF, ELSE ...

Property of Comau S.p.A. - Duplication prohibited 15


ESPAÇOS EM BRANCO E COMENTÉRIOS

Os espaços em branco servem para separar as palavras e os identificadores


reservados. Mesmo não sendo necessários, os espaços podem ser inseridos
entre os operadores e os relativos operandos (a + b ou a+b) ou podem ser
usados para estruturar as instruções. Em todo caso, o editor gera
automaticamente um espaço e uma estrutura padrão, independentemente
daqueles utilizados pelo programador.

Por comentário se entende uma parte do texto no interior de um programa que


não faz parte do programa de instruções. Tal comentário tem como símbolo
inicial dois hífens (--). O controle ignorará, portanto, o texto que acompanha os
dois hífens que não poderá superar o comprimento de 255 caracteres.
Geralmente, os comentários são usados pelo programador para esclarecer
algum ponto do programa.

Property of Comau S.p.A. - Duplication prohibited 16


IDENTIFICADORES DEFINIDOS PELO USUÁRIO

Os identificadores definidos pelo usuário são os nomes escolhidos pelo


programador para a identificação de:

 Programas
 Variáveis
 Constantes
 Rotinas
 Etiquetas
 Tipos de dados definidos pelo usuário
 Campos

Property of Comau S.p.A. - Duplication prohibited 17


IDENTIFICADORES DEFINIDOS PELO USUÁRIO

Um identificador definido pelo usuário deve começar com uma letra. Pode
conter uma quantidade qualquer de letras, cifras e caracteres de “underline” (
_ ). Este tipo de identificador pode ter um único significado no âmbito de um
determinado contexto.

O contexto de um identificador indica a seção de um programa que pode


referenciar o identificador.

Os identificadores de um programa estão contidos em outro contexto,


permitindo ao operador definir uma variável com o mesmo nome de um
programa.

Property of Comau S.p.A. - Duplication prohibited 18


REPRESENTAÇÃO DOS DADOS EM PDL2

Um tipo de dado define:


 Os tipos de valores associáveis a um dado;
 As operações que podem ser executadas no dado.

No PDL2 estão definidos os seguintes tipos de dados: INTEGER, VECTOR,


REAL, POSITION, BOOLEAN, JOINTPOS, STRING, XTNDPOS, ARRAY,
PATH, RECORD, SEMAPHORE e NODE.

Os programas PDL2 podem conter os seguintes dados:


 Variáveis, que representam valores que podem ser modificados;
 Constantes, que representam valores que não podem ser modificados;
 Literais, que representam os próprios valores.

Property of Comau S.p.A. - Duplication prohibited 19


VARIÁVEIS, CONSTANTES E LITERAIS

Variáveis e constantes são definidas por um identificador e por um tipo de dado.


Declarar uma variável consiste em associar um identificador a um tipo de dado.
Valores diferentes do tipo declarado podem ser atribuídos ao identificador ao longo
do programa. Um identificador de variável pode ser associado a qualquer um dos
tipos de dado.

A declaração de uma constante é efetuada associando um valor ao identificador.


Este valor não pode ser modificado ao interno do programa. O tipo de dado do
identificador é determinado pelo valor. Valores INTEGER, REAL, BOOLEAN e
STRING podem ser associados aos identificadores das constantes.

Os valores literais são os próprios valores usados no programa. Os mesmos


podem ser INTEGER, REAL ou STRING.

Property of Comau S.p.A. - Duplication prohibited 20


DADOS DO TIPO INTEGER

O tipo de dados INTEGER representa valores numéricos inteiros compreendidos


entre -2147483647 a +2147483647. As seguintes constantes predefinidas
representam, respectivamente, os valores INTEGER mínimo e máximo: MAXINT
MININT.

Um valor INTEGER pode ser representado como decimal (base 10), octal (base 8),
hexadecimal (base 16) ou binário (base 2). A base default para os valores
INTEGER é a decimal. Para poder representar um valor literal INTEGER em outra
base, deve-se colocar antes do número, a indicação 0o para um valor octal (0o72),
0x para um valor hexadecimal (OxFF), ou 0b para um valor binário (ObllOll). 

Property of Comau S.p.A. - Duplication prohibited 21


DADOS DO TIPO INTEGER

O PDL2 pode executar as seguintes operações nos dados de tipo INTEGER:

 Aritméticas (+, -, *, /, div, mod, ** , +=, -=)

 Relacionais (<, >, =, o, <=, >=)

 Em nível de bit (and, or, xor, not, shr, shl, ror, rol)

Property of Comau S.p.A. - Duplication prohibited 22


DADOS DO TIPO REAL

O tipo de dados REAL representa os valores numéricos que incluem uma


vírgula decimal e uma parte fracionária ou números expressos em notação
científica. O PDL2 pode executar as seguintes operações nos dados de tipo
REAL:
 Aritméticas (+, -, *, /, **)
 Relacionais (<, >, =, o, <=, >=)

Além disso, o PDL2 contém rotinas internas que permitem a execução de


outras funções do tipo REAL
 
Os valores do tipo REAL utilizados em um programa PDL2 são sempre
visualizados através de oito algarismos significativos.

Property of Comau S.p.A. - Duplication prohibited 23


DADOS DO TIPO BOOLEAN

O tipo de dados BOOLEAN representa as constantes booleanas predefinidas


TRUE (ON) e FALSE (OFF).
O PDL2 pode executar as seguintes operações nos dados da classe
BOOLEAN:

 Relacionais ( =, := )

 Booleanas (and, or, xor, not)

Property of Comau S.p.A. - Duplication prohibited 24


DADOS DO TIPO STRING

O tipo de dados STRING representa uma série de caracteres ASCII que são
considerados como um grupo único de dados. Um apóstrofo assinala o início e o fim de
um string.

Além dos caracteres ASCII imprimíveis, os strings podem conter também sequências
de controle. Uma sequência de controle é constituída por uma barra invertida (\)
acompanhada por um código ASCII qualquer de três algarismos.

Por exemplo:
Literal: ‘O código ASCII 126 é um til: \126’
Valor: O código ASCII 126 é um til: ~

Property of Comau S.p.A. - Duplication prohibited 25


DADOS DO TIPO STRING

O programador deve declarar o comprimento de um STRING, o comprimento


efetivo do valor STRING pode estar entre 0 e 254 caracteres. Um
comprimento 0 significa que o STRING está vazio. 

O PDL2 pode executar as seguintes operações nos dados de tipo STRING: 


 Relacional (<, >, =, o, <=, >=)

Property of Comau S.p.A. - Duplication prohibited 26


DADOS DO TIPO ARRAY

O tipo de dados ARRAY representa um agrupamento ordenado de dados, todos de


um mesmo tipo. Tipos de declarações possíveis: 
 INTEGER
 VECTOR
 POSITION
 REAL
 JOINTPOS
 BOOLEAN
 XTNDPOS
 STRING
 SEMAPHORE
 RECORD

Property of Comau S.p.A. - Duplication prohibited 27


DADOS DO TIPO ARRAY

O programador deve declarar a dimensão (uma ou duas) de cada ARRAY e o


número máximo de dados contidos em cada dimensão, até um máximo de
65535. (Obs: A dimensão efetiva poderá ser limitada pela quantidade de
memória de sistema disponível).

Todas as operações possíveis em um particular tipo de dados, podem ser


executadas em dados individuais de ARRAY daquele tipo. Um inteiro ARRAY
pode ser usado como argumento na chamada a uma rotina ou pode ser usado
em uma instrução de atribuição. Neste último caso, ambos os arrays devem ser
do mesmo tipo de dados e devem ter formato e dimensão iguais.

Os arrays SEMAPHORE não podem ser usados nas expressões de atribuição.

Property of Comau S.p.A. - Duplication prohibited 28


DADOS DO TIPO RECORD

O tipo de dados RECORD é composto por um ou mais dados que utilizam


um único nome. Cada dado pertencente a um record é denominado campo e
pode ser de qualquer um dos tipos de dados do PDL2, exceto
SEMAPHORE, RECORD, NODE ou PATH. 

Os tipos de dados predefinidos VECTOR, POSITION, e XTNDPOS são


exemplos de tipos de record. O usuário pode definir novos tipos de dados
record na seção TYPE de um programa. 

Property of Comau S.p.A. - Duplication prohibited 29


DADOS DO TIPO RECORD

O tipo de dados RECORD cria um tipo de dados definido pelo usuário que é
global em relação ao sistema inteiro. Isto significa que é possível que
ocorram conflitos entre definições RECORD que tenham o mesmo nome
mas que possuam campos diferentes. Tais conflitos acontecem durante o
carregamento dos programas. É aconselhável que o programador utilize uma
convenção unívoca para a nomeação dos tipos de dados RECORD. 

O programador pode definir tantos campos quanto queira em um RECORD


lembrando-se, porém, que a dimensão máxima de um record é de 65535
bytes. 

Property of Comau S.p.A. - Duplication prohibited 30


DADOS DO TIPO RECORD

Os campos individuais de um RECORD são identificáveis graças a um ponto


que separa o nome da variável do record do nome do campo.  
rec_var.field_name : = exp

Property of Comau S.p.A. - Duplication prohibited 31


DADOS DO TIPO VECTOR

O tipo de dados VECTOR representa um valor com direção e magnitude. É


constituído por três componentes do tipo REAL. Representa, geralmente,
uma posição ou direção cartesiana, com os componentes correspondendo às
coordenadas x, y, z. O PDL2 pode executar as seguintes operações em um
tipo de dado VECTOR:

 Aritméticas (+, -)
 Aritméticas (*, /) VECTOR-INTEGER, VECTOR-REAL e vice-versa
 Relacionais (=)
 Vetoriais (X,Y,Z)

Property of Comau S.p.A. - Duplication prohibited 32


DADOS DO TIPO POSITION

O tipo de dados POSITION é usado para descrever a posição de um sistema


cartesiano de coordenadas com relação a outro (chamado sistema inicial). 

Geralmente, um valor do tipo POSITION é usado para especificar a posição final


para uma instrução MOVE que é a posição a ser alcançada pela ferramenta,
instalada na extremidade do braço, com relação ao sistema do usuário. Os
valores tipo POSITION também definem os sistemas de coordenadas de
referência: por exemplo, a posição da base do robô ($BASE), as dimensões da
ferramenta na extremidade do braço ($TOOL) e o sistema de coordenadas do
usuário ligado à peça de trabalho ($UFRAME) (consultar a seção "Sistemas de
Coordenadas de Referência" no manual para uma definição geral dos sistemas
de coordenadas). 

Property of Comau S.p.A. - Duplication prohibited 33


DADOS DO TIPO POSITION

Notar que os valores tipo POSITION, além da posição, definem também a


orientação e, somente para os pontos finais, a configuração do robô.
Portanto, o tipo de dados POSITION é constituído por três componentes de
posição tipo REAL, três componentes de orientação tipo REAL e um valor
tipo STRING que contém os componentes de configuração.

Property of Comau S.p.A. - Duplication prohibited 34


DADOS DO TIPO JOINTPOS

O tipo de dados JOINTPOS representa a posição real das juntas do braço,


em graus. A cada articulação do braço corresponde um componente real.

Cada valor real é a distância efetiva que a articulação deve percorrer a partir
da sua posição predefinida "zero". Cada variável JOINTPOS está associada
a um braço específico e não pode ser utilizada para um braço diferente.
 
 

Property of Comau S.p.A. - Duplication prohibited 35


DADOS DO TIPO JOINTPOS

Os componentes individuais de JOINTPOS, como componentes tipo ARRAY,


são referenciados por índice numéricos. Por exemplo:
 
PROGRAM jnttest VAR
Real_var : REAL jomtpos_var : JOINTPOS BEGIN
real_var := joinzpos_var [5] jointpos_var [2] := real_exp END jnttest
 
Não existem operações para o tipo de dados JOINTPOS inteiro. O PDL2
fornece rotinas internas para executar manipulações no tipo de dados
JOINTPOS.

Property of Comau S.p.A. - Duplication prohibited 36


DADOS DO TIPO XTNDPOS

O tipo de dados XTNDPOS representa a posição do braço que envolve um


número de eixos maior do que está previsto na configuração básica do robô
(seis eixos). É utilizada para o movimento integrado de um grupo de eixos,
constituído por um braço de robô e alguns eixos auxiliares adicionais,
tratados como uma única unidade no sistema. Por exemplo, um valor tipo
XTNDPOS poderia ser utilizado para representar um robô montado em um
trilho. O robô e o trilho seriam tratados como um único braço pelo sistema.

Cada variável XTNDPOS está associada a um braço específico e não pode


ser utilizada para um braço diferente. 

Property of Comau S.p.A. - Duplication prohibited 37


DADOS DO TIPO XTNDPOS

O tipo de dados XTNDPOS é composto por uma posição cartesiana para o


robô e um ARRAY de valores de articulação para os eixos remanescentes.

Componentes individuais de um valor tipo XTNDPOS são referenciados


utilizando notação de campo com os campos predefinidos POS, um valor
tipo POSITION, e AUX, um ARRAY de valores tipo REAL.  

Não existem operações para o tipo de dados XTNDPOS inteiro.

Property of Comau S.p.A. - Duplication prohibited 38


DADOS DO TIPO NODE

O tipo de dados NODE é similar ao tipo RECORD pois representa uma


coleção de um ou mais tipos de dados agrupados sob um único nome. Cada
dado de um nó é chamado campo e pode ser de qualquer tipo de dados
PDL2 exceto SEMAPHORE, RECORD, NODE ou PATH. 

A diferença entre um NODE e um RECORD é que um NODE pode incluir um


grupo de campos de nó predefinidos além de campos definidos pelo usuário.
Os campos de nó predefinidos começam por $ e possuem um significado
conhecido pelo sistema idêntico àquele da variável predefinida
correspondente. A coleção de campos de nó predefinidos contém o destino e
a descrição de um único segmento de movimento.

Property of Comau S.p.A. - Duplication prohibited 39


DADOS DO TIPO NODE

Os valores de tipos nó são definidos na seção TYPE do programa. A


definição do tipo nó cria um tipo de dado definido pelo usuário que é global
para todo o sistema. Isto significa que é possível que ocorram conflitos entre
definições RECORD e NODE que tenham o mesmo nome mas que possuam
campos diferentes. Tais conflitos acontecem durante o carregamento dos
programas. É aconselhável que o programador utilize uma convenção
unívoca para as definições de RECORD e NODE. 

A dimensão máxima de um nó é de 65535 bytes

Property of Comau S.p.A. - Duplication prohibited 40


DADOS DO TIPO PATH

O tipo de dado PATH (percurso) representa uma sequência de nós a serem


interpretados em um único movimento. O tipo de dado PATH é um record
predefinido que contém os campos NODE, FRM_TBL e CONDJTBL. 

O campo NODE é um ARRAY de nós representando uma sequência de nós.


É dinâmico no comprimento, o que significa que nós podem ser adicionados
ou removidos da tabela durante a execução. O número máximo de nós em
um percurso é 65535 mas a quantidade de memória no sistema pode não
permitir tantos nós. 

Property of Comau S.p.A. - Duplication prohibited 41


DADOS DO TIPO PATH

A estrutura dos nós no array NODE é determinado pela definição de nó do


usuário declarada na seção TYPE do programa. Cada nó contém um destino
e uma descrição para um único segmento de movimento. Notar que é
possível ter diferentes percursos usando diferentes definições de nós,
entretanto, todos os nós em um mesmo percurso devem ter a mesma
definição de nó. 

O valor de tipo nó é global para o sistema. Isto significa que é possível que
ocorram conflitos entre tipos de nós que tenham o mesmo nome mas que
possuam campos diferentes. É aconselhável que o programador utilize uma
convenção unívoca para as definições de nós para evitar tais conflitos.

Property of Comau S.p.A. - Duplication prohibited 42


DADOS DO TIPO SEMAPHORE

O tipo de dado SEMAPHORE (semáforo) representa um auxílio para


sincronização quando há múltiplos programas concorrentes que dividem as
mesmas fontes. Um SEMAPHORE, ou um array de SEMAPHOREs é
utilizado para obter uma mútua exclusão de um recurso de modo que cada
um dos programas não possa agir sobre o mesmo contemporaneamente.
 
Nenhuma operação é possível no tipo de dado SEMAPHORE inteiro, mas as
seguintes instruções utilizam variáveis SEMAPHORE:

 WAIT
 SIGNAL

Property of Comau S.p.A. - Duplication prohibited 43


DECLARAÇÕES DE CONSTANTES

As Constantes são declaradas na seção CONST de um programa.

A declaração de uma constante estabelece dois atributos a um identificador de


constante: um nome e um valor invariável.

O tipo de dado de uma constante é definido pelo valor que lhe é atribuído, que pode ser
um INTEGER, um REAL, um BOOLEAN, ou um STRING. Ao interno do programa é
possível utilizar o identificador no lugar do seu valor.

A sintaxe a ser utilizada para a declaração de uma constante é a seguinte:


name = || literal I predef_const_id II
As declarações de constantes aparecem na respectiva seção, após a palavra reservada
CONST.

Property of Comau S.p.A. - Duplication prohibited 44


DECLARAÇÕES DE VARIÁVEIS

As Variáveis são declaradas na seção VAR de um programa.

A declaração de uma variável estabelece um identificador de variável e um tipo


de dado. O tipo de dado de uma variável é definido pelo atributo que lhe é
informado. Ao interno do programa é possível utilizar o identificador no lugar do
seu valor.

A sintaxe a ser utilizada para a declaração de uma variável é a seguinte:


name : tipo de dado

As declarações de variáveis aparecem na respectiva seção, após a palavra


reservada VAR.

Property of Comau S.p.A. - Duplication prohibited 45


ROTINAS

Uma rotina é estruturada como um programa, embora geralmente executa tarefa


simples. Rotinas servem para encurtar e simplificar o programa principal. As tarefas
que se repetem em um programa ou são comuns a diferentes programas, podem ser
isoladas em determinadas rotinas.

Um programa pode chamar mais de uma rotina e pode chamar a mesma rotina mais
de uma vez. Quando um programa chama uma rotina, o controle é transferido para a
rotina e as condições presentes na rotina são executadas. Após a execução da
rotina , o controle é devolvido ao ponto de onde a rotina foi chamada. As rotinas
podem ser chamadas de
qualquer lugar dentro da seção executável de um programa ou rotina.

O programador descreve as rotinas na seção de declaração de um programa. A


estrutura de uma rotina é semelhante à estrutura de um programa.

Property of Comau S.p.A. - Duplication prohibited 46


ROTINAS DE FUNÇÃO OU PROCEDIMENTO

Uma rotina de procedimento possui uma sequência de instruções que são


chamadas e executadas como se fossem uma única instrução executável. Por
exemplo uma rotina de fechamento de uma garra; em seu interior estão contidas
várias instruções mas o objetivo principal é fechar a garra, ou seja ela é vista
simplesmente como: rotina de fechamento da garra.

A rotina de função possui uma sequência de cálculos que resultam em um único


valor a ser devolvido. Ela é chamada e executada a partir de uma expressão.

Rotinas de função, muitas vezes são usadas como parte de um teste de controle,
em um loop ou de desvio condicional, ou como parte de uma expressão,
utilizando uma instrução de atribuição, como uma variável boleana por exemplo.

Property of Comau S.p.A. - Duplication prohibited 47


ROTINAS DE PARÂMETROS

Para tornar as rotinas mais generalizadas para o uso em diferentes


circunstâncias, o programador pode usar rotinas de parâmetros em vez de
usar constantes ou variáveis do programa diretamente. Os dados são
declarados como parte da declaração de rotina. Quando a rotina é chamada,
os dados são passados para as rotinas de parâmetros a partir de uma lista
de argumentos na chamada da rotina. O número de argumentos executados
por uma rotina deve ser igual ao número de parâmetros declarados para a
rotina. Os argumentos também devem corresponder ao tipo de dados
declarado dos parâmetros.

O exemplo a seguir mostra como a rotina time_out pode ser mais geral,
incluindo um parâmetro para o índice de sinal de entrada.

Property of Comau S.p.A. - Duplication prohibited 48


ROTINAS DE PARÂMETROS

PROGRAM input_check
ROUTINE time_out (input : INTEGER) : BOOLEAN
--verifica se a entrada é recebida dentro do tempo limite
CONST
time_limit = 3000
VAR
time_slice : INTEGER
BEGIN
$TIMER[1] := 0
REPEAT
time_slice := $TIMER[1]
UNTIL ($DIN[input] = ON) OR (time_slice > time_limit)

Property of Comau S.p.A. - Duplication prohibited 49


ROTINAS DE PARÂMETROS

IF time_slice > time_limit THEN


RETURN (TRUE)
ELSE
RETURN (FALSE)
ENDIF
END time_out
BEGIN -- main program
IF time_out(6) THEN
WRITE (Timeout Occurred)
ENDIF
END input_check

Property of Comau S.p.A. - Duplication prohibited 50


DECLARANDO UMA ROTINA

A sintaxe para a declaração de uma rotina de função ou procedimento é a


seguinte:

ROUTINE proc_name <parameter_list>


<constant and variable declarations>
BEGIN
<statement...>
END proc_name

Property of Comau S.p.A. - Duplication prohibited 51


DECLARANDO UMA ROTINA

A sintaxe da declaração de uma rotina de função inclui o tipo de retorno de


dados e deve incluir pelo menos uma instrução de retorno que será
executado, como segue:

ROUTINE func_name <parameter_list> : return_type


<constant and variable declarations>
BEGIN
<statement...> must include RETURN statement
END func_name

Property of Comau S.p.A. - Duplication prohibited 52


ROTINAS E VARIÁVEIS COMPARTILHADAS

Através da cláusula opcional EXPORTED FROM, é possível declarar as


variáveis e as rotinas como pertencentes a outro programa ou como não
exclusivas e utilizáveis por outros programas. Isto permite a programas de usar
as mesmas variáveis e rotinas. A cláusula EXPORTED FROM pode ser
utilizada em qualquer declaração de variável ou de rotina.

A sintaxe para a declaração de uma rotina compartilhada é a seguinte:


 
EXPORTED FROM nome_prog

Nome_prog indica o nome do programa ao qual pertence à variável ou a rotina


especificada.

Property of Comau S.p.A. - Duplication prohibited 53


ROTINAS E VARIÁVEIS COMPARTILHADAS

Se este nome for igual àquele do programa onde reside a instrução, o


acesso à variável/rotina será permitido por outros programas. 

Se nome_prog for diferente do nome do programa onde reside a instrução, a


variável/rotina pertencerá ao nome_prog. Neste caso, o programa que
contém o dado deverá também exportá-lo, caso contrário, verificar-se-á um
erro no momento do carregamento do programa

Property of Comau S.p.A. - Duplication prohibited 54


OPERADORES ARITMÉTICOS

Os operadores aritméticos são:

+ adição INTEGER, REAL ou VECTOR


- subtração INTEGER, REAL ou VECTOR
* multiplicação INTEGER, REAL ou VECTOR
DIV divisão INTEGER (resultados fracionários truncados)
/ divisão REAL ou VECTOR
MOD módulo INTEGER (resto)
** exponenciação INTEGER ou REAL
+= incremento INTEGER
-= decremento INTEGER

Property of Comau S.p.A. - Duplication prohibited 55


OPERADORES RELACIONAIS

Os operadores relacionais são:

< — menor que


> — maior que
= — igual a
< = — menor ou igual a
> = — maior ou igual a
<> — diferente

Property of Comau S.p.A. - Duplication prohibited 56


OPERADORES LÓGICOS

Os operadores lógicos são:

AND TRUE se ambos operandos são TRUE


OR TRUE se pelo menos um dos operandos for TRUE
XOR TRUE se somente um operando for TRUE
NOT Inverso do operando BOOLEAN

Property of Comau S.p.A. - Duplication prohibited 57


MATRIZES DE PORTAS

As matrizes de porta utilizadas no PDL2 são: matrizes de portas digitais,


analógicas e grupos configuradas pelo usuário para predispor aplicações
específicas de E/S.
 
Matrizes de portas definidas pelo sistema, mapeadas internamente para
dispositivos de sistema como os dispositivos operador, braços e temporizadores.
 
Matrizes de portas da memória compartilhada utilizadas pelos programas PLC e
PDL2 para comunicação entre os mesmos.
 
Matrizes de portas definidas pelo usuário utilizadas para ter acesso aos
dispositivos definidos pelo usuário

Property of Comau S.p.A. - Duplication prohibited 58


MATRIZES DE PORTAS

 $DIN e $DOUT: permitem o acesso por parte do programa a entradas ou


saídas digitais. O PDL2 trata estes dados como um valor boleano.

 $IN e $OUT: são portas digitais, reservadas para aplicações. 

 $GIN e $GOUT: permitem o acesso, por parte do programa, aos dados de


um grupo de sinais de entrada ou de saída. O PDL2 trata estes dados como
um valor INTEGER.

 $AIN e $AOUT: permitem o acesso, por parte do programa, aos dados


na forma de sinal analógico.

Property of Comau S.p.A. - Duplication prohibited 59


MATRIZES DE PORTAS

 $FMI e $FMO: portas flexíveis para aplicação que assumem sempre


valores inteiros.

 $SDIN e $SDOUT: permitem o acesso somente de leitura, por parte do


programa, aos dados em sinais definidos pelo sistema como se fossem
linhas individuais de entrada ou de saída.

 $FDIN e $FDOUT: permitem o acesso, por parte do programa, aos dados


nos sinais definidos pelo sistema como se fossem linhas individuais de
entrada ou de saída. Tais sinais correspondem às teclas função e aos LEDs
no painel de controle, no terminal de programação e no CRT.

Property of Comau S.p.A. - Duplication prohibited 60


GESTORES DE CONDIÇÃO

Os gestores de condição permitem a um programa monitorar determinadas


condições em paralelo com a execução normal e executar as ações
associadas no caso em que tais condições sejam satisfeitas.

Utilizações típicas compreendem o monitoramento e controle das unidades


periféricas e a gestão dos erros. 

Por exemplo, o seguinte gestor de condição controla se existe uma condição


de PAUSE. Quando o programa for colocado no estado pause, a saída
digital $DOUT[21] será desabilitada. Este exemplo pode ser utilizado para
sinalizar uma ferramenta que deve desligar-se caso um programa seja
inesperadamente colocado no estado de pause.

Property of Comau S.p.A. - Duplication prohibited 61


GESTORES DE CONDIÇÃO

CONDITION[1 ]: --define o gestor de condição


WHEN PAUSE DO
$DOUT[21] : = OFF
ENDCONDITION 
ENABLE CONDITION[1] --habilita o gestor de condição

CONDITION [numero] <FOR ARM [N]> <NODISABLE> <ATTACH> <SCAN(numero)> :


WHEN expr_cond DO
<Lista_ações>. . .
WHEN expr_cond DO
<Lista_ações>. . .
ENDCONDITION

Property of Comau S.p.A. - Duplication prohibited 62


GESTORES DE CONDIÇÃO

O programador identifica cada gestor de condição mediante o número, uma


expressão INTEGER que deve estar compreendida entre 1 e 255.

As condições a serem monitoradas estão especificadas na expressão de


condição (expr _cond). Muitas condições podem ser combinadas em uma
única expressão utilizando os operadores BOOLEAN AND e OR. Quando a
expressão se torna TRUE, o gestor de condição é ativado. O elenco das
ações (Lista_ações) especifica as ações a serem executadas quando o
gestor for ativado.

Property of Comau S.p.A. - Duplication prohibited 63


GESTORES DE CONDIÇÃO

CLÁUSULA OPCIONAL FOR ARM


A cláusula opcional FOR ARM pode ser utilizada para designar um braço
especial para o gestor de condição. Se uma condição possuir a cláusula
FOR ARM especificada, um evento de movimento ativará tal braço.
Analogamente, qualquer ação relacionada com braços será aplicável ao
braço especificado por FOR ARM. Se FOR ARM não for especificada, o
braço default (PROG_ARM ou $DFT_ARM) será usado para qualquer ação
relacionada com braços. Eventos de movimento habilitados globalmente
serão aplicáveis a qualquer braço enquanto que eventos locais serão
aplicáveis somente ao braço da instrução MOVE ao qual estão associados
(através da opção WITH).

Property of Comau S.p.A. - Duplication prohibited 64


GESTORES DE CONDIÇÃO

CLÁUSULA OPCIONAL NODISABLE

A cláusula opcional NODISABLE indica que o gestor de condição não será


desabilitado automaticamente quando a condição for ativada.

A cláusula NODISABLE não é permitida nos gestores que contenham


condições de estado.

Property of Comau S.p.A. - Duplication prohibited 65


GESTORES DE CONDIÇÃO

CLÁUSULA OPCIONAL SCAN


A cláusula opcional SCAN pode ser usada para indicar uma taxa diferente para a
varredura do gestor de condição.

Se este atributo não for especificado, o gestor de condição será monitorado de


acordo com o tempo de varredura definido no sistema (valor STUNE[1]). Se a
cláusula SCAN estiver presente na definição da condição, as expressões
contidas em tal gestor de condição serão verificadas com uma frequência menor.

Uma variável ou expressão INTEGER positiva deve ser especificada entre


parênteses ao lado da cláusula SCAN; este número indica o fator multiplicativo a
ser aplicado à taxa de varredura normal de monitoração do gestor de condição.

Property of Comau S.p.A. - Duplication prohibited 66


GESTORES DE CONDIÇÃO

CLÁUSULA OPCIONAL ATTACH


Definindo a cláusula opcional ATTACH (reserva) obtém-se a imediata
reserva do gestor de condição. Se não for especificada, o gestor de condição
pode se reservado em um ponto qualquer do programa através da instrução
ATTACH CONDITION. 

A sintaxe para a instrução ATTACH CONDITION é a seguinte: 

ATTACH CONDITION [número] <CONDITION [número]>. . .


 

Property of Comau S.p.A. - Duplication prohibited 67


GESTORES DE CONDIÇÃO

No caso de reserva de um gestor de condição, somente o código


pertencente ao mesmo programa que contém a instrução ATTACH pode ser
utilizado para habilitar, desabilitar, remover, redefinir o gestor de condição ou
por fim ao seu controle exclusivo por parte do programa através da instrução
DETACH. A sintaxe é a seguinte: 

DETACH CONDITION II ALL I [número] <CONDITION [número]>... II 

Utilizando a opção ALL é abandonado o controle exclusivo de todos os


gestores de condição reservados. Caso contrário, somente os gestores
especificados terão as suas condições de reserva removidas.

Property of Comau S.p.A. - Duplication prohibited 68


GESTORES DE CONDIÇÃO

ESTADOS BOOLEAN
Uma condição de estado BOOLEAN verifica uma variável BOOLEAN em todas as
varreduras. A condição é satisfeita quando a variável for TRUE. Quando for
utilizada em uma cláusula TIL ou WHEN, a variável BOOLEAN não pode ser uma
variável local ou um parâmetro.

O operador BOOLEAN NOT pode ser utilizado para especificar que a condição
será satisfeita quando a variável for FALSE.

Quando duas condições de estado de variáveis BOOLEAN forem combinadas com


os operadores AND ou OR, não se deve utilizar parênteses por fora da expressão.
Caso sejam usados, o editor trata a expressão com um igual (=) ao invés de AND
ou OR.

Property of Comau S.p.A. - Duplication prohibited 69


GESTORES DE CONDIÇÃO

ESTADOS PORTAS DIGITAIS


Uma condição de estado de uma porta digital monitora um dos sinais das
matrizes de portas digitais de E/S. O sinal é testado em todas as varreduras.

A condição é satisfeita se o sinal estiver ativado durante a varredura. O


operador BOOLEAN NOT pode ser utilizado para indicar que a condição será
satisfeita se o sinal estiver desativado durante a varredura.

Property of Comau S.p.A. - Duplication prohibited 70


GESTORES DE CONDIÇÃO

EVENTOS DE PORTAS DIGITAIS


Uma condição de evento de uma porta digital também monitora o estado de
um sinal digital de E/S das matrizes de portas. As matrizes $DIN, $DOUT,
$SDIN, $SDOUT e $BIT podem ser monitoradas como eventos. A $FDIN
não pode ser monitorada como evento.

Para os eventos, o valor inicial do sinal é testado quando o gestor de


condição for habilitado. Cada varredura verifica se ocorreu a modificação
especificada do sinal. A condição será satisfeita quando a modificação
ocorrer enquanto o gestor de condição estiver habilitado.

Property of Comau S.p.A. - Duplication prohibited 71


GESTORES DE CONDIÇÃO

EVENTOS DE SISTEMAS
Uma condição de evento de sistema monitora um evento gerado pelo sistema.
A condição será satisfeita quando o evento especificado ocorrer enquanto o
gestor de condição estiver habilitado. A varredura da expressão de condição é
efetuada somente quando ocorre um evento de sistema.

Os eventos de sistema compreendem:


 POWER UP: restabelecimento da execução do programa após uma falha na
alimentação;
 HOLD: cada acionamento da tecla HOLD ou execução de uma instrução do
PDL2;
 START: cada acionamento da tecla START;

Property of Comau S.p.A. - Duplication prohibited 72


GESTORES DE CONDIÇÃO

 Código EVENT : ocorrência de um evento de sistema, identificado por um


código;
 SEGMENT WAIT var_path: o campo $SEG_WAIT do nó executado é
TRUE;
 WINDOW SELECT num_scrn: seleção de uma janela de entrada diferente
na tela.

Property of Comau S.p.A. - Duplication prohibited 73


GESTORES DE CONDIÇÃO

EVENTOS DE ERROS
Uma condição de eventos de erro monitora a ocorrência de um erro. A
condição será satisfeita quando o evento de erro especificado ocorrer
enquanto o gestor de condição estiver habilitado. A expressão de condição é
verificada somente quando ocorre um erro.

Os eventos de erro compreendem:


 

 ANYERROR: ocorrência de qualquer erro.


 ERRORCLASS: ocorrência de um erro que pertence à classe
 ERRORNUM: ocorrência de um erro, identificado pelo número.

Property of Comau S.p.A. - Duplication prohibited 74


GESTORES DE CONDIÇÃO

EVENTOS DE USUÁRIO
Esta classe de eventos pode ser usada como um meio para a sincronização
de programas. 

O usuário pode definir o seu próprio evento especificando um número


incluído no intervalo de 49152 à 50175 com a condição EVENT. 

A condição será satisfeita quando a instrução SIGNAL EVENT ocorrer


para o número de evento especificado.

Property of Comau S.p.A. - Duplication prohibited 75


GESTORES DE CONDIÇÃO

EVENTOS DE PROGRAMA
Uma condição de evento de programa efetua o monitoramento de um evento gerado
pelo programa. A condição é satisfeita quando o evento de programa
especificado ocorre enquanto o gestor de condição estiver habilitado. A verificação da
expressão de condição é efetuada somente quando ocorre um evento de programa.

Os eventos de programa compreendem:


 ACTIVATE: ativação da execução do programa.
 DEACTIVATE: desativação da execução do programa.
 PAUSE: pausa na execução do programa.
 UNPAUSE: eliminação da pausa na execução do programa.
 EXIT CYCLE: abandono do ciclo corrente e início do ciclo sucessivo.

Property of Comau S.p.A. - Duplication prohibited 76


GESTORES DE CONDIÇÃO

AÇÕES INTERNAS
As ações internas são procedimentos internos que podem ser utilizados
como ações de um gestor de condição.

Geralmente, as ações permitidas são somente BIT_SET, BIT_CLEAR e


BIT_ASSIGN.

Quando um procedimento interno for chamado como ação, as variáveis


locais não podem ser utilizadas como parâmetros passados por referência.

Property of Comau S.p.A. - Duplication prohibited 77


GESTORES DE CONDIÇÃO

AÇÕES DE ATRIBUIÇÃO
A ação de atribuição, atribui um valor a uma variável estática definida pelo
usuário, a uma variável de sistema ou a uma porta de saída. O valor pode
ser uma variável estática definida pelo usuário, uma variável predefinida, um
elemento de matriz de portas, uma constante ou um valor literal. Não é
possível utilizar uma variável local ou um parâmetro como valor ou como
variável atribuída. 

Se for utilizada uma variável como operando à direita do operador :=, a


mesma não precisa ser inicializada quando for definido o gestor de condição
ou quando a ação ocorrer.

Property of Comau S.p.A. - Duplication prohibited 78


GESTORES DE CONDIÇÃO

AÇÃO DE INCREMENTO E AÇÃO DE DECREMENTO


A ação de incremento soma um valor a uma variável de programa inteira. A
ação decremento subtrai um valor de uma variável de programa inteira. O
valor pode ser uma variável estática definida pelo usuário, uma constante ou
um valor literal. 

Uma variável local ou parâmetro não pode ser usado como o valor ou como a
variável atribuída.

Caso uma variável seja usada como o operando à direita do operador += ou


-= , não é necessário que seja inicializada quando o gestor de condição for
definido ou quando a ação ocorrer.

Property of Comau S.p.A. - Duplication prohibited 79


GESTORES DE CONDIÇÃO

AÇÕES DE MOVIMENTO E AÇÕES DE BRAÇO


As ações de movimento cancelam ou retomam um movimento e as ações de
braço liberam, bloqueiam e desbloqueiam os braços. Tais ações têm o mesmo
efeito das instruções correspondentes, como descrito no capítulo "Controle do
Movimento".

As seguintes ações (exceto SIGNAL SEGMENT) podem ser utilizadas no braço


default, em um ou mais braços especificados ou em todos os braços.

A ação RESUME não produzirá sempre a ordem de execução esperada em


uma lista de ações. A ação RESUME é executada sempre após todas as
outras ações com exceção da ação de chamada de rotina.

Property of Comau S.p.A. - Duplication prohibited 80


GESTORES DE CONDIÇÃO

O restante das ações são executadas na ordem na qual ocorrem.

 CANCEL: cancela o movimento.


 SIGNAL SEGMENT: retoma o movimento do percurso.
 DETACH: libera um ou mais braços reservados.
 LOCK: bloqueia um ou mais braços.
 RESUME: retoma um movimento suspendido devido a uma instrução.
 LOCK. 
 UNLOCK: desbloqueia um ou mais braços

Property of Comau S.p.A. - Duplication prohibited 81


GESTORES DE CONDIÇÃO

AÇÕES DOS GESTORES DE CONDIÇÃO


As ações dos gestores de condição executam as seguintes operações:

 ENABLE CONDITION: habilita o(s) gestor(es) de condição especificado(s).

 DISABLE CONDITION: desabilita o(s) gestor(es) de condição


especificado(s).

 PURGE CONDITION: remove o(s) gestor(es) de condição especificado(s).

 DETACH CONDITION: libera o(s) gestor(es) de condição especificado(s)

Property of Comau S.p.A. - Duplication prohibited 82


CONTROLE DE FLUXO NA EXECUÇÃO DE UM
PROGRAMA

A execução de um programa começa geralmente com a primeira instrução,


colocada geralmente após a instrução BEGIN, e prossegue até chegar à
instrução END. O PDL2 contém instruções que modificam esta ordem de
execução nos seguintes modos:

Escolha das alternativas:


Instrução IF
Instrução SELECT 

Property of Comau S.p.A. - Duplication prohibited 83


CONTROLE DE FLUXO NA EXECUÇÃO DE UM
PROGRAMA

Malha:
Instrução FOR
Instrução WHILE
Instrução REPEAT
 
Salto incondicional: 
Instrução GOTO

Property of Comau S.p.A. - Duplication prohibited 84


INSTRUÇÃO IF

A instrução IF permite ao programa escolher entre dois possíveis fluxos de


execução com base no resultado de uma expressão BOOLEAN.

Se a expressão for TRUE (verdadeira), as instruções colocadas após á


cláusula IF serão executadas. O controle do programa passa, depois, à
instrução colocada após o ENDIF.

Se a expressão for FALSE (falsa), as instruções colocadas após a cláusula


IF são saltadas e o controle do programa passa à instrução colocada após o
ENDIF.

Property of Comau S.p.A. - Duplication prohibited 85


INSTRUÇÃO IF

Um cláusula ELSE opcional, posicionada entre a última instrução da cláusula


IF e o ENDIF, pode ser utilizada para executar uma série de instruções caso
a expressão BOOLEAN seja FALSE.

Ao interno das cláusulas IF ou ELSE é possível inserir um número qualquer


de instruções PDL2 executáveis, assim como, também, outras instruções IF.

Property of Comau S.p.A. - Duplication prohibited 86


INSTRUÇÃO SELECT

A instrução SELECT permite ao programa escolher entre algumas


alternativas com base no resultado de uma expressão INTEGER . Cada uma
dessas alternativas é denominada caso.

O resultado da expressão INTEGER é comparado com o valor de cada caso,


procurando identificar uma correspondência.

Se existir correspondência, serão executadas as instruções referentes


àquele caso e o controle do programa passa à instrução colocada após a
instrução ENDSELECT. Todos os outros casos são saltados.

Property of Comau S.p.A. - Duplication prohibited 87


INSTRUÇÃO SELECT

Uma cláusula opcional ELSE, posicionada entre o último caso e a instrução


ENDSELECT, pode ser usada para executar uma série de instruções se a
expressão INTEGER não corresponder a nenhum dos valores dos casos.
Sem esta cláusula ELSE, um erro é sinalizado caso não ocorra a
correspondência a um dos valores dos casos.

Os valores INTEGER em cada caso podem ser constantes ou valores literais


predefinidos ou definidos pelo usuário. Não são permitidas expressões. Além
disso, não é possível utilizar o mesmo valor INTEGER em mais de um caso.

Property of Comau S.p.A. - Duplication prohibited 88


INSTRUÇÃO FOR

A instrução FOR é utilizada quando for necessário repetir uma sequência de


instruções por um determinado número de vezes (malha ou loop). É baseada
em uma variável INTEGER a qual é atribuído inicialmente um valor de partida
e que será, depois, incrementado ou decrementado cada vez que o loop for
executado até alcançar um valor final.

Os valores inicial e final são especificados como expressões INTEGER. Antes


de cada loop, o valor da variável INTEGER é comparado com o valor final.

Se o loop for do tipo incremento, a partir do valor de partida ao valor final (TO)
será utilizado um teste "menor ou igual a". Em caso de resultado negativo
deste teste, o loop não será executado.

Property of Comau S.p.A. - Duplication prohibited 89


INSTRUÇÃO FOR

Se o valor do STEP for um, o loop será executado por um número de vezes
igual ao valor absoluto (valor final - valor inicial + 1).
 
Se o loop for do tipo decremento, do valor inicial até o valor final (DOWNTO)
será utilizado um teste "maior ou igual a". Em caso de resultado negativo
deste teste, o loop não será executado.

Property of Comau S.p.A. - Duplication prohibited 90


INSTRUÇÃO WHILE

A instrução WHILE executa uma sequência de instruções enquanto uma


expressão BOOLEAN for true (verdadeira).

Se antes de começar o loop, a instrução BOOLEAN for FALSE (falsa), o loop


não será executado.

Property of Comau S.p.A. - Duplication prohibited 91


INSTRUÇÃO REPEAT

A instrução REPEAT faz com que uma sequência de instruções seja


executada até quando uma expressão BOOLEAN for TRUE.

O loop será sempre executado pelo menos uma vez, mesmo se a expressão
BOOLEAN seja TRUE antes que o mesmo seja executado pela primeira vez.

Property of Comau S.p.A. - Duplication prohibited 92


INSTRUÇÃO GOTO

A instrução GOTO gera um salto incondicional que permite uma


transferência direta do controle a outra parte do programa saltando as
condições intermediárias.

Na maior parte dos casos, onde for necessário um loop ou um fluxo não
sequencial do programa ao interno de um programa, esta instrução pode ser
utilizada junto às outras instruções de controle descritas neste capítulo.

As instruções de salto incondicional devem ser consideradas como última


solução, quando nenhuma outra instrução de controle funciona.  

Property of Comau S.p.A. - Duplication prohibited 93


INSTRUÇÃO GOTO

Com a instrução GOTO o controle do programa passa a um ponto


especificado mediante uma etiqueta da instrução, um identificador de
constante colocado na margem esquerda.

A etiqueta da instrução é acompanhada por dois pontos consecutivos (::).

As instruções executáveis podem ser colocadas na mesma linha da etiqueta


ou nas linhas seguintes.

Property of Comau S.p.A. - Duplication prohibited 94


INSTRUÇÃO DELAY

A instrução DELAY suspende por um período de tempo especificado a execução do


programa a partir do qual tenha sido emitida.

Sintaxe: DELAY expr_int


Comentários: expr_int indica o período de tempo em milísegundos.
DELAY represente uma instrução assíncrona; a mesma continua a ser executada
mesmo se o programa for pausado e permite o início das rotinas de interrupção antes do
seu encerramento.

Exemplo
MOVE TO pnt xxx
DELAY 20000
MOVE TO pny yyy

Property of Comau S.p.A. - Duplication prohibited 95


INSTRUÇÃO BEGIN

A instrução BEGIN marca o início das instruções executáveis em um


programa ou em uma rotina.

Sintaxe: BEGIN<CYCLE>
Comentários: As seções de declarações de variáveis, tipos e constantes
devem ser colocadas antes da instrução BEGIN.

A opção CYCLE é permitida para qualquer instrução BEGIN de programa,


mas não pode ser utilizada por um instrução BEGIN dentro de uma rotina.

Property of Comau S.p.A. - Duplication prohibited 96


INSTRUÇÃO BEGIN

A opção CYCLE cria um ciclo contínuo. Quando for encontrada a instrução


END do programa, a execução prosseguirá recomeçando pela instrução
BEGIN. O ciclo continuará até que o programa não seja desativado ou até
que não seja executada uma instrução EXIT CYCLE.

Uma instrução EXIT CYCLE termina o ciclo em andamento: a execução


prossegue imediatamente recomeçando pela instrução BEGIN.

Property of Comau S.p.A. - Duplication prohibited 97


INSTRUÇÃO END

A instrução END marca o fim de um programa ou de uma rotina.

Sintaxe: END nome

Comentários: nome é o identificador definido pelo usuário utilizado para dar


um nome ao programa ou rotina.

Se a instrução END estiver presente em uma rotina tipo procedimento, o


controle do programa é restituído à rotina ou programa que a chama.

Property of Comau S.p.A. - Duplication prohibited 98


INSTRUÇÃO WAIT FOR

A instrução WAIT FOR suspende a execução do programa até que seja


satisfeita a condição especificada.

Exemplo:
WAIT FOR $DOUT[24]+

Property of Comau S.p.A. - Duplication prohibited 99


INSTRUÇÃO ACTIVATE

Os programas carregados em memória podem ser ativados em modo


concorrente através da instrução ACTIVATE. É possível somente uma
ativação de um determinado programa em um determinado momento.

O resultado da ativação de um programa depende do atributo holdable ou


non-holdable do programa que envia a instrução e do programa que deve ser
ativado.

Se a instrução for emitida por um programa non-holdable, os programas


holdable são colocados em estado de ready e os programas non-holdable
são colocados em estado de running. Se a instrução for emitida por um
programa holdable, os programas serão colocados em estado de running.

Property of Comau S.p.A. - Duplication prohibited 100


INSTRUÇÃO PAUSE

A instrução PAUSE coloca um programa em estado paused. Para reativar o programa é


necessário executar uma operação UNPAUSE.

A instrução PAUSE em um programa em fase ready, o coloca em estado paused-ready.

Durante o estado paused de um programa, as seguintes operações continuam sendo


executadas:
 Movimentos em andamento ou pendentes;
 Varredura dos gestores de condição;
 Pulsos de saídas em andamento;
 Chamadas ao sistema em andamento ou pendentes;
 Instruções assíncronas (DELAY, PULSE, WAIT, etc).

Property of Comau S.p.A. - Duplication prohibited 101


INSTRUÇÃO PAUSE

Se especificado o nome_prog ou um elenco de nomes, os programas


indicados serão colocados em estado paused.

Se não se especifica nome algum, será colocado em estado paused o


programa que indica a instrução.

Indicando ALL, todos os programas em fase de execução, aqueles em


estado ready são colocados em estado paused.

A instrução não tem efeito nos programas que não estão em fase de
execução.

Property of Comau S.p.A. - Duplication prohibited 102


INSTRUÇÃO UNPAUSE

A instrução UNPAUSE remove os programas da condição de interrupção


habilitada através da instrução PAUSE. O efeito que esta instrução tem
sobre um programa depende do atributo holdable/non-holdable do próprio
programa.

Se a instrução for emitida por um programa non-holdable, os programas


holdable serão colocados em estado ready e os programas não holdable em
estado running.

Se a instrução for emitida por um programa holdable, os programas serão


colocados em estado running.

Property of Comau S.p.A. - Duplication prohibited 103


INSTRUÇÃO UNPAUSE

Se especificado o nome_ prog ou um elenco de nomes, os programas


indicados serão liberados.

Indicando ALL, serão liberados todos os programas que estavam em estado


paused.

A instrução não terá algum efeito nos programas que não se encontram em
estado paused.

Property of Comau S.p.A. - Duplication prohibited 104


INSTRUÇÃO DEACTIVATE

A instrução DEACTIVATE desativa os programas que se encontram nos


estados running, ready, paused ou paused-ready .

Após terem sido desativados, os programas permanecem carregados na


memória, mas não serão mais executados e não serão retomados. Podem
ser reativados somente através de uma instrução ACTIVATE.

Property of Comau S.p.A. - Duplication prohibited 105


INSTRUÇÃO DEACTIVATE

Quando um programa está desativado podem ser executadas as seguintes


operações:
 São anulados os movimentos em andamento e pendentes;
 Os gestores de condição são removidos;
 O programa é eliminado de todas as listas (semaphores);
 As operações de leitura, os pulsos, os atrasos são anulados;
 As chamadas de sistema em andamento ou pendentes são abortadas;
 Os arquivos abertos são fechados;
 Dispositivos, timers e gestores de condição selecionados (attached) são
liberados;
 Os braços bloqueados são soltos mas é necessário ainda prosseguir com o
movimento.

Property of Comau S.p.A. - Duplication prohibited 106


INSTRUÇÃO CYCLE

A instrução CYCLE pode ser uma instrução por si só ou então constituir uma
opção da instrução BEGIN que permite ao programador criar um ciclo contínuo.

Quando a instrução END do programa for encontrada, a execução recomeça a


partir da instrução CYCLE. Este ciclo continua até a desativação do programa.

A instrução CYCLE é permitida somente no programa principal, não sendo


possível a sua utilização em uma rotina.

No interior de um programa deve existir no máximo uma instrução CYCLE.

Property of Comau S.p.A. - Duplication prohibited 107


INSTRUÇÃO ERR_POST

O procedimento ERR_POST built-in executa um erro definido pelo usuário.


Ele trabalha com alarmes ativos: estes são os alarmes que exigem respostas por
parte do usuário. Quando o usuário tiver selecionado a resposta, o programa é
notificado (evento de sinal ou conjunto de variáveis).

Sequência de carregamento: ERR_POST (error_num, error_str, error_sev <,


post_flags> <, resp_flags> <, alarm_id> <, resp_data> <,parameters>).

Parametros:
 error_num : INTEGER [IN]
 error_str : STRING [IN]
 error_sev : INTEGER [IN]

Property of Comau S.p.A. - Duplication prohibited 108


INSTRUÇÃO ERR_POST

 post_flags : INTEGER [IN]


 resp_flags : ARRAY OF INTEGERs [IN]
 alarm_id : INTEGER [OUT]
 resp_data :INTEGER [OUT]

Error_num pode ser qualquer expressão inteira cujo valor é na faixa de


43008 até 44031. Esses erros correspondem a EC_USR1 e classe
EC_USR2.

Error_str é uma expressão string que contém uma mensagem de erro a ser
exibida.

Property of Comau S.p.A. - Duplication prohibited 109


INSTRUÇÃO ERR_POST

Error_sev é uma expressão inteira, cujo valor está na faixa de 2 à 12. Estes
valores representam as gravidades seguintes do erro:
 2 : Warning
 4 : Pause, hold if holdable
 6 : Pause all, hold if holdable
 8 : Hold
 10 : DRIVE OFF, pause all, deactivate
 12 : DRIVE OFF, deactivate all

Quando ERR_POST é executado, o erro é tratado como qualquer erro no


sistema. O erro é enviado para o log de erro e qualquer manipulação da condição
de erro específicas são armazenadas.

Property of Comau S.p.A. - Duplication prohibited 110


INSTRUÇÃO ERR_POST

A variável $ERROR não está definida para o programa que chama a


ERR_POST built-in. Para testar se o erro especificado no ERR_POST ocorreu a
variável predefinida, SYS_ERROR pode ser usada.

Post_flags é uma expressão inteira cujo valor é composto das seguintes das
máscaras elencadas a seguir:
 Bit1: Não é salvo no arquivo ERROR_LOG
 Bit2: Não é postado na janela de status da tela do sistema
 Bit3: Não é postado ao manipulador a condição processo de leitura de novas
intruções.
 Bit4: Não é postado na janela de rolagem da tela do TP
 Bit5: Não é postado na janela de rolagem da tela do PC

Property of Comau S.p.A. - Duplication prohibited 111


INSTRUÇÃO ERR_POST

 Bit6: Não é postado ao sistema o estado do controlador


 Bit7: Ocorre transição do estado do programa com base na gravidade do
erro
 Bit10: Retorno automático de rotina atual (Bit 7 também deve ser definido)
 Bit12: Não é postado o log de erros para a tarefa
 Bit13: É adicionado ao log binário o nível de gravidade (2)
 Bit15: Um alarme com trava
 Bit16: Um alarme com trava com DRIVE desativado
 Bit17: Um alarme com trava com desabilitação do estado AUTO

Property of Comau S.p.A. - Duplication prohibited 112


INSTRUÇÃO ERR_POST

Resp_flags: Uma Array de dados inteiros que contém no mínimo quatro


elementos:
 [1]: Uma máscara com as respostas disponíveis, que o usuário pode
selecionar;
 [2]: Resposta padrão;
 [3]: Ação a ser executada quando o usuário reconhece o alarme.
Sinalizar evento ou definir uma variável:
 0 = Cancelar o alarme ativo
 1 = Post um evento com os dados do evento a ser gerado
 2 = Definir uma variável. Quando o alarme ocorre é reconhecido a variável;
 [4]: Os dados associados com o exemplo de ação variável a ser definida ou ID
de evento para ser ativada.

Property of Comau S.p.A. - Duplication prohibited 113


INSTRUÇÃO ERR_POST

Alarm_id: variável opcional (por referência) que irá conter o identificador de


alarme após o alarme tornar-se ativo.

Resp_data: variável opcional (por referência) que irá conter a resposta dada
pelo utilizador com palavra de baixo a alarm_id e alta a resposta.

Property of Comau S.p.A. - Duplication prohibited 114


CUSTOMIZAÇÃO: USO DO RIGHT MENU

Existem 6 teclas no menu direito do TP, que podem ser manipuladas pelo
usuário para atender as demandas de programas.

Cada aplicação, poderá receber um menu que ficará separado em grupo e


poderá ser acessado pressionando a tecla MORE.

Os menus são circulares, ou seja, através do MORE aparecerão em grupos


separados.

Cada tecla poderá estar nos seguintes estados:


 Ser habilitada ou desabilitada, o pressionamento de uma das softkeys só terá
efeito se estiver habilitada.

Property of Comau S.p.A. - Duplication prohibited 115


CUSTOMIZAÇÃO: USO DO RIGHT MENU

 Note que o aspecto da tecla permanece o mesmo, então cabe ao programador,


inserir eventos que mudem a cor, nome, status, etc.
 Eventos poderão ocorrer no pressionamento ou abandono do pressionamento
da softkey.

O arquivo de configuração (XML) deverá ficar no local apropriado na unidade LD:


LD:\tp4i\tp4iInternalfs\config\rightmenu

Após o restart, os arquivos XML serão carregados automaticamente no TP.

Cada página (arquivo xml) corresponde a definição de um grupo de teclas, que não
podem ser mais do que 6. A seguir sua sintaxe:

Property of Comau S.p.A. - Duplication prohibited 116


CUSTOMIZAÇÃO: USO DO RIGHT MENU

<?xml version="1.0"?>
<NewMenu>
<group>
<progName>GroupName</progName>
<numItems>Number</numItems>
<arName>Names</arName>
<arIconName>Icons</arIconName>
<arStatus>Colours</arStatus>
<arEnabled>Enabled</arEnabled>
<evPressed>NumberOfEvent</evPressed>
<evLongPressed> NumberOfEvent </evLongPressed>
<evReleased> NumberOfEvent </evReleased>

Property of Comau S.p.A. - Duplication prohibited 117


CUSTOMIZAÇÃO: USO DO RIGHT MENU

</group>
</NewMenu>

As palavras contidas entre os símbolos < > devem existir no programa


referenciado. As palavras em negrito são exemplos do que deve haver no
programa PDL.
 
Exemplo: Se houver necessidade de usar 8 teclas em um grupo e dois
grupos de um outro programa, 2 arquivos XML devem ser ser definidos. No
primeiro arquivo, um grupo com 8 softkeys será definido. No segundo, 2
grupos com 3 softkeys cada.

Property of Comau S.p.A. - Duplication prohibited 118


CUSTOMIZAÇÃO: USO DO RIGHT MENU

O TP4i/WiTP criará as seguintes páginas:


 Uma página com 6 softkeys pertencentes ao primeiro arquivo xml
 Uma página com as 2 restantes softkeys do grupo primeiro arquivo xml
 Uma página com as 3 softkeys do primeiro grupo do Segundo XML
 Uma página com as 3 softkeys do segundo grupo do Segundo XML.

Segue abaixo, algumas explicações:


 Tag XML
 Eventos das Softkey apertar (pressure) e soltar (release)
 Exemplo de configuração XML
 Exemplo de configuração do right menu

Property of Comau S.p.A. - Duplication prohibited 119


CUSTOMIZAÇÃO: USO DO RIGHT MENU

Parâmetros “TAG” do XML


Segue as TAGs para XML-C4G:

<progName> ... </progName>


É a tag que conecta a página right menu ao programa PDL2.

< numItems >...</numItems >


É a tag responsável para indicar o número de elementos que deve ser considerado
dentro de uma matriz de variáveis que contém as propriedades de cada softkey.

<arName>...</arName>
É a tag que indicará o nome a ser visualizado na página (right menu).

Property of Comau S.p.A. - Duplication prohibited 120


CUSTOMIZAÇÃO: USO DO RIGHT MENU

<arIconName>...</ arIconName >


É a tag responsável por conectar o ícone (que deve estar na mesma pasta
que o XML e deverá ter o formato(.GIF).

< arEnabled >...</ arEnabled >


Tag que define se a tecla estará habilitada ou não para uso.

< arStatus>...</ arStatus >


Essa tag definirá qual será a cor que aparecerá no interior do status do
botão. Ex.: WIN_BLUE, WIN_RED, WIN_GRAY, WIN_YELLOW,
WIN_BLACK, WIN_GREEN, etc…

Property of Comau S.p.A. - Duplication prohibited 121


CUSTOMIZAÇÃO: USO DO RIGHT MENU

Eventos Softkey Pressure(teclar) e Release(soltar)


Existem três tags para eventos das teclas:
 Evento (teclar) Softkey (< evPressed >...</ evPressed >)
 Evento (soltar) Softkey (< evReleased >...</ evReleased>)
 Evento (teclar e segurar) Softkey (< evLongPressed>...</ evLongPressed >)
 Eles são descritos abaixo:
< evPressed >...</ evPressed >
Um evento de teclar pode ser associado a cada softkey.

Um evento de usuário CONDITION (WHEN EVENT...) deve monitorar o


pressionamento da tecla.

Property of Comau S.p.A. - Duplication prohibited 122


CUSTOMIZAÇÃO: USO DO RIGHT MENU

A classe do evento de usuário deverá ser definido entre 49152 à 50175.


Essa tag XML deverá conter um desses valores. Os outros eventos das
outras teclas serão automaticamente sequenciais ao primeiro valor inserido.

Por exemplo definindo <evPressed >50100</ evPressed> em um grupo de 6


softkeys, o evento 50100 será gerado ao pressionar a primeira softkey do
grupo, o evento 50105 será gerado ao pressionar a 6ª tecla.
 
< evReleased >...</ evReleased>
Um evento será gerado ao soltar a softkey.
 

Property of Comau S.p.A. - Duplication prohibited 123


CUSTOMIZAÇÃO: USO DO RIGTHMENU

< evLongPressed>...</ evLongPressed >


Um evento deverá ser gerado ao pressionar a tecla por 2 segundos.
 
< evShow>...</ evShow >
Essa tag permite o forçamento da aparição do menu em questão. Deve ser
definido (WHEN EVENT..) quando ocorrer tal evento, faça SIGNAL EVENT xxx.

Exemplo de página XML


Este exemplo definirá dois grupos de teclas. O primeiro grupo com 4 teclas
com nome ‘nomi’, o ícone será ‘icone’, a habilitação será armazenada em ‘en’
e as cores em ‘colori’. O programa a ser manuseado será ‘group1’.

Property of Comau S.p.A. - Duplication prohibited 124


CUSTOMIZAÇÃO: USO DO RIGTHMENU

O segundo grupo definirá 2 softkeys e os atributos serão guardados nas mesmas


variáveis. O programa a ser manuseado será ‘group2’. 

<?xml version="1.0"?>
<NewMenu>
<group>
<progName>group1</progName>
<numItems>4</numItems>
<arName>nomi</arName>
<arIconName>icone</arIconName>
<arStatus>colori</arStatus>
<arEnabled>en</arEnabled>

Property of Comau S.p.A. - Duplication prohibited 125


CUSTOMIZAÇÃO: USO DO RIGTHMENU

<evPressed>50100</evPressed>
<evLongPressed>50120</evLongPressed>
<evReleased>50130</evReleased>
</group>
<group>
<progName>group2</progName>
<numItems>2</numItems>
<arName>nomi</arName>
<arIconName>icone</arIconName>
<arStatus>colori</arStatus>
<arEnabled>en</arEnabled>
<evPressed>50150</evPressed>

Property of Comau S.p.A. - Duplication prohibited 126


CUSTOMIZAÇÃO: USO DO RIGTHMENU

<evLongPressed>50160</evLongPressed>
<evReleased>50170</evReleased>
</group>
</NewMenu>

Agora o exemplo do programa PDL2 usado.

PROGRAM group1 NOHOLD


VAR
nomi : ARRAY[5] OF STRING[10]
icone: ARRAY[5] OF STRING[10]
en : ARRAY[5] OF BOOLEAN

Property of Comau S.p.A. - Duplication prohibited 127


CUSTOMIZAÇÃO: USO DO RIGTHMENU

colori : ARRAY[5] OF INTEGER


BEGIN 
CONDITION[1] NODISABLE :
WHEN EVENT 50100 DO
colori[1] := WIN_RED
en[2] := FALSE
WHEN EVENT 50101 DO
colori[2] := WIN_GREEN
en[1] := FALSE
ENDCONDITION
ENABLE CONDITION[1]
CYCLE

Property of Comau S.p.A. - Duplication prohibited 128


CUSTOMIZAÇÃO: USO DO RIGTHMENU

---
DELAY 1000
---
END group1

Exemplo de configuração right menu


O arquivo XML define um grupo com 5 softkeys. O programa a manusear é o
‘rightmenu’. O nome é armazenado em ‘nomi’, os ícones em ‘icone’, a
habilitação em ‘en’ e as cores em ‘colori’. O evento para “teclar” a primeira
tecla é 50120. O evento para “pressionar e segurar” a primeira softkey é
50120. O evento para “soltar” a primeira tecla é 50000.

Property of Comau S.p.A. - Duplication prohibited 129


CUSTOMIZAÇÃO: USO DO RIGTHMENU

<?xml version="1.0"?>
<RightMenu>
<group>
<progName>rightmenu</progName>
<numItems>5</numItems>
<arName>nomi</arName>
<arIconName>icone</arIconName>
<arStatus>colori</arStatus>
<arEnabled>en</arEnabled>
<evPressed>50100</evPressed>
<evLongPressed>50120</evLongPressed>
<evReleased>50130</evReleased>

Property of Comau S.p.A. - Duplication prohibited 130


CUSTOMIZAÇÃO: USO DO RIGTHMENU

<evShow>50000</evShow>
</group>
</RightMenu> 

O programa iniciará com 4 teclas…

PROGRAM rightmenu NOHOLD


VAR
nomi : ARRAY[5] OF STRING[10]
icone : ARRAY[5] OF STRING[10]
en : ARRAY[5] OF BOOLEAN
colori : ARRAY[5] OF INTEGER

Property of Comau S.p.A. - Duplication prohibited 131


CUSTOMIZAÇÃO: USO DO RIGTHMENU

BEGIN
-- primeira softkey
nomi[1] := 'S1'
icone[1] := 'i1'
en[1] := TRUE
colori[1] := WIN_BLUE
-- segunda softkey
nomi[2] := 'S2'
icone[2] := 'i1'
en[2] := TRUE
colori[2] := WIN_RED
nomi[3] := 'S3'

Property of Comau S.p.A. - Duplication prohibited 132


CUSTOMIZAÇÃO: USO DO RIGTHMENU

icone[3] := 'i1'
en[3] := TRUE
colori[3] := WIN_YELLOW
nomi[4] := 'S4'
icone[4] := 'i1'
en[4] := TRUE
colori[4] := WIN_GREEN
CONDITION[1] NODISABLE :
WHEN EVENT 50100 DO
colori[1] := WIN_RED
colori[2] := WIN_GREEN

Property of Comau S.p.A. - Duplication prohibited 133


CUSTOMIZAÇÃO: USO DO RIGTHMENU

WHEN EVENT 50101 DO


colori[1] := WIN_PINK
colori[2] := WIN_RED
ENDCONDITION
ENABLE CONDITION[1]
CYCLE
DELAY 1000
icone[2] := 'i2'
DELAY 1000
icone[2] := 'i1'
END rightmenu

Property of Comau S.p.A. - Duplication prohibited 134


VARIÁVEL DE SISTEMA $STARTUP

Esta variável indica ao sistema qual o programa a ser carregado e ativado


após a inicialização do controlador.

Esta variável pode ser definida através de uma declaração PDL2 ou através
do comando CONFIGURE CONTROLER STARTUP (CCS).

Para limpar o valor desta variável, basta atribuir a ela uma string vazia ou
não especificar o parâmetro de nome de programa para o comando CCS.

Para ativar e salvar as atribuições definidas para esta variável deve-se


realizar o comando CONFIGURE SAVE.

Property of Comau S.p.A. - Duplication prohibited 135


WINC5G – SOFTWARE DE COMUNICAÇÃO COM O
CONTROLADOR C5G

O WINC5G é um software utilizado para realizar a conexão entre um PC e o


controlador Comau C5G, esta conexão deve ser feita com um cabo Ethernet
cruzado como exemplificado abaixo:

Property of Comau S.p.A. - Duplication prohibited 136


CONFIGURAÇÃO NECESSÁRIA DO PC PARA
UTILIZAÇÃO DO WINC5G

Para estabelecer a comunicação entre o PC e o controlador altere as


configurações de endereço IP de seu PC para:
IP address: 172.22.121.1
Subnet mask: 255.255.0.0
Default Gateway: 0.0.0.0
Obs: Estas configurações são default de fábrica, caso não consiga estabelecer a
conexão, verifique o ip atual do controle.

Property of Comau S.p.A. - Duplication prohibited 137


CONECTANDO-SE AO CONTROLADOR C5G

Antes de iniciar a conexão, selecione as propriedades do software com as


quais deseja trabalhar. Propriedades descritas a seguir.

Property of Comau S.p.A. - Duplication prohibited 138


CONECTANDO-SE AO CONTROLADOR C5G

Todas as propriedades do software necessárias estão disponíveis e


configuráveis nesta janela.

Property of Comau S.p.A. - Duplication prohibited 139


CONECTANDO-SE AO CONTROLADOR C5G

Após selecionar as opções, feche o software para que as modificações


sejam atualizadas, reabra-o logo em seguida e selecione a opção coligar-se
no canto esquerdo da tela.

Property of Comau S.p.A. - Duplication prohibited 140


CONECTANDO-SE AO CONTROLADOR C5G

Com a conexão estabelecida será possível acessar todas as partições


disponíveis na CPU SMP+, editar programas on e off-line, e realizar todas as
funcionalidades presentes no controlador via comando TP-INT

Property of Comau S.p.A. - Duplication prohibited 141


CONECTANDO-SE AO CONTROLADOR C5G

Para ativar o emulador TP-INT, basta estar conectado ao controlador e clicar


no botão de habilitação do aplicativo.

Property of Comau S.p.A. - Duplication prohibited 142


CONECTANDO-SE AO CONTROLADOR

O software possui também uma importante janela de diagnose chamada


causa/remédio, onde é possível digitar um código de alarme e obter a
possível causa e solução para o problema apresentado.

Property of Comau S.p.A. - Duplication prohibited 143


ANOTAÇÕES

Property of Comau S.p.A. - Duplication prohibited 144

Você também pode gostar