UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO TECNOLÓGICO DEPARTAMENTO DE ENGENHARIA ELÉTRICA PROJETO DE GRADUAÇÃO
CONTROLE DIGITAL DO NÍVEL DE TANQUE EM REDE UTILIZANDO SUPERVISÓRIO INTOUCH E O CLP MICROLOGIX
JOÃO GILBERTO CAMPAGNARO
VITÓRIA – ES FEV/2006
JOÃO GILBERTO CAMPAGNARO
CONTROLE DIGIAL DO NÍVEL DE TANQUE EM REDE UTILIZANDO SUPERVISÓRIO INTOUCH E CLP O MICROLOGIX
Parte manuscrita do Projeto de Graduação do aluno João Gilberto Campagnaro, apresentado ao Departamento de Engenharia Elétrica do Centro Tecnológico da Universidade Federal do Espírito Santo, para obtenção do grau de Engenheiro Eletricista.
VITÓRIA – ES FEV/2006
JOÃO GILBERTO CAMPAGNARO
CONTROLE DIGIAL DO NÍVEL DE TANQUE EM REDE UTILIZANDO SUPERVISÓRIO INTOUCH E CLP O MICROLOGIX
COMISSÃO EXAMINADORA:
___________________________________ Prof. Dr., José Leandro Fêlix Salles Orientador ___________________________________ Prof. Marco Antônio Coelho Co-orientador ___________________________________ Prof. Dr., José Denti Filho Examinador ___________________________________ Eng. Paulo César de Almeida Toledo Examinador
Vitória - ES, 21, fevereiro, 2006
4
DEDICATÓRIA
À minha família pelo apoio, à minha namorada pela paciência e a minha pessoa pelo esforço.
5
AGRADECIMENTOS Agradeço ao professor José Leandro pelo apoio e pelos ensinamentos e controle automático nos quais baseei meu projeto e ao professor Marco que de ajudou na configuração da rede. Agradeço também a Gilson Geovani Sutil e a Douglas Dalvi Ferreira, por todo o amparo técnico que me forneceram nas horas de necessidade, e a Rodrigo Thompson Vargas, que foi companheiro na ocupação do LECO no período de férias e no desespero com a aproximação dos prazos finais. Não poderia esquecer da minha namorada Caru que, além de me ajudar em vários testes, teve que dividir os últimos momentos em Vitória que poderia ficar comigo com o laboratório, para que pudesse terminar este projeto. Por último, mas não menos importante, agradeço à pessoa que construiu esta planta, sem a qual nada poderia fazer.
6
LISTA DE FIGURAS Figura 1 – Diagrama do sistema de controle ...............................................................14 Figura 2 – Esquemático da planta................................................................................15 Figura 3 – Foto da planta .............................................................................................16 Figura 4 – Circuito do driver de corrente ....................................................................17 Figura 5 – Placa de circuito impresso ..........................................................................18 Figura 6 – Foto do acabamento da placa de circuito impresso ....................................18 Figura 7 – Foto do Micrologix 1500............................................................................20 Figura 8 – Bloco MOV ................................................................................................25 Figura 9 – Blocos de chaveamento ..............................................................................26 Figura 10 – Bloco SCP ................................................................................................26 Figura 11 – Bloco PID .................................................................................................27 Figura 12 – Configurações do bloco PID ....................................................................27 Figura 13 – Bloco LIM ................................................................................................27 Figura 14 – Bloco GEQ ...............................................................................................28 Figura 15 – Criação de TAgs no KeepServerEx .........................................................34 Figura 16 – Tela do KeepServerEx .............................................................................35 Figura 17 – Criação de aplicações no InTouch ...........................................................36 Figura 18 – Criação de janela no InTouch...................................................................36 Figura 19 – Criação de tag no Intouch.........................................................................37 Figura 20 – Configuração de Nome de Acesso no Intouch .........................................38 Figura 21 – Configuração de tags no InTouch ............................................................39 Figura 22 – Botão On/Off no InTouch ........................................................................40 Figura 23 – Opções de funções no InTouch ................................................................40 Figura 24 – Configuração ed botões no InTouch ........................................................41 Figura 25 – Configuração de Gráfico de Tempo-Real no InTouch .............................42 Figura 26 – Configuração e Gráfico Histórico no InTouch - A ..................................43 Figura 27 – Configuração de Gráfico Histórico no InTouch - B.................................44 Figura 28 – Tela de Gráfico Histórico no InTouch .....................................................45 Figura 29 – Configuração do Nome de Acesso para utilização em Rede no InTouch 49
7 Figura 30 – Foto da disposição dos equipamentos na cozinha ....................................51 Figura 31 – Foto do tanque em funcionamento ...........................................................52 Figura 32 – Resposta à elevação de setpoint - A ......................................................... 52 Figura 33 - Resposta à elevação de setpoint - B..........................................................53 Figura 34 - Resposta à diminuição de setpoint - A......................................................54 Figura 35 – Resposta à diminuição de setpoint - B .....................................................54 Figura 36 – Resposta ao início do controle .................................................................55
8
LISTA DE TABELA Tabela 1 – Componentes da planta ..............................................................................16 Tabela 2 – Componentes do driver de corrente...........................................................17 Tabela 3 – Valores finais após montagem do circuito em placa .................................19 Tabela 4 – Tipos de variáveis do RSLogix 500...........................................................23 Tabela 5 – Variáveis do projeto ...................................................................................24 Tabela 6 – Parâmetros dos blocos PID ........................................................................50
9
SUMÁRIO DEDICATÓRIA...........................................................................................................4 AGRADECIMENTOS ................................................................................................5 LISTA DE FIGURAS ..................................................................................................6 LISTA DE TABELA ...................................................................................................8 SUMÁRIO ....................................................................................................................9 RESUMO ....................................................................................................................12 1
CONTROLE DE NÍVEL ............................................................................... 13 1.1 Introdução .........................................................................................................13 1.2 Aplicações .........................................................................................................13 1.3 Sistema de controle proposto ............................................................................14 1.4 Conclusão ..........................................................................................................14
2
A PLANTA ......................................................................................................15 2.1 Introdução .........................................................................................................15 2.2 Arquitetura da Planta ........................................................................................15 2.3 Alimentação da planta.......................................................................................16 2.3.1 Acionamento do motor DC .....................................................................16 2.3.2 Alimentação dos potenciômetros ............................................................17 2.3.3 Circuito final............................................................................................18 2.3.4 Valores obtidos ........................................................................................ 18 2.4 Conclusão ..........................................................................................................19
3
O CLP ..............................................................................................................20 3.1 Introdução .........................................................................................................20 3.2 Micrologix 1500................................................................................................20 3.2.1 Cartão entrada/saida Digital ....................................................................21 3.2.2 Cartão entrada analógica .........................................................................21 3.2.3 Cartão saída analógica .............................................................................21 3.3 Conclusão ..........................................................................................................21
4
PROGRAMAÇÃO DO CLP .........................................................................22 4.1 Introdução .........................................................................................................22
10 4.2 Linguagens de programação .............................................................................22 4.3 Rslogix 500 ....................................................................................................... 22 4.3.1 Configurado o RSLogix 500 ...................................................................23 4.3.2 Variáveis no RsLogix500 ........................................................................23 4.3.3 Os blocos de programação ......................................................................25 4.3.3.1 MOV...........................................................................................25 4.3.3.2 CHAVES ....................................................................................25 4.3.3.3 SCP .............................................................................................26 4.3.3.4 PID .............................................................................................26 4.3.3.5 LIM.............................................................................................27 4.3.3.6 GEQ ............................................................................................28 4.4 A programação .................................................................................................. 28 4.4.1 Malha de nível .........................................................................................28 4.4.1.1 Coleta dos sinais .........................................................................28 4.4.1.2 Controle dos sinais .....................................................................29 4.4.2 Malha da válvula .....................................................................................29 4.4.2.1 Coleta do sinal da válvula ..........................................................29 4.4.2.2 Controle do sinal da válvula.......................................................30 4.4.3 Sinal de saída ...........................................................................................31 4.4.4 Sintonia dos blocos PID ..........................................................................31 4.5 Conclusão ..........................................................................................................31
5
O SUPERVISÓRIO .......................................................................................32 5.1 Introdução .........................................................................................................32 5.2 KeepServerEx ...................................................................................................32 5.2.1 Comunicação ...........................................................................................32 5.2.2 Configuração do Driver ...........................................................................33 5.2.3 Criação das tags .......................................................................................33 5.2.4 Utilização do Programa ...........................................................................35 5.3 InTouch .............................................................................................................35 5.3.1 Criação da aplicação................................................................................35
11 5.3.2 Window Maker ........................................................................................ 36 5.3.2.1 tagname Dictionary ....................................................................37 5.3.2.2 Displays do InTouch ..................................................................39 5.3.3 Window Viewer ......................................................................................45
6
A REDE ...........................................................................................................47 6.1 Introdução .........................................................................................................47 6.2 Pré-requisitos ....................................................................................................47 6.3 Instalação do supervisório em outras máquinas ...............................................47 6.4 Configuração do acesso em rede.......................................................................48 6.5 Conclusão ..........................................................................................................49
7
CONCLUSÕES E RESULTADOS ............................................................... 50 7.1 Introdução .........................................................................................................50 7.2 Programação do CLP ........................................................................................50 7.3 Sintonia dos blocos PID ....................................................................................50 7.4 Resultado do controle de nível..........................................................................51 7.4.1 Elevação do setpoint ................................................................................ 52 7.4.2 Diminuição do setpoint ...........................................................................53 7.4.3 Acionamento do modo automático .........................................................55 7.5 Rede de supervisórios .......................................................................................56 7.6 Conclusão ..........................................................................................................56
APÊNDICE A.............................................................................................................57 APÊNDICE B .............................................................................................................61 APÊNDICE C.............................................................................................................62 REFERÊNCIAS BIBLIOGRÁFICAS..................................................................... 63
12
RESUMO O projeto consiste no desenvolvimento e aplicação de um sistema de controle de nível para a planta de simulação de um tanque, que possa ser visualizado e controlado utilizando-se a rede de computadores existente no LECO (Laboratório de Ensino de Controle). Após o desenvolvimento de um sistema para alimentação e adequação dos sinais vindos da planta, será criado um programa no CLP Micrologix 1500 para o controle do nível, no qual será inserido um
setpoint e
o controlador irá tentar manter
este nível através da abertura e fechamento de uma válvula para saída de água no fundo do tanque. Para o interfaceamento com o usuário, será desenvolvido no InTocuh um programa supervisório para acompanhamento e alterações no controle de nível. Com o supervisório desenvolvido, adaptações serão feitas para que se possa executar a leitura e alteração de variáveis no CLP através de outros computadores que não o ligado à ele, utilizando uma rede local.
13
1
CONTROLE DE NÍVEL
1.1 Introdução O controle do nível de fluídos em reservatórios é uma necessidade constante, vista dos ambientes industriais mais complexos às necessidades básicas de uma residência. Sua importância pode variar desde um simples método de garantir um estoque mínimo à necessidade de se manter um nível constante, inferindo uma pressão em um certo ponto do reservatório, garantindo a precisão de um processo industrial de grandes proporções. Com o advento das técnicas de controle modernas, o controle de nível pode se aprimorar em precisão e velocidade. O fechamento de malhas infere aos sistemas autonomia e confiabilidade.
1.2 Aplicações Como dito anteriormente, existem inúmeras aplicações para o controle de nível. Como exemplo mais próximo do cotidiano da maioria, temos o controle de caixas d’água residenciais. Um sistema simples, porém eficiente, onde o nível de água na caixa é mantido dentro de valores definidos através de um sensor, a bóia da caixa, que informa à bomba quando o nível está baixo para que esta se acione, e quando o nível chegou ao desejado, para que esta pare. Claro que um sistema de controle como o de caixas d’água não requer a utilização de controladores programáveis e malhas de controle, porém, na utilização industrial as necessidades são diferenciadas uma vez que os resultados podem influenciar bastante o nível e a velocidade da produção. Como exemplo, temos o sistema de controle do nível das panelas de aço para lingotamento da Companhia Siderurgia de Tubarão (CST) [1]. A manutenção do nível de aço nas panelas influencia na pressão ao fundo das mesmas, e na velocidade da saída do aço. Este tipo de processo requer uma grande precisão, justificando todos os investimentos em tecnologia disponíveis. Este projeto irá simular um controle de nível fixo, onde um
setpoint
é
determinado para o nível de água e, através do fechamento e abertura de uma válvula na parte inferior do tanque, este nível ser mantido. Para tal, supõe-se uma entrada de
14 água constante, mas não necessariamente de vazão constante. A aplicação de controle de nível fixo é também utilizada em Vasos Separadores, equipamento de separação de óleo-gás em plataformas de extração de petróleo.
1.3 Sistema de controle proposto Após análise da planta e da proposta de controle, chegou-se a conclusão da necessidade de duas malhas de controle, uma interna, para o posicionamento da válvula, e outra externa, para o controle de nível. O diagrama a seguir representa o sistema que será implementado, conforme a Figura 1. Sensor da válvula SetPoint
+
PID _
Nível
_ +
PID
Motor
Válvula
Válvula
Sensor de nível
Tanque
Figura 1 – Diagrama do sistema de controle
Dado um setpoint de nível, este será comparado com o sinal de nível real vindo do tanque, e esta diferença será o sinal de entrada do bloco PID de Nível. Sua saída então será comparada ao sinal da posição real da válvula, e esta diferença será a entrada do bloco PID da Válvula. A saída deste bloco será o sinal de acionamento do motor, que manipula a válvula. A movimentação da válvula irá interceder no nível do tanque, que devido aos controladores, tenderá a se ajustar ao sinal de
setpoint de
entrada.
1.4 Conclusão O Controle de nível está interligado a várias etapas de produção em inúmeros processos fabris. A possibilidade de cada vez mais tornar este controle eficiente, impulsiona a pesquisa nesta área, sempre visando aproveitar o máximo possível a capacidade de produção das instalações, sem se afastar dos níveis de segurança.
15
2 A PLANTA 2.1 Introdução Para a simulação do controle de nível de uma instalação industrial, foi necessária uma planta em escala reduzida de um tanque que pudesse ser controlado tal como uma instalação real. Foi utilizada a planta do projeto de graduação de Elias P. Gomes de dezembro de 2004.
2.2 Arquitetura da Planta A planta consiste basicamente em duas válvulas instaladas nas partes superior e inferior do tanque, ambas conectadas ao eixo de motores DC para sua movimentação e dispondo de potenciômetros ligados ao mesmo eixo de modo a servirem como sensores de posição das válvulas. A leitura do nível é feita por um potenciômetro instalado na parte superior do tanque, com seu eixo ligado a uma bóia para flutuação. Os componentes estão listados na Tabela 1 e sua disposição é como mostrada nas Figuras 2 e 3.
Figura 2 – Esquemático da planta
16
Figura 3 – Foto da planta
N° COMPONENTE 1 Potenciômetro 2 Potenciômetro 3 Motor
DESCRIÇÃO 500 K Ω 10 K Ω 12 V / 600 mA 3/4" - Tipo 4 Válvula gaveta Tabela 1 – Componentes da planta
Neste projeto será utilizado somente o conjunto da válvula inferior do tanque.
2.3 Alimentação da planta Como a planta não dispunha de um circuito próprio para alimentação de seus potenciômetros e acionamento de seus motores, foi necessário seu desenvolvimento.
2.3.1 Acionamento do motor DC A movimentação do motor será controlada pelo CLP, mas este não dispõe de corrente de saída alta o suficiente para tal, então é necessária a utilização de um circuito
driver de
corrente para sua alimentação. O modelo de
driver adotado
foi
retirado das plantas de acionamento e controle de motores DC do LECO, seu esquemático é conforme mostrado na Figura 4 e seus componentes estão explicitados na Tabela 2.
17
Figura 4 – Circuito do driver de corrente
COMPONENTE DESCRIÇÃO VALOR R2 Resistor 12 K Ω R3 Resistor 12 K Ω U1A Amplificador em CI TL074 Q1 Transistor TIP 30 T1 Transistor TIP 31 MOTOR Motor Tabela 2 – Componentes do driver de corrente
2.3.2 Alimentação dos potenciômetros A fim de minimizar o efeito de oscilação da tensão devido à corrente demandada pelo motor, minimizando o erro de leitura nos potenciômetros, a alimentação dos mesmos não é feita diretamente da tensão do circuito, e sim através de reguladores de tensão [2]. Utilizou-se em ambos os potenciômetros reguladores tipo LM7810 alimentados em 12V e mantendo uma tensão regulada de 10V de saída, reduzindo, mas não eliminando variações de tensão. Ainda para o potenciômetro do sensor de nível, foi utilizada uma resistência de 22 K Ω ligando-o ao terra, evitando que a tensão lida chegasse aos zero volts, mantendo a leitura em uma região mais linear.
18
2.3.3 Circuito final Organizando todos os componentes necessários, foi projetado o
layout da
placa de circuito impresso no programa EAGLE conforme a Figura 5, e sua montagem é mostrada na Figura 6.
Figura 5 – Placa de circuito impresso
Figura 6 – Foto do acabamento da placa de circuito impresso
2.3.4 Valores obtidos Com todos os componentes especificados e montados, obtivemos os seguintes dados para utilizar como parâmetro para o controle da planta, conforme a Tabela 3.
19 POTENCIÔMETROS COMPONENTE VALOR ALIM. SIT. SAIDA 27 cm 1,10 Pot. Nível 500 K 10,03 33 cm 1,78 aberta 3,61 Pot. Válvula 10 K 9,98 fechada 6,76 MOTOR COMPONENTE Pot. Alim
Sentido T.Partida 7 abert. 1,5 Motor DC X cv -7 fecham. 2 Tabela 3 – Valores finais após montagem do circuito em placa
2.4 Conclusão Após análise da planta foi possível projetar e implementar uma interface entre a mesma e o CLP, de modo a possibilitar o devido acionamento dos motores e a leitura dos sensores. Os sinais foram captados e transformados para um melhor aproveitamento em ambos os lados.
20
3 O CLP 3.1 Introdução Um Controlador lógico programável, conhecido também pela sua sigla CLP é um computador especializado, baseado num microprocessador que desempenha funções de controle de diversos tipos e níveis de complexidade. Os CLP's estão muito difundidos no controle de processos de automação industrial, nas áreas relacionadas com a produção em linhas de montagem e controle de equipamentos e instalações. O Controlador Lógico Programável (CLP) escolhido para este projeto foi o Allen-Bradley
Micrologix 1500 da Rockwell
Automation,
disponível no LECO, e
mostrado na Figura 7.
Figura 7 – Foto do Micrologix 1500
3.2 Micrologix 1500 O CLP Micrologix 1500 é o mais evoluído da linha Micrologix da Rockwell. É flexível e versátil, contando com aprimoramentos da linha como o Compact I/O, capacidade de expansão para até 100 entradas e saídas, memória on-board não volátil de grande capacidade, relógio de tempo real, download e transporte de programas através de módulos de memória, entre outros [3].
21 O módulo principal já dispõe de 12 entradas e 12 saídas digitais, mas uma das flexibilidades deste CLP é a possibilidade da instalação de cartões extras com diversas finalidades. Estes cartões podem fornecer entradas e saídas digitais extras, entradas e saídas analógicas, conexão direta com a rede de computadores, entre outros. No equipamento do laboratório existem 3 cartões instalados no CLP.
3.2.1 Cartão entrada/saída Digital Cartão modelo 1769-IA16, fixado diretamente no processador do CLP, assim recebendo a numeração 1 para seu posterior reconhecimento. Dispõe de 16 entradas digitais extras
3.2.2 Cartão entrada analógica Cartão modelo 1769-IF4, fixado no cartão do item 2.2.1, recebe a numeração 2 para seu posterior reconhecimento. Dispõe de 4 entradas analógicas para sinais de tensão e 4 entradas analógicas para sinais de corrente. Duas das entradas para sinais de tensão serão utilizadas neste projeto.
3.2.3 Cartão saída analógica Cartão modelo 1769-OF2, fixado no cartão do item 2.2.2, recebe a numeração 3 para seu posterior reconhecimento. Dispõe de 2 saídas analógicas para sinais de tensão e 2 saídas analógicas para sinais de corrente. Uma das saídas para sinas de tensão será utilizada neste projeto.
3.3 Conclusão O CLP é uma ferramenta poderosa na área de automação, realizando o controle ininterrupto de sinais e acionamentos. A monitoração constante e correção dinâmica de alterações nos sinais dão aos sistemas modernos autonomia e confiabilidade. Neste projeto, o CLP utilizado, após ser programado, executará todo o processo de controle, sendo a ele informado apenas o resultado final desejado.
22
4 PROGRAMAÇÃO DO CLP 4.1 Introdução Uma vez implementada toda a interface entre o CLP e a planta, pode-se dar início à programação do CLP para que execute as funções propostas. O programa utilizado para a programação estava disponível no laboratório e utiliza uma linguagem tipo LADDER.
4.2 Linguagens de programação Existem cinco tipos básicos de linguagem que normalmente são encontradas em controladores programáveis e são padronizadas pela norma IEC 61131-3 [4]: •
Linguagens de relés ou diagrama de contatos;
•
Linguagens por blocos funcionais;
•
SFC - Sequential Function Chart (diagramas de funções seqüenciais);
•
Lista de instruções;
•
Texto estruturado.
Dos 5 tipos apresentados acima, a mais difundida e encontrada em quase todos os controladores é a linguagem de relés. Os blocos funcionais também podem ser encontrados com facilidade, sendo eles uma extensão da linguagem de relés adaptada para incluir instruções mais poderosas e tornar mais clara a programação. Devido à grande utilização da linguagem de blocos funcionais, esta recebeu vários nomes ao redor do mundo, e um deles é ‘diagrama de escada’ (LADDER). Esta linguagem baseia-se nas regras da linguagem de relés, na qual linhas de instrução são abalizadas da esquerda para a direta, sendo que para que um bloco opere, este deve estar ‘energizado’, estando ele ligado à barra da esquerda ou à um bloco que possibilite este acionamento.
4.3 Rslogix 500 O programa utilizado escolhido para a implementação do controle foi o RSLogix500 da Rockwell Automation, utilizado em versão licenciada para estudantes [5].
23
4.3.1 Configurado o RSLogix 500 A princípio, para se iniciar uma nova aplicação neste programa, basta apertar o botão de Novo (New) e escolher qual o tipo do processador (Processor Type) com o qual o programa irá se comunicar, neste caso, a linha “Bul.1764 Micrologix 1500”. A próxima configuração diz respeito aos cartões de expansão existentes no CLP. No campo de opções à esquerda da tela do RSLogix 500, dentro da guia Controlador (Controller), deve-se acessar o campo de Configurações de Entrada/Saída (I/O Configuration). Dentro da janela referente a estas configurações, existe a opção Ler Configurações (Read I/O Config.), que automaticamente irá detectar e configurar os cartões instalados no CLP.
4.3.2 Variáveis no RsLogix500 O sistema de indexação do RsLogix 500 atribui um seqüência de caracteres para a identificação e caracterização de cada variável utilizada. A opções de tipos de varáveis são conforme a Tabela 4. As classificações pré-definidas apresentam uma quantidade limitada no numero de variáveis que podem ser associadas a elas, porém o RsLogix 500 possibilita a inserção de novos grupos de variáveis, somente necessitando a caracterização do novo tipo de variável (como exemplo, neste projeto foram necessárias 11 variáveis do tipo ‘inteira’, como o grupo N7 somente comporta 10, viuse a necessidade da criação de novo grupo, o N9, que recebeu a letra ‘N’ por ser um grupo para variáveis inteiras e a numeração ‘9’ pela seqüência dos grupos). NOME NUMERO TIPO Output 0 O Input 1 I Status 2 S Binary 3 B Timer 4 T Counter 5 C Control 6 R Interger 7 N PID 8 PD Tabela 4 – Tipos de variáveis do RSLogix 500
Depois de decidido o tipo da variável, define-se sua numeração para se discernir entre várias variáveis do mesmo tipo (no caso das variáveis de entrada e saída extras dos cartões do CLP, esta numeração se refere à posição do cartão, explicitada
24 nos sub-itens do item 2.2). A numeração é aplicada depois da apresentação do tipo, separando as informações pelo caráter ‘:’ (dois pontos). Como exemplo, a terceira variável de memória do tipo inteiro é classificada como N7:3. Se dentro da especificação como mostrada acima ainda existir a opção entre diferentes variáveis (como as várias entradas/saídas de um cartão extra ou os vários bits de uma variável binária), utiliza-se outro separador e novamente numeram-se as variáveis. No caso de um cartão extra, o caractere ‘.’ (ponto) é utilizado, já para variáveis binárias, utiliza-se ‘/’ (barra). Como exemplo, a primeira entrada de um cartão de entradas extra instalado na posição 2 do CLP é classificado como I:2.0, e inda, o quarto bit da primeira variável do tipo binária é classificado como B3:0/4. Pode-se ver relação de todas as variáveis utilizadas durante o projeto, com suas classificações e numerações, na Tabela 5. VAR. I:2.2 I:2.3 O:3.1 B3:0/0 B3:0/1 B3:0/2 B3:0/3 B3:0/4 B3:0/5 N7:0 N7:1 N7:2 N7:3 N7:4 N7:5 N7:6 N7:7 N7:8 N7:9 N9:0 PD8:0 PD8:1 PD8:2
NOME SINAL_SES_NIVEL SINAL_SENS_VALV SINAL_SAIDA_MOTOR MOVIMENT_VALV OUT_IN_RANGE
DESCRIÇÃO Sinal de tensão vindo do potenciômetro de nível (bóia) Sinal de tensão vindo do potenciômetro da válvula Sinal de saída para o driver de corrente do motor Identifica a direção de movimento da válvula Verifica se a tensão de saída está dentro dos limites Verifica se a tensão de saída está acima do limite OUT_SAT_POS máximo VALV_IN_RANGE Verifica se o setpoint da válvula está dentro dos limites Verifica se o setpoint da válvula está acima do limite VALV_SAT_POS máximo AUTOMATICO Aciona/desaciona o modo automático SENS_VALVULA Recebe o valor de I:2.3 SETPOINT_VALVULA Recebe o valor do setpoint da válvula SENS_VALVULA_ESC Recebe o valor escalado do sensor da válvula OUT_PID_VALV Recebe a saída dos 2 blocos PIDs para a válvula OUT_PID_VALV_ESC Recebe as saídas dos blocos PIDs da válvula escalados SENS_NIVEL Recebe o valor de I:2.2 SENS_NIVEL_ESC Recebe o valor escalado do sensor de nível SETPOINT_NIVEL Valor do setpoint de nível OUT_PID_NIV Recebe a saída do bloco PID da válvula Recebe a saída do bloco PID da válvula escalado ou o OUT_PID_NIVEL_ESC setpoint manual da válvula SET_PT_VALV_MANUAL Valor do setpoint manual da válvula PID_POS Parâmetros do bloco PID da válvula (abertura) PID_NEG Parâmetros do bloco PID da válvula (fechamento) PD_NIVEL Parâmetros do bloco PID do nível Tabela 5 – Variáveis do projeto
25
4.3.3 Os blocos de programação A programação LADDER do RsLogix é feita através de blocos funcionais de funções distintas. O programa dispõe de mais de 130 diferentes blocos, porém será descrito aqui o funcionamento apenas dos que foram utilizados neste projeto. Os parâmetros dos blocos podem ser escritos diretamente ou serem extraídos de variáveis referenciadas conforme o item 3.2.1.
4.3.3.1 MOV Bloco de movimentação. Envia o valor da variável ‘Source’ para a ‘Dest’. Disposição conforme Figura 8.
Figura 8 – Bloco MOV
4.3.3.2 CHAVES Chaves são utilizadas para que se acione, ou não, certos blocos durante a leitura do programa. As chaves sempre se referem a uma variável binária, são acionados se esta está em ‘1’ e desligados se esta está em ‘0’. Uma disposição simples é mostrada na Figura 9. A chave do tipo arredondada (como na primeira linha da figura) é a energização, no caso de sua linha estar ativada (como no exemplo, ligada diretamente), ela irá fechar (ligar) todas as chaves do tipo quadrada que se referirem ao mesmo bit. Quando a chave do tipo quadrada tiver uma barra cortando seu centro, significa que sua lógica é invertida, e que ela será acionada quando sua energização estiver desligada. O estado de cada chave e indicado por uma marcação verde que aparece quando a chave está acionada
26
Figura 9 – Blocos de chaveamento
4.3.3.3 SCP Bloco de escalonamento. Faz o escalonamento linear da variável ‘ Input ’ e a fornece o resultado na variável ‘ Output ’. O escalonamento é feito de modo que o valor mínimo de ‘ Input ’ resulte no valor mínimo de ‘ Output ’, e o máximo de ‘ Input’ resulte no máximo de ‘Output ’, e fazendo com que valores intermediários sejam escalonados mantendo a relação dos extremos. No caso de valores de ‘Input’ que extrapolem o máximo ou o mínimo, o valor de ‘ Output ’ também extrapolará seus limites, porém mantendo a relação de proporção. Disposição conforme a Figura 10.
Figura 10 – Bloco SCP
4.3.3.4 PID Bloco PID. Representa um Controlador Proporcional Integral-Derivativo. No campo ‘PID File’ deve-se colocar a variável onde se encontram os parâmetros para este controlador. A variável de processo a ser comparada com o setpoint do controlador dele ser indicada no campo ‘Process Variable’, e o campo ‘Control Variable’ refere-se a variável de controle, valor de saída do bloco PID. Sua disposição é conforme a Figura 11, e sua tela para configuração de parâmetros é como a Figura
27 12. Nota-se que o bloco não dispõe de uma entrada padrão para o seu setpoint , porém pode-se acessá-la através de uma das variáveis dos parâmetros do PID, inserindo o caminho ‘.SPS’ após sua descrição (como exemplo: PD8:0.SPS).
Figura 11 – Bloco PID
Figura 12 – Configurações do bloco PID
4.3.3.5 LIM Bloco de verificação de limites. Verifica se o valor da variável ‘Test’ está dentro dos limites entre ‘Low Lim’ e ‘High Lim’, no caso positivo, aciona a chave de energização a sua direita, levando o bit vinculado a ela ao estado elevado (bit em ‘1’), e sua disposição é conforme a Figura 13.
Figura 13 – Bloco LIM
28
4.3.3.6 GEQ Bloco de Maior-ou-Igual. Verifica se o valor da variável ‘Source A’ é maior ou igual ao valor da variável em ‘Source B’, caso positivo aciona a chave de energização a sua direita, levando o bit vinculado a ela ao estado elevado (bit em ‘1’), e sua disposição é conforme a Figura 14.
Figura 14 – Bloco GEQ
4.4 A programação Após analisar o sistema, chega-se a conclusão de que serão necessárias duas malhas de controle: uma malha de controle do nível, que indicará o
setpoint para
a
outra malha, a de posição da válvula de saída de água. O sistema final obedece a uma lógica conforme a Figura 1. O programa dispõe ainda de dois modos de operação: o automático e o manual. No modo automático, o usuário apenas insere o valor de nível desejado (de 220 mm a 320 mm) e o programa controla a válvula de modo a atendê-lo, já no modo manual, o usuário define a porcentagem de fechamento da válvula (de 0% a 100%), independente do valor do nível. Nos item em seqüência, serão explicados os detalhes de cada malha e sua interações, explicitando ainda as linhas de comando, ou
rungs,
onde estão contidos os
comandos descritos. Todas as linhas de programação podem ser vistas no Apêndice A.
4.4.1 Malha de nível Esta é a malha que, a partir dos valores de
setpoint de
nível e nível real,
controla o acionamento da válvula, controlando o nível da água do tanque.
4.4.1.1 Coleta dos sinais O sinal de tensão que indica o nível atual de água no tanque vem do potenciômetro conectado à bóia dentro do taque, conforme descrito no item 1.3.2. Este sinal chega na entrada I:2.2 do CLP e é armazenado na posição de memória N7:5 [Rung 0000].
29 O primeiro passo foi escalar este valor de tensão para valores mais próximos à realidade da planta, para tal foi utilizado o bloco SCP, escalando o sinal de entrada para valores que correspondessem ao nível real da água no tanque em milímetros [Rung 0001]. O outro sinal de entrada para o sistema é o valor de nível desejado ( setpoint de nível), que é inserido pelo usuário e armazenado pela posição de memória N7:7 sendo imediatamente enviado para a variável PD8:2.SPS, que designa o valor do
setpoint
para o bloco PID 2 (Bloco PID de nível) [Rung 0002].
4.4.1.2 Controle dos sinais Antes de utilizar os sinais de entrada, o usuário tem a opção de acionar ou não o modo automático de controle, cujo acionamento é feito pela variável binária B3:0. Com o modo automático acionado, os sinais do sensor e de
setpoint são
inseridos no bloco PID, que tem como variável de controle a posição de memória N7:8 [Rung 0003]. Esta variável será o setpoint para a válvula, mas para tal é necessário que seja escalada para valores entre 0 e 100, representando 0% e 100% de fechamento da válvula, sendo este valor enviado para a variável N7:9 [Rung 0004]. No caso do modo automático estar desligado, o valor do
setpoint para
a
válvula vem da variável de memória N9:0 [Rung 0005], sendo definido o seu valor pelo usuário.
4.4.2 Malha da válvula Esta malha de controle atua diretamente sobre a posição final desejada da válvula de saída de água, abrindo-a e fechando-a segunda sua necessidade.
4.4.2.1 Coleta do sinal da válvula O sinal de tensão que indica o nível atual de fechamento da válvula vem diretamente do potenciômetro nela instalado, conforme descrito no item 1.3.2. Este sinal chega na entrada I:2.3 do CLP e é armazenado na posição de memória N7:0 [Rung 0006]. O próximo passo é converter o valor de tensão do sinal em um valor mais compatível com a real situação da planta, para um melhor acompanhamento do
30 sistema, assim, o sinal de tensão é escalado através de um bloco SCP para valores entre 0 e 100, representando 0% e 100% de fechamento da válvula [Rung 0007].
4.4.2.2 Controle do sinal da válvula Conforme já explicitado, a saída da malha da válvula será responsável pelo acionamento do motor, que deverá exercer tanto movimentos de fechamento e abertura da válvula. Entretanto, o bloco PID do RSLogix 500 dão disponibiliza uma saída negativa quando a diferença entre seu setpoint e a variável do processo é negativa. São então necessários dois blocos PID para realizar este controle, um para o caso de uma diferença positiva e uma para uma diferença negativa. Em ambos os casos, os valores de entrada do PID são os mesmo, porém, no caso negativo, deve-se inverter este valores. Para o bloco negativo, o valor de
setpoint recebe
o valor do sensor de nível
[Rung 0008], e o variável de processo recebe o setpoint . Primeiro, compara-se o sinal de
setpoint vindo
da variável N7:9 com os
limites da válvula (de 0% a 100% de fechamento) [Rung 0009], faz-se isso com a finalidade de evitar que o motor tente mover a válvula para uma posição além de seus limites, causando danos à planta. Estando o valor nos limites, este é movido diretamente para a variável N7:1 [Rung 0010], caso contrário, verifica-se o limite mais próximo ao valor e aplica-se diretamente o valor limite na variável N7:1 [Rung 0011 – Rung 0013], que será copiada para o valor de
setpoint do
bloco PID positivo [Rung
0015]. De posse dos valores, verifica-se se o valor de
setpoint é
maior que o valor
real da posição da válvula. No caso afirmativo, são acionados o bloco PID positivo [Rung 0016] e o bloco SCP positivo [Rung 0019], que escala o valor de saída do PID positivo em valores que possam ser interpretados como valores positivos de tensão em milivolts. No caso de um
setpoint menos
que a posição da válvula, são acionados o
bloco PID negativo [Rung 0017] e o bloco SCP negativo [Rung 0019], que escala o valor de saída do PID negativo em valores que possam ser interpretados como valores negativos de tensão, também em milivolts. Ambos os sinais escalados são movidos para a variável N7:4.
31
4.4.3 Sinal de saída A fim de restringir o nível de tensão na saída do CLP a valores que não prejudiquem nem o motor nem o CLP, é necessário um tratamento do valor da variável de saída. Verifica-se a presença do valor da variável N7:4 dentro dos limites 7000 e -7000 ( ± 7000 Volts) [Rung 0020]. No caso afirmativo o valor é diretamente movido para a variável O:3.1 [Rung 0021]. Caso contrário, verifica-se o limite mais próximo ao valor e aplica-se diretamente o valor limite na variável O:3.1 [Rung 0022 – Rung 0024].
4.4.4 Sintonia dos blocos PID A sintonia exata de um bloco PID requer vários testes e estudos, e não era o objetivo deste projeto, principalmente pelo fato de nele existirem dois blocos em série. A definição dos parâmetros foi realizada de forma empírica, através de testes feitos via supervisório. Após a conclusão da programação do LADDER, os valores dos parâmetros foram alterados e seus resultados analisados graficamente, através da inserção de um degrau na alimentação do sistema. Definiu-se a melhor resposta do sistema e foram adotados estes parâmetros.
4.5 Conclusão Avaliando as entradas e saídas do PLC e utilizando blocos já padronizados do programa, conseguiu-se fazer um controle onde um usuário apenas insere o valor do nível desejado e o programa altera seus valores para, dinamicamente, atender o especificado, ou ainda simplesmente deixar de lado o controle de nível e atender a um valor de posição de válvula estipulado. A opção por um controle em malha fechada tem um enorme ganho, tanto em confiabilidade quando em auto-suficiência em relação ao simples controle em malha aberta.
32
5 O SUPERVISÓRIO 5.1 Introdução O programa de controle já está totalmente operacional com a conclusão da programação no RsLogix 500, porém sua interface com o usuário comum não é amigável. Pensando no usuário comum, foram desenvolvidos programas que pudessem captar somente as informações convenientes e mostrá-las de forma clara e rápida, estes são os chamados Programas Supervisórios. O programa escolhido para se desenvolver o supervisório deste projeto foi o InTouch 7.0 da Wonderware Corporation [6], instalado nos computadores do LECO. Apesar de o InTouch ser programado para receber sinas diretamente do CLP, devido à ampla gama de controladores e de diferentes fabricantes, existe a necessidade da utilização de um
driver
que faça a correta comunicação entre o CLP e o
Supervisório. Foi utilizado então o programa KeepServerEx da KEPware Inc. [7], que contêm este driver e faz o gerenciamento da comunicação CLP/Superisório.
5.2 KeepServerEx O KeepServerEx opera criando um caminho para que as posições de memória do CLP possam ser lidas pelo supervisório, gerando assim o que o programa chama de tags. Cada tag é associada a uma posição de memória do CLP e recebe um nome, que será utilizado para identificá-la posteriormente no supervisório, conforme será explicado a frente.
5.2.1 Comunicação A comunicação com o CLP é através de um termo
OLE for Process Control
driver tipo
OPC, que vem do
[8]. A idéia central do OPC consiste em prover
conectividade a sistemas de automação industrial e ao mercado geral da computação. Baseando-se nos padrões gerais dos equipamentos, esta tecnologia busca manter uma interface única entre os sistemas, padronizando a comunicação e expandindo seu poder de alcance. Dentro do grupo de
driver s
integrados do OPC, o
driver específico
para o
CLP Micrologix 1500 da Allen-Bradley é o DF1. O DF1 foi projetado para trabalhar com os Allen-Bradley Micrologix, SCL500 e PLC5 que operam em ambiente OPC. Ele suporta conexão em Full-Duplex, Half-
33 Duplex ou Radio Modem, Baud Rate de 300 a 19200, onze distintos tipos de variáveis (como boolea, word, byte e short) dentro outras funções [9].
5.2.2 Configuração do Driver Primeiramente, escolhe-se um nome para o seu canal de comunicação (Channel Name, chamado de CanalDF1), após, seleciona-se o
driver para
utilização,
que no caso deste CLP é o DF1. Define-se então as configurações da conexão, como porta de acesso (ID, configurada como COM 1), taxa de transmissão (Baud Rate, configurada em 19200) e protocolo da conexão (Link Protocol, configurado em Full Duplex). Outras configurações podem ser deixadas conforme o padrão. Com o canal de comunicação criado, define-se qual o dispositivo a ser conectado. Primeiro, dá-se um nome ao dispositivo (Device Name, chamado de MICROLOGIX) e após define-se seu modelo (Device Model, configurado em Micrologix). Numera-se então o dispositivo para evitar conflitos quando da utilização de uma rede com vários diferentes dispositivos (Device ID, que como neste projeto somente contem um dispositivo, é definido como 0). São então configurados os parâmetros de tempo de comunicação como tempo para time-out e quantidade de tentativas frustradas antes de registrar-se um erro, estas configurações podem ser mantidas no padrão fornecido. Existem ainda outras configurações como métodos de desligamento de equipamentos em funcionamento e definição do método de verificação de erros na comunicação, estas configurações também podem ser mantidas conforme os padrões fornecidos.
5.2.3 Criação das tags Com o canal de comunicação criado e o dispositivo especificado, resta somente definir as tags. Cada tag associa um valor da memória do CLP com um nome que será utilizado pelo Supervisório. A tela de criação de tag é conforme a Figura 15.
34
Figura 15 – Criação de TAgs no KeepServerEx
Na aba General (propriedades gerais), temos os campos de Identificação e o de Propriedades. No campo de Identificação da tag (Identification) , define-se o nome (Name, chamado de NIVEL neste exemplo) e seu endereço no CLP (Adress, configurado como N7:6 neste exemplo). O endereçamento da variável é conforme os padrões do driver ,
o DF1, que neste caso é idêntico ao endereçamento do RsLogix 500, descrito
no item 3.2.1. Pode-se verificar se o endereçamento está correto através do botão de confirmação (botão verde) à direita deste campo. No ato da verificação do endereço, estando este correto, as propriedades desta variável automaticamente são configuradas no campo de Propriedades da variável (Data Properties). Estas propriedades são, o tipo da variável (Data Type, configurado como Word neste exemplo), o tipo de acesso a esta variável (Client Access, configurado como Read/write neste exemplo, indicando que esta variável pode ser tanto lida quanto alterada pelo supervisório) e a taxa de varredura em milisegundos (Scan rate, configurado em 100). Na aba Scaling (Escalonamento) pode-se automaticamente escalar uma variável para que sua tag seja uma função de seu valor, ao invés dele diretamente. Existem as opções de escalamento linear e por função quadrática.
35
5.2.4 Utilização do Programa Como o KeepServerEx somente gerencia a comunicação das tags, após configurado, não necessita de nenhuma manipulação para seu funcionamento, somente a abertura do programa. As configurações de canal e dispositivos podem ser salvas em arquivos ‘.OPF’ e a abertas posteriormente. A disposição do programa já configurado, com a relação de todas as tags necessárias neste projeto, é mostrada na Figura 16.
Figura 16 – Tela do KeepServerEx
5.3 InTouch Com a comunicação estabelecida, pode-se dar início à confecção do programa supervisório propriamente dito, mas antes, deve definir esta nova aplicação para que o programa possa identificá-la posteriormente.
5.3.1 Criação da aplicação Abrindo o aplicativo InTouch, nos deparamos com uma tela conforme a Figura 17. Clicando no botão Nova ( New), podemos configurar os parâmetros desta nova aplicação.
36
Figura 17 – Criação de aplicações no InTouch
Primeiro define-se o diretório onde os arquivos desta aplicação serão salvos, no caso da aplicação deste projeto
c:\program files\factorysuite\intouch\pg_jg .
Como padrão as aplicações são salvas dentro do diretório do InTouch, mas isso pode ser alterado. Definido o diretório, escolhe-se um nome ( Name) para a aplicação e pode-se escrever uma breve descrição ( Description) desta aplicação, no caso deste projeto, o nome foi definido como ‘PG JG Master’ e a descrição como ‘Supervisório do Mestre’. Assim conclui-se a criação da aplicação.
5.3.2 Window Maker Abrindo a aplicação criada, depara-se com a tela do Preparador de Janelas (Window
Maker ),
aplicativo com o qual se irá montar a tela de visualização do
supervisório. Como seu nome sugere, todas aplicações do Preparador de Janelas são preparadas dentro de janelas, criadas através da opção de menu Nova Janela ( New Window). A tela de criação de janelas é conforme a Figura 18.
Figura 18 – Criação de janela no InTouch
37 Configura-se o nome da janela ( Name), pode-se inserir algum comentário (Comment ), define-se a cor de fundo da janela ( Window
Color ),
duas dimensões
( Dimensions), entre outros. Dentro desta janela serão inseridos todos os botões, gráficos e painéis que irão compor o supervisório, mas, porém, antes deverão ser configuradas as tags às quais estes botões e gráficos irão se referir. Abrindo a aplicação criada, depara-se com a tela do Preparador de Janelas (Window
Maker ),
aplicativo com o qual se irá montar a tela de visualização do
supervisório.
5.3.2.1 Tagname Dictionary Na coluna à esquerda do
Window Maker temos
configuração do supervisório, dentre eles temos o
uma relação de tópicos para
tagname Dictionary,
que define as
tags para utilização do supervisório. Com um duplo-clique do mouse acessa-se uma tela de criação, conforme a Figura 19.
Figura 19 – Criação de tag no Intouch
Pressionando o botão Novo ( New), abre-se uma área nesta janela para as configurações do nome da tag (tagname) e o tipo da tag (Type), onde se define se esta será um tag de memória ( memory) ou de entrada/saida ( I/O). As tags utilizadas neste projeto vêm do CLP e podem assumir quaisquer valores reais, sendo então definidas como entrada/saída real (I /O Real). Quando se define uma variável como I/O, habilita-se outra parte desta janela, para a configuração de acesso a este valor. As configurações de acesso são criadas e salvas no que o programa chama de Nome de Acesso ( Acess Name ) para poderem ser
38 utilizadas por outras tags. Como padrão o Nome de Acesso vem em branco, devendo então ser criado. Clicando no botão do Nome de Acesso, pode-se escolher qual opção de acesso esta tag irá utilizar, neste caso, como ainda não existe nenhum salvo, pressiona-se o botão de Adicionar ( Add ) para criar um. A tela de configuração do Nome de Acesso é conforme a Figura 20.
Figura 20 – Configuração de Nome de Acesso no Intouch
Primeiro, define-se um nome, neste caso chamado de LINK. A utilização do campo Node Name será explicada a frente, durante a configuração do acesso em rede. No campo Nome da Aplicação ( Aplication
Name),
a utilização do KeepServerEx
implica a configuração como ‘servermain’, e no campo Nome do Tópico ( Tópic Name),
coloca-se o nome do canal seguido pelo caractere ‘_’ e pelo nome do
dispositivo, idênticos aos definidos durante a configuração do KeepServerEx e como descrito no item 4.2.2. A configuração do protocolo (Which
protocol to use)
deve ser mantida em
DDE e o resto das configurações permanece conforme o padrão fornecido. Com o Nome de Acesso configurado resta penas definir o item com qual a tag irá se comunicar. Este item refere-se às configurações de tags do KeepServerEx, e pode ser preenchido tanto pelo nome da tag quanto pelo seu endereçamento no CLP.
39 Existem ainda outras características da tag que podem ser configuradas na tela de criação, como valores iniciais, valores máximos e mínimos e conversão de escala. Como exemplo, a Figura 21 mostra a configuração completa da tag NIVEL utilizada neste projeto.
Figura 21 – Configuração de tags no InTouch
5.3.2.2 Displays do InTouch O InTouch dispões de uma variada gama de botões, displays, gráficos, ferramentas para desenho e opções de texto. À esquerda da tela do Preparador de Janelas, encontra-se um menu de acesso rápido às opções mais utilizadas, porém, atreves do ícone com a figura de um chapéu ( Wizards) localizado na parte superior da tela, tem-se acesso a todas as opções de blocos funcionais do programa. Ali existem opções de inserção de alarmes, botões diversos, relógios, luzes, medidores, chaves, dentre outros. Apesar de cada opção ter sua própria tela de configuração, devido às diferentes funcionalidades, todas elas apresentam menus simples e diretos. Será descrita a configuração apenas dos itens mais utilizados neste projeto.
5.3.2.2.1 Chaves Usadas para acionamento de funções do tipo liga/desliga. Neste projeto foi utilizada uma chave para a mudança de operação do modo manual pra o automático e
40 vice-versa. Como esta variação é binária, deve-se associar uma tag do tipo bolena para esta aplicação. A chave utilizada neste projeto bem como sua tela de configuração são mostradas na Figura 22.
Figura 22 – Botão On/Off no InTouch
5.3.2.2.2 Botões Botões são ferramentas que podem exercer muitas funções, como mostrar valores de tags, alterar valores de tags, mostrar ou esconder janelas, movimentar-se ou mudar de cor de acordo com a tag associada a ele. A tela básica de funções dos botões é como na Figura 23.
Figura 23 – Opções de funções no InTouch
41 Para que o botão exerça alguma função, basta selecioná-la desta tela, e após, como todas as outras aplicações, sua configuração é razoavelmente simples. Para mostrar valores de tags ou alterá-los, basta acessar os campos Entradas de Usuários – Analógica (User
Inputs – Analog)
Displays – Analog),
ou Mostradores de Valores - Analógica ( Value
respectivamente. Em cada tela desta existe um campo Tagname
ou expressão ( Expression), onde basta colocar o nome da tag a qual se quer que o botão se relacione. Existe ainda a flexibilidade de se poder fixar valores máximos e mínimos para as tags, ou até mesmo, nos campos de expressão, escrever não somente o nome, mas sim uma função matemática associada com uma tag, que o supervisório irá resolver e mostrará o valor já calculado. No caso da visualização de telas acionadas por botões, basta selecionar a opção Mostrar Janela (Show Window) ou Esconder Janela ( Hide Window ) e selecionar qual janela irá sofrer a ação do botão. Como exemplo, temos na Figura 24 a configuração do botão de acesso ao valor de setpoint para a operação manual da válvula.
Figura 24 – Configuração ed botões no InTouch
5.3.2.2.3 Textos como displays O InTouch aceita que partes de textos operem como displays de valores, assim, cada caixa de texto pode exercer várias funções de botões, conforme a Figura 20. A identificação de qual parte do texto deverá ser interpretada como a tag associada é feita pelo caractere ‘#’. Como exemplo, a caixa de texto que mostra o valor de tensão
42 na entrada do motor foi criada da seguinte forma: criou-se a caixa de texto ‘##### [mV]’, inferiu-se ao texto a função de Mostrador de Valor Analógico associado a variável TENSAO, quando em operação, os caracteres ‘#’ foram substituídos pelo valor da variável associada, mostrando algo como ‘7000 [mV]’.
5.3.2.2.4 Gráficos de tempo-Real Para o acompanhamento de valores em tempo real, utilizam-se Gráficos de Tempo-Real ( Real-Time
Trends).
A tela de configuração que foi utilizada no gráfico
de ‘setpoint x tensão’ deste projeto é como mostra a Figura 25.
Figura 25 – Configuração de Gráfico de Tempo-Real no InTouch
Todos os aspectos do gráfico são configurados aqui, como o Intervalo de Tempo do Gráfico (Time
Span),
que define o período de tempo mostrado em uma
janela do gráfico; o intervalo de amostra (Sample
Interval),
que define o intervalo
entre amostras do sinal par a geração do gráfico; os valores para divisão do gráfico nos eixos do tempo e dos valores (Time Division e Value Division); e as linhas de desenho ( pen) do gráfico, que são os valores que deverão ser mostrados. Nota-se que acima do
43 campo para inserção da tag a ser mostrada, existe a indicação Expressão ( Expression), indicando que não somente o nome, mas uma função da variável pode ser escrita.
5.3.2.2.5 Gráfico Histórico Para que se possam analisar dados de tempo anteriores ao atual, em um ambiente estático, diferente dos gráficos em tempo-real, existem os Gráficos Histórico ( Historical trend ). As configurações deste gráfico não são muito distintas das dos gráficos em tempo real, conforme mostra a Figura 26.
Figura 26 – Configuração e Gráfico Histórico no InTouch - A
Uma das diferenças e a necessidade da criação de 2 tags especiais, uma do tipo ‘ Hist
Trend’
e uma do tipo ‘ Memory Interger’, que irão guardar os valores de escala
das linhas de desenho e configurações de armazenamento dos valores. Porem, o próprio programa dispõe de uma ferramenta, o botão de sugestão (Suggest ), que cria e nomeia estas variáveis automaticamente para que se possa utilizar o Gráfico Histórico” Outra diferença reside no fato de que, como os valores serão armazenados, precisa-se definir onde e como isso ocorrerá. Estas configurações podem ser alteradas acessando-se respectivamente os menus: Especial ( Special), Configurações (Configuring) e Registros Históricos ( Historical conforme a Figura 27.
Logging),
e sua tela se apresenta
44
Figura 27 – Configuração de Gráfico Histórico no InTouch - B
Nestas configurações são definidos o tempo de permanência dos arquivos de histórico (Keep
log File)
em dias, o diretório onde será salvo tal arquivo ( Store
Files in Specific Directory)
Log
e outras configurações que pode ser mantidas nos padrões
fornecidos. Existe a possibilidade de os arquivos serem salvos na própria pasta da aplicação atual, somente marcando a área descrito como Salvar Arquivos de Registro no Diretório da Aplicação (Store Log Fils in Application Directoty). O controle da posição de tempo na qual se quer analisar o gráfico é feita através de uma barra de botões própria, que pode ser inserida como uma das ferramentas inclusas no menu acionado pelo botão Wizards (descrito no item 5.3.2.2). Ao se inserir esta barra de botões, sua única configuração é informar à qual gráfico histórico ela se refere, porém o supervisório dispõe novamente de um botão de sugestão (suggest ) que apontará os arquivos relacionados aos arquivos criados junto como gráfico histórico. A disposição final do gráfico histórico com sua barra de botões de configuração de posição é como mostrado na Figura 28.
45
Figura 28 – Tela de Gráfico Histórico no InTouch
5.3.3 Window Viewer Com todos os botões, mostradores e gráficos criados e configurados, pode-se colocar o supervisório no modo de exibição, modo que irá realmente ser apresentado para o usuário comum. No canto superior direito do programa Preparador de Janelas, existe um botão de partida ( Runtime), que inicia o programa de Visualização de Janela (window viewer ). Este é o ambiente onde os valores das tags são mostrados e o gráficos são atualizados, resumindo, o ambiente final do programa supervisório. Pode-se notar que os mostradores de valor que são habilitados para alteração pelo usuário apresentam uma margem quando são sobrepostos pelo cursor do mouse, bastando somente um clique para que uma pequena janela apareça e se possa alterar seu valor. O Projeto final do supervisório contou apenas com 2 telas, uma principal e uma secundária, acionada por botão, que exibe o gráfico histórico. A disposição final
46 de ambas pode ser vista no Apêndice B e Apêndice C, e contém detalhes como indicador de nível máximo do tanque, mostrador da diferença entre
setpoint e
nível
real, acesso para visualização e alteração dos parâmetros dos blocos PID, entre outros.
47
6 A REDE 6.1 Introdução Neste ponto todas as ferramentas para o controle da planta já estão desenvolvidas, inclusive a interface de contato com o operador, porém, já se foi o tempo onde uma empresa ou indústria dispunha de poucos computadores para execução de tarefas pontuais e que somente os operadores próximos às máquinas os operavam. Redes industriais já são consideradas como pré-requisito básico para uma boa administração e aproveitamento do sistema. As informações não podem estar restritas às proximidades das planta, mas sim, disponíveis dos níveis mais baixos de uma fábrica até o escritório dos gerentes e presidentes. Tendo em vista esta realidade que foi proposto o desenvolvimento de um projeto de controle onde se tivesse a possibilidade de se controlar uma planta remotamente.
6.2 Pré-requisitos Existem cartões de expansão para CLPs que são voltados para o controle em rede e já dispõem de saídas próprias para a interligação de computadores. Neste projeto, o objetivo é habilitar o controle via rede através de uma rede normal de computadores. Sendo assim, um dos pré-requisitos básicos é a existência prévia de uma rede ethernet local habilitada, como a que está configurada nos computadores do LECO. Para tal, neste caso, bastou somente a existência de placas de rede padrão nos computadores e um hub para interligá-los, pois a configuração da rede é feita automaticamente pelo sistema operacional ( Windows). A escolha do supervisório é também importante, pois deve ser um produto que disponha de um suporte para acesso via rede de informações. A arquitetura de configuração de comunicação do InTouch facilita bastante esta adaptação, tornando o acesso em rede muito simples.
6.3 Instalação do supervisório em outras máquinas Não é necessário que o programa supervisório instalado em diferentes máquinas seja idêntico, o que possibilita alterações muitas vezes necessárias. Pode-se,
48 por exemplo, determinar que de algumas estações com o supervisório, somente se possa ver os valores das variáveis, enquanto em outras eles possam ser alterados. No caso deste projeto os níveis de acesso serão idênticos, então o supervisório também será. O artifício utilizado para se evitar o desgaste de se montar novamente todas as tags e todas as telas dos demais supervisórios que não o principal, foi a cópia do diretório onde estão os arquivos do supervisório ligado ao CLP (Chamado de mestre) para o diretório do InTouch das outras máquinas (Chamadas de escravas). Não há necessidade da instalação do KeepServerEx nas máquinas escravas, uma vez que as variáveis do supervisório serão obtidas diretamente do supervisório mestre.
6.4 Configuração do acesso em rede Uma vez que os endereços dos valores das tags irão ser alterados, natural pensar que esta alteração será feita em suas configurações. A praticidade do InTouch reside no fato de que todas as configurações de comunicação das tags são salvas no Nome de Acesso (conforme item 5.3.2.1) e que todas as tags podem ser configuradas a partir do mesmo Nome de Acesso. Analisando novamente a Figura 17, manteremos as configurações já estabelecidas, porém teremos duas alterações. O campo Node Name se refere ao nome da máquina de onde as variáveis serão lidas, no caso de esta ser a própria, pode-se deixar em branco. Neste projeto, o CLP está ligado à maquina nomeada como Labcontrol2. A outra alteração está no protocolo a ser utilizado, substituindo a opção DDE por SuiteLink. O protocolo DDE, que vem do termo Dynamic Data Exchange, permite que programas feitos para a plataforma Windowns possam trocar mensagens entre si [10]. O Suitelink é um protocolo baseado nas
sockets
do Windows, para prover
transmissão de dados via rede [11]. Quando salva as configurações, estas serão incorporadas a todas as tags que estão com o mesmo Nome de Acesso, logo, todas buscarão seus valores via rede. A tela de configuração do Nome de Acesso via rede é como mostrado na Figura 29.
49
Figura 29 – Configuração do Nome de Acesso para utilização em Rede no InTouch
Agora basta rodar o Visualizador de Janelas nas máquinas escravo que o programa receberá os dados do computador ligado ao CLP, podendo assim efetuar o controle a partir desta máquina.
6.5 Conclusão As redes se tornaram uma parte tão fundamental em qualquer empresa ou indústria que os softwares tiveram que se adaptar para atender a estas necessidades, como exemplificado pelo InTouch, que torna fácil o acesso de suas funções via rede. Agora o controle de plantas não está mais restrito às intempéries do ‘chão de fábrica’, podendo ser exercido à distância e com segurança.
50
7 CONCLUSÕES E RESULTADOS 7.1 Introdução Serão apresentados a seguir os resultados deste projeto. É importante ressaltar que um resultado relevante não advém apenas das respostas esperadas, mas sim de qualquer resposta que um sistema possa apresentar se os testes tiverem validade. Todos os testes descritos abaixo foram repetidos exaustivamente a fim de melhor representar o comportamento do sistema em questão.
7.2 Programação do CLP A programação do CLP pelo programa RSLogix 500 se mostrou simples e intuitiva. A configuração dos blocos funcionais é rápida e prática, facilitando o usuário. Em relação à programação, deve-se fazer uma ressalva a respeito da configuração dos blocos PID.
7.3 Sintonia dos blocos PID Como descrito no item 4.4.4, a sintonia dos blocos PID foi realizada via testes com visualização dos resultados via gráficos do supervisório. Mostrou-se bem complexa a sintonia dos blocos para uma resposta aceitável, principalmente pelo fato de existirem 2 blocos em cascata no funcionamento do controle, reforçando a idéia de que uma solução ótima para esta sintonia dificilmente virá pelo método de tentativa e erro. Para uma sintonia melhor possível, seria necessário o levantamento do modelo matemático da planta em toda sua complexidade, como folgas, atrasos, zonas mortas de acionamento e perturbações, porém esta discussão daria margem à outro projeto de graduação. A Tabela 6 mostra a configuração final dos parâmetros dos blocos PID do projeto. PID Válvula PID Parâmetro Nível Po Posi siti tivo vo Ne Nega gati tivo vo 12 50 50 Kp 15 50 50 Ki 10 0,1 0,1 Kd Tabela 6 – Parâmetros dos blocos PID
A pesar dos parâmetros terem sido obtidos empiricamente, os teste foram realizados alterando-se os valores dos parâmetros considerando suas implicações
51 previstas na teoria de controle [12]. Como resultado tivemos um bloco PID de nível com forte característica derivativa, para uma minimização do erro em regime e com valores médios dos componentes proporcional e integral, para que a resposta não se tornasse lenta demais. Já os blocos PID da válvula, que necessitavam de uma rápida atuação, tinham característica fortemente proporcional e integral, para assegurar a velocidade, e somente uma pequena parcela derivativa, que impedia o sistema de entrar em instabilidade.
7.4 Resultado do controle de nível A realização do controle foi bem sucedida, mas precisam ser ressaltados alguns pontos. Através do Gráfico Histórico, foram avaliadas algumas situações na utilização do controle. Testes distintos foram realizados para elevação e diminuição do nível, devido às diferentes respostas do sistema, resultantes de variação no comportamento da bóia, oscilação do nível devido à queda d’água dentro do tanque entre outros. Devido às necessidades de entrada e saída de água do projeto, para a realização dos testes, a planta, o CLP e o computador ligado à ele tiveram de ser movidos até cozinha do laboratório. Os equipamentos foram dispostos conforma mostra a Figuras 30 e a Figura 31.
Figura 30 – Foto da disposição dos equipamentos na cozinha
52
Figura 31 – Foto do tanque em funcionamento
7.4.1 Elevação do setpoint Para verificação da resposta do sistema, foi dado um degrau na entrada do setpoint de
nível, variando-o de 260 mm (após o sistema estar estabilizado) para 300
mm, a resposta é mostrada na Figura 32.
Figura 32 – Resposta à elevação de setpoint - A
53 Apesar de o nível alcançar o
setpoint em
menos de 20 segundos, este somente
se estabiliza após transcorrido-se aproximadamente 1 minuto e meio. Foram efetuados também testes para variações pequenas de resultado é mostrado na Figura 33. Neste exemplo o
setpoint foi
setpoint ,
e seu
de 260 mm para 270
mm.
Figura 33 - Resposta à elevação de setpoint - B
O nível alcança o
setpoint em
aproximadamente 20 segundo, e se estabiliza
novamente em 1 minuto e meio.
7.4.2 Diminuição do setpoint Verificaram-se também as respostas a diminuição dos valores de
setpoint ,
e
para uma alteração de 300 mm para 260 mm, a resposta é como mostra a Figura 34. O valor do nível chegou ao estabilizou próximo aos 27 segundos
setpoint
em menos de 18 segundos, e se
54
Figura 34 - Resposta à diminuição de setpoint - A
. Para uma alteração menor, de 300 mm para 290 mm, a resposta foi conforme a Figura 35. O valor do nível chegou ao
setpoint em
menos de 18 segundos, e se
estabilizou próximo aos 27 segundos.
Figura 35 – Resposta à diminuição de setpoint - B
55
7.4.3 Acionamento do modo automático Após notar que o sistema respondia razoavelmente com um certo conjunto de parâmetros, porém, se desligado, sua resposta demorava um certo tempo para alcançar o mesmo resultado, chegou-se a conclusão que, pelo sistema ter um controle e ser adaptativo, ele demanda um certo tempo para esta adaptação. Um modo de se resolver este problema é com o aumento dos parâmetros proporcionais (Kp) do bloco PID de Nível, porém, isto acarretava outros problemas de instabilidade no controle. Sendo assim, somente mediu-se o quanto este atraso de ajuste interfere no sistema. Com o sistema funcionando e estável no modo automático em 300 mnm, muda-se o mesmo para o manual e novamente para o automático, as valores de resposta dos blocos PID são zerados e o resultado é como mostrado na Figura 36.
Figura 36 – Resposta ao início do controle
O sistema sofre um impacto ao ser reiniciado e abaixa o nível do tanque. Aos poucos, a diferença entre o nível e
setpoint faz
com que o sistema retome seu controle
original, porém este processo demora de 6 a 7 minutos. Após este prazo o sistema encontra-se ajustado e apresenta respostas como as descritas nos itens 7.4.1 e 7.4.2.
56
7.5 Rede de supervisórios A implementação da rede foi bem sucedida, e todo o controle pode ser efetuado através do computador localizado no LECO. Devido a facilidade de configuração, este tipo e rede deveria ser considerada par qualquer projeto que envolva plantas que necessitem que cuidados especiais, como a deste projeto, que necessitava de entrada de água e dreno para coletar sua saída.
7.6 Conclusão Apesar de alguns resultados não terem alcançado seu nível ótimo, foram acima das expectativas. A planta teve um bom tratamento de seus sinais, o controle foi bem implementado e o supervisório atendeu às necessidades, inclusive a comunicação em rede. Além da oportunidade de aprendizado relativo aos pontos tratados aqui, este projeto abre possibilidade para continuidade, sendo na sintonia dos PID por levantamento de modelos, ou a ativação da segunda válvula, para entrada de água.
57
APÊNDICE A Resultado final da programação LADDER do CLP.
58
59
60
61
APÊNDICE B Tela final do supervisório no Visualizador de Janelas do InTouch.
62
APÊNDICE C Tela final do supervisório, mostrando o Gráfico Histórico, no Visualizador de Janelas do InTouch.