pesquisa

Custom Search

Welcome Message

Páginas

Mostrando postagens com marcador Programação PLC. Mostrar todas as postagens
Mostrando postagens com marcador Programação PLC. Mostrar todas as postagens

terça-feira, 16 de março de 2010

Exemplo de programa - Parte 3

Dando sequência aos exemplos de programas que estão sendo postados neste blog, finalizaremos com um exemplo mais complexo de programação de um PLC.

É importante deixar claro que, embora o exemplo seja complexo, o mesmo foi bastante simplificado para servir como um exemplo rápido, mas com um grau de complexidade maior do que os anteriormente mostrados.

Quero que o processo de concepção do sistema fique bem claro, pois, automatizar um processo não é simplesmente chegar e programar um PLC. Vai muito mais além... é preciso descrever o processo; é preciso que todos os sensores e atuadores sejam dimensionados adequadamente. A equipe de projeto precisa discutir todos os processos operacionais para, a partir de um descritivo funcional detalhado, seja feita a programação de todos os dispositivos envolvidos. Um descritivo bem elaborado faz com que qualquer pessoa em qualquer linguagem, consiga efetuar a programação de um PLC ou IHM, por exemplo. Vamos lá:

Misturador de compostos


Em uma determinada empresa, um composto utilizado em um processo é obtido a partir da mistura de dois compostos primários. Para realizar esta mistura, foi dimensionado um sistema misturador, composto de três tanques:

  • Tanque do composto primário "A" (TPA)
  • Tanque do composto primmário "B" (TPB)
  • Tanque de mistura (TM)

Os tanques dos compostos primários, TPA e TPB, possuem um medidor de nível e uma válvula acionada eletricamente (Válvula Solenóide), para liberar ou não a saída dos compostos dos respectivos tanques. Os medidores de nível para os tanques TPA e TPB serão designados de LT-A e LT-B e as válvulas FV-A e FV-B, respectivamente.

O tanque de mistura possui um medidor de nível, LT-M, uma válvula de saída, FV-M, e um motor que gira uma espécie de hélice que homogeiniza a mistura, chamado de AGM.

O processo de mistura é iniciado por um operador através de um botão denominado START, que é um botão do tipo NA (Normalmente Aberto).

Uma representação do sistema é mostrada na Figura 1.

Figura 1 - Representação esquemática do Misturador de Compostos

Funcionamento


O sistema Misturador de Compostos funcionará obedecendo a seguinte sequência, após o comando de início do processo, dado manualmente por um operador:

  1. Abastecer o tanque de mistura com o composto A
  2. Abastecer o tanque de mistura com o composto B
  3. Acionar o misturador durante 1 minuto
  4. Retirar a mistura do tanque misturador

A seguir, cada item da sequência será explanado.

1 - Abastecer o tanque de mistura com o composto A

Para que seja possível iniciar o processo de mistura, é necessário primeiro saber se haverá quantidade suficiente dos compostos A e B para tal finalidade. O nível mínimo estabelecido para ser possível realizar essa operação é de 10% para o composto A e de 20% para o composto B.

Havendo quantidade suficiente dos compostos, a dosagem poderá ser iniciada. A dosagem do composto A para o tanque de mistura será feita pelo tempo em que a válvula FV-A ficará aberta. O tempo estabelecido para dosagem é de 5 segundos.

Para evitar novo acionamento de FV-A no meio do processo, para acionar FV-A, as válvulas FV-B, FV-M e o agitador AGM não podem estar acionados, garantindo assim que o processo só poderá reiniciado após sua finalização.

Portanto a lógica de acionamento de FV-A será:

Se START=1, e
FV-B=0, e
FV-M=0, e

AGM=0, e
LT-A >= 10%, e

LT-B >= 20%
Então
Ligar FV-A


A lógica para temporização será:

Se FV-A=1
Então
Ligar TEMP-FV-A

O elemento TEMP-FV-A é um temporizador do tipo TON, também conhecido como "retardado para ligar", ou seja, quando ativado, acionará a sua saída após o tempo programado, que no caso de TEMP-FV-A é de 5 segundos.

A lógica de desligamento de FV-A será:

Se TEMP-FV-A=1
Então

Desligar TEMP-FV-A
Desligar FV-A Ligar FV-B*

* Veja explicações a seguir.

2 - Abastecer o tanque de mistura com o composto B

O início da dosagem do composto B ocorre automaticamente após o término da dosagem do composto A. Note que não é necessário verificar o nível do tanque B, pois o mesmo é verificado antes do início do processo de dosagem, pois, se fosse verificado aqui, poderia ocorrer a situação em que se o composto B não estivesse em quantidade suficiente fazendo com que o tanque de mistura ficasse apenas com o produto A, invalidando o processo e desperdiçando aquele produto.

A dosagem do composto também ocorrerá baseando-se no tempo de abertura da válvula FV-B, que no caso é de 10 segundos.

Como o acionamento da válvula FV-B ocorre após a dosagem do produto A, a mesma já foi iniciada no fim da etapa anterior (ver item com um * acima).

A lógica para temporização de FB-B será:

Se FV-B=1
Então
Ligar TEMP-FV-B

Da mesma maneira, o elemento TEMP-FV-B também é um temporizador do tipo TON, e, quando ativado, acionará a sua saída após o tempo programado, que no caso é de 10 segundos.

A lógica de desligamento de FV-B será:

Se TEMP-FV-B=1
Então

Desligar TEMP-FV-B
Desligar FV-B Ligar AGM**

** Veja explicações a seguir.

3 - Acionar misturador por 1 minuto

O acionamento do agitador (AGM) ocorre automaticamente após o término da dosagem do produto B, conforme visto no item marcado com ** acima.

A lógica de temporização do funcionamento de AGM será:

Se AGM=1
Então
Ligar TEMP-AGM

Da mesma maneira que os demais temporizadores, o elemento TEMP-AGM é um temporizador do tipo TON, e, quando ativado, acionará a sua saída após o tempo programado, que no caso é de 60 segundos.

E a lógica de desligamento de AGM será:

Se TEMP-AGM=1
Então
Desligar TEMP-AGM
Desligar AGM
Ligar FV-M***

*** Ver explicações a seguir.

4 - Retirar a mistura do tanque misturador
A retirada da mistura inicia automaticamente após o término da mistura, conforme já definido no item marcado com *** acima.

Para fechar a válvula FV-M, o nível do tanque de mistura LT-M, deverá atingir o valor zero (0). Então, a lógica será:

Se LT-M=0
Então
Desligar FV-M


Assim, o processo de dosagem e mistura está finalizado.

Programa do PLC

Utilizando o CoDeSys para fazer a programação e simulação do sistema, é necessário declarar todas as variáveis que serão utilizadas no sistema. Essa declaração das variáveis é mostrada na Figura 2.
Figura 2 - Declaração de variáveis do sistema

As figuras a seguir mostram todas as linhas do programa do PLC, com os respectivos comentários. Observe que, mesmo trabalhando com a linguagem Ladder, aparecem blocos que, obviamente são impossíveis de se representar em contatos, como Temporizadores e Comparadores.

Linhas 1 e 2

As linhas 1 e 2 fazem as verificações dos níveis dos tanques TPA e TPB, comparando os mesmos com os valores de nível mínimo pré definido e ativando variáveis auxiliares que indicarão se estas condições estão satisfeitas ou não. A figura 3 mostra as linhas 1 e 2.

Figura 3 - Linhas 1 e 2 do programa do PLC

Os blocos GE, são blocos de comparação "Greater or Equal" ou "maior ou igual", ou seja, comparam se os níveis LT-A e LT-B são maiores ou iguais aos seus valores mínimos (10% e 20%, respectivamente).

Linha 3

A linha 3 reune todas as condições indicadas no descritivo do processo para o início do processo de mistura, ou seja, o botão START deve ser pressionado, os níveis devem estar iguais ou maiores seus valores mínimos e nenhuma das outras válvulas ou o agitador podem estar ligados (o que indicaria um ciclo em andamento). Cumpridas essas condições, a válvula FV-A é acionada.

Figura 4 - Linha 3 do programa do PLC

Linha 4

A linha 4 reune as condições para desligamento da válvula FV-A e o acionamento da válvula FV-B. Para isso, aparece um bloco indicado como TON, que é o temporizador.

Figura 5 - Linha 4 do programa do PLC

Linha 5

A linha 5, similar à linha 4, reune as condições para desligamento da válvula FV-B e acionamento do agitador AGM. Também é utilizado um bloco TON (Temporizador), parametrizado agora com o tempo estipulado, de 10 segundos (T#10s).

Figura 6 - Linha 5 do programa do PLC

Linha 6

A linha 6, também similar à linha 5, reune as condições para desligamento do agitador AGM, 60 segundos após o seu acionamento, conforme previsto no descritivo, e ligamento da válvula FV-M, para saída da mistura do tanque.

Figura 7 - Linha 6 do programa do PLC

Linha 7

A linha 7 e última, reune as condições para desligamento da válvula FV-M, que é o fim do processo e que ocorre quando o nível do tanque TM atinge o valor zero. Para isso, existe um comparador tipo LE (Less or equal - Menor ou igual a) que verifica se o nível é igual ou menor do que zero.

Figura 8 - Linha 7 do programa do PLC

Simuladores de PLC

Tenho visto muito por aí (pessoalmente, e-mail e comunidades do orkut), pessoas procurando simuladores de PLC.

Resolvi então postar alguns links para download com os meus comentários a respeito de cada um (opiniões extremamente particulares):

- CoDeSys - Software de programação na linguagem IEC-61131-3. Na minha opinião é o melhor para o aprendizado, pois é um ambiente extremamente profissional e muitos fabricantes (FESTO, Schneider, ABB, etc.) distribuem junto com seus equipamentos uma versão personalizada do CoDeSys. Possui ambiente de programação e simulador de PLC. E o melhor: Grátis e sem necessidade de cracks. Faça o download aqui (é necessário registrar para receber senha de acesso à área de Download. Você receberá a senha de acesso por e-mail em 2 dias... mas vale muito a pena!).

- TriLOGI - Software educacional de simulação de PLCs. Também é muito interessante e é possível fazer um teste online (internet) antes de fazer o download. Faça o donwload aqui (É necessário registrar).

- Zelio Soft - Software de Programação do MicroPLC Zélio da Schneider Electric. Muito simples e fácil de manusear, com simulação bem interessante. Ideal para quem ainda não tem nenhuma noção e deseja dar os primeiros passos. Recomendo engatinhar nesse e depois migrar para o CoDeSys. Faça o download aqui.

Caso você tenha experimentado algum outro simulador e acha que é interessante, faça um comentário para que possamos postar aqui!

Um abraço e até a próxima!

Exemplo de Programa - Parte 2

Exemplo de lógica sequencial

Neste post será mostrado outro exemplo de programaçao de PLC, mas utilizando agora a lógica sequencial, que é aquela em que a(s) saída(s) dependem do estado atual das entradas e também do valor anterior da(s) saída(s).

Tomaremos como base um sistema de acionamento de um motor elétrico, mostrado na Figura 1.

Este sistema simples, deverá funcionar da seguinte maneira:
O motor será ligado se o botão ON for pressionado, ou seja, ON=1.
O motor será desligado se o botão OFF for pressionado, ou seja, OFF=1.
Se nenhum dos dois botões estiver pressionado (ou seja, ON=0 e OFF=0), o motor manterá o seu estado anterior, ou seja, se estava desligado, continua desligado e se estava ligado, continua ligado.
Caso os botões ON e OFF sejam pressionados simultaneamente, ou seja ON=OFF=1, o motor deve permanecer desligado.

Figura 1 - Exemplo de sistema sequencial

No exemplo mostrado na Figura 1, temos uma situação interessante: E se o operador pressionar os botões ON e OFF simultaneamente? No exemplo, o estado do motor será nessa situação será desligado, mas dependendo da aplicação, poderia ser o contrário. Veremos em outros posts mais adiante exemplos com esta situação.

O sistema apresentado no exemplo poderia ser automatizado através de um circuito elétrico, conforme mostrado na Figura 2.

Figura 2 - Circuito elétrico de acionamento do motor

No circuito mostrado na Figura 2, verifica-se que o mesmo é dividido em duas partes. A da esquerda, onde aparece o motor, chamamos de circuito de força e o da direita, que comanda o contator K1, circuito de controle ou comando.

Os componentes S1 e S2 são botões de comando NA (Normalmente Aberto) e NF (Normalmente Fechado), respectivamente, e recebem os estímulos externos do operador.

Observam-se também alguns elementos nomeados de K1, que é um contator. No circuito de controle, aparece a bobina do contator K1 e um contato auxiliar, que nesse caso, é chamado de "contato de selo". No circuito de força, aparecem os contatos de potência de K1, que são utilizados para energizar o motor. Um exemplo de contator é mostrado na Figura 3.
Figura 3 - Vista de um contator
(Fonte: www.geocities.com/SiliconValley/Park/6834/contator.gif)

A partir da visualização da Figura 2, é possível notar que um contato auxiliar do contator K1 faz parte do circuito de acionamento da bobina de K1. Portanto, o estado da bobina de K1, depende do estado do contato auxiliar de K1 (que representa o estado anterior de K1).

Bem, para resolver este problema com um PLC (é claro que este exemplo é uma situação hipotética, pois usar um PLC para acionar apenas um motor certamente é uma solução não vantajosa financeiramente), mostraremos duas soluções: uma com uma lógica similar à mostrada no circuito elétrico e uma outra usando recursos próprios de um PLC.

Solução 01

A primeira solução nada mais é do que a transcrição do circuito elétrico para a linguagem do PLC, conforme pode ser observado na Figura 4.


Figura 4 - Primeira solução - Similar ao circuito elétrico

Vamos simular o funcionamento do circuito em algumas situações:

Situação 01.1

Considerando que a chave S1 foi pressionada, o resultado é o acionamento do motor através de K1 (Ver figura 5).

Figura 5 - Simulação de S1=1 e S2=0

Situação 01.2

Em seguida, simulando o desligamento da chave S1, ou seja, S1=0 e S2=0, o resultado é que o motor continua ligado (ver Figura 6).
Figura 6 - Simulação de S1=S2=0

Situação 01.3

Prosseguindo, se a chave S2 for acionada, o motor é desligado, conforme mostra a simulação na Figura 7.
Figura 7 - Simulação de S1=0 e S2=1

Situação 01.4

Novamente, simularemos S1=S2=0, porém, diferentemente da Situação 02, o motor ficará desligado, pois este era o estado anterior (ver Figura 8).
Figura 8 - Nova simulação de S1=S2=0

Simulação 01.5

Por último, simularemos S1=S2=1. Neste caso, devido à concepção da lógica, tem-se como resultado que o motor fica desligado, conforme mostra a Figura 9.

Figura 9 - Simulação de S1=S2=1

Solução 02

A segunda solução utiliza as funções Set e Reset, que são próprias de programação em PLCs. Estas funções funcionam da seguinte maneira: Se uma linha da lógica possui uma bobina tipo S e fica verdadeira, o elemento associado à bobina S é acionado (=1) e permanece nesse estado mesmo se a linha dessa bobina ficar falsa. Para desligar este elemento, é necessário que uma bobina R associada a este elemento fique verdadeira.

Figura 10 - Representação da solução 02

A lógica desenvolvida é mostrada na Figura 10. Observe que A chave liga (S1) está associada à bobina S (Set=liga) e que a chave desliga (S2) está associada à bobina R (Reset=desliga). Observe também que o motor está associado às duas bobinas (S e R).

Vejamos as situações de simulação:

Situação 02.1

De maneira similar à solução 1, simulamos inicialmente a chave S1 pressionada, conforme mostra a Figura 10.
Figura 10 - Simulação de S1=1 e S2=0

Note que tanto a bobina S quanto a bobina R estão (Ativas), pois estão associadas ao mesmo elemento (K1).

Situação 02.2

Quando o botão S1 é desligado, a saída K1 (Motor) é mantida ligada, mesmo com as linhas de S1 e S2 falsas, pois as bobinas S e R são retentivas (Armazenam o último estado), conforme mostra a Figura 11.

Figura 11 - Simulação de S1=S2=0

Situação 02.3

Ao pressionar o botão S2, K1 é desenergizado. Observe que as duas bobinas aparecem desligadas, mesmo com a linha de S2 verdadeira, conforme Figura 12.
Figura 12 - Simulação de S1=0 e S2=1

Situação 02.4

Novamente, simulando S1=S2=0, porém, K1 permanece desligado devido ao seu estado anterior (Ver Figura 13).

Figura 13 - Simulação de S1=S2=0

Simulação 02.5

Nesta situação, verifica-se que se S1=S2=1, K1 permanece desligado. Neste caso (ver Figuras 10 e 14), K1 permanece desligado porque o PLC processa o programa linha a linha, logo, a última linha processada é a linha da bobina R (Reset=Desliga), portanto, o último comando para a saída K1 é que seja desligada.

Figura 14 - Simulação de S1=S2=1

Chegamos ao fim de mais um post e espero que tenha ajudado a esclarecer o princípio de operação de um PLC em um caso de uma lógica sequencial simples.

O arquivo com este programa para o CoDeSys V3 (disponível no site da 3s-software) está disponível na Solução 01 ou Solução 02.

Exemplo de lógica combinacional

Neste post será mostrado um exemplo de programação de um PLC utilizando lógica combinacional, ou seja, aquela em que a(s) saída(s) depende(m) apenas dos estados das entradas. Para este exemplo, assim como todos os outros que serão mostrados à frente, será utilizado o software CoDeSys V3.2, disponível no site da 3S Software. Basta fazer um cadastro e em até 2 dias você receberá um usuário e senha para entrar na área de Downloads e baixar a instalação. Este software foi escolhido pelos seguintes motivos:
  • É inteiramente baseado na norma IEC-61131. Vários fabricantes como ABB, IFM, Festo, Schneider, possuem softwares de programação baseado no CoDeSys;
  • Possui licença livre (portanto não precisa de cracks).
  • Possui simulador, o que permite criar e simular a lógica;
Sem mais demoras, segue o exemplo:

Uma empresa de reciclagem de papel e PETs possui uma prensa hidráulica, similar à mostrada na Figura 1, para compactação de materiais que será controlada por um PLC. O principal requisito para operação deste equipamento é a segurança do seu operador e, para isso, esta prensa possui:

  • 02 (dois) botões de comando que devem ser pressionados simultaneamente para que o cilindro da prensa seja acionado, garantindo assim que o operador estará com as duas mãos fora da prensa.

  • 01 (uma) porta de proteção que deve estar fechada para possibilitar o acionamento do cilindro, evitando que estilhaços de material possam ser projetados e atinjam o operador.

Figura 1 - Vista de uma prensa hidráulica

Para que o PLC possa identificar que o operador fechou a porta de proteção, foi instalado um sensor tipo chave fim-de-curso, de maneira que quando a porta da prensa for fechada, um contato será acionado.

Para acionar o cilindro, o PLC ativará uma saída que comandará uma válvula solenóide em uma unidade hidráulica, utilizando para isso, uma saída digital.

Por fim, para o correto funcionamento da prensa, o nível do óleo do reservatório da unidade hidráulica deverá ser satisfatório e a temperatura do óleo não deve ser superior a 70°C. Para identificar estas duas condições foram instalados os seguintes sensores:

  • 01 (uma) chave de nível tipo bóia, ajustada para o nível ideal de óleo.

  • 01 (um) termostato, ajustado para 70°C.

Para que o operador saiba que há algum problema com o nível de óleo ou com a temperatura, foram instalados dois sinalizadores luminosos no painel de operação.

O diagrama elétrico completo com a ligação de todas as entradas e saídas é mostrado na Figura 2.

Figura 2 - Diagrama de interligação de entradas e saídas

Para elaboração do software aplicativo do PLC, foi criada a relação de entradas e saídas mostrada na Tabela 1.

Tipo

Símbolo

Descrição

Função

Entrada

BotDir

Botão para acionamento do cilindro da prensa (lado direito)

0 = Não pressionado

1 = Pressionado

Entrada

BotEsq

Botão para acionamento do cilindro da prensa (lado esquerdo)

0 = Não pressionado

1 = Pressionado

Entrada

SPorta

Sensor de detecção da porta de proteção

0 = Porta Aberta

1 = Porta Fechada

Entrada

Noleo

Sensor do nível do óleo hidráulico

0 = Nível Baixo

1 = Nível OK

Entrada

Toleo

Termostato do óleo

0 = Temperatura >= 70°C

1 = Temperatura <>

Saída

HNoleo

Sinalizador luminoso de nível baixo de óleo

0 = Apagado

1 = Aceso

Saída

HToleo

Sinalizador luminoso de temperatura do óleo > 70°C

0 = Apagado

1 = Aceso

Saída

SolCil

Solenóide de controle do cilindro hidráulico da prensa

0 = Recua cilindro

1 = Avança cilindro

Tabela 1 - Relação de Entradas e Saídas

A partir das informações da Tabela 1, é possível notar que a saída SolCil será acionada se:
  • BotDir=1, e
  • BotEsq=1, e
  • Sporta=1, e
  • Noleo=1, e
  • Toleo=1.

Também é possível observar que a saída HNoleo será acionada se:

  • Noleo=0.
E a saída HToleo será acionada se:
  • Toleo=0.
Assim, é possível construir a lógica mostrada na Figura 3.
Figura 3 - Lógica de controle escrita na linguagem Ladder

Simulação

Através do CoDeSys 3.2 é possível simular o funcionamento do programa, como se o computador estivesse conectado ao PLC, monitorando a execução do mesmo. Serão abordadas as seguintes situações:
  1. Prensa com condições normais, porta aberta e botões de operação não pressionados.
  2. Prensa com condições normais, porta fechada e botões de operação pressionados.
  3. Prensa com baixo nível de óleo, porta fechada e botões de operação pressionados.
  4. Prensa com alta temperatura do óleo, porta fechada e botões de operação pressionados.
Situação 1

Nesta situação, a prensa se encontra pronta para operação, ou seja, o operador poderá colocar o material, fechar a porta e pressionar os botões. A visualização da simulação é mostrada na Figura 4.

Figura 4 - Simulação da situação 1

Situação 2

Nesta condição, a prensa está em operação, ou seja, o operador já colocou o material dentro da prensa, fechou a porta e pressionou os dois botões. A visualização da simulação é mostrada na Figura 5.
Figura 5 - Simulação da situação 2

Na figura 5 é possível observar que a primeira linha do programa está com todas as suas condições satisfeitas, ou seja, BotDir=1, BotEsq=1, SPorta=1, Noleo=1 e Toleo=1. Sendo assim, a saída SolCil está ativada.


Situação 3

Nesta condição, a operação da prensa foi interrompida pela detecção do nível baixo de óleo. A visualização da simulação é mostrada na Figura 6.

Figura 6 - Simulação da situação 3

Na figura 7 é possível observar que a SolCil está desligada (recuando o cilindro da prensa) e a segunda linha ativa a saída HNoleo, sinalizando para o operador que o nível do óleo está baixo.

Situação 4

Nesta condição, a operação da prensa foi interrompida pela detecção da alta temperatura do óleo (temperatura igual ou maior a 70ºC).. A visualização da simulação é mostrada na Figura 7.

Figura 7 - Simulação da situação 4

Na figura 7 é possível observar que a SolCil está desligada (recuando o cilindro da prensa) e a terceira linha ativa a saída HNoleo, sinalizando para o operador que a temperatura do óleo está alta.

O PLC - Parte 3

Neste post finalizaremos o assunto sobre o hardware de um PLC. Como, na verdade, é impossível esgotar este assunto, outras abordagens ou explicações serão dadas posteriormente, caso necessário.

Armazenamento de valores de entradas e saídas


Quando no programa do usuário existe uma instrução para leitura de uma entrada ou escrita de uma saída (digital ou analógica), o processador não lê ou escreve os valores diretamente nos módulos de entrada ou saída, mas sim, efetua a leitura ou escrita a partir de um endereço de memória.
O fato de a memória RAM de um PLC possuir áreas reservadas para armazenamento dos valores existentes nas entradas e saídas (digitais ou analógicas) se deve ao fato de que o tempo de leitura ou escrita na memória é muito inferior (ou seja, é mais rápido), do que a leitura ou escrita em um cartão. O tempo de resposta para a leitura ou escrita de um valor na memória é da ordem de nanosegundos (1x10-9s), enquanto a leitura ou escrita diretamente em um cartão é da ordem de milisegundos (1x10e-3s).
Assim, antes do início do processamento do programa de usuário, a CPU solicita que todos os cartões de entradas atualizem os seus valores na área de memória correspondente, chamada de PII - Process Image Input, ou imagem das entradas do processo. Após esta atualização o programa é processado, de maneira que toda vez que se faze necessário avaliar o valor de uma entrada, o valor considerado é o valor presente na memória.
Ainda durante o processamento do programa, os novos valores para as saídas vão sendo armazenados em uma outra área de memória, chamada de PIO - Process Image Output, ou imagem das saídas do processo.

Existem instruções especiais em alguns PLCs que possibilitam a atualização do estado de um grupo de entradas ou saídas durante o processamento do programa. O uso destas instruções deve ser ponderado, pois impactarão diretamente nos tempos de varredura do programa.

Bits e palavras auxiliares


Durante a programação de um PLC, conforme será descrito mais à frente, pode ser necessário utilizar bits que interconectam lógicas ou usar palavras que armazenem valores intermediários de operações matemáticas, por exemplo. Assim, os PLCs já disponibilizam áreas fixas ou configuráveis para utilização de bits e palavras auxiliares, que são utilizados apenas internamente na lógica.

Figura 1 - Representação das divisões típicas da memória RAM de um PLC


Contadores e temporizadores


Em todos os PLCs estão disponíveis instruções de contagem e temporização, que podem ser utilizadas na automação de diversos processos que dependem de questões temporais ou sequenciais. Desta maneira, existem áreas de memória reservadas para o armazenamento das informações de contadores e temporizadores. Existem PLCs, entretanto, em que as instruções de contagem e temporização são armazenadas dentro da própria memória auxiliar (bits e palavras). Logo, ao ser necessário utilizar este tipo de instrução, os manuais do fabricante devem ser consultados para determinar como é realizado o endereçamento e alocação destes recursos.

A Figura 1 ilustra uma memória RAM e as divisões das áreas de programa, PII, PIO, auxiliares, contadores e temporizadores.

Áreas retentivas e não retentivas

As áreas de memória auxiliares, contadores e temporizadores, dependendo do fabricante do PLC ou mesmo da configuração, podem ter comportamentos diferentes frente a uma falha na alimentação do comportamento. Se uma determinada área de memória perde os valores armazenados quando a energia é desligada, diz-se que esta área é não retentiva. Caso os valores armazenados continuem gravados mesmo quando a energia é desligada, diz-se que esta área de memória é retentiva.