Вы находитесь на странице: 1из 123

Sumário

Introdução 5

Funcionamento Básico 8

Vantagens 11

Controladores SIEMENS 12

Simatic S7 300 SIEMENS 13

Elementos da CPU 15

S7 300 – Espectro do Módulo 16

Sistemas de Numeração 18

Operações Aritméticas no Sistema Binário 25

Bits, Bytes e Palavras. 27

Formato e Representação dos Números 28

Operações Lógicas 31

Princípio de Funcionamento 33

Estrutura de Programação 35

Tipos de Estruturas 36

Blocos de Programa 38

Chamada de Blocos 41

Tipos de Dados 43

Endereçamento Absoluto e Simbólico 48

Linguagem de Programação 49

Instrções com bits 62

Operações Lógicas com Ladder 64

Set e Reset 67

Flanco de Impulso 69

Temporizadores 71

Contadores 82

Comparadores 88

Saltos e Chamadas de Blocos 89

3
Operações Lógicas Digitais 92

Operações Aritméticas Básicas 94

Manipulação de Blocos Parametrizáveis 95

Exercícios 100

Referências Bibliográficas 113

4
Introdução

O CLP

O critério de projeto para o primeiro controlador programável foi especificado em 1968 por
uma divisão da GENERAL MOTORS CORPORATION. O objetivo inicial era eliminar o alto
custo associado com os sistemas controlados a relés. As especificações iniciais requeriam um
sistema de estado sólido com a flexibilidade do computador, capaz de suportar o ambiente
industrial, ser facilmente programado e reprogramado, manutenção fácil e por último facilmen-
te expansível e utilizável.

Devido ao intuito inicial de substituírem os painéis de relés no controle discreto, foram chama-
dos de Controladores Lógicos Programáveis - CLP (Programmable Logic Controllers - PLC).
Porém, atualmente, os controladores são bem mais complexos e não executam somente lógi-
ca do tipo E e OU, motivo pelo qual passaram a ser chamados apenas de Controladores Pro-
gramáveis - CP. Os primeiros controladores tinham pouca capacidade de processamento e
suas aplicações limitavam-se à máquinas e pequenos processos que necessitavam de opera-
ções repetitivas. A partir de 1970, com o advento da tecnologia de microprocessadores, os
controladores passaram ter uma grande capacidade de processamento e alta flexibilidade de
programação e expansão. Entre outras características citamos: a capacidade de operar com
números, realizar operações aritméticas com ponto decimal flutuante, manusear dados e se
comunicar com computadores. Desta forma, os CP’s atuais podem atuar tanto em controle
discreto, tais como, automação da manufatura, onde as máquinas apresentam ações automá-
ticas e discretizada no tempo, como em controle contínuo, tais como, processos químicos e
siderúrgicos, com características primordialmente analógicas.

O sistema utilizado para programar o controlador era um dispositivo dedicado e acondicionado


em um maleta portátil, chamada de maleta de programação, de forma que podia ser levada
para "campo" afim de alterar dados e realizar pequenas modificações no programa. O sistema
de memória do controlador não permitia facilidades de programação por utilizar memórias do
tipo EPROM.

Inovações no hardware e software entre 1975 e 1979 proporcionaram ao controlador maior


flexibilidade e capacidade de processamento, isto significou aumento na capacidade de me-
mória e de entradas/saídas, permitiu entradas/saídas remotas, controle analógico, controle de
posicionamento, comunicações, etc. A expansão de memória permitiu um programa de aplica-
ção maior e uma maior quantidade de dados de forma que os programas de controle não fi-
cassem restritos à lógica e seqüenciamento, mas também realizassem aquisição e manipula-
ção de dados. Com o desenvolvimento do controle analógico, o controlador programável pre-
encheu o "gap" entre controle discreto e controle contínuo.

Os custos com fiação foram reduzidos significativamente com a capacidade do controlador de


comunicar-se com subsistemas de entrada/saída localizados em pontos remotos, distante da
unidade central de processamento e perto do equipamento a ser controlado. Ao invés de tra-
zer centenas de fios para o armário do CP, os sinais dos subsistemas podem ser multiplexa-
dos e transmitidos por um único par de fios trançados. Esta técnica permitiu a decomposição

5
de grandes sistemas em pequenos subsistemas melhorando a confiabilidade, manutenção e
partida gradual dos subsistemas principais.

Em 1979 foi desenvolvida a rede de comunicação de alta velocidade (Data Highways - no jar-
gão dos fabricantes da época) permitindo um controle sincronizado entre vários controladores,
comunicação com microcomputadores e outros sistemas situados em um nível funcional supe-
rior. Com isto foi possível combinar o desempenho do controlador programável com a capaci-
dade de controle distribuído de alta velocidade e interface com computadores resultando em
uma grande potencialidade de controle e supervisão.

Atualmente, existem vários tipos de controladores, desde pequena capacidade até os mais
sofisticados realizando operações que antes eram consideradas específicas para computado-
res. A evolução do hardware, conduziu a melhoras significativas nas características do contro-
lador, entre outras citamos:

• Redução no tempo de varredura;

• Interfaces de E/S microprocessadas. Ex.: módulo PID, módulo ASCII, módulo de posi-
cionamento;

• Uma Interface Homem Máquina (IHM) mais poderosa e amigável.

• No software também surgiram novas características, tais como:

• Linguagem em blocos funcionais e estruturação de programa;

• Linguagens de programação de alto nível, baseadas em BASIC;

• Diagnósticos e detecção de falhas;

• Operações matemática em ponto flutuante através de coprocessadores matemáticos,


etc.

Os Controladores Lógicos Programáveis (CLPs), também chamado de controladores progra-


máveis, fazem parte da família dos computadores. Usam-se em aplicações comerciais e in-
dustriais.

Um controlador, monitora as entradas, toma decisões baseadas em seu programa, e controla


as saídas para automatizar um processo ou máquina. Este curso trata de mostrar informação
básica sobre as funções e as configurações dos controladores programáveis.

6
MOTORES

LUZES
BOMBAS

BOTÕES
SENSORES

7
Funcionamento Básico
Um controlador programável consiste em módulos de entradas, uma CPU, e módulos de
saídas.

Uma entrada aceita uma grande variedade de sinais analógicos ou digitais de vários dispositi-
vos de campo (sensores) e os converte em uma lógica que a CPU pode usar. As CPU tomam
as decisões e executa as instruções de controle baseadas nas instruções do programa da
memória. Os módulos de saída convertem as instruções de controle da CPU em um sinal digi-
tal ou analógico que se pode usar para controlar dispositivos de campo (atuadores). Usa-se
um dispositivo de programação para introduzir as instruções desejadas. Estas instruções es-
pecificam o que deve fazer o controlador segundo uma entrada específica. Um dispositivo
operador permite processar a informação para ser visualizada e introduzir novos parâmetros
de controle.

Saídas

Unidade de
Processo
Central

Programação

Os botões (sensores), do exemplo abaixo, conectado as entradas do controlador, podem ser


usados para acionar e parar um motor conectado a um controlador através de uma contatora.

8
ATUADORES

MOTOR

SAÍDAS

BOTÕES
CONTROLADOR

ENTRADA

Controle
Anteriormente aos controladores, muitas destas tarefas de controle solucionavam-se mediante
relés ou contatores. Isto se denominava controle mediante lógica de cabeamento. Tinham que
projetar os diagramas do circuito, especificar e instalar os componentes elétricos, e criar listas
de cabeamento. Então os eletricistas deviam cabear o componente necessário para realizar
uma tarefa especifica. Quando se cometia um erro, os cabos tinham que ser novamente co-
nectados corretamente. Uma alteração em sua função ou uma ampliação do sistema requeria
grandes alterações nos componentes e seu cabeamento.

9
Controlador

Mesmo a tarefa mais complexa, pode-se fazer com um controlador. O cabeamento entre dis-
positivos e os contatos entre relés fazem-se no programa do controlador. Entretanto há a ne-
cessidade de cabeamento para conectar os dispositivos de campo, este é menos intensivo. A
modificação da aplicação e a correção de erros são mais fáceis de realizar. É mais fácil criar e
alterar um programa em um controlador do que cabear e recabear um circuito.

10
Vantagem
Por que CLP?

- Com o uso do CLP ( controlador lógico programável), além de reduções de custos, oferecem
outras vantagens:

- Confiabilidade - depois de escrito e depurado, um programa pode ser transferido e arma-


zenado facilmente em outros CLPs.

-Flexibilidade - modificações de programas podem ser feitos com pouca digitação, pode se
fazer atualizações do sistema sem a presença de um técnico do fabricante, bastando apenas
enviar um novo programa.

- Funções avançadas - os CLPs podem realizar uma grande variação de tarefas de contro-
le, desde ações simples e repetitivas até ações de manipulação de dados complexos.

- Comunicações - a comunicação com interfaces de operação, outros CLPs ou computado-


res, facilita a coleta de dados e o intercâmbio de informações.

- Velocidade - certas máquinas automatizadas processam milhares de informações por mi-


nuto, objetos estão expostos a sensores e frações de segundos, logo, necessita-se de respos-
ta rápida e segura, por isso o uso de CLPs.

- Diagnóstico - a capacidade de resoluções de problemas com o CLP é muito mais rápida,


permitindo a soluções de problemas de software e hardware.

- Redução de custos - com o uso de CLP, a uma redução significativa em termos de custos
na montagem de máquinas.

11
Controladores SIEMENS

A Siemens fabrica várias linhas de controladores da família SIMATIC S7.


S7-200, 300 e 400.

S7-200
O S7-200 denomina-se micro sistema por causa de seu pequeno tamanho. O S7-200 tem um
design compacto em que a fonte de alimentação e as Entradas/Saídas são incorporadas. O
S7-200 pode ser usado em pequenas aplicações independentes como elevadores, lavador de
veículos, máquinas misturadoras, entre outros. Também podem utilizar-se em aplicações in-
dustriais mais complexas como máquinas de embutimentos e empacotamentos.

S7-300 e S7-400
Estes controladores usam-se em aplicações mais complexas, que necessitam de um maior
número de Entradas/Saídas. Ambos são modulares e ampliáveis. A fonte de alimentação e as
Entradas/Saídas consistem em módulos independentes conectados a CPU. A escolha entre o
S7-300 e o S7-400 depende da complexidade da tarefa e de uma possível ampliação futura.

12
SIMATIC S7 300 SIEMENS

O S7-300 possui as seguintes características :

• Diversas CPU´s com diferentes capacidades.

• Extensivo espectro de módulos. Pode ser expandido em até 32 módulos.

• Módulos integrados em barramento backplane.

• Pode ser ligado em rede com interface multi-point ( MPI ), PROFIBUS e Industrial Ether-
net.

• Conexão central com PC acessa todos os módulos ( FM e CP ).

• Não há regras para alocação das placas. Configuração e parametrização via Software S7.

Especificações Técnicas S7-300

CPU 312 CPU314 CPU


CPU 313 CPU 314
IFM IFM 315
24 48
Memória de Trabalho 6 KByte 12 KByte 24 KByte
KByte KByte
40 80
Memória de Carga ( RAM Integrada ) 20 KByte 20 KByte 40 KByte
KByte KByte
512 512 512
Memória de Carga ( Flash EPROM ) - -
KByte KByte KByte
DI / DQ 128 128 512 992 1024
AI / AQ 32 32 64 248 128
I/O Integradas DI / DQ 10 / 6 - - 20 / 16 -
I/O Integradas AI / AQ - - - 4/1 -
Tempo de Execução para 1K de Ins-
0,6 ms 0,6 ms 0,3 ms 0,3 ms 0,3 ms
trução
Memory Markers ( Flags ) 1024 2048 2048 2048 2048
Contadores / Temporizadores 32 / 64 64 / 128 64 / 128 64 / 128 64 / 128
Funções Integradas sim não não sim não
Máximo Conexões Ativas por Inter-
4 4 4 4 4
face MPI

13
Dados Técnicos :
A Família S7-300 suporta um set de instruções e endereçamento co-
muns. A tabela acima mostra as especificações técnicas mais importan-
tes para CPU´s 312 a 315.

Numero de Blocos :
Diferenças nas quantidades de números de blocos ( FB, FC, DB ).

CPU 312 CPU 313 / 314 / 315


32 FB 128 FB FB Blocos de Funções
32 FC 128 FC FC Funções
63 DB 127 DB DB Blocos de dados

Trilhos :
Para as CPU´s 312 e 313, é possível somente um trilho ( sem expansão ) As
CPU´s 314 e 315 suportam até quatro trilhos ( 3 trilhos de expansão ).

Conexão DP :
O S7-315-DP possui uma interface adicional para PROFIBUS DP ( Periferia
Distribuída )

14
ELEMENTOS DA CPU

1. Localização do Módulo de Memória ( Micro Memory Card – MMC ) . O MMC é inserido


neste local. O módulo arquiva o programa para quando existir uma falha na alimentação,
mesmo no caso de ausência da bateria.

2. Status da CPU - Leds :

SF - Erro interno na CPU ou erro de diagnóstico nos módulos.


BATF - Sem bateria ou carga baixa.
DC5V - Fonte +5V; indicador de tensão DC Ok.
FRCE - Indica que pelo menos uma entrada ou saída está forçada.
RUN - Piscando durante a inicialização da CPU, acesa quando a CPU está em
modo RUN ( processando o programa ).
STOP - Pisca se um reset de memória é necessário, acesa indica que a CPU
está no modo STOP ( programa não está sendo executado ).

3. Expulsor do MMC.

4. Chave para seleção manual do modo de operação da CPU :


MRES - Reset de memória ( overall reset )
STOP - O programa não é executado, mesmo se a CPU estiver em On-Line.
RUN - O programa é processado porém o terminal de programação tem só
acesso ao programa sem poder altera-lo
RUN-P - A CPU está processando o programa, e o terminal de programação
pode acessar e alterar o programa e o modo de operação. ( não existe trava ).

5. Segunda Interface X2 - DP
6. Primeira Interface X1 - MPI, conexão 9 pinos. Porta de programação da CPU do S7-300.
7. Conexão da Fonte de Alimentação. Existe um local para bateria de lithium em baixo da
tampa. A bateria salva o conteúdo da memória RAM no caso de uma falha na alimentação
da CPU.

8. Conexão das Entradas e Saídas.


15
S7-300
ESPECTRO DO MÓDULO

A Figura acima mostra a configuração máxima do S7-300.

1. Trilho 1 ( Bastidor 0 ) - Rack Central.

2. Trilho 2 ( Bastidor 1 ) - Rack de Ampliação.

3. Trilho 3 ( Bastidor 2 ) - Rack de Ampliação.

4. Trilho 4 ( Bastidor 3 ) - Rack de Ampliação.

5. Linha de Conexão 368.

6. A limitação para CPU 31xC não pode inserir no Rack 4 o módulo de Sinais 8.
PS - Fonte de Alimentação.

16
IM - Módulos de Interface. Os módulos de interface torna possível a configuração de vários
trilhos ( expansão ). Esta configuração faz a conexão entre os trilhos. Módulo de Transmissão,
IM360 conectado no Rack Central. Módulo de Recepção IM361 conectado no Rack de ex-
pansão. No módulo de expansão são permitidos somente módulos de I/O ( SM )

SM - Módulo de Sinal. Os módulos de Sinais recebem do campo os sinais elétricos e os adap-


ta aos vários tipos de sinais do módulo S7-300. Entradas e Saídas Digitais, Entradas e Saídas
Analógicas. Acessórios: Conectores de bus e conectores frontais.

FM - Módulo de Funções. O módulo de função oferece funções especiais como Contagem,


Posicionamento, Regulação em Malha Fechada.

CP - Módulos de Comunicação. Possibilidades de Rede : Ponto a Ponto, PROFIBUS e Indus-


trial Ethernet.

17
SISTEMAS DE NUMERAÇÃO
0 lógico, 1 lógico
Os controladores programáveis só podem entender um sinal que seja On ou Off (presente ou
não presente, ligado ou desligado). O sistema binário é um sistema na qual só há dois núme-
ros, 1 e 0. O binário 1 indica que um sinal está presente, ou o interruptor está ligado ( On ). O
binário 0 indica que o sinal não está presente, ou o interruptor está desligado ( Off ).

As vezes os dígitos binários usam-se individualmente e outras são utilizados para representar
valores numéricos.

Sistema Decimal
Nos controladores usam-se vários sistemas numéricos. Todos os sistemas de números, tem
as mesmas características: dígitos, base, potência. O sistema decimal, que é de utilização
comum.
na vida diária, tem as seguintes características :
Dez dígitos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Base 10
Potências 1, 10, 100, 1000, ...

Sistema Binário
O sistema binário é usado nos controladores programáveis. Tem as seguintes características:
Dois dígitos 0, 1
18
Base 2
Potências de base 2 (1, 2, 4, 8, 16, ...)
No sistema binário, os 1s e 0s se ordenam em colunas. Cada coluna tem um peso. A primeira
coluna tem um peso binário de 20. Isto equivale ao decimal 1. Este é denominado bit menos
significativo. O peso binário dobra-se a cada coluna sucessivamente. A coluna seguinte, por
exemplo, tem um peso de 21, que equivale ao decimal 2. O valor decimal dobra-se em cada
coluna sucessivamente. O número mais a esquerda denomina-se bit mais significativo. No
exemplo abaixo, o bit mais significativo tem um peso binário de 27. É equivalente ao decimal
128.

BIT Mais Significativo BIT Menos Significativo

Conversão binário

Os seguintes passos podem ser usados para interpretar um número decimal a partir de um
valor binário:
1. Buscar de direita a esquerda (de menos significativo ao mais significativo) os 1s.
2. Escrever a representação decimal de cada coluna que contenha um 1.
3. Somar os valores dessas colunas.

No exemplo seguinte, as colunas quarta e quinta a partir da direita, contém um 1. O valor de-
cimal da quarta coluna a partir da direita é 8, e o valor decimal da quinta coluna a partir da
direita é 16. O decimal equivalente a este número binário é 24. A soma de todas as colunas
com peso que contém um 1 é o número decimal que o controlador armazenou.

19
No exemplo seguinte, as colunas quarta e quinta a partir da direita contém um 1. O valor de-
cimal da quarta coluna a partir da direita é 8, e o valor decimal da sexta coluna a partir da di-
reita é 32. O decimal equivalente a este número binário é 40.

Outro Método:

Divide-se o número sucessivamente pela base desejada até que o dividendo seja nulo. O nú-
mero na nova base é obtido tomando-se na ordem inversa os restos da divisão, isto é, o digito
mais significativo é o último resto e o menos significativo é o primeiro resto.

Ex.: Conversão do número 11 para a base 2 (binária)

número na
base original

11 2 base desejada
LSB 1 5 2
1 2 2
0 1 2
1 0 fim da
conversão

MSB

20
Hexadecimal

O hexadecimal é outro sistema usado nos controladores programáveis. O sistema hexadeci-


mal
tem as seguintes características :
16 dígitos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Base 16
Potências de base 16 ( 1, 16, 256, 4096 ...)
Utilizam-se os dez dígitos do sistema decimal para os primeiros dez dígitos do sistema hexa-
decimal. Usam-se as primeiras seis letras do alfabeto para os seis dígitos restantes.

A = 10 D = 13
B = 11 E = 14
C = 12 F = 15

Utiliza-se o sistema hexadecimal nos controladores programáveis porque permite representar


o estado de um grande número de bits binários em um pequeno espaço como no monitor de
um computador ou um visualizador de uma unidade de programação. Cada dígito hexadeci-
mal representa o estado exato de 4 bits binários. Para converter um número decimal em um
número hexadecimal o número decimal se dividirá por base 16. Por exemplo, para converter o
decimal 428 em hexadecimal:

Ex.: Conversão do número 428 para a base 16 (hexadecimal)

428 16 12=C
12 26 10=A
16
10 1 16
1 0 = 1AC16

O decimal 428 dividido por 16 é 26 com um resto de 12. Doze é equivalente a C em hexade-
cimal. Resta 26 que dividido por 16 é 1 com um resto de 10 que é equivalente a letra A. O
hexadecimal equivalente do decimal 428 será então 1AC.

O valor decimal de um número hexadecimal obtém-se multiplicando individualmente os dígitos


hexadecimais pelo peso de base 16 e depois somando os resultados. No exemplo seguinte o
número hexadecimal 2B converte-se em seu decimal equivalente que é 43.

21
160 = 1
161 = 16
B =11

Conversão de bases: Hexa  binária

Binário Hexadecimal
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F

Como pode ser observado na tabela acima cada dígito hexadecimal corresponde a um con-
junto de 4 dígitos binários e vice-versa.

a) 1011 = B b)0001 1010 1100 = 1AC

22
Código BCD

O código BCD (Binary-Coded Decimal, Decimal Codificado em Binário) são números decimais
em que cada dígito está representado por um número binário de 4 bits.

BCD Decimal
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9

Este código é utilizado para facilitar a interpretação por parte do usuário em um sistema com-
putacional.

Ex.: observe que há diferença em representar um numero em código BCD e em convertê-lo


simplesmente para a base 2.

11 = 0001 0001 (Obs.: 11 na base 2 é igual a 1011)

35 = 0011 0101 (Obs.: 35 na base 2 é igual a 100011)

23
Conversão de Números

A tabela seguinte mostra alguns poucos valores numéricos em representação decimal, biná-
rio, BCD e hexadecimal.

24
Operações Aritméticas no Sistema
Binário
Nas áreas de eletrônica digital e dos microprocessadores, o estudo das operações aritméticas
no sistema binário é muito importante pois estas serão utilizadas em circuitos aritméticos.

Adição no Sistema Binário.

Para efetuarmos a adição no sistema binário, devemos agir como uma adição convencional
no sistema decimal, lembrando que, no sistema binário temos apenas dois algarismos. Temos
então:

0 0 1 1
+0 +1 +0 +1
0 1 1 10

Convém observar que no sistema decimal 1 + 1 = 2 e no sistema binário representamos o


número 2 por 10. Pela operação realizada, notamos a regra de transporte para a próxima co-
luna: 1+1=0 e "vai um”.

Subtração no Sistema Binário.

O método de resolução é análogo a uma subtração no sistema decimal. Temos então:

0 0 1 1
-0 - 1 -0 -1
0 1 1 0

Observamos que para o caso 0 - 1, o resultado será igual a 1, porém haverá um transporte
para a coluna seguinte que deve ser acumulado no subtraendo e, obviamente, subtraído do
minuendo.

Multiplicação nos Sistema Binário.

Procede-se como em uma multiplicação decimal. Assim sendo temos:

0x0=0
0x1=0
1x0=0
1x1=1

Notação dos Números Binários Positivos e Negativos.

A representação de números binários positivos e negativos pode ser feita utilizando-se os si-
nais " + " ou " - " respectivamente. Na prática, porém em hardware dos sistemas digitais que
processam operações aritméticas, microprocessadores por exemplo, estes sinais não podem
25
ser utilizados, pois tudo deve ser codificador em 0 ou 1. Uma forma para representar0 núme-
ros binários negativos bastante utilizada nos sistemas já citados é a notação do complemento
de 2, mas para entendê-la, devemos primeiramente converter o número na notação do com-
plemento de 1, conforme se segue.

Complemento De 1

A obtenção do complemento de 1 de um número binário se dá pela troca de cada bit do núme-


ro pelo seu inverso ou complemento. Para demonstrar esse procedimento, vamos obter o
complemento de 1 do número 10011011. Assim sendo, temos:

Número binário ➔ 1 0 0 1 1 0 1 1
Complemento de 1 ➔ 0 1 1 0 0 1 0 0

Complemento De 2

A notação do complemento de 2, como já dissemos, é utilizada para representar números bi-


nários negativos. Sua obtenção se dá somando-se 1 ao complemento de 1 do número binário
inicial. Para exemplificar, vamos representar o número 11001101 na notação do complemento
de 2:

Número binário ➔ 1 1 0 0 1 1 0 1
Complemento de 1 ➔ 0 0 1 1 0 0 1 0 +1
Complemento de 2 ➔ 0 0 1 1 0 0 1 1

26
Bits, Bytes e Palavras (Words)

Cada unidade binária de dados é um bit. Cada 8 bits fazem 1 Byte. 2 bytes ou 16 bits, fazem 1
palavra ( Word ). 2 Palavras ou 4 Bytes ou 32 bits fazem uma Palavra Dupla ( Double Word ).

Byte
bit

31 24 23 16 15 87 0
0 0 1 0 0 0 1 0 1 1 0 1 1 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 1

Word ( Palavra )

Double Word ( Palavra Dupla )

27
Formato e Representação dos Números

Binário

Limite : 32 bits
Representação : 2#
Faixa :
Palavra ( Word ) : 2#0 até 2#1111111111111111 ( 16 uns )
Palavra Dupla ( Double Word ) : 2#0 até 2#11111111111111111111111111111111 ( 32 uns )

Hexadecimal

Limite : 32 bits
Representação:

Byte → B#16#
Word ( Palavra )→ W#16#
Double Word ( Palavra Dupla )→ DW#16#

Faixa:

Byte : B#16#0 até B#16#FF


Word : W#16#0 até W#16#FFFF
Double Word : DW#16#0 até DW#16#FFFFFFFF

BCD
BCD “ Decimal Codificado em Binário”. Cada 4 bits representa um dígito.
Há 2 formatos de BCD, de 3 dígitos e de 7 dígitos.
Palavra ( 16 bits ) : BCD de 3 dígitos com sinal.

28
Exemplo : +310

Sinal : 0000 → positivo


1111 → negativo
Faixa : -999 até 999

Dupla Palavra ( 32 bits ) : BCD de 7 dígitos com sinal.


Faixa : -9999999 até 9999999

Formatos de Números

Números Inteiros:

Um número Inteiro é representado pela letra “I”. É um número binário de 16 bits que tem como
sinal o bit mais significativo.
Limite : Positivo 215 - 1 = 32767 ( o “0” considera-se positivo )
Negativo 215 = -32368

Números Negativos: Faz-se o complemento de 2, mudando zeros por uns e somando 1.


Exemplo : -3 O número -3 portanto seria :
3 = 0000 0000 0011
C1 = 1111 1111 1100
+1 = 1111 1111 1101

29
Números Duplos Inteiros:
Um número Duplo Inteiro é representado pela letra “D”. É um número binário de 32 bits que
tem como sinal o bit mais significativo.
Limite : Positivo 231 - 1 = 2147483647 ( o “0” considera-se positivo )
Negativo 231 = -2147483648

Números Reais :
Um número Real, também chamado de número de Ponto Flutuante, é representado pela letra
“R”. É um número binário de 32 bits que constam de 2 pares :
Expoente : 8 bits
Mantissa : 24 bits

O bit mais significativo define o sinal do número.

Limite : Positivo = 3.402823 1038


Negativo = -3.402823 1038

30
Operações Lógicas
Chamamos de variável Booleana a uma variável que pode assumir só duas condições. Um
exemplo de variável Booleana é uma chave (C ) que só pode estar aberta ou fechada, não
existe outra condição. Em eletrônica digital costumamos associar a uma variável Booleana
os símbolos “ 0 “ e “1 “.

Podemos ter uma variável Booleana dependente de uma ou mais variáveis Booleanas. Por
exemplo, em resposta à condição de uma chave (variável A ) a qual pode estar aberta ou fe-
chada podemos ter a condição de uma lâmpada (variável L ) acesa ou apagada em respos-
ta. De acordo com uma determinada convenção , como na figura abaixo se convencionamos
que chave aberta A = 0 , a chave fechada A = 1 teremos como resposta a lâmpada apagada
L = 0 ou acesa L = 1.

Para caracterizar o comportamento lógico estabelecemos o que chamamos de tabela


verdade do circuito.

Expressão Booleana : L = A

Tabela Verdade
ou
A L A L
Aberta ( 0 ) Apagada ( 0 ) 0 0
Fechada ( 1 ) Acesa ( 1 ) 1 1

Lógica E ( And )
Antigamente os circuitos lógicos eram feitos ( implementados ) com relés, hoje usamos por-
tas lógicas em CI para realizar uma determinada lógica. A seguir mostraremos as principais
portas lógicas e as sua características .Podemos Ter uma variável Booleana dependente de
mais de uma variável Booleana , assim é que podemos Ter duas chaves A e B ligadas em
série para ligar a lâmpada L. A lógica existente é : “ a lâmpada acenderá se A e B estiverem
fechadas “. Dizemos que esta é uma lógica E ( AND em inglês ). A porta lógica corresponden-
te é chamada porta E ( AND ) e cujo símbolo está representado na Figura abaixo. Expressão
Booleana: L = ªB ( lê-se A e B , mas por analogia com a operação multiplicação dizemos
também A vezes B)

A B L A B L
0 (aberta) 0 (aberta) 0 (apagada ) 0 0 0
0 ( aberta ) 1 ( fechada ) 0 ( apagada ) 0 1 0
1( fechada ) 0 ( aberta ) 0 ( apagada ) 1 0 0
1( fechada ) 1 ( fechada ) 1 ( acessa ) 1 1 1

31
Lógica OU ( OR )

A função OU ( OR ) tem a seguinte lógica se pensarmos em termos de chaves ( não esqueça


chave aberta  “ 0 “, fechada “ 1 “ ): “A lâmpada acenderá se a chave A OU a chave
B estiverem ligadas na Figura abaixo “. Expressão Booleana: L = A+B ( Lemos A ou B, mas
por analogia com a operação soma dizemos A mais B ).

A B L A B L
0 (aberta) 0 (aberta) 0 ( apagada ) 0 0 0
0 ( aberta ) 1 ( fechada ) 1 ( acesa ) 0 1 0
1( fechada ) 0 ( aberta ) 1 ( acesa ) 1 0 0
1( fechada ) 1 ( fechada ) 1 ( acesa ) 1 1 1

Lógica Inversora

A função Não ( NOT ) ou função Inversora dá uma saída que é o complemento ( inverso )

da entrada. Expressão Booleana : L = A

A L A L
Aberta ( 0 ) Acesa ( 1 ) 0 1
Fechada ( 1 ) Apagada ( 0 ) 1 0

32
Principio de Funcionamento

CPU´s antes de 10/1998 CPU´s após 10/1998

Sistema Operacional
inicia vigilância do
Tempo de Ciclo.

PIQ
PII PIQ

PII

Inicialização

No momento em que é ligado o CLP executa uma série de operações pré - programa-
das, gravadas em seu Programa Monitor:
• Verifica o funcionamento eletrônico da C.P.U. , memórias e circuitos auxiliares;
• Verifica a configuração interna e compara com os circuitos instalados;
• Verifica o estado das chaves principais ( RUN / STOP , PROG, etc. );
• Desativa todas as saídas;
• Verifica a existência de um programa de usuário;
• Emite um aviso de erro caso algum dos itens acima falhe.

Verificar Estado das Entradas


O CLP lê os estados de cada uma das entradas, verificando se alguma foi acionada. O pro-
cesso de leitura recebe o nome de Ciclo de Varredura ( Scan ) e normalmente é de alguns
micro - segundos ( scan time ).

Transferir para a Memória - Imagem do Processo PIQ e PII

Após o Ciclo de Varredura, o CLP armazena os resultados obtidos em uma região de memória
chamada de Memória Imagem ( Imagem do Processo ) das Entradas e Saídas. Ela recebe
este nome por ser um espelho do estado das entradas e saídas. Esta memória será consulta-
33
da pelo CLP no decorrer do processamento do programa do usuário. Comparar com o Pro-
grama do Usuário

O CLP ao executar o programa do usuário , após consultar a Memória Imagem das Entradas ,
atualiza o estado da Memória Imagem das Saídas, de acordo com as instruções definidas
pelo usuário em seu programa.

Atualizar o Estado das Saídas

O CLP escreve o valor contido na Memória das Saídas , atualizando as interfaces ou módulos
de
saída. Inicia - se então, um novo ciclo de varredura.

Vantagens da Imagem do Processo

Em comparação com o acesso direto aos módulos de entrada e saída, o acesso a imagem de
processo oferece a vantagem de que a CPU dispões de uma imagem coerente dos sinais do
processo durante a execução cíclica do programa. Se durante a execução do programa varia
um estado de sinal em um módulo de entrada, este estado de sinal se conserva na imagem
de processo até que esta seja atualizada no próximo ciclo.
Além disso, o acesso a imagem de processo requer muito menos tempo que o acesso
direto aos módulos de sinais, já que a imagem de processo encontra-se na memória interna
da CPU.
Tempo de Ciclo ( SCAN TIME )

O tempo de Ciclo é o tempo que o sistema operacional necessita para executar o programa
cíclico, assim como todas as partes do programa que interrompem este ciclo, por exemplo a
execução de outros blocos de organização e as atividades do sistema como a atualização das
imagens do processo. Este tempo é vigiado pelo sistema. Transcorrido este tempo a CPU
passa para o estado STOP e chama a OB de erro de tempo.

34
Estrutura de Programação

Passos para a Automação de um Equipamento com CLPs

35
Tipos de Estrutura

O STEP 7 fornece 3 possibilidades para o desenvolvimento de seus programas. Baseado nes-


ta diretriz, você pode decidir qual é a estrutura de programa mais apropriada para a sua apli-
cação.

Programa Linear

O programa inteiro reside em um único bloco de instrução contínuo ( OB1 ). Esta estrutura é
semelhante a um circuito de relés substituído por um controlador lógico programável. Como o
nome diz, um programa descreve um grupo de instruções que são repetidamente realizadas
sequencialmente. Simplifica-se as funções de administração do software considerando que há
somente um bloco. Por outro lado, pelas instruções estarem dentro do mesmo bloco elas são
executadas a cada ciclo até mesmo as partes que não são usadas pelo programa. Este méto-
do não utiliza a CPU de forma eficiente. Outra dificuldade está na manutenção do software já
que será necessário analisar todo o programa para fazer uma pequena alteração.

Programa particionado

O programa é dividido em blocos, cada bloco contém uma lógica específica para dispositivos
ou tarefas. As informações residentes no bloco de organização ( OB1) determinam a ordem
de execução dos blocos a serem processados. Um programa particionado pode, por exemplo,
conter blocos de instruções com os quais os modos de operações individuais de um processo
industrial são controlados. Neste caso, a vantagem é que os blocos somente são chamados
durante o ciclo quando necessários, otimizando assim a utilização da CPU. Além disso, em
sua manutenção, podemos fazer alterações em seus blocos específicos ( individuais ) não
havendo a necessidade de analise de todo o programa.

FC 10
Motor 1

OB 1 FC 15
Motor 2

FC 20
Motor 3

36
Programa Estruturado

Um Programa estruturado contém blocos de instruções com parâmetros definidos pelo usuário
(blocos parametrizados). Estes blocos são projetados de forma que possam ser usados uni-
versalmente ( Genéricos ). Os parâmetros atuais ( os endereços de entradas e saídas ) são
especificados durante a chamada do bloco.

FC 10
Motor 1

OB 1 FC 10
Motor 2

FC 10
Motor 3

37
Blocos de Programa

O Simatic S7 dispõe de uma série de blocos que dividem a memória de programa e a de da-
dos em seções, permitindo uma programação estruturada e um acesso ordenado aos dados.
O número de blocos vai depender do tipo de CPU empregada, dispondo em geral dos seguin-
tes:

Tipos de Módulos

Blocos de Organização (OB)

Constituem a forma de comunicação entre o sistema operacional da CPU e o programa do


usuário. Existem 3 tipos de OB, aos quais estão acessíveis segundo o tipo de CPU:

• OB 1 (ciclo livre): é o módulo principal. Você pode salvar o seu programa inteiro no OB1 e
deixar processando a cada ciclo. Você pode também salvar o seu programa em vários blocos
e usar o OB1 para chamar estes blocos quando necessário.

• OB de erro e alarme: são os que contém a seqüência de ações a realizar no caso de que se
produza um alarme ou erro programado. Ex. : OB40 - OB80

• OB de arranque: neste módulo podemos introduzir valores para que permitam o arranque
definido da instalação, bem como um arranque inicial caso haja uma falha de alimentação. Ex.
: OB100 - OB101

Blocos de Funções (FB)

Um bloco de função é uma função ou uma sequencia de comandos armazenados em um blo-


co lógico, onde os parâmetros podem ser arquivados em uma memória. O FB utiliza esta me-
mória adicional na forma de um “Bloco de Dados Instance” DB . Parâmetros passados para o
FB, e alguns dos dados locais são arquivados neste blocos de dados associado ( Instance DB
). Outros dados temporários são arquivados na pilha local ( L stack ). Dados arquivados em
Instance DB são retidos ( armazenados ) quando o Bloco de Função é fechado. Dados arqui-
vados na pilha L stack não são retidos.
38
Funções (FC)

A Função é um bloco de operação lógica similar ao bloco de função para o qual não é desig-
nado área de memória. Um FC não necessita de um Bloco de Dados Instance. As Variáveis
locais são arquivadas na pilha local ( L stack ) até que a função esteja concluída, sendo perdi-
das quando o FC termina a execução.

Para fins de memorização de dados, as funções podem utilizar blocos de dados globais.

Como uma FC não tem associada nenhuma memória, deve-se sempre indicar parâmetros
atuais.

Campo de Aplicação:
A FC contém um programa que se executa cada vez que a FC é chamada por outro bloco
lógico. As funções podem ser utilizadas para devolver um valor de função ao bloco invocante,
por exemplo, funções matemáticas. Executar uma função tecnológica, por exemplo, controle
individual com combinação binária.

Associação de parâmetros atuais e parâmetros formais:

O parâmetro formal é um nome ( apelido ) para o parâmetro real, ou seja, o parâmetro atual.
Os parâmetros atuais substituem os parâmetros formais ao efetuar-se a chamada a um FC. A
um parâmetro formal de um FC devem sempre associar parâmetros atuais, por exemplo, pa-
râmetro formal “START” um parâmetro atual “I 3.6”. Podem ser utilizados em parâmetros de
entrada e saída.

Blocos de dados (DB)

Um bloco de dados é uma área de dados permanente na qual dados ou informações que ou-
tras funções coletaram são armazenados. Bloco de dados são áreas de leitura/escrita que
pode ser carregado na CPU como parte de seu programa.

39
Os blocos de dados podem ser de dois tipos:

• Blocos de dados globais: podem ser utilizados por qualquer módulo do programa.
• Blocos de dados de instancia: atribui-se a um determinado bloco de função e só podem ser
manejados a partir deste bloco. Podem atribuir-se vários blocos de dados de instancia a um
bloco de função.

Blocos de funções de Sistema (SFB)

Um bloco de função de sistema é parte integral da CPU. Você pode utilizar um SFB em seu
programa, sem carregar como parte de seu programa porque os SFB’s são parte do sistema
operacional. SFB’s devem ser associados a um DB, o qual deverá ser transferido para a CPU
como parte de seu programa.
Exemplo: na CPU 312 -> SFB 29 “ HS_COUNT “ Contador de Alta Velocidade.

Funções de Sistema (SFC)

Função de sistema é uma pré programada e testada função que é integrada a CPU. Algumas
das tarefas suportadas por estas funções são setar parâmetros para módulos, comunicação
de dados, funções de cópia, manipulação do relógio, contador de horas de funcionamento.
etc. Uma SFC pode ser chamada pelo seu programa, porém sem precisar fazer parte dele (
não ocupa memória de trabalho ).

Blocos de Dados de Sistema (SDB)

Um bloco de dados de sistema é uma área de memória que a ferramenta STEP 7 gera para
arquivar dados necessários para o controle de operações. Informações, tais como dados de
configuração, conexões de comunicação e parâmetros são salvos em SDB’s.

OBS. :

Cada CPU possuí seus SFBs e SFCs específicos. Para obter maiores detalhes, consulte o
manual Funções Standart e Funções de Sistema das CPUs Step 7-300.

40
Chamada de Blocos
A figura seguinte ilustra a seqüência da chamada de um bloco dentro do programa do usuário.
O programa chama o segundo bloco, cujas operações executam-se até o final. Finalizado o
tratamento do bloco chamado, continua-se o processamento do bloco invocante com a opera-
ção subseqüente a da chamada do bloco.

Seqüência e profundidade de agrupamento

A seqüência e o agrupamento das chamadas de blocos denominam-se hierarquia de chama-


das. A profundidade de agrupamento admissível depende do tipo de CPU. A figura seguinte
mostra, em um exemplo, a seqüência e a profundidade de agrupamento das chamadas de
blocos dentro de um ciclo de execução.

41
Ordem de criação de blocos:

· Os blocos criam-se de cima para baixo, ou seja, que começa-se com a fila superior de blo-
cos.

· Cada bloco que se chame já deverá existir. Portanto, em uma fila de blocos, a ordem de cri-
ação deverá ser da direita para esquerda.

· O OB 1 é o último bloco que se cria.

Conforme estas regras, a ordem de criação dos blocos da figura de exemplo seria o seguinte:

FC 1 > FB 1 + DB 1 de instancia > DB 1 > SFC 1 > FB 2 + DB 2 de instancia > OB 1

42
Tipos de Dados
Os operandos das instruções compõem-se de um dado que pode ser de distintos tipos. Os
tipos de dados possíveis são:

M Memory Markers ( Marcas de Memória - Flag )


I Entradas
Q Saídas
T Temporizadores
C Contadores
DB Data Block ( Módulo de Dados )

Cada um destes tipos podem endereçar-se em 4 possíveis modos (salvo T e C):

• bit
• B: Byte (8 bits).
• W: Word ( Palavra 16 bits).
• D: Double Word ( Palavra Dupla 32 bits).

Marcas de Memória

Quando realizamos nosso programa e operamos a nível de bit em operações lógicas (and, or,
etc.) pode ser que nos apareça a necessidade de armazenar o resultado lógico que tenhamos
em um determinado momento. Para isso dispomos de 256 marcas de memória de 1 byte, ou
seja , um total de 2048 marcas de 1 bit, que podemos endereçar como:

Bit de Marcas M 0.0 a M 255.7


Byte de marcas MB 0 a MB 255
Palavra de marcas MW 0 a MW 254
Palavra dupla de marcas MD 0 a MD 252

43
Entradas e saídas

O que são Entradas e Saídas?

Entrada
Byte
Bit

I x.x - Designa uma entrada.

É um elemento usado para monitorar uma ação ou um evento, como um interruptor, pressos-
tato, termostato, etc.
Na CPU 312C nós temos 10 Entradas Digitais Integradas. São elas:
I 124.0, I 124.1, I 124.2, I 124.3, I 124.4, I 124.5, I 124.6, I 124.7, I 125.0, I 125.1

Saída

Byte
Bit

Q x.x - Designa uma Saída.

É usada para controlar um equipamento como um motor, uma válvula ou um LED.


Na CPU 312C nós temos 6 Saídas Digitais Integradas. São elas:
Q 124.0, Q 124.1, Q 124.2, Q 124.3, Q 124.4, Q 124.5
Tal como comentamos anteriormente, manejaremos uma imagem das entradas e das saídas.
O número de e/s disponíveis dependerá do tipo de CPU que empregarmos, além dos módulos
externos que tenhamos conectado. Como máximo o controlador pode manejar até 65536
bytes para cada tipo de e/s. Em cada caso podemos endereçar como:

IMAGEM DO PROCESSO DAS ENTRADAS: PII

Bit de Entrada I 0.0 a I 65535.7


Byte de entrada IB 0 a IB 65535
Palavra de entrada IW 0 a IW 65534
Palavra dupla de entrada ID 0 a ID 65532

44
IMAGEM DO PROCESSO DAS SAÍDAS: PIQ

Bit de Saída Q 0.0 a Q 65535.7


Byte de saída QB 0 a QB 65535
Palavra de saída QW 0 a QW 65534
Palavra dupla de saída QD 0 a QD 65532

ENTRADAS EXTERNAS: Periferia

Byte de entrada da periferia PIB 0 a PIB 65535


Palavra de entrada da periferia PIW 0 a PIW 65534
Palavra dupla de entrada da periferia PID 0 a PID 65532

SAÍDAS EXTERNAS: Periferia

Byte de saída da periferia PQB 0 a PQB 65535


Palavra de saída da periferia PQW 0 a PQW 65534
Palavra dupla de saída da periferia PQD 0 a PQD 65532

Todas estas entradas e saídas podem ser de três tipos:

• E/S digitais:
São as e/s mais freqüentes e que em maior quantidade vamos ter.

• E/S digitais de alarme/erro:


Não são e/s adicionais, configuram-se dentro do Step7 e ocupam uma das e/s digitais
normais.

• E/S analógicas:
Estas sim são e/s adicionais, porem tem que ser configuradas também no Step7 para
especificar a faixa de endereços que vão ocupar.

45
ENDEREÇAMENTOS
Os endereçamentos são sempre realizados em grupos de 8 bits ou seja em Byte, quando são
realizados em Palavra ( Word ) devem ser endereçados conforme abaixo

215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20

IW n → Palavra de Entrada n ( Input Word n ) =


IB n → Byte de Entrada n ( Input Byte n ) +
IB n+1 → Byte de Entrada n+1 ( Byte de Entrada n + 1 )

Exemplos:

IW10 = IB 10 + IB 11
QW101 = QB 101 + QB102
MW26 = MB26 + MB27

Quando são realizados em Palavra Dupla ( Double Word ) devem ser endereçados conforme
abaixo :

231 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 20

ID n → Palavra Dupla de Entrada n ( Input Double Word n ) =


IB n → Byte de Entrada n + IB n+1 → Byte de Entrada n+1 +
IB n+2 → Byte de Entrada n+2 + IB n+3 → Byte de Entrada n+3

46
Exemplos :

ID10 = IB 10 + IB 11 + IB 12 + IB13

QD101 = QB 101 + QB102 + QB102 + QB103

MD26 = MB26 + MB27 + MB28 + MB29

47
Endereçamento Absoluto e Simbólico

Endereços Absolutos:

Um endereço absoluto é um endereço específico na CPU ( operandos Formais ), por exemplo,


entrada I 1.0. Neste caso, não é necessário editar uma lista de simbólicos, o programa porém
é mais difícil de entender.

Endereços Simbólicos :

O Endereçamento simbólico torna possível trabalhar com símbolos tais como Motor_liga, ao
invés do endereçamento absoluto. Os símbolos para entradas, saídas, temporizadores, con-
tadores, memory makers e blocos são arquivados na lista de simbólicos. Neste caso, os sím-
bolos são também chamados de símbolos globais porque o acesso é possível por todos os
blocos

A lista de simbólicos para os Símbolos Globais é criado com a ferramenta Symbol Editor. As
outras ferramentas do STEP 7, também tem condição de acessar a lista de simbólicos para
exibir os endereços simbólicos.

48
Linguagem de Programação

Para facilitar a programação dos CLPs , foram sendo desenvolvidas durante o tempo, diversas
Linguagens de Programação. Essas linguagens de programação constituem-se em um con-
junto de símbolos, comandos, blocos, figuras, etc, com regras de sintaxe e semântica.

Essas linguagens se mostram bastante eficientes, principalmente porque permite ao usuário


representar o programa de automação, tanto em Diagrama de Contatos ( LAD ou LADDER ),
em Diagrama Lógico ( CFS ) e como uma Lista de Instruções ( STL ). Isso facilita o manejo da
linguagem a um amplo círculo de usuários, na confecção e modificação de programas. Uma
biblioteca dos denominados Blocos Funcionais Estandarizados , posta à disposição dos
usuários, é um passo a mais na confecção racional de programas e redução dos custos de
software.

A linguagem que utilizaremos neste módulo será a linguagem LADDER.


Ladder segue os princípios de linguagem de Esquemas de Contatos fixados pela norma IEC
1131-3.

49
50
51
52
53
54
55
56
57
58
59
60
61
Instruções com Bits

As instruções de BIT trabalham com dois valores, 1 e 0. Com instrução na forma de um conta-
to ou de uma saída, 1 indica ativado ou energizado; 0 indica desativado ou desenergizado.
Instruções de BIT interpretam o estado do sinal 0 ou 1 e os combina de acordo com a Lógica
Booleana. O resultado destas combinações é 0 ou 1, denominado como “Resultado Lógico da
Operação” ( R L O ).

Contato Normalmente Aberto

O Contato Normalmente Aberto fecha-se se o valor do bit consultado, que se armazena no


<Operando> indicado, é “1”. Se o contato está fechado, a corrente flui através do contato e o
RLO ( Resultado Lógico ) é “1”. Do contrário, se o estado do sinal no <Operando> indicado é
“0”, o contato está aberto. Se o contato está aberto não há fluxo de corrente e o Resultado
Lógico da Operação ( RLO ) é “0”.

Contato Normalmente Fechado

O Contato Normalmente Fechado abre-se se o valor do bit consultado, que se armazena no


<Operando> indicado, é “0”. Se o contato está fechado, a corrente flui através do contato e o
RLO ( Resultado Lógico ) é “1”. Do contrário, se o estado do sinal no <Operando> indicado é
“1”, o contato está aberto. Se o contato está aberto não há fluxo de corrente e o Resultado
Lógico da Operação ( RLO ) é “0”.

62
Bobina, Saída

Saída opera como uma bobina em um esquema de circuitos. Se a corrente flui até a bobina
(RLO = 1), o bit no <Operando> torna-se “1”. Se não flui corrente até a bobina (RLO = 0), o bit
no <Operando> torna-se “0”. Uma bobina de saída só pode colocar-se dentro de um esquema
de contatos no extremo direito de um circuito (Final da Linha). Pode haver no máximo 16 saí-
das múltiplas.

63
Operações Lógicas com Ladder
As Operações Lógicas com bits interpretam os estados dos sinais “1” e “0”, e os combinam de
acordo com a Lógica de Boole.

AND

Representado pela associação série :

Na situação acima, quando tivermos “1” nas entradas I 32.0 E I 32.1 a saída Q 32.0 é liga-
da, A saída não continuará ligada se uma das entradas vir a “0”. Adiante estudaremos uma
situação onde a saída continuaria ligada mesmo que uma das entradas viesse a “0”.

NAND

Representado pela associação série negada :

Na situação acima, quando não tivermos “1” nas entradas I 32.0 E I 32.1 a saída Q 32.0 é
ligada, e se qualquer das entradas tornar-se “1” a saída Q 32.0 é desligada.

OR

Na situação acima, quando tivermos “1” nas entradas I 32.0 OU I 32.1 a saída Q 32.0 é liga-
da.

64
NOR

Na situação acima, enquanto as duas entradas estiverem desligadas ( “0” ), a saída Q 32.0
estará ligada. Para que a saída Q 32.0 desligue deveremos ter as duas entradas ligadas ( “1”
).

A seguir mais algumas instruções de Bits.

NOT - Inverter Resultado Lógico (RLO)

Inverte o bit do RLO ( Resultado Lógico da Operação )

Exemplo :

A Saída Q 4.0 será “0” se:


O estado da entrada I 0.0 for “1” OU o estado da entrada I 0.1 E I 0.2 for “1”.

Conector

Conector é um elemento intercalado que cumpre uma função de armazenar; o conector arma-
zena o RLO atual ( o estado do sinal de fluxo de corrente ) no < Operando > que foi especifi-
cado.
65
Este elemento de armazenamento memoriza a combinação lógica de bits da ultima linha aber-
ta e que está antes dele. È inserido em série com outros elementos como um contato. O ele-
mento conector nunca deve ser conectado a uma barra de alimentação nem deve empregar-
se no final de uma linha. Pode-se criar a negação do elemento conector colocando antes o
elemento NOT.

Exemplo :

M 0.0 tem o RLO de I 1.0 e I 1.1

M 1.1 tem o RLO de I 1.0, I 1.1, I2.2, I1.3 e NOT

M 2.2 tem o RLO de toda a combinação de bits.

66
SET e RESET .

Ativar Saída

Ativar Saída ( Setar ) só é executado se o RLO das operações anteriores for “1” ( fluxo de cor-
rente na bobina ). Se o RLO for “1” o <Operando> indicado do elemento se torna “1” e mesmo
que logo em seguida o RLO tornar-se “0”, o <Operando> continuará “1” . Um RLO = “0” não
tem efeito algum, de forma que o estado do sinal atual do operando não se altera.

Desativar Saída

Desativar saída ( Resetar ) só é executado se o RLO das operações anteriores for “1” ( fluxo
de corrente na bobina ). Se o RLO for “1” o <Operando> indicado do elemento se torna “0”.
Um RLO = “0” não tem efeito algum, de forma que o estado do sinal atual do operando indica-
do do elemento não se altera. O <Operando> também pode ser um Temporizador ( Nº de T )
cujo valor de temporização torna-se “0” ou um Contador ( Nº de C ) cujo valor de contagem
torna-se “0”.

Bloco Set/Reset - Reset Dominante

Se o estado do sinal de entrada S=1, e a entrada R=0 o operando ( bloco acima ) é setado.
Se o estado do sinal R torna-se “1”, o operando setado anteriormente é resetado para “0”,
independente do estado da entrada S ( Reset Dominante )

67
Bloco Reset/Set - Set Dominante

Se o estado do sinal de entrada R = 1, e a entrada S = 0 o operando ( bloco acima ) é reseta-


do.
Se o estado do sinal S torna-se “1”, o operando resetado anteriormente é setado para “1”, in-
dependente do estado da entrada R ( Set Dominante )

68
Flanco de Impulso

Flanco Positivo Flanco Negativo

RLO
1

A avaliação do flanco de impulso é frequentemente necessária em um programa, na realida-


de, sempre quando no programa uma entrada muda para ON ou para OFF, ou quando o en-
dereço é setado ou resetado isto ocorre.

Detectar Flanco Decrescente 1 -> 0

Detecta uma mudança de estado de sinal do <Operando> de “1” para “0” e indica esta mu-
dança com RLO = 1 com um pulso de um ciclo ( scan ).

Exemplo :

Na figura acima, a Marca de Flancos M 0. 0 armazena o estado de sinal do RLO da combina-


ção de bits em seu conjunto, Se o estado do sinal do RLO muda de “1” para “0” a saída Q 3.0
torna-se “1” por um ciclo ( Scan ).

69
Detectar Flanco Crescente 0 -> 1

Detecta uma mudança de estado de sinal do <Operando> de “0” para “1” e indica esta mu-
dança com RLO = 1 por um ciclo ( Scan ).

Na figura acima, a Marca de Flancos M 0. 0 armazena o estado de sinal do RLO da combina-


ção de bits em seu conjunto, Se o estado do sinal do RLO muda de “0” para “1” a saída Q 3.0
torna-se “1” por um ciclo ( Scan )..

70
71
72
73
74
75
76
77
78
79
80
81
82
Temporizadores
A CPU reserva uma área de memória para os temporizadores. Nesta área de memória, uma
palavra de 16 bits é reservada para cada endereço de temporizador até 256.
Consulte os Dados Técnicos da CPU para saber quantos temporizadores estão disponíveis. O
Valor de tempo pode ser parametrizado na faixa de 10 ms até 9990 s ( 2 horas, 46 minutos,
30 segundos ) em incrementos de 10 milisegundos.

Identificação
Identifica-se com a letra T.
De T0 a T255

Valores de Temporização
O Valor de temporização é carregado nos seguintes formatos e sintaxe :

S5TIME#aH_bM_cS_dMS
S5T#aH_bM_cS_dMS
Sendo :
S5TIME# Formato de Tempo
S5T# Formato de Tempo Simplificado
H - Horas
M - Minutos
S - Segundos
MS - Milisegundos
a,b,c,d - Valores definidos pelo usuário.

Exemplos:

S5TIME#4S → 4 segundos
S5#2h_15m → 2 horas e 15 minutos
S5T#1H12M18S → 1 hora 12 minutos e 18 segundos

O Step 7 oferece 5 tipos de temporizadores a seguir :

83
Ativar Temporizadores
PULSO
<Nº do T>
---( SP )
<Valor de temporização>

Descrição da operação

---( SP ) (Inicia o temporizador com pulso) Inicia o temporizador indicado com o <valor de
temporização> se no RLO se produz um flanco crescente. O temporizador continua funcio-
nando com o intervalo de tempo indicado enquanto o RLO seja positivo ("1").

O estado do contador é "1" enquanto está habilitado o temporizador. Se o RLO muda de "1" a
"0" antes de transcorrer o valor de temporização, o temporizador para. Neste caso o estado do
temporizador é "0".

Se o estado do sinal na entrada I 0.0 muda de "0" a "1" (flanco crescente no RLO), o tempori-
zador T5 inicia. O temporizador continua em funcionando com o valor de temporização indica-
do de 2 s enquanto I 0.0 seja "1". Se o estado de sinal em I 0.0 muda de "1" para "0" antes de
transcorrer o tempo, o temporizador para. A saída Q 4.0 é "1" enquanto o temporizador está
funcionando. Se o estado do sinal na entrada I 0.1 muda de "0" para "1", o temporizador T5
vai a 0, ou seja, para e o valor de temporização restante vai para "0".

O Tempo máximo durante o qual o sinal de saída permanece em “1”é idêntico ao tempo pro-
gramado. O sinal de saída permanece em “1” por um período menor se o sinal de entrada
muda para “0”.

84
EXTENDED PULSE (PULSO PROLONGADO)
<Nº de T>
---( SE )
<Valor de temporização>

Descrição da operação

---( SE ) (Inicia o temporizador com pulso prolongado ) Inicia o temporizador indicado com o
<valor de temporização> se o RLO produz um flanco crescente. O temporizador continua fun-
cionando com o intervalo de tempo indicado mesmo que o RLO for para "0" antes de transcor-
rer o tempo. O estado do temporizador é "1" enquanto está em funcionamento. O temporiza-
dor volta a habilitar-se com o valor de temporização indicado se o RLO muda de "0" para "1"
enquanto o temporizador está em funcionamento.

Se o estado do sinal na entrada I 0.0 muda de "0" para "1" (flanco crescente no RLO),o tempo-
rizador T5 inicia. O temporizador continua em funcionamento com o valor de temporização
indicado, sem ser afetado por um flanco negativo no RLO. Se o estado do sinal na I 0.0 muda
de "0" para "1" antes de transcorrer o tempo, o temporizador reinicia. A saída Q 4.0 é "1" en-
quanto o temporizador está em funcionamento. Se o estado do sinal na entrada I 0.1 muda de
"0" para "1", o temporizador T5 vai para “0”, ou seja, para e o valor de temporização restante
vai para "0".

O sinal de saída permanece em “1” durante o tempo programado, independentemente do


tempo em que o sinal de entrada esteja em “1”.

85
ON DELAY (COM RETARDO NA CONEXÃO)
<Nº de T>
---( SD )
<Valor de temporização>

Descrição da operação

---( SD ) (Inicia o temporizador com retardo na conexão) Inicia o temporizador indicado com o
<valor de temporização> se no RLO se produz um flanco crescente. O estado do sinal do
temporizador será "1" se o <valor de temporização> transcorreu sem erros e o RLO continua
sendo "1". Se o RLO muda de "1" para "0" enquanto o temporizador está em funcionamento,
este é resetado. Neste caso, uma consulta de "1", da como resultado o valor "0".

Se o estado do sinal na entrada I 0.0 muda de "0" para "1" (flanco crescente no RLO), o tem-
porizador T5 inicia. Se transcorre o tempo e o estado do sinal na I 0.0 continua sendo "1", a
saída Q 4.0 é "1". Se o estado do sinal na entrada I 0.0 muda de "1" para "0", o temporizador é
resetado e Q 4.0 é "0". Se o estado do sinal na entrada I 0.1 muda de "0" para "1", o tempori-
zador T5 vai para “0”, ou seja, para e o valor de temporização restante vai para a "0".

O sinal de saída muda de “0”para “1” somente se o tempo programado transcorreu e o sinal
de entrada ainda continua em “1”.

86
STORED ON DELAY (COM RETARDO NA CONEXÃO COM MEMÓRIA)
<Nº de T>
---( SS )
<Valor de temporização>

Descrição da operação

---( SS ) (Inicia o temporizador com retardo na conexão com memória) Inicia o temporizador
indicado se no RLO se produz um flanco crescente. O estado do sinal do temporizador é "1"
se o tempo foi transcorrido. Um reinício do temporizador só é possível se este foi colocado
expressamente em 0. O estado do temporizador só pode ser resetado se for colocado em ze-
ro. O temporizador volta a iniciar-se com o valor de temporização indicado se o RLO muda de
"0" para "1" enquanto transcorre o tempo.

Se o estado do sinal na entrada I 0.0 muda de "0" para "1" (flanco crescente no RLO), o tem-
porizador T5 inicia. Se o estado do sinal na entrada I 0.0 muda de "0" para "1" antes de trans-
correr o tempo, o temporizador volta a iniciar. A saída Q 4.0 é "1" se foi transcorrido o tempo.
Se o estado do sinal na entrada I 0.1 é "1", o temporizador T5 vai para “0”, ou seja, para e o
valor de temporização restante vai para "0".
O sinal de saída muda de “0”para “1” somente se o tempo programado transcorreu, in-
dependentemente do tempo em que o sinal de entrada esteja em “1”.

87
OFF DELAY (COM RETARDO NA DESCONEXÃO)
<Nº de T>
---( SF )
<Valor de temporização>

Descrição da operação

---( SF ) (Inicia o temporizador com retardo na desconexão) Inicia o temporizador indicado se


no RLO se produz um flanco decrescente. O estado do sinal do temporizador é "1" se o RLO é
"1" ou enquanto funcione o temporizador com o <valor de temporização>. O temporizador vai
para zero se o RLO muda de "0" para "1" enquanto está em funcionamento o temporizador. O
temporizador sempre volta a iniciar se o RLO muda de "1" para "0".

Se o estado do sinal na entrada I 0.0 muda de "1" para "0", o temporizador inicia. Q 4.0 é "1"
se I 0.0 for "1" ou se o temporizador está em funcionamento. Se o estado do sinal na entrada I
0.1 muda de "0" para "1", o temporizador T5 vai para “0”, ou seja, para, e o valor de tempori-
zação restante vai para "0".

O sinal de saída muda de “0”para “1” quando o sinal de entrada muda de “1”para “0”.

O sinal da saída permanece em “1” durante o tempo programado.

O temporizador inicia quando o sinal de entrada muda de “0”para 1.

88
Ativar e Parametrizar Blocos Temporizadores

S_PULSE

S -> SET - Ativar Temporizador


Nº do Temporizador
TV -> Time Variable - Valor da Temporização
R -> RESET - Desativar Temporizador
Q -> Output - Saída
BI -> Temporização Atual em Binário
BCD - > Temporização Atual em BCD

Descrição da operação

S_PULSE (Parametrizar e iniciar o temporizador com pulso) Inicia o temporizador indicado


quando há um flanco crescente na entrada de ativação S. Para iniciar um temporizador tem
que produzir-se necessariamente uma mudança de sinal. O temporizador funciona enquanto o
estado do sinal na entrada S seja "1", porém, como máximo, durante o tempo indicado pelo
valor de temporização na entrada TV. O estado do sinal na saída Q é "1" enquanto funcionar o
temporizador. Se o estado do sinal na entrada S muda de "1" para "0" antes de transcorrer o
intervalo de tempo, o temporizador para. Neste caso o estado do sinal na saída Q é "0". O
temporizador vai a “0” se a entrada de desativação R do temporizador vai a "1" enquanto fun-
cione o temporizador. O valor de temporização atual e a base de tempo também vai a “0”. Um
sinal "1" na entrada R do temporizador não tem efeito algum se o temporizador não está em
funcionamento.

O valor de temporização atual fica depositado nas saídas BI e BCD. O valor de temporização
na saída BI está em código binário, o valor na saída BCD está em formato decimal codificado
em binário. O valor de temporização atual eqüivale ao valor inicial de TV menos o valor de
temporização que foi transcorrido desde o início do temporizador.

Se o estado do sinal da entrada I 0.0 muda de "0" para "1" (flanco crescente no RLO), se ativa
o temporizador T5. O temporizador continua em funcionamento com o valor de temporização
indicado de 2 segundos (2 s) enquanto a entrada I 0.0 seja “1”. Se o estado de sinal da entra-
da I 0.0 muda de "1" para "0" antes de transcorrer o tempo, o temporizador para. A saída Q
4.0 é "1" enquanto o temporizador estiver em funcionamento, e "0" se o tempo transcorrido ou
se o temporizador foi posto em “0”.

89
S-PEXT

Nº do Temporizador S -> SET - Ativar Temporizador


TV -> Time Variable - Valor da Temporização
R -> RESET - Desativar Temporizador
Q -> Output - Saída
BI -> Temporização Atual em Binário
BCD - > Temporização Atual em BCD

Descrição da operação

S_PEXT (Parametrizar e iniciar o temporizador com pulso prolongado) Inicia o temporizador


indicado quando há um flanco crescente na entrada de ativação S. Para iniciar um temporiza-
dor tem que produzir-se necessariamente uma mudança de sinal.O temporizador continua em
funcionamento durante o tempo pré-determinado, indicado na entrada TV, mesmo que o esta-
do do sinal na entrada S for a "0" antes de haver transcorrido o intervalo de tempo. O estado
do sinal na saída Q é "1" enquanto o temporizador estiver em funcionamento. O temporizador
reiniciará com o valor de temporização pré-determinado se o estado do sinal na entrada S
muda de "0" para "1" enquanto o temporizador estiver em funcionamento. O temporizador vai
a “0” se a entrada de desativação R do temporizador for "1" enquanto o temporizador estiver
funcionando. O valor de temporização atual e a base de tempo vai a “0”. O valor de tempori-
zação atual fica depositado nas saídas BI e BCD. O valor de temporização na saída BI está
em código binário, o valor na saída BCD está em formato decimal codificado em binário. O
valor de temporização atual eqüivale ao valor inicial de TV menos o valor de temporização que
foi transcorrido desde o início do temporizador.

Se o estado do sinal da entrada I 0.0 muda de "0" para "1" (flanco crescente no RLO), ativa-se
o temporizador T5. O temporizador continua em funcionamento com o valor de temporização
indicado de 2 segundos sem ser afetado por um flanco decrescente na entrada S. Se o estado
do sinal da entrada I 0.0 muda de "0" para "1" antes de transcorrer o tempo, o temporizador
reinicia. Se o estado do sinal da entrada I 0.1 muda de "0" para "1" enquanto o temporizador
estiver funcionando, este vai para “0”. A saída Q 4.0 é "1" enquanto o temporizador estiver
funcionando.

90
S_ODT

Nº do Temporizador
S -> SET - Ativar Temporizador
TV -> Time Variable - Valor da Temporização
R -> RESET - Desativar Temporizador
Q -> Output - Saída
BI -> Temporização Atual em Binário
BCD - > Temporização Atual em BCD

Descrição da operação

S_ODT (Parametrizar e iniciar o temporizador com retardo na conexão) Inicia o temporizador


indicado quando há um flanco crescente na entrada de início S. Para iniciar um temporizador,
tem que produzir-se necessariamente uma mudança de sinal.O temporizador continua em
funcionamento com o valor de temporização indicado na entrada TV enquanto o estado do
sinal na entrada S seja positivo. O estado do sinal na saída Q será "1" se o tempo transcorreu
sem que se produzam erros e se o estado do sinal na entrada S for "1". Se o estado do sinal
na entrada S muda de "1" para "0" enquanto o temporizador estiver funcionando, este para.
Neste caso, o estado do sinal na saída Q será "0". O temporizador vai a “0” se a entrada de
desativação R do temporizador for para "1" enquanto o temporizador estiver funcionando. O
valor de temporização e a base de tempo vai a “0. Então o estado do sinal na saída Q é "0".O
temporizador também vai a “0” se na entrada de desativação R o valor for "1", enquanto o
temporizador não está em funcionamento e o RLO na entrada S for "1". O valor de temporiza-
ção atual fica depositado nas saídas BI e BCD. O valor de temporização na saída BI está em
código binário, o valor na saída BCD está em formato decimal codificado em binário. O valor
de temporização atual eqüivale ao valor inicial de TV menos o valor de temporização que foi
transcorrido desde o início do temporizador.

Se o estado do sinal da entrada I 0.0 muda de "0" para "1" (flanco crescente no RLO) Ativa-se
o temporizador T5. Se transcorre o tempo de 2 segundos e o estado do sinal na entrada I 0.0
continua sendo "1", a saída Q 4.0 será "1". Se o estado do sinal da entrada I0.0 muda de "1"
para "0", o temporizador para e a saída Q 4.0 será "0". (Se o estado do sinal da entrada I 0.1
muda de "0" para "1", o temporizador vai a “0”, se estiver funcionando o temporizador ou não).

91
S_ODTS

Nº do Temporizador S -> SET - Ativar Temporizador


TV -> Time Variable - Valor da Temporização
R -> RESET - Desativar Temporizador
Q -> Output - Saída
BI -> Temporização Atual em Binário
BCD - > Temporização Atual em BCD

Descrição da operação

S_ODTS (Parametrizar e iniciar o temporizador com retardo na conexão com memória) inicia
o temporizador indicado quando há um flanco crescente na entrada de início S. Para iniciar
um temporizador, tem que produzir-se necessariamente uma mudança de sinal. O temporiza-
dor continua em funcionamento com o valor de temporização indicado na entrada TV mesmo
que o estado do sinal na entrada S for a "0" antes de que transcorra o tempo. O estado do
sinal na saída Q será "1" se transcorrido o tempo, independentemente do estado do sinal que
tenha a entrada S. O temporizador reinicia com o valor de temporização indicado se o estado
do sinal na entrada S mude de "0" para "1" enquanto o temporizador está em funcionamento.
O temporizador vai para “0” se a entrada de desativação R do temporizador for a "1", indepen-
dentemente do RLO na entrada S. Então o estado do sinal na saída Q é "0". O valor de tem-
porização atual fica depositado nas saídas BI e BCD. O valor de temporização na saída BI
está em código binário, o valor na saída BCD está em formato decimal codificado em binário.
O valor de temporização atual eqüivale ao valor inicial de TV menos o valor de temporização
que foi transcorrido desde o início do temporizador.

Se o estado do sinal da entrada I 0.0 muda de "0" para "1" (flanco crescente no RLO), Ativa-se
o temporizador T5. O temporizador continua em funcionamento sem que uma mudança de
sinal de "1" para "0" na entrada I 0.0 repercuta nele. Se o estado do sinal da entrada I 0.0 mu-
da de "1" para "0" antes de que haja transcorrido o tempo, o temporizador reinicia. A saída QA
4.0 será "1" se foi transcorrido o tempo (se o estado do sinal da entrada I 0.1 muda de "0" para
"1", o temporizador vai a "0", independentemente de qual seja o RLO em S).

92
S_OFFDT

Nº do Temporizador S -> SET - Ativar Temporizador


TV -> Time Variable - Valor da Temporização
R -> RESET - Desativar Temporizador
Q -> Output - Saída
BI -> Temporização Atual em Binário
BCD - > Temporização Atual em BCD

Descrição da operação

S_OFFDT (Parametrizar e iniciar o temporizador com retardo na desconexão) inicia o tempori-


zador indicado quando há um flanco decrescente na entrada de ativação S. Para iniciar um
temporizador, tem que produzir-se necessariamente uma mudança de sinal. O estado do sinal
na saída Q será "1" se o estado do sinal na entrada S for "1", e também enquanto o tempori-
zador esteja funcionando. O temporizador para se o estado do sinal na entrada S muda de "0"
para "1" enquanto o temporizador está em funcionamento. O temporizador só reinicia se o
estado do sinal na entrada S volte a mudar de "1" para "0". O temporizador vai para “0” se a
entrada de desativação R for para "1" enquanto o temporizador estiver em funcionamento. O
valor de temporização atual fica depositado nas saídas BI e BCD. O valor de temporização na
saída BI está em código binário, o valor na saída BCD está em formato decimal codificado em
binário. O valor de temporização atual eqüivale ao valor inicial de TV menos o valor de tempo-
rização que foi transcorrido desde o início do temporizador.

O temporizador inicia se o estado do sinal na entrada I 0.0 muda de "1" para "0". Q 4.0 é "1"
se I 0.0 es "1" ou o temporizador está em marcha (Se o estado do sinal em I0.1 muda de "0"
para "1", enquanto o temporizador está em funcionamento, este vai a “0”).

93
Contadores

A CPU reserva uma área de memória para os contadores. Nesta área de memória, uma pala-
vra de 16 bits é reservada para cada endereço de contador até 256. Consulte os Dados Téc-
nicos da CPU para saber quantos contadores estão disponíveis. O Valor máximo presetado é
999 (BCD).

Identificação
Identifica-se com a letra C.
De C0 a C255

Valores de Temporização
O Valor de Contagem é carregado no seguinte formato e sintaxe :

C#127
c#32
C#5
Sendo :
C# Identifica o Formato Decimal Codificado em Binário BCD
127
32 Números de Contagem entre 0 e 999
5

O Step 7 oferece 3 tipos de contadores a seguir :

Contador Crescente
Contador Decrescente
Contador Crescente / Decrescente

Colocar Contador no Valor Inicial - Set Counter

94
Descrição da Operação

Inicializar o Contador executa-se somente se houver um flanco ascendente ( positivo ) na


RLO. Neste caso transmite-se o <Valor Predeterminado> ao contador indicado em < Nº de C
>.

Exemplo:

O valor “100” ficará pre-selecionado para o contador C5 se na entrada I 0.0 produz-se um


flanco ascendente( mudança de “0” para “1” ). O Valor do contador C5 não se altera no caso
de que não se produza nenhum flanco ascendente.

Incrementar Contador - Counter Up

Contar para frente incrementa em “1” o valor do contador indicado se houver um flanco as-
cendente no RLO e o valor do contador for menor que “999”. O valor do contador não se altera
se não houver nenhum flanco ascendente e também se o contador já tenha alcançado o valor
“999”.

Exemplo:

95
Se o estado do sinal de I 0.0 muda de “0” para “1” ( flanco ascendente no RLO ), carrega-se 0
valor predeterminado de “100”no contador C5.
Se o estado do sinal de I 0.1 muda de “0” para “1” ( flanco ascendente no RLO ), incrementa-
se em “1” o valor de contagem do contador C5, menos se o valor de contagem seja igual a
“999”. O valor de contagem não se altera se não houver nenhum flanco ascendente no RLO.
Se o estado do sinal de I 0.2 for “1” o contador torna-se “0” ( Reset em C5 ).

Decrementar Contador - Counter Down

Contar para trás decrementa em “1” o valor do contador indicado se houver um flanco ascen-
dente no RLO e o valor do contador for maior que “0”. O valor do contador não se altera se
não houver nenhum flanco ascendente e também se o contador já tenha alcançado o valor
“0”.

Exemplo:

Detecção de Valor “0”

96
Se o estado do sinal de I 0.0 muda de “0” para “1” ( flanco ascendente no RLO ), carrega-se 0
valor predeterminado de “100”no contador C5.
Se o estado do sinal de I 0.1 muda de “0” para “1” ( flanco ascendente no RLO ), decrementa-
se em “1” o valor de contagem do contador C5, menos se o valor de contagem seja igual a “0”.
O valor de contagem não se altera se não houver nenhum flanco ascendente no RLO.
A Saída Q 4.0 torna-se 1 se o valor de contagem equivale a zero.
Se o estado do sinal de I 0.2 for “1” o contador torna-se “0” ( Reset em C5 ).

Parametrizar e Iniciar Contadores

Parametrizar e Incrementar Bloco Contador - Counter UP

S_CU - Parametrizar e Incrementar Contador toma o valor predeterminado da entrada PV se


na entrada S houver um flanco crescente.
Se o estado do sinal da entrada R for “1” o contador torna-se “0” e então o valor de contagem
é zero. O contador incrementa em “1” se o estado do sinal da entrada CU muda de “0” para
“1”, sempre que o valor de contagem seja menor que “999”.
Se inicializa-se o contador e o valor da entrada CU = 1 , o contador contará mesmo que
não haja nenhum flanco ascendente.
O estado do sinal da saída “Q” será “1” sempre que o valor de contagem seja maior que zero
e será “0” se o valor de contagem for zero.

Exemplo :

Ao mudar a entrada I 0.2 de “0” para “1” , o contador toma o valor predeterminado em PV. Se
o estado do sinal em I 0.0 muda de “0” para “1”, o valor do contador C5 incrementa-se em “1”,
menos se o valor de C5 for “999”. A Saída Q 4.0 será “1” sempre que o valor de C5 não seja
97
zero. Em CV é armazenado o valor de contagem atual em Hexadecimal e em CV_BCD é ar-
mazenado o valor de contagem atual em BCD.

Parametrizar e Decrementar Bloco Contador - Counter Down

S_CD
CD

S_CD - Parametrizar e Decrementar Contador toma o valor predeterminado da entrada PV se


na entrada S houver um flanco crescente.
Se o estado do sinal da entrada R for “1” o contador torna-se “0” e então o valor de contagem
é zero. O contador decrementa em “1” se o estado do sinal da entrada CD muda de “0” para
“1”, sempre que o valor de contagem seja maior que “0”.
Se inicializa-se o contador e o valor da entrada CU = 1 , o contador contará mesmo que não
haja nenhum flanco ascendente.
O estado do sinal da saída “Q” será “1” sempre que o valor de contagem seja maior que zero
e será “0” se o valor de contagem for zero.

Exemplo :

S_CD
CD

Ao mudar a entrada I 0.2 de “0” para “1” , o contador toma o valor predeterminado em PV. Se
o estado do sinal em I 0.0 muda de “0” para “1”, o valor do contador C5 decrementa-se em “1”,
menos se o valor de C5 for “0”. A Saída Q 4.0 será “1” sempre que o valor de C5 não seja
zero. Em CV é armazenado o valor de contagem atual em Hexadecimal e em CV_BCD é ar-
mazenado o valor de contagem atual em BCD.

98
Parametrizar e Incrementar/Decrementar Bloco - Counter Up/Down

S_CUD - Parametrizar e Incrementar / Decrementar Contador é inicializado com o valor de PV


quando produz-se um flanco ascendente na entrada S. Se há “1” na entrada R, o contador
torna-se zero e o valor de contagem é “0”.
O Contador incrementa em “1” se o estado do sinal da entrada CU muda de “0” para “1” e o
valor do contador for menor que “999”.
O Contador decrementa em “1” se na entrada CD produz-se um flanco ascendente e o valor
do contador for maior que “0”.
Ao produzir-se um flanco ascendente em ambas as entradas de contagem ( CU e
CD ) , executam-se ambas as operações e o valor de contagem não varia.
Se inicializa-se o contador e o RLO das entradas CU / CD = 1 , o contador contará mesmo
que não haja nenhum mudança de flanco.
O estado do sinal da Saída Q será “1” se o valor de contagem for maior que zero e será “0” se
o valor de contagem for igual a zero.

Exemplo:

Ao mudar a entrada I 0.2 de “0” para “1”, o contador toma o valor de pré-seleção em PV. Se o
estado do sinal em I 0.0 muda de “0” para “1”, o valor do contador C5 incrementa em “1”, a
menos que o valor de C5 for “999”. Se I 0.1 muda de “0” para “1”, C5 decrementa em “1”, a
não ser que o valor ce C5 seja “0”. A Saída Q 4.0 será “1” se o valor cd C10 não for zero.
Em CV é armazenado o valor de contagem atual em Hexadecimal e em CV_BCD é armaze-
nado o valor de contagem atual em BCD.

99
Comparadores
Com instruções de comparação, você pode comparar os seguintes pares de valores numéri-
cos :

CMP ? I - Dois Inteiros ( cada um com 16 bits )


CMP ? D - Dois Inteiros Duplos ( cada um com 32 bits )
CMP ? R - Dois Números Reais ( número de ponto flutuante, cada um com 32 bits )

? - Tipo de Comparador

Tipo de Compara-
dor

Toda a instrução de comparação compara os “valores” das entradas


IN1 e IN2 baseados nas seguintes relações:

CMP = = I → IN1 é igual ( = = ) a IN2


CMP < > I → IN1 não é igual ( < > ) a IN2
CMP > I → IN1 é maior que ( > ) IN2
CMP < I → IN1 é menor que ( < ) IN2
CMP > = I → IN1 é maior ou igual a ( > = ) IN2
CMP < = I → IN1 é menor ou igual a ( < = ) IN2
Se a comparação é satisfeita, o resultado da operação lógica é 1.
Exemplo:

A saída Q 4.0 será ativada se I 0.0 “e” I 0.1 forem “1” e se MW0 for >= MW2.

100
Saltos e Chamada de Blocos

Podem-se utilizar estas operações em todos os blocos lógicos: blocos de organização (OBs),
blocos de função (FBs) e funções (FCs). As operações de Salto são as seguintes:

Salto Incondicional

JMP - Funciona como um salto direto quando não há outro elemento LAD entre o condutor
esquerdo e a operação (ver acima). Cada salto tem que ter um destino (LABEL). Não se exe-
cutarão as operações que se encontram entre a operação de salto e o destino

operação de salto e o destino.

Operações Intermediária

O salto executa-se em todos os casos, omitindo-se (“passando por cima“) as operações que
se encontram entre a operação de salto e o destino.

101
Salto Condicional – JMP

Funciona como um salto condicional quando o RLO da combinação lógica anterior for “1”.

Exemplo:

Operações Intermediá-
rias

Se a entrada I 5.0 “E” I 5.1 forem “1” executa-se o salto para o destino CAS1. As operações
intermediárias não serão executadas se houver o salto.

102
Salto Condicional – JMPN

Funciona como um salto condicional quando o RLO da combinação lógica anterior for “0”.

Exemplo :

Operações Intermediá-
rias

Se a entrada I 5.0 “OU” I 5.1 for “0” executa-se o salto para o destino CAS1. As operações
intermediárias não serão executadas se houver o salto.
Label – Destino
LABEL marca o destino de uma operação de salto. Este destino pode ter até um máximo de 4
caracteres. Primeiro caracter : letra ; os demais caracteres : letras ou alfanuméricos, por
exemplo CAS1.
Chamada de Blocos

CALL - Chamar uma Função especificada em < Bloco >. Executa se o RLO = “1”.

103
Operações Lógicas Digitais
As Operações Lógicas Digitais com palavras, comparam bit a bit pares de palavras ( Word -
16 bits ) e palavras duplas ( Double Word - 32 bits ) segundo a lógica de Boole. Para executar
as operações lógicas com palavras, dispõe-se das seguintes operações:

WAND_W

Resolução do Exercício 08

A instrução “Word AND” combina dois valores especificados na entrada IN1 e IN2 bit a bit,
baseado na tabela verdade AND. O resultado da operação é salvo (armazenado) no endereço
especificado em OUT. A instrução é executada se o sinal de entrada de EN = 1. ENO tem o
mesmo estado do sinal de EN.

Tabela Verdade AND:

A B S
0 0 0
0 1 0
1 0 0
1 1 1

Exemplo: Fazendo uma máscara de quatro décadas. A lógica será executada se a entrada I
5.0 for “1”.

IN1 → IW10 0100 0100 1100 0100


IN2 → W#16#00FF 0000 0000 1111 1111

MW30 → 0000 0000 1100 0100

104
WOR_W

A instrução “Word OR” combina dois valores especificados na entrada IN1 e IN2 bit a bit, ba-
seado na tabela verdade OR. O resultado da operação é salvo ( armazenado ) no endereço
especificado em OUT. A instrução é executada se o sinal de entrada de EN = 1. ENO tem o
mesmo estado do sinal de EN.

Tabela Verdade OR :

A B S
0 0 0
0 1 1
1 0 1
1 1 1

Exemplo: Setando o bit 0 na MW20. A lógica será executada se a entrada I 5.1 for “1”.

IN1 → MW20 0100 0010 0110 1010


IN2 → W#16#0001 0000 0000 0000 0001

MW32 → 0100 0010 1100 0100

105
Operações Aritméticas Básicas
O set de instruções contém várias funções aritméticas, como exibidas abaixo :
Identificação da Opera-
ção

A operação só é realizada se o operando < Condição > for “1”.

IN1 = Valor de Entrada 1 - Esta palavra é lida como o Primeiro Operando.


IN2 = Valor de Entrada 2 - Esta palavra é lida como o Segundo Operando.
O = Valor de Saída - Esta palavra é o resultado da operação aritmética.

Operações Matemáticas :
Adição :
ADD_I → Soma Inteiros
ADD_DI → Soma Inteiros Duplos
ADD_R → Soma Números Reais
Subtração :
SUB_I → Subtrai Inteiros
SUB_DI → Subtrai Inteiros Duplos
SUB_R → Subtrai Números Reais
Multiplicação :
MUL_I → Multiplica Inteiros
MUL_DI → Multiplica Inteiros Duplos
MUL_R → Multiplica Números Reais
Divisão :
DIV_I → Divide Inteiros
DIV_DI → Divide Inteiros Duplos
DIV_R → Divide Números Reais

106
Manipulação de Blocos
Parametrizáveis

Programar uma Função FC :

A Função, como o Bloco de Função, está subordinada ao bloco de organização. Para


que possa ser processada pela CPU, esta tem que ser chamada também pelo bloco de ordem
superior. Nas funções, os parâmetros são listados na tabela de declaração de variáveis.

Criaremos a partir de agora um programa exemplo com uma função passo a passo.

MISTURADOR PROGRAMÁVEL

O programa consiste em um misturador de confeitaria . Há uma válvula para introduzir


leite V2 e outra para introduzir farinha V1; o misturador agita-se mediante uma paleta aciona-
da por um motor M1. Dependendo dos tempos de introdução dos ingredientes e de funciona-
mento da paleta, poderemos fazer três diferentes produtos segundo a tabela seguinte:

Entrada : Saídas :
B1 - Botão para Pães V1 - Válvula de Farinha
B2 - Botão para Biscoitos V2 - Válvula de Leite
B3 - Botão para Sequilhos M1 - Motor do Batedor
B4 - Botão de Ativação do Processo
B5 - Botão de Parada

Obs. : Haverá um Botão para acionar e um Botão para interromper o processo.

107
Utilizaremos os endereços absolutos como a seguir :
B1 - Botão para Pães → I 124.1
B2 - Botão para Biscoitos → I 124.2
B3 - Botão para Sequilhos → I 124.3
B4 - Botão para Ativação do Processo → I 124.4
B5 - Botão de Parada → I 124.5
V1 - Válvula de Farinha → Q 124.0
V2 - Válvula de leite → Q 124.1
M1 - Motor do Batedor → Q 124.2

Criação da Função FC
No administrador Simatic, navegue até a pasta de blocos e abra. Click com a tecla direita
do mouse na metade direita da janela. Insira uma Função ( FC ) com a ajuda do menu contex-
tual.
No quadro de diálogo propriedades selecione o nome e a linguagem desejada. Em se-
guida OK.

A função FC1 estará criada na pasta de blocos.

108
Note que no programa os ingredientes para fabricação dos produtos são sempre os
mesmos, o que altera são os “tempos” de despejo dos ingredientes e o “tempo” do batedor.
Como o que muda são os tempos, ou sejam eles variam, criaremos variáveis para estes tem-
pos. Chamaremos esta função de RECEITA.
Abra FC1 .

Criaremos a seguir variáveis de tempos.

Na tabela e declarações de variáveis na parte superior da janela do editor (figura acima


), na primeira linha , declaração IN, no campo NAME, insira o nome “Farinha” em seguida
click enter. No próximo campo TYPE definiremos o tipo de variável, neste caso variável de
tembpo, digitaremos S5TIME. Click enter mais duas vezes e será criada uma nova linha de
declaração IN. Novamente no campo NAME digite o nome “Leite” em seguida click enter. No
próximo campo Type digite novamente S5TIME. Click enter mais duas vezes e será criada
uma nova linha outra vez Na nova linha criada no campo NAME digite agora “Motor” em se-
guida enter e no campo Type digite S5TIME e enter mais duas vezes. Note que no campo
ADDRESS na primeira linha aparece “0.0” e na segunda linha “2.0” e na terceira linha “4.0”.
Estes valores definem os endereços de memória iniciais onde são armazenados as variáveis
de tempo. Note também que entre 0.0 e 2.0 e entre 2.0 e 4.0 temos exatamente 16 bits ou
seja de 0.0 a 0.7 - 1.0 a 1.7 e de 2.0 a 2.1 - 3.1 a 3.7. Lembre-se que as variáveis de tempo
necessitam de uma palavra ( 16 bits ) para armazenamento de valores de tempo.

Pronto, está criada a variável da nossa função.

Agora criaremos os temporizadores que utilizarão estas variáveis.

109
No Network 1, selecione a linha e insira um contato aberto e nele atribua o endereço do
botão de acionamento B4 ( I 124.4 ). A seguir insira um bloco temporizador S_PEXT que
chamaremos de T1. Na saída do temporizador insira uma bobina e atribua o endereço da vál-
vula da Farinha V1 ( Q 124.0 ). Na entrada R do temporizador insira um contato aberto e atri-
bua o endereço do botão de parada B5 ( I 124.5 ). Finalmente, na entrada TV ( Time Variable )
do temporizador insira o nome da variável Farinha exatamente como você declarou na tabela
de variáveis. Note que após inserir e teclar enter, a variável apareceu com o símbolo # antes
da palavra Farinha. Este símbolo determina que é uma variável local e que está declarada na
tabela. Caso você digite diferente da tabela, além de não aparecer com o símbolo, aparecerá
uma mensagem alertando sobre o erro e após enter o nome digitado estará em vermelho,
Insira agora um novo Network ( 2 ) e faça o mesmo para as outras variáveis não se esque-
cendo que o botão acionador e o botão de parada é o mesmo para os três temporizadores. O
que muda são as variáveis de tempo ( TV ) e as saídas.

Terminado, salve o bloco e feche-o.

Abra agora o bloco OB1.

Selecione a linha do primeiro Network e insira um contato aberto. Nele atribua o endere-
ço do botão B1 ( I 124.1 ) ou seja, o botão que seleciona a receita para a fabricação de pães.

Em seguida, na janela Program elements, mova a barra de rolagem até chegar em FC


blocks, abra-o e selecione FC1 Receitas arrastando-o até a linha onde desejamos inseri-lo.
Solte o mouse e estará inserido no Network 1.

Click e Arraste

110
A linha ficará como mostrado na figura abaixo.

Onde aparece o ponto de interrogação, insira os tempos no formato S5T# de acordo


com a tabela de receita mostrada no exercício para a fabricação de Pães.

Farinha → S5T#2S
Leite → S5T#5S
Motor → S5T#4S

Faça o mesmo com as receitas para Biscoitos e Sequilhos.

Carregue e simule o programa parametrizado.

111
Exercícios
1 – CONTROLE DE NÍVEL

VÁLVULA DE
ENTRADA
SENSOR DE
NÍVEL MÁXIMO

PAINEL
SENSOR DE
NÍVEL MÍNIMO
LIGA

DESL.

Entradas:

Botoeira Liga
Botoeira Desliga
Sensor de Nível Máximo
Sensor de Nível Mínimo

Saídas:

Válvula de Entrada

Funcionamento:
1 - A Botoeira Liga inicia o processo e a Desliga encerra ;
2 - Quando o Nível de liquido cair abaixo do Mínimo a Válvula se abre;
3 - Quando o Nível de liquido passar do Nível Máximo a Válvula se fecha.

112
2 - FURADEIRA

No estado de repouso, a furadeira estará acima, acionando o final de curso S 1.


Se acionarmos o botão B 2 a furadeira abaixará acionado pelo motor de abaixar M 2.
Quando ativa-se o final de curso de abaixado S 2, a furadeira subirá de novo. Se em algum
momento, aciona-se o botão de parada B 3, a furadeira deverá subir.

Entradas:

S1 - Sensor Acima
S2 - Sensor Abaixo
B1 - Sobe Furadeira
B2 - Desce Furadeira
B3 - Parada

Saídas:

M1 - Motor para Cima


M2 - Motor para Baixo

113
3 - REVERSÃO DE SENTIDO DE ROTAÇÃO DE MOTOR

Desenvolver um programa com as seguintes características:

Através dos botões 1 e 2 deveremos selecionar o sentido de giro do motor sem este estar em
movimento.
Depois de selecionado o sentido, através do botão 3 acionaremos o motor. O mesmo não será
acionado sem antes termos selecionado o sentido do giro.
Não poderemos inverter o sentido dos motores sem antes acionarmos o botão 4 de parada de
motor.
O circuito deverá possuir um relé térmico.

Entradas :

Botão 1 - Sentido Normal


Botão 2 - Sentido Reverso
Botão 3 - Acionamento
Botão 4 - Parada
FUSÍVEL
Relé Térmico

Saídas :

Contator K1 - Sentido Normal


Contator K2 - Sentido Reverso K1 K2

TÉRMICO

MOTOR

114
4 -TANQUE DE AGITAÇÃO DE PRODUTOS

MOTOR DO
AGITADOR

VÁLVULA DE
ENTRADA

SENSOR DE
NÍVEL MÁXIMO

SENSOR DE
NÍVEL MÍNIMO

PAINEL
SENSOR DE
TANQUE VAZIO
LIGA

VÁLVULA DE DESL.
SAÍDA

Entradas :

Botoeira Liga
Botoeira Desliga
Sensor de Nível Máximo
Sensor de Nível Mínimo
Sensor de Tanque Vazio

Saídas :

Motor do Agitador
Válvula de Entrada
Válvula de Saída
Funcionamento :
1- Inicialmente a Válvula de Saída está Fechada
2- A botoeira liga inicia o processo e a Desliga interrompe o processo.
3- A Válvula de entrada é aberta até o Nível Máximo ser atingido fechando em seguida.
4 - O Motor do Agitador é ligado.
5 - Após 20 segundos, a válvula de Saída é aberta.
6 - Quando o nível Mínimo é atingido, o Motor do Agitador é desligado.
7 - Ao ser detectado que o Tanque está vazio, a Válvula de Saída é fechada.
8 - Termina o ciclo.
115
5 - SISTEMA ESTRELA / TRIÂNGULO PARTIDA DE MOTORES

Desenvolver um programa com as seguintes características:

Através do Botão 1 acionaremos o motor no sistema estrela e após 5 segundos ele deverá
passar para o sistema triângulo automaticamente.
Com o Botão 2, desligaremos o motor.
O circuito deverá possuir um relé térmico.

Entradas :
Botão 1 - Liga
Botão 2 - Desliga
Relé Térmico

Saídas :
Contatora 1 - K1
Contatora 2 - K2
Contatora 3 - K3
Fusível

K1 K2 K3

Térmico

Motor

116
6 - SELEÇÃO DE GARRAFAS PARA ENVAZAMENTO

Uma esteira acionada por um motor, transporta garrafas de três tamanhos ( pequenas, médias
e grandes ) que sensibilizam três sensores fotoelétricos A, B e C, conforme mostrado na figu-
ra.
O processo tem início pressionando-se o botão ligar, e pode ser interrompido pressionando-se
o botão desligar. A seleção do tipo de garrafa é feita a partir de 3 botões pulsadores indepen-
dentes para ( P, M e G ). Ao selecionar um tipo de garrafa, a esteira deve parar quando forem
detectadas garrafas dos tipos não desejados, soando um alarme. Após a retirada manual da
garrafa indesejada, o sistema deve ser reativado. O circuito deverá ser protegido com relé
térmico.
Obs.: Quando qualquer botão é pressionado ou qualquer sensor é ativado, o CLP recebe nível
lógico “1”.

Entradas :

Botão Liga
Botão Desliga
Botão de Seleção P
Botão de Seleção M
Botão de Seleção G
Sensor A
Sensor B
Sensor C
Relé Térmico

Saída :
Motor
SENSORES C
B
A

G G G
M P M

MOTOR

117
7 - CONTROLE DE MISTURA

LEITE GLUCOSE ESSÊNCIA GORDURA

V1 V2 V3 V4

MOTOR DO
AGITADOR

LIGA VÁLVULA
DE SAÍDA
DESL.

Entradas :

Botoeira Liga
Botoeira Desliga

Saídas:

Válvula de Saída do Tanque


Motor do Agitador
V1 - Válvula de Entrada de Leite
V2 - Válvula de Entrada de Glucose
V3 - Válvula de Entrada de Essência
V4 - Válvula de Entrada de Gordura

118
Funcionamento :

1- A Botoeira liga inicia o processo e a Desliga encerra;


2 - A Válvula do Tanque de Leite é acionada por 10 segundos, fechando - se em seguida;
3 - A Válvula do Tanque de Glucose é acionada por 15 segundos, fechando - se em seguida;
4 - O Motor do Agitador é ligado;
5 - A Válvula do Tanque de Essência é acionada por 5 segundos, fechando - se em seguida;
6 - A Válvula do Tanque de Gordura é acionada por 10 segundos, fechando - se em seguida;
7 - O Motor do Agitador é desligado depois de 15 segundos da entrada de todos os ingredien-
tes.
8 - Após o Motor do Agitador ser desligado, a Válvula de Saída do Tanque de Mistura é acio-
nada.
9 - O ciclo termina.

119
8 - SINALEIRA DE FORMULA 1

Ativando-se o Botão Pulsador B1, as cinco lâmpadas de uma sinaleira devem acender-se uma
atrás da outra, uma a cada segundo. Após um segundo da última lâmpada acesa, todas deve-
rão apagar-se.

O diagrama de tempo abaixo, mostra, nas linhas intermediárias, o desenvolvimento das saí-
das do PLC que controlam as lâmpadas da sinaleira, em função da entrada START indicada
na primeira linha.

Entradas :
B1 - Botão de Start

Saídas :

L1 - Lâmpada 1
L2 - Lâmpada 2
L3 - Lâmpada 3
L4 - Lâmpada 4
L5 - Lâmpada 5

120
9 - SEQUENCIAL

Construir um sequenciador de 4 canais que mostre o seguinte esquema de acendimento :

PASSO

CANAL

O esquema estabelece a seqüência de acendimento das luzes conectadas a quatro canais.


Os círculos em preto indicam a ativação do canal durante seu passo específico. Assim, duran-
te o passo 0 estará ativo o canal 0, durante o passo 1 o canal 1, e assim sucessivamente. Se
as luzes dispõem-se em linha, o efeito será o de um deslocamento de fonte luminosa, desde a
primeira até a última posição e logo ao contrario.
Após o passo 5, acontece no passo 6, idêntico ao 0 e logo outro idêntico ao passo 1, ou seja,
o diagrama acontece ciclicamente.
Deverá haver um intervalo entre o acendimento de uma lâmpada e outra de 500 milisegundos.

121
10 - CONTROLE DE GARAGEM

Automatizar uma garagem de quatro vagas de tal forma que se esta encontrar-se cheia,
acenda uma luz indicando e que não suba a cancela. Caso contrário deverá estar acesa outra
luz indicando “LIVRE”.

Entradas :
S1 - Sensor de Saída
S2 - Sensor de Entrada

Saídas :
M1 - Motor Cancela de Saída
M2 - Motor Cancela de Entrada
L1 - Lâmpada de Estacionamento Cheio
L2 - Lâmpada de Estacionamento Livre

S1 L1
S2 L2

M1 Saída M2

122
PROJETO

Área de armazenamento com Contador, Comparador e Temporizador

A figura mostra um sistema com duas esteiras transportadoras e uma área de armazenamento
temporário colocada entre ambas. A esteira transportadora 1 transporta peças para área de
armazenamento. Uma barreira óptica situada no final da esteira 1 junto da área de armaze-
namento determina quantas peças transportam-se para esta área. A esteira transportadora 2
transporta peças da área de armazenamento até uma plataforma de carga onde chegam ca-
minhões e os recolhem para entrega-los aos clientes. Uma barreira óptica situada no final da
esteira transportadora 2 junto a área de armazenamento determina quantas peças abando-
nam a área de armazenamento para ser transportados a plataforma de carga.Um painel indi-
cador com três lâmpadas assinala o nível da área de armazenamento temporário. Um sinali-
zador sonoro deverá soar por 2 segundos quando a área de armazenamento encher com 20
peças. Enquanto a área de armazenamento estiver cheia , ou seja 20 peças ou mais, o motor
E1 da esteira 1 não poderá ser acionado. Deverá haver um botão para ligar o sistema e um
para desligar o sistema. Deverá contar também com um botão de emergência.

Tipos de dados simples


123
Cada tipo de dado simples tem um tamanho definido. A tabela seguinte mostra os tipos de
dados simples.

124
Referências Bibliográficas

ETEP 7 - SIMATIC SIEMENS

Esquemas de Contatos LAD para S7 300 e 400 – Manual de referência

Edição 08/2000

125