CONTROLADOR LÓGICO
PROGRAMÁVEL
CLP 2301
CAPÍTULO 1 - CONTROLADOR LÓGICO PROGRAMÁVEL 1
1.1 INTRODUÇÃO 1
CAPÍTULO 2 - CONCEITOS BÁSICOS SOBRE CLP 3
2.1 INTRODUÇÃO 3
2.2 CICLODEVARREDURA 5
CAPÍTULO 3 - SISTEMA DE ENTRADAS E SAÍDAS 7
3.1 INTRODUÇÃO 7
3.2 ENTRADASDIGITAIS 7
3.3 SAÍDASDIGITAIS 7
CAPÍTULO 4 - INSTRUÇÕES DO CONTROLADOR LÓGICO PROGRAMÁVEL 9
4.1 BÁSICAS 9 4.1.1 CONEXÃOHORIZONTAL 9 4.1.2 CONEXÃOVERTICAL 9 4.1.3 CONTATONA 9 4.1.4 CONTATONF 10 4.1.5 RELÉ 10 4.1.6 TEMPORIZADOR 11
4.1.7 FLIP-FLOPTIPOSET 12
4.1.8 FLIP-FLOPTIPORESET 13
4.1.9 FLIP-FLOPDEPULSO 13
4.1.10 FLIP-FLOPOSCILADOR 14
4.1.11 FLIP-FLOPSETBORDA 15
4.1.12 FLIP-FLOPRESETBORDA 16
4.1.13 CONTADORUP 17
4.2.1 MOVIMENTAÇÃODASVARIÁVEIS 20
4.2.2 MOVIMENTAÇÃOINDEXADA 21
4.2.3 INICIALIZAÇÃODEDADOS 22
4.2.4 PESQUISADEVALORES 23
4.3 MATEMÁTICA 23
4.3.1 OPERAÇÕESARITMÉTICAS–SOMA,SUBTRAÇÃO,DIVISORE
MULTIPLICAÇÃO 23
4.3.2 RAIZQUADRADA 26
4.3.3 OPERAÇÃOLÓGICAAND 27
4.3.4 OPERAÇÃOLÓGICAOR 28
4.3.5 OPERAÇÃOLÓGICAXOR 29
4.3.6 DESLOCADOR–DIREITAEESQUERDA 30
4.4 COMPARAÇÃO 31
4.4.1 MAIOR,MAIOROUIGUAL,MENOR,MENOROUIGUALEIGUAL 31
4.4.2 TESTELÓGICO 33
4.5 FLUXO 34
4.5.1 INÍCIODERELÉMESTRE 34
4.5.2 FIMDERELÉMESTRE 34
4.5.3 INÍCIODEBLOCODELÓGICA 35
4.5.4 FIMDEBLOCODELÓGICA 36
4.5.5 BLOCODELÓGICA 36
4.5.6 FIMDEPROGRAMA 38
4.6 BLOCOSEFUNÇÕESESPECIAIS 38
4.6.1 BLOCODECONTROLEPID 38
4.6.2 RELÓGIODETEMPOREAL 42
4.6.3 BLOCODECOMUNICAÇÃOREMOTA 42
4.6.4 BLOCODECONTROLEPADRÃO 44
4.6.5 BLOCODESTATUSDOCONTROLADOR 47
4.7 HARDWARE 48
4.7.3 CONTROLADORDESTEPMOTOR 50
4.7.4 CONTROLADORDESERVOMOTOR 52
CAPÍTULO 5 - IMPRIMINDO O PROGRAMA EM LADDER 55
CAPÍTULO 6 - OPPE AMBIENTE DE PROGRAMAÇÃO DA MMI 57
6.1 INTRODUÇÃO 57 6.2 TELA 58 6.3 TAG 58 6.4 CAMPO 58 6.5 COMANDO 59 6.6 MACRO 61 6.7 AÇÃO 61 6.8 EXEMPLO 63
CAPÍTULO 1 - CONTROLADOR LÓGICO PROGRAMÁVEL
1.1 INTRODUÇÃO
O primeiro controlador lógico programável surgiu em 1968 em uma divisão da General Motors Corporation. A necessidade da empresa era eliminar o alto custo gerado pelos sistemas controlados a relés.
Estes custos eram gerados devido à necessidade de freqüentes mudanças nos painéis de relé. Para suprir esta necessidade com redução de custos foi especificado um equipamento com a flexibilidade de programação do computador, capaz de suportar o ambiente industrial, de fácil manutenção e que fosse expansível. Havia também a preocupação que a linguagem de programação fosse de fácil assimilação. Este equipamento foi chamado de controlador lógico programável – CLP. Atualmente os controladores são mais complexos e não executam apenas lógicas de relés.
O surgimento dos microprocessadores adicionou grande flexibilidade e capacidade de processamento aos controladores. Podemos citar: a capacidade de operar com números, realizar operações aritméticas, processar dados e se comunicar com computadores. Estas características aumentaram muito a área de atuação dos CLPs, que passaram a operar em processos químicos, siderúrgicos e outros com características analógicas. No final da década de 70, inovações de hardware proporcionaram maior capacidade de processamento aumentando a capacidade de memória e de entradas/saídas, controle analógico, controle de posição, comunicações entre equipamentos e acessos remotos. A expansão de memória permitiu que se criassem programas de aplicação maiores com grande quantidade de dados, facilitando principalmente a implementação de controle contínuo.
Utilizando técnicas de comunicação de dados, a fiação entre o campo e a unidade de processamento foi muito reduzida, melhorando a confiabilidade, manutenção e os custos. Com o desenvolvimento destas técnicas adicionou-se ao desempenho do CLP a capacidade de controle distribuído e interface com os computadores pessoais aumentando o potencial de controle e de supervisão.
Hoje em dia existe uma grande variedade de tipos e portes de controladores. As características presentes mais importantes, que serão descritas mais detalhadamente nos próximos itens são:
Tempo de varredura;
Interfaces de entrada/saída microprocessadas;
Interface Homem Máquina mais poderosa e amigável.
Nos softwares de programação dos controladores, surgiram várias linguagens de programação, tais como:
Linguagem de blocos funcionais;
Linguagens de programação de alto nível; Diagnósticos e detecção de falhas;
CAPÍTULO 2 - CONCEITOS BÁSICOS SOBRE CLP
2.1 INTRODUÇÃO
O CLP é um equipamento eletrônico digital programável utilizado para implementação de lógica, sequênciamento, temporização, contagem e operações aritméticas, para controlar processos através de módulos de entradas e saídas analógicas ou digitais. Na figura 2.1 podemos observar os componentes e as diversas aplicações do CLP.
Digital
Analógico
te clado Pulsos
ENTRADA CPU SAÍDA Analógico
M OTOR VÁLVULAS LÂM PADAS PROCESSADOR MEMÓRIA FONTE DE ALIMENTAÇÃO
Created with Visio
Figura 2.1 – Componentes do CLP.
Um CLP é composto de cinco componentes básicos: Processador;
Memória;
Sistema de Entradas e Saídas; Fonte de alimentação;
Equipamento de programação.
O processador, a memória e a fonte de alimentação formam a Unidade Central de Processamento (UCP).
A UCP é responsável pela execução do princípio básico de funcionamento dos CLPs que consiste na leitura dos dados das entradas, execução do programa criado pelo usuário, processando os dados obtidos e se for o caso atualizar as saídas enviando dados para os dispositivos de saída. Este processo é chamado de Ciclo de Varredura.
O sistema de Entradas e Saídas é responsável pela interface pela qual o CLP se comunica com o mundo externo, através dos dispositivos de campo, ou seja, sensores e atuadores. Neste sistema os sinais de entrada e de saída são condicionados para serem interpretados pelo processador vindo de sensores e indo para atuadores. Os sinais de informação vindos de sensores como posição de chaves retentivas, não retentivas, sensores de temperatura são conectados ao módulo de entrada. Dispositivos de indicação, atuação e controle como válvulas solenóides, lâmpadas pilotos, são conectados ao módulo de saída.
A fonte de alimentação fornece a tensão para a alimentação do CLP e para o sistema de entradas e saídas, no caso do CLP 2301 Datapool a tensão é de 24 Volts DC.
Os CLPs podem possuir estrutura compacta, onde todos os componentes são acondicionados em um único gabinete. Este tipo de estrutura é normalmente usado em CLPs de pequeno porte. Os CLPs de médio e grande porte geralmente possuem uma estrutura modular, onde a CPU é um módulo, o sistema de entradas e saídas digitais é outro módulo, o de entradas e saídas analógicas outro. Estes módulos são então colocados em racks formando o CLP. Na figura 2.2 podemos observar os dois tipos de estrutura. CLP E/S analogica Entradas digitais Saídas digitais Leds de estado Canal serial ESTRUTURA COMPACTA ED ED ED SDEA EA ED ED SD RACK 0 ESTRUTURA MODULAR
Finalmente, um equipamento de programação é necessário para desenvolver o programa de aplicação e transferir este programa para a memória do controlador. Atualmente, a maioria dos fabricantes de CLPs utiliza microcomputadores com esta finalidade que ainda permite a monitoração, simulação e depuração de programas.
2.2 CICLO DE VARREDURA
Como foi mencionado anteriormente a UCP, ou seja, o microprocessador, memória e alguns circuitos auxiliares, são responsáveis por características como velocidade e capacidade do controlador.
Assim como nos microcomputadores pessoais, no CLP a UCP executa um programa monitor que vai fazer toda a inicialização dos componentes do CLP, diagnósticos, comunicação serial, módulos de entradas e saída, etc. Este programa também é conhecido como “Firmware”, é o programa que define toda a operação do CLP.
Os CLPs têm como característica de seu funcionamento a execução contínua de uma sequência de operações, que é chamada ciclo de varredura, composto da seguinte sequência:
Leitura das entradas;
Execução da lógica do programa de aplicação; Atualização das saídas.
A UCP lê o sistema de entradas e saídas, obtém os estados dos dispositivos que estão ligados a elas e as armazena na memória. Depois da execução os resultados são novamente armazenados na memória, durantes estas fases não há nenhuma operação com as saídas. Após estas fases a UCP acessa o sistema de entradas e saídas para atualizar o estado dos dispositivos ligados às saídas, de acordo com resultado da lógica do programa de aplicação. Este ciclo é continuamente efetuado enquanto o CLP estiver no modo de execução.
Fim do Programa do Usuario
Varre dura das E/S 0,5 mS/128 E/S
Ínicio do Programa do Usuario
Varre dura do Programa do Usuário 0,6 mS - 15 mS/ 1 K instr. boole ana
O tempo de varredura depende de vários fatores tais como clock do processador, programa de aplicação, número de pontos de entrada e saída, etc.
Para certos tipos de entrada o tempo de varredura pode inviabilizar a utilização de sistemas de entrada básicos. Nestes casos devem ser utilizadas funções de programação especiais ou módulos específicos tais como a entrada para encoder.
O tempo de varredura é um fator muito importante a ser considerado na seleção do controlador. Ele expressa a capacidade do CLP de executar determinado controle. Por exemplo, se um controlador tem um tempo de varredura de 50ms e o sinal de entrada a ser monitorado ou controlado varia a cada 20 ms, o controlador não será capaz de amostrar adequadamente este sinal.
CAPÍTULO 3 - SISTEMA DE ENTRADAS E SAÍDAS
3.1 INTRODUÇÃO
O sistema de Entradas/Saídas é responsável pela interface física entre o CLP e o mundo externo, ou seja, os dispositivos de campo. O CPL possui circuitos de interface para através de sensores, medirem grandezas físicas tais como: proximidade, posição, movimento, nível, temperatura, pressão, corrente e tensão. Também existem outros circuitos de interface que irão permitir o acionamento de dispositivos de controle que podem ser: válvulas, motores, bombas, alarmes.
Os primeiros CLPs só possuíam entradas e saídas digitais, ou seja, de tipo LIGA-DESLIGA, o que permitia somente controles lógicos. Ainda hoje os modelos mais simples só contam com este tipo de E/S, porém a maioria dos fabricantes oferece uma grande variedade de interfaces, analógicas e digitais que são capazes de realizar os mais complexos tipos de controle.
3.2 ENTRADAS DIGITAIS
São os tipos mais comuns de E/S, conectam os sensores e atuadores que fornecem sinais digitais das grandezas em que observam ou atuam.
Desta forma estas entradas são limitadas de captar sinais do tipo fechado/aberto e estas saídas só farão o controle de dispositivos que só requerem comandos em dois estados ou seja, ligado/desligado.
Como exemplos de dispositivos liga/desliga podemos citar: Chaves seletoras, chaves fim de curso, contatos de relés, lâmpadas, válvulas solenóides e outros.
No caso do CLP2301 as entradas e saídas são alimentadas com tensões iguais de 24VDC, porém existem CLPs com tensões das entradas digitais, diferentes das saídas digitais.
3.3 SAÍDAS DIGITAIS
As E/S analógicas contêm os componentes necessários para aceitar sinais analógicos de tensão e corrente dos sensores de campo. A tensão ou corrente amostrada é convertida para uma palavra digital proporcional ao valor analógico por um conversor analógico digital (A/D). A palavra digital é armazenada na memória do controlador para ser processado pelo programa do usuário, ou para uso posterior.
As faixas de tensão e corrente correspondentes em valores analógicos e digitais são os seguintes:
Valor analógico de 4 a 20mA igual a valores digitais correspondentes de 0 a 4095; Valor analógico de 0 a 5V igual a valores digitais de 0 a 4095.
As saídas analógicas recebem os dados digitais da UCP que são convertidos em valores proporcionais de corrente ou tensão para serem aplicados nos dispositivos de campo. Os conversores A/D e D/A geralmente são de 8, 10 ou 12 bits de resolução.
CAPÍTULO 4 -
INSTRUÇÕES DO CONTROLADOR LÓGICO PROGRAMÁVEL4.1 BÁSICAS
4.1.1 CONEXÃO HORIZONTAL
Este elemento representa uma conexão horizontal no diagrama de relés, sendo um elemento fundamental na interligação dos elementos em uma lógica, completando o circuito elétrico da lógica. Ele serve como um fio de ligação entre os relés e blocos funcionais.
Botão
4.1.2 CONEXÃO VERTICAL
Este elemento representa uma conexão vertical no diagrama de relés, sendo um elemento fundamental na interligação dos elementos em uma lógica, completando o circuito elétrico da lógica. Ele serve como um fio de ligação entre os relés e blocos funcionais.
Botão
4.1.3 CONTATO NA
Este elemento pode ser inserido em qualquer posição dentro de uma lógica, exceto na oitava coluna da janela de edição que é reservada para as bobinas dos relés. Ele representa um contato normalmente aberto de um relé. Os operadores que ele aceita são: entrada digital (I), contato auxiliar (R) e saída digital (O). Se um contato NA estiver associado a um operador I, ele estará representando o estado de uma entrada digital. Se estiver associado a um operador R, ele estará representando o estado de um contato de um relé auxiliar e se estiver associado a um operador O, ele estará representando o estado de uma saída digital do CLP.
Seu objetivo é funcionar como um contato normalmente aberto de um relé. Se a bobina do relé estiver desenergizada, ele estará aberto interrompendo o circuito lógico.
Se a sua bobina estiver energizada, ele estará fechado, deixando que o circuito se complete através dele.
Botão Símbolo do Elemento
4.1.4 CONTATO NF
Este elemento pode ser inserido em qualquer posição dentro de uma lógica, exceto na oitava coluna da janela de edição que é reservada para as bobinas. Ele representa um contato normalmente fechado de um relé. Os operadores que ele aceita são: entrada digital (I), contato auxiliar (R) e saída digital (O). Se um contato NF estiver associado a um operador I, ele estará representando o estado de uma entrada digital. Se estiver associado a um operador R, ele estará representando o estado de um contato de um relé auxiliar e se estiver associado a um operador O, ele estará representando o estado de uma saída digital do CLP.
Seu objetivo é funcionar como um contato normalmente fechado de um relé. Se a bobina do relé estiver desenergizada, ele estará fechado, deixando que o circuito se complete através dele. Se a sua bobina estiver energizada, ele estará aberto, interrompendo o circuito.
Botão Símbolo do Elemento
4.1.5 RELÉ
Este elemento representa uma bobina de relé. Só pode ser inserido na oitava coluna da janela de edição. Os operadores que ele aceita são: O e R. Se uma bobina estiver associada a um operador O, ele estará representando o estado de uma bobina de relé associada a uma saída digital do CLP. Se estiver associado a um operador R, ele estará representando o estado de uma bobina de um relé auxiliar.
Ele tem por objetivo funcionar como uma bobina de um relé. Se estiver energizada, todos os seus contatos normalmente abertos estarão fechados e todos os seus contatos normalmente fechados estarão abertos. Se estiver desenergizada, todos os seus contatos normalmente abertos estarão abertos e todos os seus contatos normalmente fechados estarão fechados.
Não existe um limite de contatos que um relé pode ter e para cada relé pode existir somente uma única bobina.
Botão Símbolo do Elemento
Exemplo 1:
No exemplo abaixo, a bobina O0010 será energizada quando a chave I0000 ou a chave I0001 forem acionadas. A chave I0002 desenergiza a bobina O0010.
4.1.6 TEMPORIZADOR
Este elemento é representado por um bloco funcional com duas entradas, uma saída e dois operadores e sua base de tempo é 0.01s, isto é, para se ter o tempo desejado é necessário atribuir um valor ao parâmetro P2, que multiplicado por esta base de tempo, fornecerá o tempo que o temporizador levará para ativar sua saída S1. O operador P1 deve ser uma memória (M) e o operador P2 pode ser uma memória (M) ou uma constante (K). A entrada E1 habilita a contagem de tempo. A entrada E2 ativa e reseta o temporizador, assim, para contar o tempo é necessário que a entrada E2 esteja energizada e toda vez que a entrada E2 transitar de desenergizada para energizada o temporizador será reiniciado. A saída S1 indica se a contagem de tempo chegou ao final.
Exemplo 2:
Neste exemplo é usado um temporizador para controlar o tempo durante o qual a bobina O0010 estará energizada. A constante K0000 é igual a 1000. Quando a chave I0000 ou I0001 for acionada, a bobina O0010 será energizada, no entanto, o temporizador só será inicializado quando a chave I0000 for acionada. Quando o temporizador atingir o valor de 10 segundos, a bobina R0000 será energizada, interrompendo a continuidade e desenergizando a bobina O0010. O circuito será reiniciado somente se houver uma nova habilitação da chave I0000.
4.1.7 FLIP-FLOP TIPO SET
Este elemento está associado ao controle de saídas digitais e contatos auxiliares e somente pode ser inserido na oitava coluna da janela de edição. O elemento bobina SET atuará na entrada SET do flip-flop se o elemento estiver energizado, ativando o operador a ela associada. Se o elemento estiver desenergizado, o operador associado manterá seu valor corrente inalterado. A entrada E1 é à entrada de habilitação do bloco de bobina (SET). Sempre que esta entrada estiver energizada a bobina do relé especificado será energizada. O parâmetro P1 identifica o contato que terá sua bobina alterada, este relé pode ser uma memória (R) ou uma saída digital (O).
Botão Símbolo do Elemento
P1 E1
4.1.8 FLIP-FLOP TIPO RESET
Este elemento está associado ao controle de saídas digitais e contatos auxiliares. O elemento bobina RESET atuará na entrada RESET do flip-flop se o elemento estiver energizado, desativando o operador a ela associada. Se o elemento estiver desenergizado, o operador associado manterá o valor corrente inalterado. A entrada E1 é à entrada de habilitação do bloco de bobina (RESET). Sempre que esta entrada estiver energizada a bobina do relé especificado será desenergizada. O parâmetro P1 identifica o relé que terá sua bobina desenergizada, este relé pode ser uma memória (R) ou uma saída digital (O).
Botão Símbolo do Elemento
Exemplo 3:
Neste exemplo, a bobina SET energizará a bobina O0010 quando a chave I0001 for acionada e a bobina RESET desenergizará a bobina O0010 quando a chave I0002 for acionada, independente do estado da chave I0000.
4.1.9 FLIP-FLOP DE PULSO
Este elemento está associado ao controle de saídas digitais e contatos auxiliares. Seu objetivo é ativar a bobina de um relé por um único ciclo de varredura do programa. Esta ativação se dá através de uma transição de subida do sinal aplicado à sua entrada. A entrada E1 é à entrada de ativação do bloco mono estável, sempre que houver uma transição de subida nesta entrada, de desenergizada para energizada, o relé associado permanecerá ativado por um único ciclo de varredura do programa.
O parâmetro P1 identifica o relé que terá a sua bobina energizada, este relé pode ser uma memória (R) ou uma saída digital (O).
Botão Símbolo do Elemento
Exemplo 4:
No exemplo a seguir, toda vez que a chave I0000 for acionada ele enviará um pulso para o rele R0000 e o bloco somador será acrescentado de uma unidade e o resultado guardado na memória M0010. O valor da constante K0000 é igual a 1.
4.1.10 FLIP-FLOP OSCILADOR
Este elemento está associado ao controle de saídas digitais e contatos auxiliares. Ele tem por objetivo inverter o estado do contato a ele associado sempre que houver uma transição em sua entrada, de desenergizado para energizado. A entrada E1 é à entrada de controle do bloco oscilador. Sempre que houver uma transição na entrada, de desenergizado para energizado, o contato associado terá seu valor corrente invertido. O parâmetro P1 identifica o relé que terá a sua bobina energizada, este relé pode ser uma memória (R) ou uma saída digital (O).
Botão Símbolo do Elemento
P1 E1
P1 E1
Exemplo 5:
No exemplo a seguir, os osciladores O0010 e R0000 inverte o estado da bobina O0011 quando a chave I0000 e a chave I0001 são acionadas, respectivamente.
4.1.11 FLIP-FLOP SET BORDA
Este elemento está associado ao controle de saídas digitais (O) e contatos auxiliares (R) e é ativado somente na borda de subida do sinal de entrada, isto é, a instrução é executada somente durante o intervalo de subida do sinal de entrada, e não mais após a manutenção do sinal ativo. O operador P1 identifica o relé que terá a sua bobina energizada e pode ser uma memória (R) ou uma saída digital (O). O elemento bobina SET atua na entrada SET do FLIP-FLOP da seguinte maneira:
Caso o elemento esteja desenergizado, o operador associado (O ou R) será ativado e
Se o elemento estiver energizado, o operador associado (O ou R) mantém o valor corrente inalterado.
Botão Símbolo do Elemento
4.1.12 FLIP-FLOP RESET BORDA
Este elemento está associado ao controle de saídas digitais (O) e contatos auxiliares (R) e é ativado somente na borda de subida do sinal de entrada, isto é, a instrução é executada somente durante o intervalo de subida do sinal de entrada, e não mais após a manutenção do sinal ativo. O operador P1 identifica o relé que terá a sua bobina desenergizada e pode ser em memória (R) ou uma saída digital (O). O elemento bobina RESET atua na entrada RESET do FLIP-FLOP da seguinte maneira:
Caso o elemento esteja energizado, o operador associado (O ou R) será desativado e
Se o elemento estiver desenergizado, o operador associado (O ou R) mantém o valor corrente inalterado.
Botão Símbolo do Elemento
Exemplo 6:
Neste exemplo, quando a chave I0000 é acionada, a bobina SET BORDA energizará a bobina O0011 e ela será desenergizada, quando a chave I0001 for acionada.
P1 E1
4.1.13 CONTADOR UP
Este elemento é representado por um bloco funcional com duas entradas, uma saída e dois operadores. O operador P1 guarda o valor corrente da contagem e deve ser obrigatoriamente uma memória (M). O operador P2 contém o valor final da contagem, e pode ser uma memória (M) ou uma constante (K). A entrada E2 habilita a contagem e uma transição do estado desenergizado para o estado energizado nesta entrada faz com que o valor corrente da contagem passe para zero (reset do contador). A entrada E1 representa a entrada de contagem, assim para contar é necessário que a entrada E2 esteja energizada e toda vez que a entrada E1 transitar de desenergizada para energizada o valor corrente da contagem será incrementado de um. A saída S1 indica se a contagem chegou ao final ou se o contador está paralisado ou desabilitado.
O objetivo deste elemento é contar um determinado número de transições ocorridas na entrada E1. Ele conta o número de transições da entrada E1 até certo limite de contagem fornecido pelo usuário como parâmetro. A sua saída indica o fim da contagem.
Botão Símbolo do Elemento
Exemplo 7:
No exemplo a seguir o contador é usado para controlar o período no qual a bobina O0010 estará energizada, de acordo com a quantidade de vezes que a chave I0001 for acionada. A constante K0000 é igual a 8. A bobina O0010 será energizada quando a chave I0000 for acionada e cada vez que a chave I0001 for acionada a bobina R0001 será energizada e o contador será incrementado de uma unidade. Após atingir o valor 8, a bobina R0000 será energizada interrompendo a continuidade e desenergizando a bobina O0010. O circuito será reiniciado, somente se houver uma nova habilitação da chave I0000.
4.1.14 CONTADOR UP/DOWN
Este elemento é representado por um bloco funcional com três entradas, uma saída e dois operadores e tem por objetivo contar um determinado número de transições ocorridas na entrada E1. Ele conta o número de transições da entrada E1 até certo limite de contagem fornecido pelo usuário como parâmetro. A contagem pode ser crescente (Up) ou decrescente (Down), dependendo do sentido fornecido pelo usuário como entrada para o bloco. A sua saída indica o fim da contagem.
O operador P1 guarda o valor corrente do contador e deve ser obrigatoriamente uma memória e operador P2, que representa o valor final da contagem, pode ser uma memória ou uma constante. A entrada E3 habilita a contagem e quando esta transitar do estado desenergizado para o energizado, o valor corrente passará a ser zero se o sentido for 1 (energizado) ou passará a ser igual ao valor inicial da contagem caso contrário. A entrada E2 indica o sentido da contagem, ou seja, se esta entrada for igual a 1 o valor corrente da contagem é incrementado a cada transição da entrada e será decrementado caso seja igual a 0. A entrada E1 é a de contagem.
Para contar é necessário que a entrada E3 esteja energizada. Cada vez que a entrada E1 transitar de desenergizada para energizada o valor de contagem será decrementado ou incrementado de um, dependendo da entrada de sentido. A saída S1 indica se a contagem chegou ao final ou se o contador está parado ou desabilitado.
Botão Símbolo do Elemento
Exemplo 8:
No exemplo abaixo o contador é usado para controlar o período no qual a bobina O0010 estará energizada, de acordo com a quantidade de vezes que a chave I0001 for acionada. A constante K0000 é igual a 8. A bobina O0010 será energizada quando a chave I0000 for acionada e cada vez que a chave I0001 for acionada a bobina R0001 será energizada e o contador será decrementado, caso a chave I0002 seja acionada, ou incrementado, caso a chave I0002 não seja acionada, de uma unidade. Após acionar 8 vezes a chave I0001 a bobina R0000 será energizada interrompendo a continuidade e desenergizando a bobina O0010. O circuito será reiniciado, somente se houver uma nova habilitação da chave I0000.
4.2 MOVIMENTO
4.2.1 MOVIMENTAÇÃO DAS VARIÁVEIS
Este elemento é representado por um bloco funcional com uma entrada, uma saída e dois operadores. Seu objetivo é transferir dados entre operadores, podendo estes operadores ser memórias, constantes, entradas e saídas analógicas. O operador P1 pode ser uma constante inteira (K), real (Q), uma memória inteira de 16 bits (M) ou real (D), uma entrada analógica (E) ou digital (I). Se este parâmetro for especificado como uma entrada digital (I), ele deve corresponder ao primeiro canal do módulo de entrada digital (DIM), por exemplo, I0, I16, I32, etc. O operador P2 poder ser uma memória inteira (M) ou real (D) ou ainda uma saída analógica (S) ou digital (O). O conteúdo da memória/constante representada pelo operador P1 é movido para o conteúdo da memória inteira/real ou saída digital/analógica representada pelo operador inferior P2. No caso dos operadores de entrada/saída analógica os valores movidos são sempre inteiros na faixa de 0 a 4095, refletindo o conteúdo de leitura/escrita das placas de entrada/saída analógica do CLP. No caso dos operadores de entrada/saída digital os valores movidos são sempre inteiros, refletindo o conteúdo de leitura/escrita das placas de entrada/saída digital do CLP.
Botão Símbolo do Elemento
Exemplo 9:
Neste exemplo, o valor fornecido na entrada analógica E0000 é movido para a memória M0000, que em seguida é movida para a saída analógica S0000.
4.2.2 MOVIMENTAÇÃO INDEXADA
Este elemento é representado por um bloco funcional com uma entrada, uma saída e três operadores. Ele é utilizado para fazer a transferência de dados entre áreas de memória inteiras (M). O operador P1 especifica o índice da memória ou a memória inicial que será transferida. O operador P2 especifica o índice da memória ou a memória inicial para onde serão transferidos os valores. O operador P3 especifica a quantidade de memórias que serão transferidas. A entrada E1 é à entrada de habilitação da operação de movimentação indexada de dados, sempre que esta entrada estiver energizada a operação se realizará. A saída S1 indica se a transferência pode ser efetivada. Se estiver energizada é porque a transferência transcorreu corretamente e se estiver desenergizada é porque ocorreu algum erro de transferência.
Botão Símbolo do Elemento
Exemplo 10:
No exemplo abaixo utiliza-se um bloco de movimentação indexada. A memória M0000 é a memória inicial que será transferida. A memória M0005 é a memória inicial para onde serão transferidos os dados. O valor da constante K0000 é igual a 3. Ao acionar a chave I0000 os dados da memória M0000 serão transferidos para a memória M0005, os da memória M0001, para a memória M0006 e os de M0002 para M0007.
4.2.3 INICIALIZAÇÃO DE DADOS
Este elemento é representado por um bloco funcional com uma entrada, uma saída e três operadores. Ele é utilizado para fazer a inicialização de dados em área de memória inteira (M), memória real (D) ou contatos auxiliares (R). O operador P1 pode ser uma memória inteira (M) ou uma constante inteira (K), cujo conteúdo especifica o índice inicial do elemento que será inicializado, sendo este índice um valor de 0 a P1. O operador P2 poder ser uma constante inteira (K), uma memória inteira (M), uma memória real (D), uma constante real (Q), um contato auxiliar (R), uma constante T0 ou uma constante T1, T0 representa um contato aberto e T1 um contato fechado e especifica o valor e o tipo de dados a ser inicializado nos elementos. O parâmetro P3 pode ser uma constante inteira (K) ou uma memória inteira (M) e especifica a quantidade de elementos que serão inicializados e este valor deve ser no máximo (P1 + 1 – conteúdo de P1). A entrada E1 habilita a operação de inicialização de dados, a operação se realizará sempre que esta entrada estiver energizada. A saída S1 indica se a inicialização pode ser efetivada. Se estiver energizada é porque a inicialização transcorreu corretamente e se estiver desenergizada é porque ocorreu algum erro de transferência.
Botão Símbolo do Elemento
Exemplo 11:
No exemplo a seguir, o conteúdo da memória M0005 é 3, que indica que a memória inicial é M0003. O valor da constante K0000 é 1 e K0001 é 2. K0001 indica que duas memórias terão seus valores inicializados com o valor de K0000, ou seja, M0003 e M0004.
4.2.4 PESQUISA DE VALORES
Este elemento é representado por um bloco funcional com uma entrada, uma saída e dois operadores. Ele permite pesquisar em um buffer de memória os valores mais próximos e mais distantes de um valor de referência. O operador P1 deve ser uma constante inteira (K) e representa uma posição de memória que contenha os seguintes valores:
Valor de Referência - valor que servirá como referência para a pesquisa;
Valor mais próximo - valor mais próximo do valor de referência encontrado pela pesquisa;
Valor mais distante - valor mais distante do valor de referência encontrado pela pesquisa;
Buffer - buffer de memória que conterá os valores a serem pesquisados.
O operador P2 representa o número de memórias que irão compor o buffer de pesquisa e deve ser uma memória inteira (M), cujo conteúdo representa o número de elementos existentes no buffer de pesquisa. A entrada E1 habilita a pesquisa. A operação se realizará sempre que esta entrada estiver energizada. A saída S1 reflete o valor da entrada E1.
Botão Símbolo do Elemento
4.3 MATEMÁTICA
4.3.1 OPERAÇÕES ARITMÉTICAS – SOMA, SUBTRAÇÃO, DIVISOR E MULTIPLICAÇÃO
Existem quatro blocos funcionais que implementam as quatro operações aritméticas. Estes elementos são representados por um bloco funcional com uma entrada e uma saída e três operadores. Seu objetivo é realizar as quatro operações aritméticas principais, soma, subtração, multiplicação e divisão. Os dois operadores que aparecem na parte superior do bloco (P1 e P2) guardam os valores que servirão como operandos nas operações e podem ser uma memória (M ou D) ou uma constante (K ou Q) e o inferior (P3) deve ser obrigatoriamente uma memória (M ou D) que conterá o valor resultante da operação. A entrada E1 habilita a operação. Para que a operação se realize é necessário que a entrada E1 esteja energizada. A saída S1 indica se a operação aritmética foi executada com sucesso ou se houve erro na operação.
Para as quatro operações matemáticas vale a seguinte regra para a sua execução: O tipo de operação realizada dependerá sempre do primeiro operando (P1). Se ele for inteiro, a operação realizada será inteira. Se for real, a operação executada será real. O resultado das operações depende do operador P3. Se o resultado for atribuído a uma memória real, o mesmo será convertido para real, independentemente do tipo de operação realizada e se o resultado for atribuído a uma memória inteira, o mesmo será convertido para inteiro, independentemente do tipo de operação realizada.
Botão Soma Botão Subtração Botão Divisão Botão Multiplicação
Símbolo do Elemento Soma Símbolo do Elemento Subtração
Exemplo 12:
O exemplo a seguir realiza operações aritméticas. O primeiro bloco soma o valor de K0000 com k0001 e guardo o resultado na memória M0000. Este resultado é subtraído de k0001, no segundo bloco e seu resultado é guardado na memória M0001. Os resultados obtidos nos dois blocos anteriores são multiplicados e o resultado é guardado na memória M0002. Finalmente, Q0000 é dividido pelo valor guardado em M0002 e o resultado dessa divisão é guardado na memória Q0000. Os valores das constantes listadas neste programa são: k0000 = 3; k0001 = 1; Q0000 = 20.
4.3.2 RAIZ QUADRADA
Este elemento é representado por um bloco funcional com uma entrada, uma saída e dois operadores. O objetivo deste elemento é extrair a raiz quadrada de um determinado número fornecido como parâmetro. O operador P1 pode ser uma constante real (Q) ou uma memória real (D). O parâmetro P2 deve ser obrigatoriamente uma memória real (D). A entrada E1 habilita a operação. Para que a operação se realize é necessário que a entrada E1 esteja energizada. A saída S1 indica se a operação foi executada corretamente ou não. Se ela for energizada significa que a operação se realizou corretamente. A extração de raiz quadrada somente é realizada para valores reais.
Botão Símbolo do Elemento
Exemplo 13:
O exemplo abaixo extrai a raiz de Q0000 e o resultado é guardado na memória D0000. Para este exemplo o valor de Q0000 é igual a 10.
4.3.3 OPERAÇÃO LÓGICA AND
Este elemento é representado por um bloco funcional com uma entrada, uma saída e três operadores. O operador P1 deve ser uma memória inteira (M). O operador P2 pode ser uma memória inteira (M), uma constante inteira (K) ou uma constante hexadecimal (H). A entrada E1 habilita a operação. Para que a operação se realize é necessário que a entrada E1 esteja energizada. O resultado da operação lógica AND entre os operadores P1 e P2 é colocado na memória representada pelo operador P3. A entrada E1 habilita a operação lógica AND. A operação se realizará sempre que esta entrada estiver energizada. A saída S1 é uma cópia da entrada, ou seja, se a entrada do bloco estiver energizada, a saída também estará. A entrada E1 habilita a operação lógica AND. A operação se realizará sempre que esta entrada estiver energizada.
Botão Símbolo do Elemento
Exemplo 14:
Neste exemplo, os valores das constantes K0000 e K0001 são movidos para as memórias M0000 e M0001, respectivamente e em seguida é realizada a operação lógica AND entre esses valores e o resultado é guardado na memória M0002. O valores das constantes são: K0000 = 2; K0001 = 4.
4.3.4 OPERAÇÃO LÓGICA OR
Este elemento é representado por um bloco funcional com uma entrada, uma saída e três operadores. O operador P1 deve ser uma memória inteira (M). O segundo parâmetro pode ser uma memória inteira (M), uma constante inteira (K) ou uma constante hexadecimal (H). A entrada do E1 habilita a operação. Para que a operação se realize é necessário que a entrada E1 esteja energizada. O resultado da operação lógica OR entre os operadores P1 e P2 é colocado na memória representada pelo operador P3. A entrada E1 habilita a operação lógica OR. Sempre que esta entrada estiver energizada a operação será realizada. A saída S1 é uma cópia da entrada, ou seja, se a entrada do bloco estiver energizada, a saída também estará e a saída estará desenergizada caso a entrada também esteja desenergizada.
Botão Símbolo do Elemento
Exemplo 15:
Este exemplo é o mesmo do anterior, porém, é realizada uma operação lógica OR entre os valores guardados nas memórias M0000 e M0001.
4.3.5 OPERAÇÃO LÓGICA XOR
Este elemento é representado por um bloco funcional com uma entrada, uma saída e três operadores. O operador P1 deve ser uma memória inteira (M). O operador P2 pode ser uma memória inteira (M), uma constante inteira (K) ou uma constante hexadecimal (H). A entrada E1 habilita a operação. Para que a operação se realize é necessário que a entrada E1 esteja energizada. O resultado da operação lógica XOR entre os operadores P1 e P2 é colocado na memória representada pelo operador P3. A entrada E1 habilita a operação lógica XOR. Sempre que esta entrada estiver energizada a operação se realizará. A saída S1 é uma cópia da entrada, ou seja, se a entrada do bloco estiver energizada, a saída também estará.
Botão Símbolo do Elemento
Exemplo 16:
Este exemplo é o mesmo citado no exemplo 12, porém, é realizada uma operação lógica XOR entre os valores guardados nas memórias M0000 e M0001.
4.3.6 DESLOCADOR – DIREITA E ESQUERDA
Este elemento é representado por um bloco funcional com uma entrada, uma saída e três operadores. O objetivo deste elemento é realizar o deslocamento dos bits de um operador para a direita ou para a esquerda um número determinado de vezes. O operador P1 deve ser uma memória inteira (M). O operador P2 pode ser uma memória inteira (M) ou uma constante inteira (K). O operador P3 representa o resultado da operação de deslocamento à esquerda ou à direita e deve ser uma memória inteira (M). A entrada E1 habilita a operação. Para que a operação se realize é necessário que a entrada E1 esteja energizada. O operador P1 desloca para a direita ou para a esquerda o número de bits especificado pelo conteúdo do operador P2 e o resultado é colocado na memória representada pelo operador P3. A saída S1 é uma cópia da entrada, ou seja, se a entrada estiver energizada, a saída também estará e a saída estará desenergizada se a entrada estiver desenergizada.
Botão Deslocador Esquerda Botão Deslocador Direita
Exemplo 17:
No exemplo a seguir os valores das constantes são: K0000 = 85; K0001 = 2. O segundo bloco desloca 2 bits para a esquerda o conteúdo da memória M0000 e guarda o resultado na memória M0001, que será no terceiro bloco deslocado de 2 bits para a direita, e por fim, o resultado será guardado na memória M0002.
Símbolo do Elemento Deslocador Esquerda
Símbolo do Elemento Deslocador Direita
4.4 COMPARAÇÃO
4.4.1 MAIOR, MAIOR OU IGUAL, MENOR, MENOR OU IGUAL E IGUAL
Através de blocos de comparações disponíveis é possível obter-se as seguintes operações: maior, maior ou igual, menor, menor ou igual, igual e diferente. Os elementos de comparação são representados por um bloco funcional com uma entrada, uma saída e dois operadores. O operador P1 tem que ser obrigatoriamente uma memória (M ou D) e o operador P2 pode ser uma memória (M ou D) ou uma constante (K ou Q). A entrada E1 habilita as operações de comparação. Sempre que esta entrada estiver energizada a operação se realizará. O valor da saída S1 reflete o resultado da comparação, ou seja, energizada se a comparação for verdadeira e desenergizada se a comparação for falsa.
Botão Maior Botão Maior/Igual Botão Menor
Exemplo 18:
Este exemplo utiliza um dos blocos de comparação para ativar e desativar a bobina O0010. Enquanto o valor de K0000 for maior que o valor guardado em M0000 a bobina R0000 será energizada, interrompendo a continuidade e desenergizando a bobina O0010. A bobina O0010 será energizada se o valor de K0000 for menor que M0000 e a chave I0000 for acionada. K0000 é uma constante de valor igual a 1000 e E0000 é a entrada analógica, cujo valor varia de 0 a 4095 e este valor é movido para a memória M0000.
Símbolo do Elemento Menor/Igual Símbolo do Elemento Igual Símbolo do Elemento Diferente <> Símbolo do Elemento Maior/Igual Símbolo do Elemento Menor Símbolo do Elemento Maior
4.4.2 TESTE LÓGICO
Este elemento é representado por um bloco funcional com uma entrada, uma saída e dois operadores e tem a função de realizar a operação lógica AND bit a bit entre dois operadores. O operador P1 deve ser uma memória inteira (M). O operador P2 pode ser uma memória inteira (M) ou uma constante inteira (K). A entrada E1 habilita a operação. Para que a operação se realize é necessário que a entrada E1 esteja energizada. É realizada uma operação lógica AND bit a bit entre os operadores P1 e P2 e o resultado é refletido na saída S1. A saída S1 indica o resultado da operação. Se energizada, o resultado do teste lógico foi diferente de zero e se a saída estiver desenergizada o resultado do teste lógico foi igual a zero.
Botão Símbolo do Elemento
Exemplo 19:
No exemplo a seguir, a bobina R0000 indica se o resultado da operação teste lógico é igual ou diferente de zero. Para valores das contastes K0000 igual a 4 e K0001 igual a 5, a bobina R0000 será energizada e para valores das constantes K0000 igual a 2 e K0001 igual a 4 a bobina R0000 será desenergizada.
4.5 FLUXO
4.5.1 INÍCIO DE RELÉ MESTRE
Este elemento é representado por um bloco de uma entrada e funciona como uma bobina, ou seja, quando tiver energizada a sua entrada E1, a área de programa, delimitada por ele e pelo bloco fim de relé mestre, será executada, caso contrário esta área do programa não será executada. Este elemento deve obrigatoriamente ocupar a oitava coluna da janela de edição. Se na área delimitada pelo relé mestre e fim de relé mestre existir alguma bobina e o relé mestre estiver desenergizado, então as bobinas estarão desenergizada, independentemente do estado das lógicas associadas a elas. A entrada E1 habilita o bloco de relé mestre e sempre que esta entrada estiver energizada a área do programa, compreendida entre este bloco e o bloco de fim de relé mestre, será executada.
O objetivo destes elementos é delimitar uma área do programa que será executada sempre que o bloco relé mestre estiver ativado. Basicamente o bloco relé mestre tem dupla utilidade, pois marca o início da área a ser executada e ao mesmo tempo permite que esta mesma área do programa seja executada quando o bloco estiver energizado. Este bloco utiliza o bloco fim de relé mestre como delimitador final da área de programa que deverá ser executada. Um programa pode ter quantos relés mestre desejar.
Botão Símbolo do Elemento
4.5.2 FIM DE RELÉ MESTRE
Este elemento é representado por um bloco sem entrada. Este elemento funciona como um delimitador de área de programa, ou seja, o ponto do programa em que se encontra delimita a área de atuação do relé mestre imediatamente anterior a ele, não possuindo qualquer outra funcionalidade. Este elemento deve obrigatoriamente ocupar a oitava coluna da janela de edição.
Botão Símbolo do Elemento
Exemplo 20:
Neste exemplo, a área do programa delimitada pelas bobinas MRL e EMR só será energizada quando a bobina MRL for energizada, no caso, quando a chave I0000 for acionada. Apesar da bobina O0010 está ligada diretamente, isto é, sempre ativada, ele não será energizada enquanto a chave I0000 não for acionada.
4.5.3 INÍCIO DE BLOCO DE LÓGICA
Este elemento é representado por um bloco sem entrada e funciona como um delimitador de área de programa, ou seja, o ponto do programa em que se encontra delimita o início da área de atuação do bloco de lógica que ele representa, não possuindo qualquer outra funcionalidade. Este elemento deve obrigatoriamente ocupar a oitava coluna da janela de edição e deve ser posicionado sempre após o delimitador de fim de programa - bloco de fim de programa.
O objetivo destes elementos é delimitar o início e o fim de uma área do programa que será executada sempre que o bloco de lógica estiver ativado e devem ser utilizados em conjunto. O bloco início de bloco de lógica delimita o início e o bloco fim de bloco de lógica delimita o fim da área de programa que deverá ser executada quando o bloco de lógica correspondente estiver energizado. Em um programa pode existir mais de um bloco de lógica. Analogamente em termos de programação, o bloco de lógica seria uma chamada de uma rotina, sendo assim, o bloco início de lógica é o início da rotina e o bloco de fim de lógica é o fim de rotina.
O operador P1 deve ser uma constante T e identifica o bloco de lógica que este bloco está delimitando o início e seu valor tem que ser maior ou igual a zero. Quando este valor é zero, o bloco de lógica será executado automaticamente toda vez que o controlador for ligado, servindo como uma rotina de inicialização do programa e quando este valor for diferente de zero, o bloco de lógica será executado apenas quando o bloco de lógica correspondente estiver energizado.
4.5.4 FIM DE BLOCO DE LÓGICA
Este elemento é representado por um bloco sem entrada e funciona como um delimitador de área de programa, ou seja, o ponto do programa em que se encontra delimita o fim da área de atuação do bloco de lógica que ele representa, não possuindo qualquer outra funcionalidade. Este elemento deve obrigatoriamente ocupar a oitava coluna da janela de edição e deve ser posicionado sempre após o delimitador de fim de programa - bloco de fim de programa, e também após o delimitador de início de bloco de lógica correspondente.
O objetivo destes elementos é delimitar o início e o fim de uma área do programa que será executada sempre que o bloco de lógica estiver ativado e devem ser utilizados em conjunto. O bloco início de bloco de lógica delimita o início e o bloco fim de bloco de lógica delimita o fim da área de programa que deverá ser executada quando o bloco de lógica correspondente estiver energizado. Em um programa pode existir mais de um bloco de lógica.
Apesar de não possuir uma saída, este bloco retorna a energização da linha em que se encontra para o bloco de lógica. A saída do bloco de lógica corresponderá a energização da linha deste bloco. Se estiver energizada, a saída do bloco de lógica também estará energizada e se estiver desenergizada, a saída do bloco de lógica também estará desenergizada.
Botão Símbolo do Elemento
4.5.5 BLOCO DE LÓGICA
Este elemento é representado por um bloco com uma entrada, uma saída e um parâmetro. O operador P1 é uma constante T e identifica o bloco de lógica que será executado quando a entrada E1 estiver energizada e seu valor tem que ser maior ou igual a zero. Quando ele for zero, o bloco de lógica será executado automaticamente toda vez em que o controlador for ligado, servindo como uma rotina de inicialização do programa e quando ele for diferente de zero o bloco de lógica será executado apenas quando estiver a sua entrada energizada. A entrada E1 habilita o bloco de lógica e sempre que esta entrada estiver energizada o bloco de lógica identificado pelo parâmetro P1 será executado. A saída S1 segue o valor da energização da linha em que se encontra o bloco fim de bloco de lógica. Se esta linha estiver energizada, a saída também estará e estará desenergizada, se a linha estiver desenergizada.
O objetivo deste elemento é executar o código de uma área do programa delimitada pelos blocos início de bloco de lógica e fim de bloco de lógica, sempre que este bloco estiver ativado.
Em um programa pode existir mais de um bloco de lógica.
Botão Símbolo do Elemento
Exemplo 21:
Neste exemplo, o bloco de lógica será executado automaticamente (T0000) e a bobina O0011 (área de programação delimitada pelas bobinas BBK e EBK) será energizada, assim que o controlador for ligado. Caso a constante T seja T0001 o bloco de lógica só será executado quando a chave I0000 for acionada. Nesta situação, enquanto a chave I0000 não for acionada a bobina O0011 não será energizada, apesar de estar ligada diretamente.
4.5.6 FIM DE PROGRAMA
Este elemento é representado por um bloco sem entrada e funciona como um delimitador de área de execução do programa, ou seja, o ponto do programa em que se encontra delimita a área de execução do programa, não possuindo qualquer outra funcionalidade. Este elemento deve obrigatoriamente ocupar a oitava coluna da janela de edição, devendo ser a última linha de um programa. Seu objetivo é delimitar o final da área do programa principal da aplicação ladder e ele deve estar sempre presente em um programa, sinalizando o fim do mesmo.
Botão Símbolo do Elemento
4.6 BLOCOS E FUNÇÕES ESPECIAIS 4.6.1 BLOCO DE CONTROLE PID
Este elemento é representado por um bloco de duas entradas, uma saída e um operador. O operador P1 deve ser uma constante T e especifica o número do bloco de controle PID, de 0 a 3. A entrada E1 habilita o bloco de controle PID, sempre que esta entrada estiver energizada o controle será executado. O estado da entrada E1 será refletido na saída S1 sem qualquer alteração. A entrada E2 determina o modo de operação – manual ou automático. Se esta entrada estiver energizada, a malha de controle estará operando em modo automático e estará operando em modo manual se a entrada estiver desenergizada. No modo automático o bloco de controle estará atuando diretamente na variável de saída da malha PID, enquanto no modo manual o último valor da saída será mantido constante.
Para se utilizar o bloco de controle PID é necessário fornecer alguns parâmetros presente na janela de configuração dos blocos de controle PID. Para se ter acesso a essa janela basta posicionar o curso do editor em cima do bloco PID e teclar CTRL e T. Todos os blocos inseridos no programa devem ter seus parâmetros especificados, sendo que é permitido utilizar no máximo quatro blocos de controle PID em cada programa. A figura abaixo mostra a tela de configuração de blocos de controle PID.
Tela de configuração do bloco PID
Id. do Bloco: Número do bloco PID que está sendo configurado, servindo apenas como referência para o usuário saber para qual bloco de controle ele está inserindo parâmetros;
Id. Sp/Pv/Ov: Especificação das memórias em que serão obtidos o valor da variável de processo (Vp), valor desejado (Sp) e o valor da variável de saída (Ov). Estes três parâmetros devem ser o índice de uma memória inteira (M) e o seu conteúdo deve estar obrigatoriamente na faixa do conversor, ou seja, de 0 a 4095. As variáveis PV e Sp são variáveis de entrada para o bloco de controle, sendo lidas por ele, e a variável Ov é a variável de saída, sendo escrita por ele;
Id. Ganhos: Especificadas das memórias em que serão obtidos os valores dos ganhos do controlador PID, ou seja, ganho proporcional (Gp), tempo integral (Ti) e tempo derivativo (Td). Estes três parâmetros devem ser o índice de uma memória real (D). Estes parâmetros de controle podem ser alterados através da interface homem/máquina do CLP ou através dos painéis de controle no SPDS e
Var. Saída: Especificação da unidade de engenharia para a variável de processo (UE Mín. e UE Máx.), o identificador da unidade de engenharia (UE Tag - máx. 4 caracteres), os limites inferior e superior da variável de saída (OV Mín. e OV Máx.), e o valor inicial da variável (OV Ini.). Os valores relacionados à unidade de engenharia (UE Mín., UE Máx. e UE Tag) são utilizados pela supervisão para mostrar o painel de controle, não influenciando em nada no algoritmo de controle PID, ao passo que os limites da variável de saída (OV Mín. e OV Máx.) definem os limites desta variável. O valor inicial (OV Ini.) é o valor utilizado quando da carga do programa no CLP.
Os itens SP, PV e OV utilizados pelo bloco de controle PID devem estar obrigatoriamente em unidades do conversor, ou seja, na faixa de 0 a 4095. Para converter estes valores para unidade de engenharia, deve-se colocar estes valores em outras locações de memórias. O ganho proporcional (Gp) do PID deve estar na faixa entre 0 a 1000, enquanto que o tempo integral (Ti) deve estar na faixa entre 0,001 a 5000 repetições por minuto e o tempo derivativo (Td) na faixa entre 0 a 1000.
O tipo de controle pode ser direto ou invertido. No modo direto indica que o controle será direto, ou seja, em uma situação de estabilidade do processo uma variação positiva da variável de processo (VP > SP) induzirá uma variação negativa na variável de saída, diminuindo-a e no modo invertido indica que o controle será invertido, ou seja, em uma situação de estabilidade do processo, uma variação positiva da variável de processo (VP > SP) induzirá uma variação positiva na variável de saída, aumentando-a.
Os tipos de saída pode ser direto ou complementar. No modo direto indica que o valor da saída do bloco de controle corresponderá ao máximo quando a saída OV estiver saturada no máximo e no modo complementar indica que o valor da saída do bloco de controle corresponderá ao mínimo quando a saída OV estiver saturada no máximo.
No campo TAG da Malha deve-se inserir o identificador da malha de controle correspondente a este bloco de controle. Este identificador pode ser alfanumérico e pode ter no máximo oito caracteres e é utilizado durante a supervisão dos painéis de controle, não influenciando em nada o controle da malha.
Botão Símbolo do Elemento
Exemplo 22:
No exemplo a seguir é realizado um controle PID. Na janela de configuração do bloco PID foi definido as memórias onde serão guardados os valores das constantes. O valor de SP é o valor da constante K0000 é está guardado na a memória M0000 e o valor de PV é o valor K0001 e está guardado na memória M0001. As constantes reais Q0000, Q0001 e Q0002 representam os valores de Gp, Ti e Td, respectivamente e estão guardados nas memórias reais D0000, D0001 e D0002. A saída do processo é guardada na memória M0002. Os valores das constantes usada neste programa são: K0000 = 500; K0001 = 1000; Q0000 = 2; Q0001 = 1 e Q0002 = 0.
4.6.2 RELÓGIO DE TEMPO REAL
Este elemento é representado por um bloco de uma entrada, uma saída e três parâmetros e se destina à contagem de tempo e funciona como um relógio calendário, podendo ser consultado o tempo corrente. O tempo inclui a data com o dia, mês e ano e o tempo com a hora, os minutos e os segundos. Para funcionar, este elemento depende de uma memória especial que tem embutida um relógio de tempo real. O operador P1 representa uma memória inteira (M) na qual serão atualizados os segundos e o dia da semana. Os segundos são codificados nos bits de 0 a 7 e o dia da semana é codificado nos bits de 8 a 15. O operador P2 representa uma memória inteira (M) na qual serão atualizados os minutos e as horas correntes. Os minutos são codificados nos bits de 0 a 7 e a hora é codificada nos bits de 8 a 15. O operador P3 representa uma memória inteira (M) na qual serão atualizados os dias, meses e anos do calendário. O dia é codificado nos bits de 0 a 5, o mês nos bits de 6 a 9 e o ano nos bits de 10 a 15. Note que o ano refere-se a um offset a partir do ano de 1990. E1 é à entrada de atualização do relógio/calendário e os dados do relógio/calendário são atualizados enquanto esta entrada estiver energizada. S1 é à saída de indicação de relógio de tempo real. Esta saída, quando energizada, indica que o relógio de tempo real está presente no módulo de controle (CPU) do CLP, e ausente se estiver desenergizada.
Botão Símbolo do Elemento
4.6.3 BLOCO DE COMUNICAÇÃO REMOTA
Este elemento é representado por um bloco de uma entrada, uma saída e quatro parâmetros e se destina à comunicação entre controladores conectados via linha de comunicação serial. Pode enviar/receber dados de/para controladores remotos. A comunicação se dá através da recepção/transmissão de operadores do tipo M, D e R. O protocolo de comunicação utilizado para a comunicação é especificado através da janela de configuração de comunicação do controlador e deve-se especificar o tipo de protocolo e o modo de operação do canal de comunicação serial do TIPO MESTRE.
O operador P1 representa uma memória inteira (M) a partir da qual são guardados os parâmetros dos comandos a serem executados que podem ser de leitura/escrita seguidos de parâmetros complementares. O operador P2 representa uma memória (M ou D) ou um contato auxiliar (R) a partir do qual serão colocados os valores lidos remotamente ou serão retirados os valores que serão enviados para o equipamento remoto. Basicamente este operador representa o início de uma área de transferência de dados entre controladores conectados via linha de comunicação serial. O tipo do operador define implicitamente o tipo de dado que será recebido/enviado. O operador P3 representa uma memória inteira (M) na qual será colocado o código de retorno da execução deste bloco. O operador P4 representa uma constante inteira (K) e especifica a quantidade de operadores que serão transmitidos/recebidos através da execução deste bloco. Basicamente este parâmetro determina o tamanho da área de recepção/transmissão de dados que começa a partir do parâmetro P2, sendo utilizado para realizar testes de consistência da área de dados reservada pela aplicação Ladder para a leitura de dados remotos. A entrada E1 habilita este bloco. Se estiver energizada, a comunicação será efetivada. S1 é à saída de indicação do resultado da execução do bloco. Se estiver ligada, indica que a função do bloco foi executada. Para saber se a função foi executada com sucesso é necessário examinar o parâmetro P3 que contem o código de retorno.
Especificação do parâmetro P1 para o protocolo SCP-HI:
Considerando-se que este parâmetro foi especificado como memória M10, tem-se o seguinte:
Em M10 – deve-se especificar o número da estação remota a solicitar os dados (1 a 254);
Em M11 – deve-se especificar o código do comando a ser executado, podendo ser: 90h - correspondendo ao comando de Leitura de contato auxiliar (R);
94h - correspondendo ao código do comando de Escrita de contato auxiliar (R); 91h - correspondendo ao comando de Leitura de memória inteira (M);
95h - correspondendo ao comando de Escrita de memória inteira (M); 92h - correspondendo ao comando de Leitura de memória real (D) e 96h - correspondendo ao comando de Escrita de memória real (D).
Em M12 – deve-se especificar o número inicial do operador que deve ser lido/escrito; Em M13 – deve-se especificar a quantidade de operadores que devem ser lidos/escritos a partir do operador especificado em M12 e
Em M14 - No caso específico do comando "Preset Multiple Registers" do protocolo ModBus - RTU, deve conter os valores que serão enviados para o controlador remoto. No caso em M14 o valor de alteração do primeiro registro, em M15 o valor
de alteração do segundo registro, e assim sucessivamente. Nos comandos de escrita via protocolo HI-SCP os dados a serem enviados devem ser especificados no parâmetro P2 deste bloco.
Botão Símbolo do Elemento
4.6.4 BLOCO DE CONTROLE PADRÃO
Este elemento é representado por um bloco de uma entrada, uma saída e quatro operadores. Ao utilizar o Bloco de Controle Padrão, podemos utilizá-lo com as funções de Acesso ao Banco de Dados em Flash, Manipulação de dados na IHM ou Leitura de Demanda de Energia Elétrica. Para cada uma destas funções, os parâmetros são diferentes e estão detalhados a seguir.
Função de Acesso ao Banco de Dados em Flash (Códigos 1 E 2)
O operador P1 deve ser uma constante inteira (K) de identificação da função padrão a ser tratada por este bloco. No caso para identificar a função leitura em banco de dados utilizar o valor 1. para a função de escrita em banco de dados, utilizar o valor 2. O operador P2 é o número da primeira memória de um buffer que contem os parâmetros de entrada do comando e deve ser uma memória inteira (M). O operador P3 não é utilizado e é chamado de "Dummy". O operador P4 deve ser uma memória inteira (M) onde será inserido o código de retorno da execução da leitura da base de dados. A entrada E1 habilita o bloco SCB. Se E1 igual a TRUE, o bloco está habilitado e efetua tratamento e se E1 igual a FALSE, o bloco está desabilitado e não faz nada. S1 é a saída do bloco e representa o resultado da leitura da base de dados.
a) Buffer para a Função de Leitura de variáveis do tipo R, M e D em Flash ROM
M[x+0] - Número da variável R inicial. ORIGEM a ser lida da base de dados na Flash Rom;
M[x+1] - Quantidade de variáveis R a serem lidas da base de dados na Flash Rom a partir da variável R inicial especificada acima. Quantidade 0 indica ler nenhuma variável R; M[x+2] - Número da variável R inicial. DESTINO a serem copiados os valores lidos da base de dados na Flash Rom;
M[x+3] - Número da variável M inicial. ORIGEM a ser lida da base de dados na Flash Rom;
M[x+4] - Quantidade de variáveis M a serem lidas da base de dados na flash rom partir da variável M inicial especificada acima. Quantidade 0 indica ler nenhuma variável M;
M[x+5] - Número da variável M inicial. DESTINO a serem copiados os valores lidos da base de dados na Flash Rom;
M[x+6] - Número da variável D inicial. ORIGEM a ser lida da base de dados na Flash Rom;
M[x+7] - Quantidade de variáveis D a serem lidas da base de dados na flash rom a partir da variável D inicial especificada acima. Quantidade 0 indica ler nenhuma variável D e M[x+8] - Número da variável D inicial DESTINO a serem copiados os valores lidos da base de dados na Flash Rom.
b) Buffer para a Função de Escrita de variáveis do tipo R, M e D em Flash ROM
M[x+0] - Número da variável R inicial. ORIGEM no programa Ladder a serem transferidos para a base de dados na Flash Rom;
M[x+1] - Quantidade de variáveis R a serem escritas na base de dados na Flash Rom a partir da variável R inicial especificada abaixo. Quantidade 0 indica escrever nenhuma variável R;
M[x+2] - Número da variável R inicial. DESTINO na Flash Rom a serem escritos os valores lidos da aplicação Ladder;
M[x+3] - Número da variável M inicial. ORIGEM no programa Ladder a serem transferidos para a base de dados na Flash Rom;
M[x+4] - Quantidade de variáveis M a serem escritas na base de dados na Flash Rom a partir da variável M inicial especificada abaixo. Quantidade 0 indica escrever nenhuma variável M;
M[x+5] - Número da variável M inicial. DESTINO na Flash Rom a serem escritos os valores lidos da aplicação Ladder;
M[x+6] - Número da variável D inicial. ORIGEM no programa Ladder a serem transferidos para a base de dados na Flash Rom;