Você está na página 1de 97

CS-PLC1

Curso Básico
Autómatos Programáveis

2º Dia - continuação
APRESENTAÇÃO

O formador:

João Mealhas
Temporizadores e contadores

CX-PROGRAMMER - EDITOR DE SÍMBOLOS


Até agora, propositadamente, não nos preocupamos com o modo
como introduzimos os endereços necessários aos programas que
fomos desenvolvendo.

Estes foram introduzidos com a seguinte sequência:


1. Introdução do endereço pretendido (ex: 000.00)
2. Comentário associado (ex: ON)

ENDEREÇO

Desta forma a nossa variável


fica orientada ao comentário, COMENTÁRIO
e perco algumas
funcionalidades, como seja a
chamada do endereço pelo
seu nome.
Temporizadores e contadores

CX-PROGRAMMER - EDITOR DE SÍMBOLOS


No entanto a definição das variáveis pode ser feita das seguintes
formas:

• Individualmente à medida das necessidades


Como se tem
• Introdução directa do endereço vindo a fazer
• Introdução directa do nome
• Utilizando o Editor de Símbolos
• Directamente
• Recorrendo a outros softwares
• Assignação automática
Temporizadores e contadores

INTRODUÇÃO DIRECTA DO ENDEREÇO


Temporizadores e contadores

INTRODUÇÃO DIRECTA DO NOME


Temporizadores e contadores

UTILIZANDO O EDITOR DE SÍMBOLOS


Sempre que possível esta deve ser a forma utilizada.

Num fase prévia ao desenvolvimento do programa propriamente dito, elaborar uma lista com
as variáveis que nos parecem necessárias ao programa, e fazer a respectiva atribuição de
endereços, nomes e comentários.

DIRECTAMENTE ATRAVÉS AUXILIADO POR OUTROS


DO CX-PROGRAMMER SOFTWARES
Temporizadores e contadores

ASSIGNAÇÃO AUTOMÁTICA
O CX-Programmer pode assignar automaticamente endereços aos contactos/nomes

Depois de ter habilitado a


opção “Automatic Allocation”
para o PLC em causa, cada
contacto que for criado
deixando o seu endereço em
branco, (é necessário colocar
o nome do contacto), terá
assignado um endereço que
será marcado como “Auto”
para indicar que esse
endereço não foi atribuído
pelo programador.
Iniciação à programação de autómatos

EXERCÍCIO
EXERCÍCIO 99  

Descrição
Descriçãodo
dopretendido:
pretendido:
•Utilizando
•Utilizandoooeditor
editorde
desímbolos
símbolosdo
doCx-Programmer,
Cx-Programmer,trabalhar
trabalharooúltimo
últimoprograma
programafeito,
feito,de
demodo
modo
aaatribuir nomes aos respectivos endereços.
atribuir nomes aos respectivos endereços.
NOTA:
NOTA:Trabalhar
Trabalharaapartir
partirdo
doúltimo
últimoprograma
programafeito.
feito.

NOME TIPO ENDEREÇOS COMENTÁRIOS


On ON BOOL 0.00 LIGAR SISTEMA
PEÇAS
Off OFF BOOL 0.01 DESLIGAR SISTEMA
REJEITADAS
S_INSP BOOL 0.02 SENSOR DA ZONA DE INSPECÇÃO
Sensor M_TAP BOOL 1.00 MOTOR TAPETE
TIM_INSP BOOL T0000 TEMPO MÁX PARA A INSPECÇÃO

PEÇAS
OK

MT
Temporizadores e contadores

CX-PROGRAMMER – SECÇÕES DO
PROGRAMA
Os programas a partir de um determinado tamanho/complexidade,
tornam-se difíceis de interpretar, dada a grande quantidade de
informação junta.
Uma melhor interpretação pode ser feita se o programa estiver
estruturado em blocos, devidamente identificados.
Desta forma é possível analisar apenas a parte do programa em questão,
em vez da sua totalidade, o que simplifica bastante as coisas.
Iniciação à programação de autómatos

EXERCÍCIO
EXERCÍCIO 10
10   Manual
Manualdede
Exercícios
Exercícios
Descrição
Descriçãodo
dopretendido:
pretendido: pág.
pág.12
12
•Utilizando
•Utilizandoooprograma
programana
nasua
suaúltima
últimafase,
fase,criar
criar33secções
secçõesdesignadas
designadaspor:
por:
•TAPETE
•TAPETE––Colocar
Colocarapenas
apenasaafunção
funçãoreferente
referenteao
aomovimento
movimentodo
dotapete
tapete
•TEMPO_INSP – Colocar apenas o temporizador
•TEMPO_INSP – Colocar apenas o temporizador
•FIM
•FIM––Alterar
Alterarapenas
apenasoonome
nome
NOTA:
NOTA:Trabalhar
Trabalharaapartir
partirdo
doúltimo
últimoprograma
programafeito.
feito.

On
PEÇAS
REJEITADAS Off

Sensor

PEÇAS
OK

MT
Temporizadores e contadores

CONTADORES – CNT
A instrução CNT permite a programação de um contador decrescente
Este é identificado com um número, tal como acontece nos temporizadores
É especificado também o valor de PRESET que pode ser uma constante ou o valor contido
numa word.

Um pormenor importante de
se referir, é que ao contrário
dos temporizadores, os
contadores retêm o seu
conteúdo, mesmo após a falha
de alimentação do autómato.
Temporizadores e contadores

CONTADORES – CNTR(12)
A instrução CNTR(12) permite programar um contador reversível
Tal como na instrução CNT, este é identificado com um número
É especificado também o valor de PRESET que pode ser uma constante ou o valor
especificado por um canal
Iniciação à programação de autómatos

EXERCÍCIO
EXERCÍCIO 11
11
Descrição
Descriçãodo
dopretendido:
pretendido:
•Ao
•Aoprocesso
processoque
quetemos
temosvindo
vindoaautilizar,
utilizar,foi
foiretirada
retiradaaafase
fasereferente
referenteààinspecção.
inspecção.
•Pretende-se
•Pretende-se agora, e após a ordem de arranque do sistema (On), transportar55peças
agora, e após a ordem de arranque do sistema (On), transportar peças(ex:
(ex:
unidades por palete), após as quais o sistema devera permanecer em repouso
unidades por palete), após as quais o sistema devera permanecer em repouso até nova ordem até nova ordem
(On).
(On).
•À
•Àordem
ordemdedeparagem
paragem(Off)
(Off)oosistema
sistemadeverá
deveráparar.
parar.AoAoreiniciar
reiniciardeverá
deverácontar
contarnovamente
novamentemais
mais55
peças,
peças,independentemente
independentementedo donúmero
númeroem emque
queseseencontrava
encontravaquando
quandofoi foidada
dadaaaordem
ordemdede
paragem.
paragem.

NOME TIPO ENDEREÇOS COMENTÁRIOS


ON BOOL 0.00 LIGAR SISTEMA
OFF BOOL 0.01 DESLIGAR SISTEMA
On S_CONT BOOL 0.04 SENSOR DA SAÍDA - CONTA NUMERO DE PEÇAS
Sensor M_TAP BOOL 1.00 MOTOR TAPETE
Off
CNT_PEÇAS BOOL C0001 CONTA PEÇAS À SAÍDA

MT
Temporizadores e contadores

CX-PROGRAMMER – APAGAR ENDEREÇOS


NÃO NECESSÁRIOS

Durante o desenvolvimento do programa, é frequente encontra-se endereços que por razões


várias não estão a ser utilizados. Por exemplo por se ter apagado ou alterado parte do
programa.

Como é óbvio é muito complicado fazer esta verificação manualmente, principalmente se o


programa for extenso.

O Cx-Programmer permite apagar de uma forma automática os endereços definidos mas não
utilizados. Esta verificação pode ser feita a uma determinada área de memória ou à sua
totalidade.
Iniciação à programação de autómatos

EXERCÍCIO
EXERCÍCIO 12
12
Descrição
Descriçãodo
dopretendido:
pretendido:
•Apagar
•Apagartodos
todosos
osendereços
endereçosdo
doprograma
programaanterior
anteriorque
quenão
nãoestejam
estejamaaser
serutilizados,
utilizados,recorrendo
recorrendo
ààfunção do Cx-Programmer que permite esta operação.
função do Cx-Programmer que permite esta operação.

NOME TIPO ENDEREÇOS COMENTÁRIOS


ON BOOL 0.00 LIGAR SISTEMA
OFF BOOL 0.01 DESLIGAR SISTEMA
S_INSP BOOL 0.02 SENSOR DA ZONA DE INSPECÇÃO
S_CIL_FR BOOL 0.03 CILINDRO À FRENTE
S_CONT BOOL 0.04 SENSOR DA SAÍDA - CONTA NUMERO DE PEÇAS
M_TAP BOOL 1.00 MOTOR TAPETE
CIL_REJ BOOL 1.01 CILINDRO REJEIÇÃO DE PEÇAS
CNT_PEÇAS BOOL C0001 CONTA PEÇAS À SAÍDA
TIM_INSP BOOL T0000 TEMPO MÁX PARA A INSPECÇÃO
DU_SINSP BOOL W0.00 DIFU DO SENSOR DA ZONA DE INSPECÇÃO
DD_SINSP BOOL W0.01 DIFD DO SENSOR DA ZONA DE INSPECÇÃO

Antes
Antes

NOME TIPO ENDEREÇOS COMENTÁRIOS


ON BOOL 0.00 LIGAR SISTEMA
OFF BOOL 0.01 DESLIGAR SISTEMA
S_CONT BOOL 0.04 SENSOR DA SAÍDA - CONTA NUMERO DE PEÇAS
Depois
Depois M_TAP BOOL 1.00 MOTOR TAPETE
CNT_PEÇAS BOOL C0001 CONTA PEÇAS À SAÍDA
Temporizadores e contadores

VARIÁVEIS GLOBAIS E LOCAIS


Dentro do editor de variáveis globais declaram-se as variáveis que
serão comuns a qualquer das tarefas que se definam para o projecto.

As variáveis criadas nos editores de variáveis locais só serão visíveis


na tarefa (programa) onde tenham sido criadas e não nas restantes.
Iniciação à programação de autómatos

EXERCÍCIO
EXERCÍCIO 13
13
Descrição
Descriçãodo
dopretendido:
pretendido:
•Ao
•Aoprograma
programafeito
feitono
noexercício
exercícioanterior,
anterior,alterar
alteraras
asvariáveis
variáveisdefinidas
definidascomo
comoGlobais
Globaispara
para
variáveis Locais.
variáveis Locais.
•Recorrendo
•Recorrendoaoaoeditor
editorde
desímbolos,
símbolos,alterar
alterarososseguintes
seguintesendereços:
endereços:
Sensor
Sensor de saída: De 000.04 para000.02
de saída: De 000.04 para 000.02
Contador: De C0001 para C0000
Contador: De C0001 para C0000

NOME TIPO ENDEREÇOS COMENTÁRIOS


ON BOOL 0.00 LIGAR SISTEMA
OFF BOOL 0.01 DESLIGAR SISTEMA
S_CONT BOOL 0.02 SENSOR DA SAÍDA - CONTA NUMERO DE PEÇAS
M_TAP BOOL 1.00 MOTOR TAPETE
CNT_PEÇAS BOOL C0000 CONTA PEÇAS À SAÍDA
Sistemas numéricos

SISTEMAS NUMÉRICOS
O sistema mais comum de representação é sem duvida o sistema
decimal que utiliza os símbolos de "0" a "9".

Em certas aplicações (máquinas, comunicações, etc.), recorre-se


frequentemente a outros sistemas de numeração, por forma a optimizar
a sua exploração tais como sistemas:

•Binário
•BCD ( binário codificado decimal )
•Hexadecimal
•Gray
•Ascii
Sistemas numéricos

SISTEMA BINÁRIO
Num circuito eléctrico, facilmente podemos definir dois estados: ligado/desligado ou com
tensão/sem tensão. Podem-se então usar estes dois estados como base de um sistema
numérico; um sistema binário.
 
Para simplificar a representação dos estados ligado e desligado usam-se os símbolos 1 e 0
respectivamente.
 
Podemos codificar valores numéricos numa base binária, usando a mecânica que já foi
anteriormente explicada para o sistema decimal.

À frente da
representação
binária, colocou-se
o valor decimal
correspondente.
Sistemas numéricos

SISTEMA BINÁRIO
Fórmula geral de conversão de um número binário para decimal
N º DECIMAL  Z N 2 N  Z N 1 2 N 1  ....  Z1 21  Z 0 2 0

Procedimento para a conversão do


Procedimento para a conversão numero 12 em decimal, para o seu
do numero 1100 em binário, equivalente em binário.
para o seu equivalente em
decimal. 12 2
0
6 2
0
3 2
1
1 1 0 0 (Binário) = ???? (Décimal) 1

1  2 3  1  2 2  0  21  0  2 0  12 1100
Sistemas numéricos

SISTEMA BCD
Para que a conversão de um valor binário em decimal seja mais fácil, existe um sistema de
codificação que usa quatro bits para codificar valores de 0 a 9, desaproveitando as restantes
6 combinações possíveis.

Esta forma de codificar valores numéricos em binário chama-se BCD.

Procedimento para a
representação do 1 2 (Décimal) = ???? (BCD)
numero 12 em BCD

0001 0010 (BCD)

Para codificar o valor


decimal 947, temos a
seguinte codificação
BCD:
Sistemas numéricos

SISTEMA HEXADECIMAL
Este sistema utiliza como símbolos, os números de 0 a 9 e as letras de
'A' a ' F'.

Procedimento para a 4382 16


conversão do numero
118 2 7 ´3 1 6
4382 em decimal para
hexadecimal. 062 113 17 16
14 1 1 1

Procedimento para a 1 1 1 E REPRESENTAÇÃO EM


H E X A D E C IM A L
conversão do numero
111E em hexadecimal
para decimal

4382  1  16 3  1  16 2  1  161  14  16 0
TRATAMENTO DE DADOS

OBJECTIVOS
OBJECTIVOS
Análise
Análiseeeaplicação
aplicaçãode
dealgumas
algumas
intrusões
intrusõesdedicadas
dedicadasao
aotratamento
tratamentode
de
dados
dados
Trabalhar
Trabalharcom
comooeditor
editorde
deáreas
áreasde
de
memória
memóriado docx-programmer
cx-programmer
Tratamento de dados

INSTRUÇÃO DE COMPARAÇÃO CMP(20)


Esta instrução permite comparar dois valores numéricos sendo o
resultado dado pelo estado de três relés especiais

A instrução CMP(20) é sempre antecedida por uma condição


lógica que quando está a ON permite a execução da comparação

Nas novas famílias de autómatos


CS e CJ podem utilizar-se funções
de comparação directas:

Se A>B então o relé 255.05 vai a ON.


Se A=B então o relé 255.06 vai a ON.
Se A<B então o relé 255.07 vai a ON.
Iniciação à programação de autómatos

EXERCÍCIO
EXERCÍCIO 14
14
Descrição
Descriçãodo
dopretendido:
pretendido:
•Ao
•Aoprograma
programada dafase
faseanterior
anteriorfoi
foiacrescentada
acrescentadauma umatorre
torreluminosa
luminosapara
parainformação
informaçãoaoao
operador do estado da contagem.
operador do estado da contagem.
•Durante
•Duranteaacontagem
contagemdasdas55peças
peçasaaembalar
embalaraaluz
luzvermelha
vermelhaeeaaluzluzamarela
amareladevem
devemdar
daraaseguinte
seguinte
indicação:
indicação:
•Amarela
•Amarela––Deve
Deveacender
acenderquando
quandofaltarem
faltarem22peças
peçaspara
parafinalizar
finalizaroociclo
ciclo
•Vermelha
•Vermelha – Deve acender à 5 peça transportada. Adicionando o factode
– Deve acender à 5 peça transportada. Adicionando o facto deque
queesta
estadeverá
deverá
piscar em intervalos de 1 segundo.
piscar em intervalos de 1 segundo.
•À
•À ordemde
ordem denovo
novociclo
ciclo(On),
(On),ou
ouààordem
ordemdedeparagem
paragem(Off)
(Off)os
osindicadores
indicadoresluminosos
luminososdeverão
deverão
apagar.
apagar.
NOME TIPO ENDEREÇOS COMENTÁRIOS
ON BOOL 0.00 LIGAR SISTEMA
OFF BOOL 0.01 DESLIGAR SISTEMA
S_CONT BOOL 0.02 SENSOR DA SAÍDA - CONTA NUMERO DE PEÇAS
M_TAP BOOL 1.00 MOTOR TAPETE
On L_AMARELA BOOL 1.01 LUZ AMARELA DA TORRE
Sensor L_VERMELHA BOOL 1.02 LUZ VERMELHA DA TORRE
Off
CNT_PEÇAS BOOL C0000 CONTA PEÇAS À SAÍDA

MT
Tratamento de dados

INSTRUÇÃO MOV(21)
A instrução MOV (MOVE) permite copiar o valor contido em A
para o destino expresso em B, sempre que a condição lógica que
antecede esta instrução esteja a ON.

• "A" pode ser um canal, um temporizador/contador ou


uma constante
• "B" pode ser um canal ou temporizador/contador
Tratamento de dados

INSTRUÇÃO MOVN(22)
A instrução MOVE NOT permite copiar o conteúdo negado de A
para o destino expresso em B, sempre que a condição lógica que
antecede esta instrução esteja a ON

• "A" pode ser um canal, um temporizador/contador ou


uma constante
• "B" pode ser um canal ou temporizador/contador
Iniciação à programação de autómatos

EXERCÍCIO
EXERCÍCIO 15
15
Descrição
Descriçãodo
dopretendido:
pretendido:
•Ao
•Aosistema
sistemaanterior
anteriorfizeram-se
fizeram-sealgumas
algumasalterações,
alterações,no
nosentido
sentidode
depermitir
permitirque
queososlotes
lotesnão
não
fossem feitos sempre de 5 peças, mas de acordo com a posição de um selector
fossem feitos sempre de 5 peças, mas de acordo com a posição de um selector fazer fazer
respectivamente
respectivamenteloteslotesdede3,3,55ee10
10peças.
peças.
•Foi retirada a torre luminosa
•Foi retirada a torre luminosa
•O
•Oselector
selectordeverá
deverápermitir
permitirseleccionar
seleccionarumaumadas
das33ordens
ordensdedefabrico
fabricopossíveis:
possíveis:
•Ord. Fabrico 1 – Para fazer lotes de 3
•Ord. Fabrico 1 – Para fazer lotes de 3 peçaspeças
•Ord.
•Ord.Fabrico
Fabrico22––ParaParafazer
fazerlotes
lotesde
de55peças
peças
•Ord.
•Ord. Fabrico 3 – Para fazer lotes de 10peças
Fabrico 3 – Para fazer lotes de 10 peças
NOME TIPO ENDEREÇOS COMENTÁRIOS
ON BOOL 0.00 LIGAR SISTEMA
OFF BOOL 0.01 DESLIGAR SISTEMA
S_CONT BOOL 0.02 SENSOR DA SAÍDA - CONTA NUMERO DE PEÇAS
ORD_FAB1 BOOL 0.03 ORDEM DE FABRICO 1 - 3 PEÇAS
ORD_FAB2 BOOL 0.04 ORDEM DE FABRICO 2 - 5 PEÇAS
FAB ORD_FAB3 BOOL 0.05 ORDEM DE FABRICO 3 - 10 PEÇAS
FAB 2 FAB
M_TAP BOOL 1.00 MOTOR TAPETE
1 3 On
Sensor CNT_PEÇAS BOOL C0000 CONTA PEÇAS À SAÍDA
Off NUM_PEÇAS CHANNEL D0 NÚMERO DE PEÇAS A FAZER

MT
Tratamento de dados

CX-PROGRAMMER – EDITOR DE ÁREAS DE


MEMÓRIA

Existem ferramentas que devem ser dominadas, quando se trabalha com


dados.
 
Quando se pretende controlar uma quantidade grande de dados (de
distintas áreas de memória), pode-se utilizar a janela “Address Monitor”
na área de memória do PLC.
Tratamento de dados

EXEMPLO DE APLICAÇÃO – (Editor de Áreas de Memória )

Vamos como base utilizar o exemplo utilizado na instrução MVN(21),


para melhor entender o editor de áreas de memória do Cx-Programmer, e
aproveitar para monitorizar o efeito da função MVN(21).
Tratamento de dados

INSTRUÇÃO SFT(10)

A instrução SHIFT permite implementar um registo deslocamento


começando na word A e acabando na word B
 
A word A deverá ter um endereço menor ou igual à word B, e as duas
devem pertencer à mesma área de memória
Tratamento de dados

EXEMPLO DE APLICAÇÃO
1º Passo – Desenvolver programa

• Em cx-programmer, elaborar o programa abaixo representado


(trata-se do exemplo simples mas suficiente para compreender o
funcionamento da instrução SFT(10))
• Transferir o programa para o autómato, e seleccionar o modo de
funcionamento MONITOR
Tratamento de dados

2º Passo – Abrir a janela de visualização


Esta janela “Toggle Watch Window”, permite monitorizar o estado dos
endereços especificados, bem como a alteração do seu estado
Tratamento de dados

3º Passo – Especificar o/os endereço/s a trabalhar

4º e 5º Passo – Alteração dos valores

EDIÇÃO EM
BINÁRIO
Tratamento de dados

6º Passo – Monitorização do funcionamento da função


SFT(10)
FIM
EXEMPLO
Iniciação à programação de autómatos

EXERCÍCIO
EXERCÍCIO 16
16
Descrição
Descriçãodo
dopretendido:
pretendido:
•Na
•Nazona
zonadedeembalagem
embalagemdo donosso
nossoprojecto,
projecto,éénecessário
necessáriofazer
fazeruma
umaoperação
operaçãopara
paraselagem
selagemdodo
produto final.
produto final.
•O
•Osistema
sistemaéécomposto
compostopor por55cilindros.
cilindros.
•A
•A ordem de descida dos cilindrosdeverá
ordem de descida dos cilindros deveráser
serdodo11para
paraoo5,5,um
umde
decada
cadavez,
vez,eeaacada
cadaordem
ordemdede
descida dada pelo operador.
descida dada pelo operador.
•Os
•Oscilindros
cilindrosdevem
devemmanter-se
manter-seactuados,
actuados,até
atéordem
ordemde deparagem
paragem(Off)
(Off)ou
ouordem
ordemdedenova
novadescida
descida
jájácom todos os cilindros actuados.
com todos os cilindros actuados.
•Para
•Paraoorecuo
recuodosdoscilindros
cilindrosbasta
bastaretirar
retiraroosinal
sinalde
deactuação
actuaçãocorrespondente.
correspondente.

1 2 3 4 5
NOME ENDEREÇO DESCRIÇÃO
ORD_FUNC 0.00 ORDEM DE FUNCIONAMENTO
OFF 0.01 DESLIGAR SISTEMA
CIL_1 2.00 CILINDRO PRENSA 1
Descer CIL_2 2.01 CILINDRO PRENSA 2
CIL_3 2.02 CILINDRO PRENSA 3
Off CIL_4 2.03 CILINDRO PRENSA 4
CIL_5 2.04 CILINDRO PRENSA 5
AUX_SAÍDAS 200 CANAL UTILIZADO COMO AUXILIAR NA FUNÇÃO SHIFT
AUX_OUT1 200.01 AUXILIAR DA SAÍDA 1
AUX_OUT2 200.02 AUXILIAR DA SAÍDA 2
AUX_OUT3 200.03 AUXILIAR DA SAÍDA 3
AUX_OUT4 200.04 AUXILIAR DA SAÍDA 4
AUX_OUT5 200.05 AUXILIAR DA SAÍDA 5
FIM_CILIN 200.06 FIM DO CICLO DE ACTUAÇÃO DOS CILINDROS
Programação de processos sequenciais

GRAFCET Representação gráfica


O GRAFCET representa graficamente o funcionamento de um
automatismo recorrendo a um conjunto de:

ETAPAS, ás quais estão


associadas ACÇÕES

TRANSIÇÕES, ás quais
estão associadas
RECEPTIVIDADES

LIGAÇÕES, ligação das


etapas ás transições e
vice versa
Iniciação à programação de autómatos

EXERCÍCIO
EXERCÍCIO 21
21
Descrição
Descriçãodo
dopretendido:
pretendido:
•Pretende-se
•Pretende-seaacada
cadaordem
ordem(On)
(On)encher
encher22depósitos
depósitosconsecutivos,
consecutivos,Produto
ProdutoAAeeProduto
ProdutoB.
B.
•O
•Ofim
fimde
dedescarga
descargade
decada
cadaproduto
produtoééindicado
indicadopelo
pelorespectivo
respectivoequipamento
equipamentoEV1
EV1eeEV2.
EV2.
•Ao
•Aofim
fimde
deencher
encherooúltimo
últimodeposito,
deposito,ootapete
tapetedeve
deveavançar
avançareeparar
pararlogo
logoque
queoodepósito
depósitoabandone
abandoneaa
zona
zonade
deenchimento
enchimento(deixar
(deixarde
deactuar
actuarno
nosensor).
sensor).
•À
•Àordem
ordemde
deparagem
paragem(Off)
(Off)oosistema
sistemadeve
devedesligar
desligartodas
todasas
assaídas,
saídas,eeficar
ficarpronto
prontopara
paranovo
novociclo.
ciclo.

Prod Prod
A B NOME TIPO ENDEREÇOS COMENTÁRIOS
ON BOOL 0.00 LIGAR SISTEMA
OFF BOOL 0.01 DESLIGAR SISTEMA
S_ENCHE BOOL 0.02 SENSOR DE DEPOSITO NA ZONA DE ENCHIMENTO
EV2 FIM_DESC1 BOOL 0.03 FEITA A DESCARGA DO PRODUTO 1
EV1
FIM_DESC2 BOOL 0.04 FEITA A DESCARGA DO PRODUTO 2
On M_TAP BOOL 1.00 MOTOR TAPETE
EV1 BOOL 1.01 ELÉCTROVÁLVULA 1
Off EV2 BOOL 1.02 ELÉCTROVÁLVULA 2
PRIM_DESC BOOL W200.00 (AUTO) INDICA QUE ESTÀ NA FASE DA PRIMEIRA DESCARGA

AFG 1 AFG 2

Sensor

MT
Iniciação à programação de autómatos
Tratamento
EXEMPLOde– dados
Utilizando a função SFT(10)
Tratamento
EXEMPLOde– dados
Utilizando a função SFT(10)
INSTRUÇÕES DE CÁLCULO
ARITMÉTICO

OBJECTIVOS
OBJECTIVOS
Utilização
Utilizaçãodas
dasfunções
funçõeselementares
elementares
utilizadas
utilizadasnonocalculo
calculoaritmético.
aritmético.
Tipo
Tipodedevariáveis
variáveisdodocx-programmer
cx-programmer
Como
Comoatribuir
atribuircomentários
comentáriosaoao
programa,
programa,utilizando
utilizandooocx-programmer
cx-programmer
Instruções de cálculo aritmético

CX-PROGRAMMER - TIPOS DE VARIÁVEIS


Até agora não se tinha dado grande importância à natureza do tipo de variável utilizada,
pois não era factor essencial
Nesta fase, tratamento de dados, e em concreto instruções aritméticas, é importante
este assunto
Instruções de cálculo aritmético

OPERAÇÕES ARITMÉTICAS
É hoje frequente nos autómatos instruções que permitem a execução de
operações aritméticas, embora esta não seja uma máquina vocacionada
para o cálculo numérico

Dependendo do autómato, poderemos encontrar as operações básicas


(soma, subtracção, multiplicação e divisão) ou outras mais sofisticadas,
como sendo o cálculo em virgula flutuante, funções trigonométricas, raiz
quadrada, etc..

A base numérica também pode ser diversa: binário, BCD, etc..

Vamos neste capítulo analisar o uso das operações aritméticas básicas


em BCD e outras funções associadas
Instruções de cálculo aritmético

SOMA EM BCD ADD(30)


• Esta função permite adicionar dois valores numéricos A e B e
coloca o resultado da adição no canal especificado em C
• Os valores numéricos especificados em A e B podem ser
constantes ou o conteúdo de um canal, contador ou temporizador

Nas novas famílias de autómatos


CS e CJ utilizar:
Instruções de cálculo aritmético
Pág. 158
EXEMPLO DE APLICAÇÃO – SOMA BCD
Instruções de cálculo aritmético

RELÉ DE CARRY
O relé CY é utilizado em operações aritméticas, para detectar:
-Existência de OVERFLOW
-Existência de resultado negativo

Analisemos o
exemplo que se
segue...
Instruções de cálculo aritmético

RELÉ DE CARRY
EXEMPLO DE APLICAÇÃO - CY Nestes casos a presença do
bit mais significativo (1) é
sinalizado por um relé
especial que passa a ON, e
que se designa por RELÉ DE
CARRY

O relé de carry
(abreviadamente CY) tem no
autómato CPM1A o endereço
255.04

O RELÉ DE CARRY uma vez a


ON, só passa a OFF se for
executada a função CLC(41).
Instruções de cálculo aritmético

RELÉ DE CARRY
Quando se trabalha com números positivos, é boa norma fazer executar a função
CLC(41) antes de executar uma função aritmética

Desta forma limpa-se o relé de CARRY (é colocado a OFF) que poderia ter sido
colocado a ON por outra operação aritmética existente no programa e que caso
estivesse activo falsearia o resultado da operação a executar

Neste contexto o programa


do exemplo anterior poderia
ser melhorado desta forma
Instruções de cálculo aritmético

SUBTRACÇÃO EM BCD - SUB(31)


A função SUB(31) permite subtrair ao valor contido em A o valor
contido em B e coloca o resultado no canal especificado em C
Nas novas famílias de
autómatos CS e CJ
utilizar:

 No caso da operação de subtracção, o resultado nunca excede quatro dígitos

 Há no entanto a possibilidade de o resultado ser negativo ( quando A for menor


que B ). Esta ocorrência é assinalada pelo mesmo relé de carry atrás
mencionado.
Instruções de cálculo aritmético

EXEMPLO DE APLICAÇÃO – SUBTRACÇÃO EM BCD

Como obter o valor absoluto da subtracção ?


Instruções de cálculo aritmético

MULTIPLICAÇÃO EM BCD - MUL(32)


A função que permite efectuar o produto de dois valores
numéricos BCD, é a função MUL(32)
Nas novas famílias de
autómatos CS e CJ
utilizar:

 Sempre que a condição lógica que antecede a função está a ON, o valor em A é
multiplicado pelo valor contido em B e o resultado da operação é colocado no
canal especificado em C e no imediatamente seguinte C+1
 Os quatro dígitos menos significativos do resultado são colocados no canal
especificado em C e os quatro restantes dígitos mais significativos são
colocados no canal C+1
Instruções de cálculo aritmético

EXEMPLO DE APLICAÇÃO – MULTIPLICAÇÃO EM BCD


Instruções de cálculo aritmético

DIVISÃO EM BCD - DIV(33)


A função DIV(33) permite efectuar o quociente de dois valores
numéricos BCD
Nas novas famílias de
autómatos CS e CJ
utilizar:

 Sempre que a condição lógica que antecede a função está a ON, o valor em A é
dividido pelo valor contido em B e o resultado da operação é colocado no canal
especificado em C e no imediatamente seguinte

 O quociente é colocado no canal especificado em C e o resto é colocado no canal


C+1
Instruções de cálculo aritmético

EXEMPLO DE APLICAÇÃO – DIVISÃO EM BCD


Instruções de cálculo aritmético

OPERAÇÕES ARITMÉTICAS EM BINÁRIO

Nas operações aritméticas apresentadas anteriormente, apenas é possível trabalhar com


operandos de 4 dígitos (uma word) em BCD

Há no entanto situações que obrigam a trabalhar valores maiores que 9999 (BCD), e para o
fazer temos de recorrer à codificação em Binário
Em Binário é possível codificar numa word um valor que pode ir até 65535, contra 9999 em
BCD

Instruções aritméticas básicas para operar com valores binários:


ADB(50) - soma binária
SBB(51) - subtracção binária
MLB(52) - multiplicação binária
DVB(53) - divisão binária
Instruções de cálculo aritmético

EXEMPLO DE APLICAÇÃO – OPERAÇÃO ARITMÉTICA EM


BINÁRIO
Iniciação à programação de autómatos

EXERCÍCIO
EXERCÍCIO 17
17
Descrição
Descriçãodo
dopretendido:
pretendido:
•Aproveitar
•Aproveitarooexercício
exercício11
11
•Ao
•Ao sistema em causa foiadicionado
sistema em causa foi adicionadoum umterminal
terminaldedediálogo
diálogohomem
homemmáquina,
máquina,para
parapermitir
permitir
introduzir
introduzir o número de paletes que se pretende fazer (D0000), bem como monitorizar onúmero
o número de paletes que se pretende fazer (D0000), bem como monitorizar o númerodede
peças que falta transportar para finalizar o pedido em curso
peças que falta transportar para finalizar o pedido em curso (D0002)(D0002)
•Uma
•Umavez
vezdada
dadaordem
ordemdedeinicio
inicio(On)
(On)oosistema
sistemadeverá
deverátransportar
transportaroonumero
numerode
depeças
peças
necessárias para preencher o numero de paletes solicitadas
necessárias para preencher o numero de paletes solicitadas
•Cada
•Cadapalete
paleteleva
leva55peças
peças

On
Off
Sensor

NOME TIPO ENDEREÇOS COMENTÁRIOS


ON BOOL 0.00 LIGAR SISTEMA
MT OFF BOOL 0.01 DESLIGAR SISTEMA
S_CONT BOOL 0.02 SENSOR DA SAÍDA - CONTA NUMERO DE PEÇAS
M_TAP BOOL 1.00 MOTOR TAPETE
CNT_PEÇAS BOOL C0000 CONTA PEÇAS À SAÍDA
N_PALET CHANNEL D0 NUMERO DE PALETES A FAZER
N_CAIXAS CHANNEL D1 NUMERO DE CAIXAS A TRANSPORTAR
CAIXAS_FEITAS CHANNEL D2 NUMERO DE CAIXAS JÁ FEITAS
Instruções de cálculo aritmético

INSTRUÇÃO INC(38) E DEC(39)

A instrução INC(38) deriva de um caso particular da adição em BCD.


Sempre que a condição de execução está activa, esta instrução faz incrementar
uma unidade ao conteúdo do canal especificado em A, em cada scan.

Tal como acontecia com a instrução INC(38), a instrução DEC(39) deriva de um


caso particular da subtracção em BCD.
Sempre que a condição de execução está activa, esta instrução faz decrementar
uma unidade ao conteúdo do canal especificado em A, em cada scan.
Iniciação à programação de autómatos

EXERCÍCIO
EXERCÍCIO 18
18
Descrição
Descriçãodo
dopretendido:
pretendido:
•Utilizar
•Utilizarooprograma
programananasua
suaforma
formamais
maissimples,
simples,ou
ouseja
sejaapenas
apenasoocontrolo
controlode
detapete
tapete
(Liga/Desliga)
(Liga/Desliga)
•Foi
•Foicolocada
colocadamais
maisuma
umafotocélula
fotocélulasensivelmente
sensivelmenteno
noinicio
iniciodo
dotapete.
tapete.
•Pretende-se
•Pretende-se desta forma saber sempre quantas peças estão nodecorrer
desta forma saber sempre quantas peças estão no decorrerdo
dotransporte,
transporte,ou
ouseja
seja
compreendidas entre os dois sensores.
compreendidas entre os dois sensores.

NOME TIPO ENDEREÇOS COMENTÁRIOS


ON BOOL 0.00 LIGAR SISTEMA
OFF BOOL 0.01 DESLIGAR SISTEMA
S_CNT_OUT BOOL 0.02 SENSOR DE DETECÇÃO DE SAÍDA
S_CNT_IN BOOL 0.03 SENSOR DE DETECÇÃO DE ENTRADA
M_TAP BOOL 1.00 MOTOR TAPETE
N_PEÇAS CHANNEL D0 NUMERO DE PEÇAS NO TAPETE

On
Off
Sensor Sensor
OUT IN

MT
Temporizadores e contadores

CX-PROGRAMMER – COMENTAR O PROGRAMA


A assignação dos nomes e comentários ás varias malhas e blocos do
projecto, é de extrema importância.
Tratamento de dados

EXEMPLO 1º Passo – Comentar a secção


Tratamento de dados

2º Passo – Comentar as várias malhas da secção


Tratamento de dados

3º Passo – Habilitar os comentários das secções


Iniciação à programação de autómatos

EXERCÍCIO
EXERCÍCIO 19
19
Descrição
Descriçãodo
dopretendido:
pretendido:
•Embora
•Emboraos
osprogramas
programasem
emcausa
causatenham
tenhampoucas
poucassecções,
secções,aatítulo
títulode
deexercício
exercíciocomentar
comentaras
as
secções do programa anterior.
secções do programa anterior.
FUNÇÕES DE EXECUÇÃO
DIFERENCIAL (@)

OBJECTIVOS
OBJECTIVOS
Conhecer
Conheceralternativas
alternativasààaplicação
aplicaçãodas
das
funções
funçõesDIFU
DIFUeeDIFD
DIFD
Funções de execução diferencial (@)

FUNÇÕES DE EXECUÇÃO DIFERENCIAL (@)


Há alternativa que permite dotar uma instrução da capacidade de ser
executada, só quando houver uma transição de OFF para ON na
condição de execução.
Essa alternativa consiste em adicionar o símbolo @ à instrução.

SOLUÇÕES
EQUIVALENTES
Iniciação à programação de autómatos

EXERCÍCIO
EXERCÍCIO 20
20

Descrição
Descriçãodo
dopretendido:
pretendido:
•Aplicar
•Aplicaràs
àsinstruções
instruçõesdo
doexercício
exercícioanterior
anterioreste
esteconceito.
conceito.

NOME TIPO ENDEREÇOS COMENTÁRIOS


ON BOOL 0.00 LIGAR SISTEMA
OFF BOOL 0.01 DESLIGAR SISTEMA
S_CNT_OUT BOOL 0.02 SENSOR DE DETECÇÃO DE SAÍDA
S_CNT_IN BOOL 0.03 SENSOR DE DETECÇÃO DE ENTRADA
M_TAP BOOL 1.00 MOTOR TAPETE
N_PEÇAS CHANNEL D0 NUMERO DE PEÇAS NO TAPETE

On
Off
Sensor Sensor
OUT IN

MT
CONVERSÃO DE DADOS

OBJECTIVOS
OBJECTIVOS
Análise
Análise de
de funções
funções para
para aa conversão
conversão
de
dedados
dadosBIN/BCD
BIN/BCD
Conversão de dados

INSTRUÇÕES PARA CONVERSÃO DE DADOS


Existem instruções que permitem converter valores entre as duas bases
numéricas, já enunciadas.
É o caso das instruções:
• BIN(23)
• BCD(24)
TRATAMENTO DE BLOCOS
DE DADOS

OBJECTIVOS
OBJECTIVOS
Conhecimento
Conhecimentode dealgumas
algumasfunções
funções
aplicadas
aplicadasno
notratamento
tratamentode
deblocos
blocosde
de
dados
dados
Tratamento de blocos de dados

INSTRUÇÃO BSET(71)
Esta instrução permite copiar o conteúdo de um canal, ou
constante, para um grupo de canais especificados.
Tratamento de blocos de dados

INSTRUÇÃO XFER(70)
Transfere dados de um dado grupo de canais consecutivos, para
outro grupo de canais igualmente consecutivos.
Tratamento de blocos de dados

INSTRUÇÃO XCHG(73)
Sempre que a condição que antecede a instrução é verdadeira, XCHG(73)
troca o conteúdo dos dois canais operandos desta instrução.
Iniciação à programação de autómatos

EXERCÍCIO
EXERCÍCIO 21
21
Descrição
Descriçãodo
dopretendido:
pretendido:
•Pretende-se
•Pretende-seagora
agoraaacada
cadaordem
ordemde deprodução
produção(On)
(On)encher
encher22depósitos
depósitosconsecutivos,
consecutivos,ooprimeiro
primeiro
com o Produto A e o segundo com o Produto
com o Produto A e o segundo com o Produto B. B.
•O
•O fim
fim de
de descarga
descarga de
de cada
cada produto
produto éé indicado
indicado por
por um
um impulso
impulso fornecido
fornecido ao
ao PLC
PLC pelo
pelo
respectivo equipamento EV1 e
respectivo equipamento EV1 e EV2 EV2
•Ao
•Aofim
fimdedeencher
encheroo22eeúltimo
últimodeposito,
deposito,ootapete
tapetedeve
deveavançar
avançareeparar
pararlogo
logoque
queoodepósito
depósito
abandone a zona de enchimento (deixar de actuar no sensor).
abandone a zona de enchimento (deixar de actuar no sensor).
•À
•Àordem
ordemde deparagem
paragem(Off)
(Off)oosistema
sistemadeve
devedesligar
desligartodas
todasasassaídas,
saídas,eeficar
ficarpronto
prontopara
paranovo
novo
ciclo.
ciclo.

Prod Prod
A B NOME TIPO ENDEREÇOS COMENTÁRIOS
ON BOOL 0.00 LIGAR SISTEMA
OFF BOOL 0.01 DESLIGAR SISTEMA
S_ENCHE BOOL 0.02 SENSOR DE DEPOSITO NA ZONA DE ENCHIMENTO
EV2 FIM_DESC1 BOOL 0.03 FEITA A DESCARGA DO PRODUTO 1
EV1
FIM_DESC2 BOOL 0.04 FEITA A DESCARGA DO PRODUTO 2
On M_TAP BOOL 1.00 MOTOR TAPETE
EV1 BOOL 1.01 ELÉCTROVÁLVULA 1
Off EV2 BOOL 1.02 ELÉCTROVÁLVULA 2
PRIM_DESC BOOL W200.00 (AUTO) INDICA QUE ESTÀ NA FASE DA PRIMEIRA DESCARGA

AFG 1 AFG 2

Sensor

MT
PROGRAMAÇÃO DE
PROCESSOS SEQUENCIAIS

OBJECTIVOS
OBJECTIVOS
Obter
Obterconhecimentos
conhecimentosbásicos
básicossobre
sobreoo
método
métododederepresentação
representaçãográfica
gráfica––
GRAFCET
GRAFCET
Métodos
Métodosdedeaplicação
aplicaçãodedeprocessos
processos
estruturados
estruturadosem
emgrafcet,
grafcet,na
na
programação
programaçãode deautómatos
autómatos
Programação de processos sequenciais

INTRODUÇÃO
São inúmeras as situações de comando onde as tarefas a
executar se repetem sempre na mesma sequência ou em
sequências pré-determinadas.
Estamos perante sistemas
de carácter sequencial

A experiência ensinou-nos que o objectivo de qualquer projectista é


colocar em prática a sua ideia através de um modelo físico, que
tecnicamente seja perfeito, economicamente acessível e rentável
 
Assim, ele terá de conhecer vários MÉTODOS ou vias que lhe permitam
atingir os seus objectivos
Programação de processos sequenciais

INSTRUMENTOS DE REPRESENTAÇÃO
Desde a concepção, o sistema a desenvolver deve ser suportado
por uma ferramenta que permita o diálogo indispensável entre o
projectista/técnico e o futuro utilizador

A linguagem corrente, revela-se assim bastante mal adaptada à


descrição de sistemas sequências.
Deste modo facilmente compreendemos a necessidade de dispor
de um método de representação desprovido de ambiguidades, fácil
de compreender e utilizar.

ENTRE AS VÁRIAS FERRAMENTAS EXISTENTES PARA O


EFEITO, VAMOS APROFUNDAR NESTE CAPITULO O GRAFCET
Programação de processos sequenciais

GRAFCET Representação gráfica


O GRAFCET representa graficamente o funcionamento de um
automatismo recorrendo a um conjunto de:

ETAPAS, ás quais estão


associadas ACÇÕES

TRANSIÇÕES, ás quais
estão associadas
RECEPTIVIDADES

LIGAÇÕES, ligação das


etapas ás transições e
vice versa
Programação de processos sequenciais

GRAFCET Especificações

ETAPAS/ACÇÕES 0
ETAPA INICIAL 12 MT MT
1 1
12 MT MT
1 3
ETAPAS ACTIVAS
ACÇÕES
ETAPA
S

LIGAÇÕES
3
TRANSIÇÕES

ORIENTADAS TRANSIÇÕES
3 LIGAÇÕES
ORIENTADAS

4 5
RECEPTIVIDADES
ASSOCIADAS ÁS
ACÇÕES

4 5
Programação de processos sequenciais

TIPOS DE PROCESSAMENTO
Pode-se ter num sistema basicamente três tipos de
processamentos, numa representação em GRAFCET

Processamento
linear

Processamento
paralelo

Processamento
alternativo
Programação de processos sequenciais

PROCESSAMENTO LINEAR
Os estados do processo estão dispostos em linha.
Independentemente das condições do processo, este consta de
uma sucessão de passos que se executam sempre, e na mesma
sequência.

Exemplo 1 Exemplo 2 Exemplo 3


Sequência Sequência
Sequência
não não
transposta
transposta transposta
Programação de processos sequenciais

PROCESSAMENTO PARALELO
Em determinado momento do processo, a sequência
pode tomar dois ou mais caminhos que se vão
executar em paralelo

Exemplo 1 Exemplo 2 Exemplo 3

Sequência Sequência
Sequência
não não
transposta
transposta transposta
Programação de processos sequenciais

PROCESSAMENTO ALTERNATIVO
Surgem muito frequentemente situações de selecção
exclusiva, de uma só sequência

Receptividades exclusivas Receptividades prioritárias


Programação de processos sequenciais

SALTOS ENTRE
ETAPAS 12
Podem ser feitos
saltos entre etapas
não consecutivas 13

AVANÇO 14
RETROCESSO

15
Iniciação à programação de autómatos

EXERCÍCIO
EXERCÍCIO 22
22

Descrição
Descriçãodo
dopretendido:
pretendido:
•Resolver
•Resolverooexercício
exercícioanterior
anteriorrecorrendo
recorrendoààsua
suarepresentação
representaçãoem
emGRAFCET.
GRAFCET.

Prod Prod
A B NOME TIPO ENDEREÇOS COMENTÁRIOS
ON BOOL 0.00 LIGAR SISTEMA
OFF BOOL 0.01 DESLIGAR SISTEMA
S_ENCHE BOOL 0.02 SENSOR DE DEPOSITO NA ZONA DE ENCHIMENTO
EV2 FIM_DESC1 BOOL 0.03 FEITA A DESCARGA DO PRODUTO 1
EV1
FIM_DESC2 BOOL 0.04 FEITA A DESCARGA DO PRODUTO 2
On M_TAP BOOL 1.00 MOTOR TAPETE
EV1 BOOL 1.01 ELÉCTROVÁLVULA 1
Off EV2 BOOL 1.02 ELÉCTROVÁLVULA 2
PRIM_DESC BOOL W200.00 (AUTO) INDICA QUE ESTÀ NA FASE DA PRIMEIRA DESCARGA

AFG 1 AFG 2

Sensor

MT
Programação de processos sequenciais

CONVERSÃO GRAFCET LINGUAGEM DE CONTACTOS


Vão ser aqui abordados 3 métodos para levar a cabo a
programação de processos sequenciais, a partir do GRAFCET

Com funções de
encravamento: KEEP(11) e
SET RESET

Com a função: SFT(10)

Com as funções especiais:


STEP(08) e SNXT(09)
Tratamento de dados

EXEMPLO – Utilizando as funções SET e RESET


Tratamento de dados

EXEMPLO – Utilizando a função KEEP(11)


Tratamento de dados

EXEMPLO – Utilizando a função SFT(10)

POR ÚLTIMO
Tratamento de dados
EXEMPLO – Utilizando as funções STEP(08) e SNXT(09)
Iniciação à programação de autómatos

EXERCÍCIO
EXERCÍCIO 23
23
Descrição
Descriçãodo
dopretendido:
pretendido:
•A
•Apartir
partirda
darepresentação
representaçãoanterior
anteriorem
emGRAFCET,
GRAFCET,fazer
fazeraasua
suapassagem
passagempara
paralinguagem
linguagemde
de
contactos.
contactos.
•Passar
•Passarooprograma
programapara
paraooPLC
PLC
•Testar o programa
•Testar o programa

Prod Prod
A B NOME TIPO ENDEREÇOS COMENTÁRIOS
ON BOOL 0.00 LIGAR SISTEMA
OFF BOOL 0.01 DESLIGAR SISTEMA
S_ENCHE BOOL 0.02 SENSOR DE DEPOSITO NA ZONA DE ENCHIMENTO
EV2 FIM_DESC1 BOOL 0.03 FEITA A DESCARGA DO PRODUTO 1
EV1
FIM_DESC2 BOOL 0.04 FEITA A DESCARGA DO PRODUTO 2
On M_TAP BOOL 1.00 MOTOR TAPETE
EV1 BOOL 1.01 ELÉCTROVÁLVULA 1
Off EV2 BOOL 1.02 ELÉCTROVÁLVULA 2
PRIM_DESC BOOL W200.00 (AUTO) INDICA QUE ESTÀ NA FASE DA PRIMEIRA DESCARGA

AFG 1 AFG 2

Sensor

MT
Iniciação à programação de autómatos

EXERCÍCIO
EXERCÍCIO 24
24
Descrição
Descriçãodo
dopretendido:
pretendido:
Numa
Numadada
dadafase
fasedodoprocesso
processoéénecessário
necessáriofazer
fazerumumteste
testetérmico
térmicoaoaoproduto.
produto.Elaborar
Elaborarum
um
programa de acordo com o seguinte funcionamento:
programa de acordo com o seguinte funcionamento:
•À
•Àordem
ordemde deinicio
iniciodo
doteste
teste(On),
(On),oosistema
sistemadeve
deveiniciar
iniciarooaquecimento
aquecimentoeeregistar
registaraaevolução
evoluçãodada
temperatura do produto de 1 em 1 segundo.
temperatura do produto de 1 em 1 segundo.
•Ao
•Aofim
fimde
de1010registos
registos(10
(10seg),
seg),oosistema
sistemadeve
deveparar.
parar.
•Se
•Se durante o evoluir do processo for dada ordemde
durante o evoluir do processo for dada ordem deparagem
paragem(Off),
(Off),oosistema
sistemadeve
deveparar.
parar.
•O sensor de temperatura regista a temperatura actual no endereço
•O sensor de temperatura regista a temperatura actual no endereço (D0100). (D0100).
•O
•Ohistorial
historialdos
dosvalores
valoresdadatemperatura
temperaturadevem
devemserserarmazenados
armazenadosnos nosendereços
endereços(D0020
(D0020aaD0029).
D0029).
•Sempre que é dada ordem para um novo teste, todos os valores registados referentes
•Sempre que é dada ordem para um novo teste, todos os valores registados referentes ao teste ao teste
anterior,
anterior,devem
devemser serapagados.
apagados.

On

Off
Sensor

AFG 1 NOME ENDEREÇO DESCRIÇÃO


ON 0.00 LIGAR SISTEMA
OFF 0.01 DESLIGAR SISTEMA
AQUEC 1.00 EQUIPAMENTO DE AQUECIMENTO
TEMPO C0000 CONTA OS 10 SEG DE AQUECIMENTO
APONTADOR D0 APONTADOR PARA A ÁREA DE MEM A ESCREVER
INI_REG D20 AREA DE INICIO DOS REGISTOS DE TEMPERATURA
Aquecimento FIM_REG D29 AREA DE FIM DOS REGISTOS DE TEMPERATURA
TEMP D100 REGISTO QUE CONTEM A TEMPERATURA ACTUAL
AUX_1SEG W200.00 (Auto) AUXILIAR DO BIT ESPECIAL DE 1 SEGUNDO
ENDEREÇAMENTO
INDIRECTO

OBJECTIVOS
OBJECTIVOS
Compreensão
Compreensãodo doendereçamento
endereçamento
indirecto
indirectoeesua
suaaplicação
aplicaçãoprática
prática
Endereçamento indirecto

APLICAÇÃO
Esta facilidade pode ser encontrada em alguns autómatos
O uso do endereçamento indirecto permite dotar os programas
de uma grande flexibilidade e reduzir a extensão dos mesmos.

Exemplo 2 - O
conteúdo da DM100,
contém o endereço
de um outro DM,
encontrando-se
neste último o valor
a ser considerado
pela instrução.

Exemplo 1 - Se a DM100
contém o valor 350, então o
CH10 tomará esse valor
Iniciação à programação de autómatos

EXERCÍCIO
EXERCÍCIO 25
25
Descrição
Descriçãodo
dopretendido:
pretendido:
Numa
Numadada
dadafase
fasedodoprocesso
processoéénecessário
necessáriofazer
fazerumumteste
testetérmico
térmicoaoaoproduto.
produto.Elaborar
Elaborarum
um
programa de acordo com o seguinte funcionamento:
programa de acordo com o seguinte funcionamento:
•À
•Àordem
ordemde deinicio
iniciodo
doteste
teste(On),
(On),oosistema
sistemadeve
deveiniciar
iniciarooaquecimento
aquecimentoeeregistar
registaraaevolução
evoluçãodada
temperatura do produto de 1 em 1 segundo.
temperatura do produto de 1 em 1 segundo.
•Ao
•Aofim
fimde
de1010registos
registos(10
(10seg),
seg),oosistema
sistemadeve
deveparar.
parar.
•Se
•Se durante o evoluir do processo for dada ordemde
durante o evoluir do processo for dada ordem deparagem
paragem(Off),
(Off),oosistema
sistemadeve
deveparar.
parar.
•O sensor de temperatura regista a temperatura actual no endereço
•O sensor de temperatura regista a temperatura actual no endereço (D0100). (D0100).
•O
•Ohistorial
historialdos
dosvalores
valoresdadatemperatura
temperaturadevem
devemserserarmazenados
armazenadosnos nosendereços
endereços(D0020
(D0020aaD0029).
D0029).
•Sempre que é dada ordem para um novo teste, todos os valores registados referentes
•Sempre que é dada ordem para um novo teste, todos os valores registados referentes ao teste ao teste
anterior,
anterior,devem
devemser serapagados.
apagados.

On

Off
Sensor

AFG 1 NOME ENDEREÇO DESCRIÇÃO


ON 0.00 LIGAR SISTEMA
OFF 0.01 DESLIGAR SISTEMA
AQUEC 1.00 EQUIPAMENTO DE AQUECIMENTO
TEMPO C0000 CONTA OS 10 SEG DE AQUECIMENTO
APONTADOR D0 APONTADOR PARA A ÁREA DE MEM A ESCREVER
INI_REG D20 AREA DE INICIO DOS REGISTOS DE TEMPERATURA
Aquecimento FIM_REG D29 AREA DE FIM DOS REGISTOS DE TEMPERATURA
TEMP D100 REGISTO QUE CONTEM A TEMPERATURA ACTUAL
AUX_1SEG W200.00 (Auto) AUXILIAR DO BIT ESPECIAL DE 1 SEGUNDO
Fim

Muito obrigado...

www.omron.pt

Info.pt@eu.omron.com