You are on page 1of 8

1 LINGUAGENS DE PROGRAMAÇÃO

Linguagem de programação é um conjunto de símbolos e regras que formam um código capaz de permitir a comunicação entre o usuário e um determinado equipamento ou sistema. É a forma de representação do programa de controle. Existem cinco linguagens de programação de CLP padronizadas. A norma que deve ser adotada pelos fabricantes de CLP´s é a IEC 1131 – 3. Para melhor compreensão dos recursos e características de cada uma delas, mediante uma situação/problema, apresenta-se a solução nas cinco linguagens padronizadas. Segue abaixo a descrição do processo a ser implementado, a lista de alocação correspondente e as soluções propostas. 1.1 SITUAÇÃO/PROBLEMA Deve-se automatizar o “elevador de caixas” ilustrado na figura 1. Quando uma caixa acionar o sensor fim de curso S0, o cilindro A avança, elevando o conjunto até o cilindro B, posteriormente este atuador empurra a caixa para que a mesma continue seu percurso pela esteira. A seqüência lógica dos movimentos está ilustrada na figura 2 através do diagrama trajeto-passo.
B1 B0

CAIXA

S0

A1 A0

Figura 1 – Elevador de Caixas Automatizado

Figura 2 – Diagrama Trajeto-Passo

1 INTRODUÇÃO O Ladder utiliza símbolos gráficos semelhantes àqueles encontrados em diagramas elétricos.1 %I0. 1.Lista de Alocação 1. • Bobina – a bobina geralmente representa os sinais de saída digital.Elemento S1 A0 A1 B0 B1 A+ AB+ B- Descrição Entradas Digitais Endereço %I0. Se houverem duas ou mais bobinas com o mesmo endereço. .3 %I0.2.0 %I0. o contato apresenta-se aberto e quando a entrada está ativa (nível lógico 1). a saída correspondente apresenta-se desligada (nível lógico “0”) e quando ela está ativa. Os contatos NA e NF de uma mesma entrada ou flag podem ser usados quantas vezes forem necessários.3 Sensor da caixa Sensor cilindro A recuado Sensor cilindro A avançado Sensor cilindro B recuado Sensor cilindro B avançado Saídas Digitais Cilindro A avança Cilindro A recua Cilindro B avança Cilindro B recua Tabela 1 . o contato apresenta-se fechado.2 %Q0. Esta é a linguagem mais popular e utilizada pelos fabricantes. Quando ela está inativa. o contato apresenta-se aberto e quando a entrada está inativa (nível lógico “0”). na qual os CLP´s foram criados inicialmente para substituí-los. vide figura 3.2 DIAGRAMA DE CONTATOS (LADDER . Quando a entrada está ativa (nível lógico “1”).2 %I0.LD) 1.0 %Q0.2 ELEMENTOS BÁSICOS A linguagem Ladder possui três elementos básicos. Quando a entrada está inativa (nível lógico 0).4 %Q0. o contato apresenta-se fechado. por que estes são muito semelhantes aos diagramas da lógica de relés.2. a saída correspondente apresenta-se ligada (nível lógico “1”). descritos a seguir: • Contato normalmente aberto (NA) – geralmente representa o estado lógico de uma entrada digital. • Contato normalmente fechado (NF) – também pode representar o estado lógico de uma entrada digital.1 %Q0. prevalecerá a lógica da última bobina da seqüência do programa. Já a bobina de uma saída ou flag pode ser usada somente uma vez para cada endereço.

0 %I0.0 ( ) %Q0.1 deve estar ligada. %I0.3 LÓGICAS BÁSICAS • Lógica “E”: corresponde a uma associação em série de dois ou mais contatos.1 %Q0.contato NA contato NF bobina ( ) Figura 3 – Elementos básicos da linguagem Ladder 1. desfazendo a auto-retenção.0.2. na figura 4. Para acionarmos a saída %Q0. através do seu contato. a entrada %I0.0.1 devem estar ligadas. %I0.0 “OU” a entrada %I0.0 %Q0.0. na figura 5. a saída %Q0.0 ( ) %Q0.1 Figura 4 – Lógica “E” • Lógica “OU”: corresponde a uma associação em paralelo de dois ou mais contatos. Para acionarmos a saída %Q0.1 Figura 5 – Lógica “OU” • Auto-retenção: ao acionarmos a entrada %I0.0 %I0. se auto-reterá e ficará ligada até que a entrada %I0.0 %I0.0 “E” a entrada %I0. a entrada %I0. %I0.0.0 ( ) Figura 6 – Auto-retenção .1 seja acionada.

1 ( ) .1 nunca sejam acionadas ao mesmo tempo. %I0. Permanece fechado somente na varredura em que a transição de estado foi detectada. Permanece fechado somente na varredura em que a transição de estado foi detectada. permanecendo assim até que a entrada efetue uma nova transição de “1” para “0”. • Contato borda de descida – esse contato é fechado quanto uma entrada ou um flag associado a ele muda do nível lógico 1 para o nível lógico 0.1 %Q0. Na próxima varredura o contato é aberto novamente. flag ( ) flag ( ) %Q0.4 DEMAIS ELEMENTOS • Contato borda de subida – esse contato é fechado quanto uma entrada ou um flag associado a ele muda do nível lógico 0 para o nível lógico 1.0 Figura 7 – Intertravamento 1. contato borda de descida N Figura 9 – Contato borda de descida.2. permanecendo assim até que a entrada efetue uma nova transição de “0” para “1”. como mostra a figura 7. contato borda de subida P Figura 8 – Contato borda de subida.• Intertravamento: esta lógica garante que as saídas %Q0.0 ( ) %Q0. Na próxima varredura o contato é aberto novamente.0 e %Q0.0 %I0.1 %Q0.

. contam um tempo até acionar uma bobina. Pode ser de 10ms. basta dar um pulso na bobina reset. %I0. o temporizador contará 4 minutos antes de acionar a saída. Base de Tempo: é a unidade de tempo do preset.0 (S) %Q0. Preset: é o tempo que o temporizador contará antes de acionar a saída. não podem ser usados contatos de borda de subida ou borda de descida dessas bobinas. As bobinas set e reset de uma mesma saída podem ser usadas quantas vezes forem necessárias no programa.• Bobinas Set e Reset – A saída associada às bobinas set e reset será ativada quando um pulso energizar a bobina set.0 P %I0. Depende da base de tempo. Nesse caso.4 TON Entrada Saída Base de Tempo: 1s Preset: 3 %Q0. prevalece a lógica mais próxima ao fim do programa. Por exemplo.0 (R) Figura 11. diferente das bobinas normais. Temporizador Os seguintes itens compõem um bloco temporizador: Entrada: é onde será ligada a lógica que vai acionar o temporizador. %I0. 100ms. No entanto.1 P Figura 10 – Bobinas set e reset • Temporizadores – São elementos geralmente usados em seqüências que não possuem sensores para indicar o fim de uma ação. Saída: é ligada após contar o tempo presetado. se o preset é 4 e a base de tempo for 1min.3 ( ) %Q0. 1s e 1min. Para desativar a saída. permanecendo ativa mesmo quando a lógica não estiver ligando essa bobina. No caso de serem usadas três ou mais bobinas set e reset.

a saída é acionada. . inicia-se a contagem de tempo. Ao ser atingido o valor de preset. Figura 12. TOF (Off-delay): Este temporizador acionará a saída logo que a entrada é energizada. Temporizador TOF. Figura 13. Quando o valor de preset for atingido.Existem basicamente dois tipos de temporizadores: TON (com retardo na ativação) e TOF (com retardo na desativação). A figura 12 explica o funcionamento do TON. TON (On-delay): Este temporizador contará o tempo enquanto a sua entrada estiver sendo acionada. A figura 13 explica o funcionamento do TOF. a saída é desacionada. Quando a entrada for desfeita. mantendo-se assim até que a entrada seja desfeita. Temporizador TON.

Quando o contador atingir esse valor. Contador. Preset: é um valor ajustável. S (set): um pulso nessa entrada iguala o valor do contador ao valor do preset. F (full): essa saída será acionada quando o valor do contador for 9999. Os seguintes itens compõem o bloco contador: R (reset): um pulso nessa entrada reseta o valor do contador. A figura 14 ilustra um contador. CU (Counter up): um pulso nessa entrada incrementa em 1 o valor do contador. CD (Counter down): um pulso nessa entrada decrementa em 1 o valor do contador. a saída “D” é acionada. acionando uma saída quando o valor contado é igual ao valor do preset. Figura 14.• Contadores – São elementos usados para contar uma determinada variável do processo. D (done): essa saída é acionada quando o valor do contador for igual ao valor do preset. . E (empty): essa saída é acionada quando o valor do contador for 0.

. Bloco de Atribuição. Os símbolos usados para a comparação dos valores são descritos abaixo: Símbolo = < > <= >= <> Descrição Igual a Menor que Maior que Menor ou igual a Maior ou igual a Diferente de Tabela 2. O símbolo usado para essa atribuição é “:=” (dois pontos-igual). Bloco comparador.• Bloco comparador – Esse bloco analisa dois valores binários. decimais ou hexadecimais. • Bloco de atribuição – Esse bloco atribui um valor binário. Símbolos comparadores. decimal ou hexadecimal a uma variável. comportando-se como um contato fechado se comparação for verdadeira. Figura 16. Figura 15.