Você está na página 1de 27

Linguagem de

Programação
PROF. DR. ROGER NABEYAMA MICHELS
Linguagem de programação
A linguagem baseada em diagramas de relés tem sido a forma mais comumente encontradas
nos equipamentos, independentes do porte.
Este tipo de linguagem se aproxima dos painéis de controle a relé, substituídos pelo CLP, sendo
mais familiar à experiência dos técnicos, tecnólogos e engenheiros da época.
Devido a algumas sofisticações oferecidas pelos microprocessadores, ocorreram algumas
modificações nas linguagens de programação e a necessidade de sua atualização. Assim, quatro
formas de linguagem passaram a predominar nos CPLs, que são:
 Diagrama de Contatos (Laddes);
Blocos Funcionais;
Mnemônicos Booleanos;
Parâmetros Idiomáticos.
Diagrama de Contatos
Também conhecido como linguagem Ladder, é a forma mais intuitiva de apresentar uma lógica
de contatos.
Blocos Funcionais
Os blocos funcionais tem muita semelhança com os Diagramas lógicos utilizados nos diagramas
de portas digitais.
Mnemônicos Booleanos
Também conhecido como Lista de Instrução, é a forma mais condizente com o modo como os
processadores operam.

LD I0
OR I1
ANDN I2
ST Q1
Parâmetros Idiomáticos
É um dos sistemas menos utilizado.

LET Q1:= (I0 OR I1) AND NOT I2


Instrução de Entrada e Saída
O circuito-programa mais simples de ser efetuada é aquele no qual a atuação de uma entrada
causa a consequente atuação de uma saída.
Suponha que seja ligada a entrada I0 do CLP uma chave CH do tipo on-off e, na sua saída Q0
uma lâmpada L. Assim deseja-se que o programa de controle efetue a simples tarefa de acender
a lâmpada L sempre que a chave CH fechar, o programa ladder teria o seguinte aspecto:
Instrução de Entrada e Saída

O que ocorre então é que o processador vai continuamente (Conforme Ciclo de Varredura)
efetuar a leitura da entrada I0 e efetuar um programa que trata de atribuir a saída Q0 o valor
que foi lido.
Em outras palavras, se a chave CH for fechada, fará com que I0 passe a nível lógico 1, o que
implicará que Q0 passe também a nível lógico 1 e finalmente atue a saída com o respectivo
acendimento da lâmpada.
Circuito com Lógica Negativa
Ao utilizar um CLP, o projetista fica com total liberdade de optar pelo tipo de lógica com que
pretende trabalhar. Qual seja positiva ou negativa. A adoção de uma delas depende da
necessidade do usuário, porém é importante que o programador não cometa erros.

Neste caso a instrução realizará a leitura da entrada e atuará na lâmpada L, ou seja, quando a
chave CH estiver aberta a lâmpada acende.
Circuito com Lógica Negativa
Outra situação é quando a saída apresenta situação negativa, ou seja, a leitura de entrada é feita
em lógica positiva, mas a saída é atribuído um valor lógico complementar.

Obviamente, caso sejam ambas negadas, leitura e atribuição, o resultado prático será como se
nenhuma inversão fosse feita, ou seja, a lâmpada L voltaria a acender quando do fechamento da
chave CH.
Instrução Booleana
A realização de programas de programas que exijam operadores lógicos booleanos é facilmente
obtida na programação do CLP.
Operação E:
Instrução Booleana
Operação E com variável invertida:
Instrução Booleana
Operação OU:
Instrução Booleana
Operação OU com variável invertida:
Elaboração de Circuitos
Para obter circuitos mistos, os quais exigem mais do que a simples utilização de operações
booleanas, utiliza-se de uma estrutura computacional denominada “pilhas”.
Circuito misto com ramos série em paralelo:
Elaboração de Circuitos
Circuito misto com ramos paralelos em série:
Elaboração de Circuitos
Circuito misto complexo:
Elaboração de Circuitos
Alternativamente, também poderia ser utilizada as regiões internas da memória. Denominadas
registro, tag ou flag e são identificadas por F0, F1, F2 e assim sucessivamente. Cada uma dessas
flags representa, um última análise, um relé auxiliar para uso no diagrama de contatos.
Circuito de Intertravamento
Um fato importante na programação do CLP é a possibilidade de utilizar tantos contatos iguais
forem necessários no programa. Isso vale para pontos de entrada, de saída ou outro registro
interno do CLP, e tal característica é fundamental para a realização de circuitos com
memorização ou de intertravamento. Observe, por exemplo, o caso do circuito a seguir no qual a
saída Q0 permanecerá indeterminadamente ligada após a entrada I0 ter sido acionada pela
primeira vez.
Circuito de Intertravamento
A estrutura do programa previamente apresentado é as vezes empregada quando se deseja
memorizar, numa aplicação prática, um evento sinalizado por I0 cuja informação terá relevância
ao longo de toda execução da aplicação. Entretanto pode ser de interesse que haja uma forma
de desligar o elemento memorizado.
A seguir é mostrado um programa para implementação de controle com prioridade para o
desligamento.
Circuito de Intertravamento
Diz-se que o programa tem prioridade para o desligamento, pois caso ambas “botoeira” sejam
simultaneamente acionadas, prevalecerá a saída desligada, uma vez que o ramo principal de I1
abrirá.
Outra maneira de implementar a solução do problema proposto é por meio de um programa
que dê prioridade ao ligamento. Estes fatores estão relacionados a segurança de maquinas e/ou
operadores da planta.
Instrução de Memorização
Uma forma alternativa e recomendável de efetuar a memorização de um valor numa variável de
CLP é pela instrução S (set), a qual tem um comportamento idêntico ao intertravamento. A
vantagem obtida na utilização dessa instrução é a economia de uma linha de programa.
Instrução de Desliga Memória
A instrução que prevê o desligamento de uma memória previamente setada é a R (reset), a qual
pode apresentar comportamento de prioridade de desligamento ou de ligamento (como no
intertravamento).
Temporizador
Um recurso largamente utilizado em automatizações com CLP são as temporizações de
comando. Seguindo o modelo dos antigos relés de tempo, e o tipo mais comumente utilizado é
o de retardo na energização.
Nos CLPs encontram-se disponíveis temporizadores identificados por T0, T1, T2 e assim por
diante, que tem como base de tempo o segundo, representado após o comando de atribuição.
Contador
Outro recurso bastante útil nos CLPs são os contadores, por meio dos quais torna-se possível
quantificar a ocorrência de eventos impulsionais no processo controlado.
No formato de contador mais simples, o valor de contagem é estabelecido pela instrução S. Já a
instrução R zera a sua contagem. Sua identificação é feita por C0, C1, C2 e assim por diante. A
cada pulso fornecido à sua bobina, o valor de contagem é decrementado. Ao chegar em zero,
são atuados os contatos da bobina do contador.
Pode-se observar que, uma vez iniciado o processo de contagem, ele volta ao inicio caso seja
dado um novo comando S. Uma vez atuado o contador, outros pulsos que cheguem a sua bobina
não serão levados em consideração. O comando R força o ligamento de contador pelo fato de
zerar seu valor de contagem.
Contador
Dúvidas?

Você também pode gostar