Você está na página 1de 55

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO TECNOLÓGICO DEPARTAMENTO DE ENGENHARIA ELÉTRICA PROJETO DE GRADUAÇÃO

CONTROLE PREDITIVO DO NÍVEL DE ÁGUA EM UM TANQUE PRESSURIZADO

IGOR DALL’ORTO CORRÊA

VITÓRIA – ES

JULHO/2005

IGOR DALL’ORTO CORRÊA

CONTROLE PREDITIVO DO NÍVEL DE ÁGUA EM UM TANQUE PRESSURIZADO

Parte manuscrita do Projeto de Graduação do aluno Igor Dall’Orto Corrêa, 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

JULHO/2005

IGOR DALL’ORTO CORRÊA

CONTROLE PREDITIVO DO NÍVEL DE ÁGUA EM UM TANQUE PRESSURIZADO

COMISSÃO EXAMINADORA:

Prof. D. Sc. José Leandro Félix Salles Orientador

Prof. D. Sc. José Denti Filho Examinador

Prof. Dr. Alessandro Mattedi

Vitória - ES, 18 de Julho de 2005

DEDICATÓRIA

A meus pais. À minha carinhosa irmã Ludmila. A todos os amigos que estiveram comigo durante essa caminhada e de alguma forma contribuíram para minha formação como pessoa e como profissional.

i

AGRADECIMENTOS

A Deus por todas as oportunidades que tive na vida.

A Nelson Azeredo Barbosa, que tornou este trabalho possível por meio da

construção do Laboratório de Controle de Processos Multivariável. Ao Professor José Leandro, pela oportunidade de realizar este trabalho e por

toda a atenção concedida.

À Coordenação de Automação do Centro Federal de Educação Tecnológica de

Campos dos Goytacazes – RJ. Aos professores e alunos da mesma instituição que se dispuseram a ajudar quando necessitei.

ii

LISTA DE FIGURAS

Figura 1 – Diagrama do LCM

11

Figura 2 - Nível do Tanque 2 X sinal de saída

15

Figura 3 - Transmissor de Pressão do tanque 2

16

Figura 4 - Curva Entrada de Pressão X Sinal de Corrente do transmissor de pressão 16

Figura 5 - Válvula de Controle

17

Figura 6 - Válvula de nível do tanque 2 - Diâmetro da sede X curso da haste

18

Figura 7 - Válvula de pressão do tanque 2 - Diâmetro da sede X curso da haste

18

Figura 8 - Estrutura do CPBM

25

Figura 9 – α=0,99, δ=100, λ=5

36

Figura 10 - α = 0,985, δ = 1000, λ = 2

37

Figura 11: Detalhe; α=0,985, δ=1000, λ=2

38

Figura 12 - α=0,985, δ=4000, λ=1

38

Figura 13 - Detalhe: α=0,985, δ=4000, λ=1

39

Figura 14 - α=0,90, δ=4000, λ=1

39

Figura 15 - Ki = 1; Kp = 10

40

Figura 16 - Ki = 4; Kp = 40

41

Figura 17 - Ki = 10, Kp = 100

42

Figura 18 - Ki = 0,4; Kp = 40

43

Figura 19 – Árvore de um projeto realizado no PROGRAM WORX

46

Figura 20 - Árvore do Projeto após declaração dos itens de Configuração

47

Figura 21 - Estrutura de uma Logical POU

47

Figura 22 - Árvore de um Projeto

48

iii

LISTA DE TABELAS

Tabela 1 – Dimensões do Tanque 1

14

Tabela 2 – Dimensões do tanque 2

14

Tabela 3 – Características das bombas de água

15

Tabela 4 - Características do Transmissor de Pressão do tanque 2

16

Tabela 5 - Características da válvula de controle de nível do tanque 2

17

Tabela 6 - Características do posicionador da válvula de controle de nível do tanque

2

18

Tabela 7 - Válvulas de pressão do tanque 2

18

Tabela 8 - Características dos conversores P/I e I/P

19

iv

SIMBOLOGIA

α:

δ:

λ:

N

N

N

u :

1 :

2 :

yˆ :

u:

NOTAÇÃO

Fator de previsão da referência Ponderação do erro Ponderação do esforço de controle Horizonte de controle Horizonte de predição mínimo Horizonte de predição máximo Predição da saída

Sinal de controle

G:

Letras maiúsculas sublinhadas denotam matrizes

y:

Letras minúsculas sublinhadas denotam vetores

v

GLOSSÁRIO

CPBM:

Controle Preditivo Baseado em Modelo

DMC:

Dynamic Matrix Control (Controle por Matriz Dinâmica)

GPC:

Generalized Predictive Control (Controle Preditivo Generalizado)

CLP:

Controlador Lógico Programável

vi

SUMÁRIO

I

AGRADECIMENTOS II

DEDICATÓRIA

LISTA DE FIGURAS

III

LISTA DE TABELAS

IV

SIMBOLOGIA V NOTAÇÃO V

GLOSSÁRIO

VI

RESUMO

IX

1 INTRODUÇÃO 10

1.1

O Laboratório de Controle de Processos Multivariável - LCM

10

1.2

Objetivo 12

2 DESCRIÇÃO DO LABORATÓRIO

13

2.1

Descrição dos equipamentos 13

2.1.1 Tanque

1

14

2.1.2 Tanque

2

14

2.1.3 Bombas de água

15

2.1.4 Transmissor de nível

15

2.1.5 Transmissor de pressão 15

2.1.6 Válvula de controle de nível e pressão e seus posicionadores

17

2.1.7 Conversores 19

2.2

Painel de Relés e Painel de Rede

19

2.3

Microcomputador e Placa Controladora 19

2.4

A Rede de Sensores e Atuadores

20

2.5

Conclusões

20

3 O PROCESSO CONTROLADO E O DESENVOLVIMENTO DOS CONTROLADORES 21

3.1 Introdução

21

3.2 A Configuração da Planta

21

3.2.1 O Modelo do Processo 22

vii

3.3

A Linguagem de Programação

22

22

3.5 O CONTROLADOR PREDITIVO 24

3.4 O Controlador PI

3.5.1 Elementos do CPBM

24

3.5.1.1 O modelo de predição 25

O

MODELO DO PROCESSO

25

O

MODELO DAS PERTURBAÇÕES

26

3.5.1.2 Respostas Livre e Forçada

26

3.5.1.3 Função Objetivo

27

3.5.1.4 Trajetória de referência 27

RESTRIÇÕES 27

3.5.2 O algoritmo de controle 28

 

3.5.3 O modelo discreto

28

3.5.4 O programa de controle

31

3.6

Conclusões

34

4 RESULTADOS

35

4.1

Desempenho do Controlador Preditivo

35

4.2

Desempenho do Controlador PI

40

4.3

Comparação de Desempenho dos Controladores

43

5 CONCLUSÕES

44

APÊNDICE A

45

APÊNDICE B

49

REFERÊNCIAS BIBLIOGRÁFICAS

51

viii

RESUMO Este projeto tem como objetivo aplicar uma estratégia de Controle Preditivo Baseado em Modelo (CPBM) ao controle de nível de água em um tanque pressurizado.

O tanque utilizado faz parte da planta-piloto didática do Laboratório de Controle de

Processos Multivariável (LCM) do Centro Federal de Educação Tecnológica de Campos dos Goytacazes – RJ. A estratégia de controle escolhida é o Controle Preditivo Generalizado, ou Generalized Predictive Control – GPC. O controlador será implementado em uma

placa controladora ligada a uma rede digital de sensores e atuadores do tipo Interbus.

A

linguagem de programação a ser utilizada é o Texto Estruturado, que está definida

na

norma IEC 61131-3. Para fins de comparação de desempenho e para adquirir familiaridade com a

linguagem de programação e com a planta, será realizado também um controlador clássico PI.

ix

10

1

INTRODUÇÃO

O Laboratório de Controle de Processos Multivariável (LCM) do CEFET de

Campos dos Goytacazes foi construído para permitir que alunos de graduação na área de controle de processos tenham contato com equipamentos utilizados na indústria, tais como válvulas, transdutores e controladores lógicos programáveis. No laboratório, tais equipamentos estão ligados em rede, o que permite controlar e supervisionar o processo através de uma interface homem-máquina. A configuração do laboratório permite ao aluno o contato com vários tipos de problema de controle, desde os sistemas SISO mais simples, passando por alguns mais complexos, como sistemas MIMO, até aqueles impossíveis de serem resolvidos. Além disso, o laboratório permite desenvolver algoritmos de controle estudados no meio acadêmico e aplicá-los em um ambiente com características semelhantes às de uma planta industrial, sujeito a saturação de válvulas, não linearidades, atrasos, etc.

1.1 O Laboratório de Controle de Processos Multivariável - LCM

O laboratório, como pode ser visto na Figura 1, é constituído por um tanque de

alimentação (tanque 1), que supre água para outros dois tanques (tanques 2 e 3) por meio de duas bombas (B2 e B3). O interior do tanque 1 está sob pressão atmosférica e os tanques 2 e 3 possuem uma pressão interna igual a P2 e P3, respectivamente, fornecidas por um compressor. Os níveis dos tanques 2 e 3 podem ser modificados através das válvulas vn2 e vn3, respectivamente, e as pressões internas podem ser modificadas através das respectivas válvulas vp2 e vp3. Os tanques 2 e 3 estão interconectados através da válvula v23. Os tanques são equipados com sensores de nível e pressão. Estes transmitem sinais de corrente de 4 a 20 mA a cartões de aquisição, instalados juntos a um terminal de barramento. Os sinais de corrente são digitalizados e enviados pela rede digital

Interbus a uma placa controladora instalada no barramento ISA de um microcomputador Pentium padrão. Esta processa as informações dos sensores de campo e envia comando para os atuadores realizando, assim, o controle do processo. A

11

configuração do barramento, a implementação das lógicas de controle e a supervisão do processo são feitas nesse mesmo microcomputador.

COMPRESSOR ATM ATM Vp3 Vp2 PT PIC PIC PT LT LT TANQUE 2 P/I LIC
COMPRESSOR
ATM
ATM
Vp3
Vp2
PT
PIC
PIC
PT
LT
LT
TANQUE 2
P/I
LIC
LIC
vn3
vn2
I/P
TANQUE 1
BOMBA CV1
CV1
TANQUE 3
DANCOR
DANCOR

PLANTA DIDÁTICA MULTIVARIÁVEL COM TANQUES ACOPLADOS

PLANTA DIDÁTICA MULTIVARIÁVEL COM TANQUES ACOPLADOS

Título: CONTROLE DE NÍVEL E PRESSÃO DO TANQUE 1 E 2.

Título: CONTROLE DE NÍVEL E PRESSÃO DO TANQUE 1 E 2.

Escala: 1:1

Ass.:

Figura 1 – Diagrama do LCM

12

Para desenvolvimento das atividades, são utilizados os seguintes softwares, que se encontram instalados no microcomputador do laboratório:

1 - PC WORX versão 2.02 release 13, fornecido pela Phoenix Contact. Este

software destina-se à parametrização e à configuração da placa controladora e do barramento e à criação do projeto (algoritmo de controle), que pode ser desenvolvido em linguagens textuais (Texto Estruturado ou Lista de Instruções) ou em linguagens gráficas (Ladder, Diagrama de Blocos de Função e Fluxograma Seqüencial).

2 - INTERBUS OPC_SERVER 2.00, fornecido pela Emation. Realiza a

interface entre a placa controladora e o software de supervisão e controle. Em outras palavras, coleta da placa controladora os dados dos instrumentos de campo e os disponibiliza ao software de supervisão. Além disso, recebe comandos deste e os repassa à placa controladora para que sejam enviados aos atuadores e outros

equipamentos no campo.

3 - Wizcon for Windows e Internet versão 8.1, também fornecido pela

Emation. Este software é utilizado para gerar as aplicações que fazem a interface entre

o operador e o processo, permitindo supervisioná-lo e controlá-lo. Além disso, permite disponibilizar essas aplicações em uma intranet ou na Internet, o que possibilita o monitoramento do processo à distância.

1.2 Objetivo Conforme exposto acima, a placa controladora pode ser programada através de linguagem de texto estruturado, o que possibilita o desenvolvimento de algoritmos de controle mais avançados, além dos tradicionais controladores PID. Portanto, o principal objetivo deste projeto é desenvolver algoritmos de controle preditivo e PID usando a linguagem de texto estruturado da placa controladora. Ambas as técnicas serão aplicadas ao controle do nível de água em um tanque pressurizado.

13

2 DESCRIÇÃO DO LABORATÓRIO

Este capítulo descreve os equipamentos do LCM utilizados no desenvolvimento do projeto. Nem todos os equipamentos do Laboratório foram utilizados. Este capítulo foca-se somente na descrição daqueles que fazem parte do processo controlado.

2.1 Descrição dos equipamentos Os seguintes equipamentos fazem parte do processo:

Tanque 1 – Tq1: tanque-reservatório de água que abastece os tanques 2

e 3. A água que sai desses tanques também retorna ao tanque 1.

Tanque 2 – Tq2: tanque pressurizado onde será realizado o controle de nível.

Bombas de água: retiram água do Tq1 e recalcam para os tanques 2 e 3.

Válvula de controle de nível do Tq2 – vn2: instalada na saída de água do Tq2, permite o controle de vazão.

Transmissor de nível: envia à placa controladora a informação de nível do tanque. Juntamente com a válvula vn2, forma a malha de controle de nível do Tq2.

Válvulas de controle de pressão – vp2: um par instalado na tubulação que alimenta o tanque com o ar vindo do compressor. Estas válvulas permitem a regulação da pressão aumentando ou restringindo a passagem de ar para o interior do tanque ou para a atmosfera.

Transmissor de pressão: envia à placa controladora a informação da

pressão no interior do tanque. Em conjunto com as válvulas vp2, forma

a malha de controle de pressão do Tq2.

os conversores

Corrente/Pressão, que convertem um sinal de corrente de 4 a 20 madc

em um sinal de

psi; e os conversores

Conversores:

são

utilizados

de

dois

3

a

tipos,

pressão

15

14

Pressão/Corrente, que convertem um sinal de pressão de 3 a 15 psi em um sinal de corrente de 4 a 20 madc. A seguir encontra-se uma descrição mais detalhada dos equipamentos citados

acima.

2.1.1 Tanque 1

Este tanque armazena a água que vem de uma caixa externa ao laboratório. Essa água será usada para alimentar o processo. O tanque é equipado com um visor de

nível e com duas chaves de nível, que monitoram os níveis máximo e mínimo. A Tabela 1 mostra suas características.

Tabela 1 – Dimensões do Tanque 1

Raio:

4.55dm

Altura:

9.10dm

Comprimento:

17.5dm

Comprimento Útil:

14.4dm

Seção Transversal:

151.1dm 2

2.1.2 Tanque 2

Este tanque recebe a água vinda do tanque 1, enviada pelas bombas, e o ar comprimido vindo do compressor. Nele são realizados os controles de nível e de pressão, por meio da manipulação das vazões de saída de água e de entrada de ar. O tanque tem as dimensões mostradas na Tabela 2.

Tabela 2 – Dimensões do tanque 2

Raio:

3.08dm

Altura:

14.5dm

Circunferência:

19.4dm

Seção Transversal:

24.5dm 2

15

2.1.3 Bombas de água As duas bombas de que alimentam o sistema são centrífugas e possuem as

mesmas características, dadas na Tabela 3.

Tabela 3 – Características das bombas de água

Fabricante:

Dancor

Potência:

1.0 CV

Rotação:

3450 RPM

Tensão de alimentação:

115/230V

Pressão de trabalho:

300kgf/dm 2

2.1.4 Transmissor de nível

Este transmissor mede o nível do tanque 2 e transmite a informação à placa controladora. Ele transmite a informação na forma de um sinal no padrão 4 a 20 madc, proporcional ao nível de água dentro do tanque. O instrumento foi instalado com a tomada de nível baixo a 13,6 dm de distância do solo, enquanto a tomada de nível alto está a 17,2 dm do solo. Na Figura 2, pode-se ver a curva que relaciona o sinal de pressão da saída do medidor, na faixa de 21.09 a 105.5 kgf/dm2, com o nível do tanque.

na faixa de 21.09 a 105.5 kgf/dm2, com o nível do tanque. Figura 2 - Nível

Figura 2 - Nível do Tanque 2 X sinal de saída

2.1.5 Transmissor de pressão

Este instrumento mede a pressão no interior do tanque 2. Pode ser utilizado para indicação local ou remota ou para controle. O transmissor gera como saída um

sinal no padrão 4 a 20 madc proporcional à pressão. Na Figura 3 pode-se ver o transmissor instalado no tanque. A Tabela 4 apresenta suas características.

16

16 Figura 3 - Transmissor de Pressão do tanque 2 Tabela 4 - Características do Transmissor

Figura 3 - Transmissor de Pressão do tanque 2

Tabela 4 - Características do Transmissor de Pressão do tanque 2

Fabricante:

Foxboro

Modelo:

E11GM

Range de saída:

4 a 20 madc

Range de entrada:

0 a 1000 Kgf/dm 2

Faixa de trabalho:

0 a 300 Kgf/dm 2

Alimentação:

13 a 50 Vdc

A Figura 4 mostra o sinal de saída do instrumento em função do sinal de pressão de entrada.

do instrumento em função do sinal de pressão de entrada. Figura 4 - Curva Entrada de

Figura 4 - Curva Entrada de Pressão X Sinal de Corrente do transmissor de pressão

17

2.1.6 Válvula de controle de nível e pressão e seus posicionadores As válvulas de controle de nível e pressão regulam o fluxo de água e de ar que passa através de si restringindo ou ampliando a área de sua sede. Na Figura 5, vemos uma foto de uma válvula e uma ilustração que mostra sua construção.

uma válvula e uma ilustração que mostra sua construção. Figura 5 - Válvula de Controle As

Figura 5 - Válvula de Controle

As válvulas de controle são acopladas a posicionadores que permitem um correto posicionamento do obturador. Os posicionadores pneumáticos recebem um sinal padrão de 21,9kgf/dm 2 a 105,5kgf/dm 2 psi e enviam um sinal pneumático, enquanto os eletro-pneumáticos recebem um sinal padrão de 4 a 20 madc e envia um sinal pneumático para a válvula de controle. A Tabela 5 mostra as características da válvula de controle de nível do tanque 2; a Tabela 6 as de seu respectivo posicionador; a Tabela 7 as das válvulas de controle de pressão e as de seus posicionadores. A Figura 6 mostra o diâmetro equivalente da sede da válvula de nível do tanque 2 em função da posição de seu obturador; a Figura 7 mostra a curva para as válvulas de pressão.

Tabela 5 - Características da válvula de controle de nível do tanque 2

Fabricante:

Hiter

Diâmetro do orifício:

0.254 dm

Tipo:

Pneumático

Curso da haste:

0.1905 dm

Tag:

LV 200

18

Tabela 6 - Características do posicionador da válvula de controle de nível do tanque 2

Fabricante:

Hiter

Tipo:

Pneumático

Modelo:

P-32

Hiter Tipo: Pneumático Modelo: P-32 Figura 6 - Válvula de nível do tanque 2 - Diâmetro

Figura 6 - Válvula de nível do tanque 2 - Diâmetro da sede X curso da haste

Tabela 7 - Válvulas de pressão do tanque 2

Válvula de suprimento

Válvula de exaustão

Posicionador

Fabricante:

Asca

Fabricante:

Asca

Fabricante:

Contrisul

Diâmetro do orifício:

0.06dm

Diâmetro do orifício:

0.06dm

Tipo:

Eletropneumático

Curso da haste:

0.16dm

Curso da haste:

0.16dm

Modelo:

6 986 520

Tag:

PV 500/P

Tag:

PV 500/E

 
T a g : PV 500/P Tag: PV 500/E   Figura 7 - Válvula de pressão

Figura 7 - Válvula de pressão do tanque 2 - Diâmetro da sede X curso da haste

19

2.1.7 Conversores São instrumentos que tem por finalidade converter um sinal padrão em outro sinal de padrão diferente. No LCM, são utilizados conversores pressão/corrente (P/I), que transformam um sinal de pressão na faixa de 3 a 15 psi em um sinal de corrente na faixa de 4 a 20 madc, além de conversores corrente/pressão (I/P), que fazem a transformação inversa. A Tabela 8 mostra as características dos conversores usados.

Tabela 8 - Características dos conversores P/I e I/P

 

Conversor P/I

Conversor I/P

Fabricante:

American Instruments do Brasil

Fabricante:

Transmitel

Modelo:

TPC-5410

Modelo:

B-1200

Tag:

LY – 200

Tag:

LY – 300

2.2 Painel de Relés e Painel de Rede No painel de relés é feita a distribuição de fases para alimentar os equipamentos. Nele estão localizados relés, contatores, fusíveis, disjuntores, circuito de distribuição de fases, fonte de alimentação e barramentos, que protegem e energizam os equipamentos da planta. O painel de rede abriga o controlador de campo com sua fonte de alimentação, além dos outros módulos da rede Interbus, que são: dois módulos de entradas analógicas, quatro módulos de saídas analógicas, quatro módulos de entradas digitais e quatro módulos com saídas digitais.

Os diagramas das ligações dos painéis de rede e de relés com os equipamentos

são encontrados em Barbosa [1].

2.3 Microcomputador e Placa Controladora

A placa controladora, responsável por executar as rotinas de controle

programadas, encontra-se instalada no barramento ISA de um microcomputador. Ela se conecta a um terminal de barramento por meio da rede Interbus. Este terminal faz uma interface entre a placa e os módulos de entrada e saída.

O microcomputador é utilizado para escrever as rotinas de controle e

configurar a placa controladora e o barramento de campo. Além disso, pode ser usado

para criar e executar aplicações que permitem supervisionar o processo.

20

2.4 A Rede de Sensores e Atuadores

O LCM é equipado com uma rede de comunicação industrial digital que segue

o padrão Fieldbus. A rede do LCM é do tipo Interbus, um dos vários tipos de Fieldbus

disponíveis no mercado. É composta de:

Uma placa controladora IBS ISA FC/I-T;

Um terminal de barramento, modelo IBS IL 24 BK-T/U;

Dois módulos de entradas analógicas, modelo IB IL AI 2/SF;

Quatro módulos de saídas analógicas, modelo IB IL AO 1/SF;

Quatro módulos de entradas digitais, modelo IB IL DI 16;

Quatro módulos com saídas digitais, modelo IB IL DO 16.

O conjunto formado pelo terminal de barramento e os módulos de entrada e

saída constitui o barramento de campo; ele faz a interface entre a placa controladora e

os instrumentos. Esta processa as informações que vêm dos instrumentos e realiza todo

o controle.

2.5 Conclusões Neste capítulo, o hardware utilizado no projeto foi apresentado e descrito. No próximo capítulo encontra-se a o desenvolvimento do programa que implementa o algoritmo de controle preditivo.

O Apêndice A descreve sucintamente a criação de um projeto de automação

no software do controlador disponível no LCM.

21

3 O PROCESSO CONTROLADO E O DESENVOLVIMENTO DOS CONTROLADORES

3.1 Introdução Neste trabalho, pretendeu-se realizar o controle de nível no tanque 2 da planta do LCM usando o clássico controlador PI e uma estratégia de controle preditivo. Ambos foram implementados em Texto Estruturado. O controlador PI foi implementado com a finalidade de adquirir familiaridade com a linguagem de programação e com a própria planta. Em seguida, partiu-se para a construção do controlador preditivo. Este capítulo descreve o processo controlado, justifica a escolha da linguagem de programação utilizada e mostra o desenvolvimento dos controladores.

3.2 A Configuração da Planta Como dito anteriormente, os controladores desenvolvidos têm por finalidade manter o nível do tanque constante em um valor desejado. A planta foi configurada para que o tanque 2 ficasse isolado, configurando um sistema SISO. Para tanto, a válvula v23 de interligação dos tanques foi fechada, o que constitui a configuração C2 descrita em Barbosa [1]. A planta teve de ser ajustada de modo a trabalhar sob as mesmas condições em que seu modelo foi obtido Barbosa [1]. A pressão no interior do tanque foi mantida constantemente em 100kgf/dm 2 . O tanque foi inicialmente preenchido com água até 50% de seu volume. A vazão de água na entrada foi ajustada de modo a ser igual à vazão de saída quando a válvula de controle de nível vn2 estivesse com sua abertura em 50%. Para controlar a pressão no interior do tanque, foi utilizado um controlador PID que já se encontra implementado na forma de um bloco de função. A saída desse bloco é o valor da variável de controle, que é enviado às válvulas de controle de pressão. Neste projeto, o valor do ganho derivativo foi ajustado para zero, fazendo com que o controlador atue apenas como um PI.

22

3.2.1 O Modelo do Processo

O modelo do processo descrito no item anterior foi obtido em Barbosa [1]. No

domínio da freqüência, pode ser aproximado por:

x

2

(

s

)

0,1066

r

1

(

s

)

s + 0,00688

Equação 1

3.3 A Linguagem de Programação

A linguagem em que os controladores foram implementados, aplicável ao

modelo de placa controladora utilizado, é uma das definidas pela norma IEC 61131-3.

A linguagem a ser utilizada na realização dos controladores deveria ser similar

a outras linguagens de programação já muito difundidas para facilitar uma familiarização evitando, assim, se perder muito tempo estudando-a. Deveria também ser flexível o suficiente para implementar algoritmos diferentes dos encontrados nos blocos de função definidos pela norma IEC 61131-3. Por isso, a escolhida foi o Texto Estruturado, muito semelhante aos conhecidos C e Pascal.

O controlador não possui um ferramental matemático muito rico. Por outro

lado, o texto estruturado permite realizar várias operações, como adições e multiplicações, em uma mesma linha de programa. Por isso, a tarefa de implementação dos controladores se tornou bastante simples e resultou em códigos bastante enxutos.

3.4 O Controlador PI

O clássico controlador PI foi implementado, como citado anteriormente, com a

finalidade de adquirir familiaridade com o texto estruturado, a linguagem de programação utilizada no desenvolvimento do projeto.

O controlador implementado possui a seguinte estrutura:

onde:

U

()

t

()

= Kp × e t

+ Ki ×

Equação 2

()

e t dt

23

U(t): ação de controle;

e(t): erro ou diferença entre a referência e a saída real do processo num determinado instante;

Kp: ganho proporcional;

Ki: ganho integral.

No Apêndice B se encontra o programa escrito em texto estruturado que implementa o controlador. Para realização dos testes, o ajuste ou set point do nível era alterado em uma tela do Program Worx. Os valores eram escolhidos de forma a manter o nível sempre em torno do mesmo ponto de operação em que o modelo foi obtido: 50%. A leitura fornecida pelo sensor de nível chega na forma de uma variável inteira, que varia entre zero (0%) e 31000 (100%). Para que possa ser utilizada pelo programa, essa variável deve ser transformada para o formato real. A referência também é uma variável real. O valor configurado no programa para que o nível fique em 50% é 15500,0. Tendo lido o valor do nível, o algoritmo procede ao cálculo da ação de controle segundo o algoritmo PI tradicional. O resultado é um valor real. Uma vez que a ação de controle tenha sido calculada, ela deve ser enviada ao atuador na planta, a válvula de controle de nível vn2. A palavra de dados a ser enviada deve estar no formato Word, ou seja, uma palavra de 16 bits. Portanto, a ação de controle calculada deve ser convertida do formato real para o formato de WORD (palavra de 16 bits), que pode representar valores inteiros entre zero e 65535. Esta conversão é facilmente realizada por meio da função REAL_TO_WORD. Contudo, o controlador, ao realizar a conversão, na verdade gera uma DOUBLE WORD, ou seja, uma palavra de 32 bits e depois converte o valor de saída para os bits de mais baixa ordem da palavra. Devido à parcela integral do controlador, a ação de controle excedia

os limites de uma WORD. Isto fazia com que a válvula fosse pilotada para posições que não correspondiam ao que se desejava do controlador. Para corrigir este problema, limitou-se a palavra de dados enviada à válvula para que esta estivesse sempre entre zero e 65535. Esta limitação é realizada com a utilização da função LIMIT_REAL(LOW,U,HIGH), em que:

24

U é a variável de interesse;

LOW é o limite inferior que a variável de interesse pode assumir;

HIGH é o limite superior da variável.

3.5 O CONTROLADOR PREDITIVO

O controle preditivo surgiu no ambiente industrial na década de 1970 baseado

na idéia de prever o comportamento futuro do processo. É uma das técnicas de controle moderno mais potentes e vem ganhando espaço nos últimos anos.

3.5.1 Elementos do CPBM

O Controle Preditivo Baseado em Modelo (CPBM) não é uma técnica única,

mas um conjunto de métodos de controle que se baseiam em algumas idéias comuns:

Usam um modelo explícito do processo para predizer a saída do mesmo num determinado horizonte finito;

Calculam as ações de controle para todo o horizonte a partir da minimização de uma determinada função objetivo;

O horizonte é deslizante; em cada período de amostragem o horizonte é deslocado um passo para frente, aplica-se a ação de controle unicamente naquele instante e desconsidera-se o resto dos controles dentro do horizonte.

A Figura 8 mostra a estrutura de um controlador preditivo.

As diferenças entre os diversos algoritmos existentes devem-se basicamente à forma de escolher os modelos para o processo e as perturbações, ao tipo de função objetivo e ao procedimento para manipular as restrições e o cálculo do controle.

25

25 Figura 8 - Estrutura do CPBM 3.5.1.1 O modelo de predição O modelo de predição

Figura 8 - Estrutura do CPBM

3.5.1.1 O modelo de predição O modelo de predição é o elemento mais importante dentro do controlador, dado que ele deve ser capaz de representar adequadamente a dinâmica do processo, deve permitir o cálculo das predições da saída do processo, ser intuitivo e ao mesmo tempo permitir uma análise teórica do sistema. Os modelos são equações discretas no tempo que representam as relações entre entrada manipulada, perturbações e saídas do processo. É separado em duas partes: o modelo do processo e o modelo das perturbações.

O MODELO DO PROCESSO Segundo Rico [3], os modelos mais usados para representar o processo são a resposta ao impulso, a resposta ao degrau, função de transferência e espaço de estados. Estes modelos consideram somente o comportamento linear ou linearizado do processo. São os mais usados por sua simplicidade. Modelos não-lineares podem ser utilizados para representar o processo quando os modelos lineares não geram bons

26

resultados. Lógica fuzzy e redes neurais podem ser usadas para obter o modelo do processo.

O MODELO DAS PERTURBAÇÕES O modelo mais utilizado para representar perturbações determinísticas e estocásticas é conhecido como modelo autorregressivo integrado de média móvel (“Auto-Regressive and Integrated Moving Average”, ARIMA). As perturbações são provocadas pelas diferenças entre o processo real e o modelo, offsets (desvios) e ruídos.

O modelo ARIMA tem a forma:

n

(

j

)

=

(

1

(

C z

D z

e

) (

1

)

j

)

Equação 3

onde C(z -1 ) e D(z -1 ) são polinômios e e(j) é um ruído branco.

3.5.1.2 Respostas Livre e Forçada Nos algoritmos de CPBM, considera-se a seqüência de controle composta de duas partes:

u()j

=

u ()j u ()j

f

+

c

onde u f (j) corresponde aos valores passados da entrada e é mantida igual aos valores da variável manipulada:

u f ( j – k ) = u( j – k ), para k = 1, 2, u f ( j + k ) = u( j – 1 ), para k = 0, 1, 2, u c (j) é zero no passado e igual aos controles a serem aplicados no futuro:

u c ( j – k ) = 0, para k = 1, 2, u c ( j + k ) = u( j + k ) – u( j – 1), para j = 0, 1, 2, Desta forma a predição da saída do processo pode ser separada em duas partes: a resposta livre y (j) , que corresponde à predição da saída quando a entrada é

ˆ

f

27

igualada a u f (j), e a outra, a resposta forçada y ( j) , que corresponde às predições

quando o controle é igual a u c (j).

ˆ

c

3.5.1.3 Função Objetivo Segundo Ramos [2], a finalidade da função objetivo (J) é minimizar o erro entre a previsão da saída (yˆ) e a referência desejada (w) penalizando o esforço de

controle (u). A expressão mais geral da função objetivo é:

J =

N

2

k

=

N

1

[

δ

(

j

+

k

)

j

(

w j

+

k

)

]

2

Equação 4

+

N

u

k

= 1

λ

[

⋅ ∆

u

(

j

+

k

1

)] 2

onde N 1 e N 2 são os horizontes de predição mínimo e máximo, onde se deseja que a saída siga a referência, N u é o horizonte de controle e δ e λ são ponderações do erro e do esforço de controle, respectivamente.

3.5.1.4 Trajetória de referência Uma das vantagens do controle preditivo é utilizar o conhecimento dos valores futuros de referência para calcular o sinal de controle. Esta característica é importante em algumas aplicações como robótica móvel e manipuladora, em servo–acionamentos e em processos tipo batelada onde a referência futura é conhecida a priori. A seguinte expressão é usada para calcular a referência:

w()j = r()j ; w( j + k) = α w( j + k 1)+ (1α)r( j + k), k = 1

N

onde α [0,1] e r é a referência real do sistema. Esta lei representa um filtro

passa-baixas de primeira ordem que pode ser ajustado para suavizar mais (α próximo de 1) ou menos (α próximo de zero) a forma da resposta. RESTRIÇÕES Os algoritmos de controle preditivo permitem a inclusão de restrições nas variáveis de entrada e saída que refletem limitações reais dos processos. Essas restrições são representadas por equações como:

28

≤ ≤

u

du

y

min

min

min

u

j

u

max

u

(

j

max

(

)

u

()

j

y(j)

≤ ≤

y

,

j

1

,

)

j

du

max

,

j

3.5.2 O algoritmo de controle A estratégia de controle escolhida neste trabalho é o controle preditivo generalizado – Generalized Predictive Control, GPC. Uma descrição detalhada desse algoritmo pode ser encontrada em Ramos [2] e em Rico [3].

3.5.3 O modelo discreto O modelo discretizado do processo foi obtido com o auxílio da ferramenta c2d do MATLAB, usando tempo de amostragem de 0,1s:

y

(

j

)

0,01066 z

1

=

u

(

j

)

1

0,9993 z

1

Equação 5

Este modelo é equivalente a:

(1

0,9993

z

1

)

×

y

()

j

=

Equação 6

Da Equação 6, obtemos:

(

(

A z

B

z

1

1

)

)

=

1

0,9993 z

1

= 0,01066

0,01066

×

u

(

j

1)

Esse sistema não possui atraso, portanto: d=0. Foi escolhido um horizonte de controle N u = 7. Este valor foi escolhido com base nos resultados de simulações feitas no MATLAB. Estas mostraram que horizontes de controle menores não eram capazes de estabilizar o sistema ou geravam respostas insatisfatórias. Como o atraso é zero, o horizonte de predição mínimo é N 1 = 1 e o horizonte de predição máximo é N 2 = 7. Para o cálculo das predições, utiliza-se o modelo do sistema e a solução da seguinte equação Diofantina:

1 = E

j

(

z

1

)(

à z

1

Equação 7

)

+ z

j F

j

(

z

1

)

29

com Ã(z -1 ) = (1-z -1 ).A(z -1 ). A solução dessa equação foi encontrada com o auxílio do código para MATLAB encontrado em Ramos [2]. Dados os horizontes de predição mínimo e máximo, devem ser encontrados os polinômios E 1 a E 7 e F 1 a F 7 . Estes se encontram abaixo:

E

E

E

E

E

E

E

1

2

3

4

5

6

7

F

1

F

2

F

3

F

4

F

5

F

6

F

7

= 0,0107

0,0107

= +

+

+

0,0107

0,0107

0,0107

0,0107

0,0107

+

=

=

=

=

=

+

+

z

z

0,0213 z

z

z

0,0213

0,0213

0,0213

0,0213

0,0213 z

1

1

1

1

1

1

=

=

=

=

=

=

=

1,9993

0,9993

z

1

2,9979

3,9958

4,9930

5,9895

6,9853

7,9804

1,9979

2,9958

3,9930

4,9895

5,9853

6,9804

z

1

z

z

z

1

1

1

z

1

z

1

+

+

+

+

+

0,0320

z

2

0,0320

z

2

0,0320

z

2

0,0320

z

2

0,0320

z

2

+

+

+

+

0,0426 z

0,0426

0,0426

0,0426

z

z

z

3

3

3

3

+

+

+

0,0532

0,0532

0,0532

z

z

z

4

4

4

+

+

0,0638

0,0638

z

z

5

5

+

0,0745

z

6

Uma vez que a solução da equação Diofantina tenha sido calculada, procede- se ao cálculo das predições. O método de cálculo pode ser encontrado em Rico [3]. As predições calculadas são as seguintes:

30

y j + 1 j

ˆ(

ˆ(

)

=

0,0107

u

(

j

)

+

1,9993

y

(

j

)

+

0,9993 y (

j

1)

y

ˆ(

j + 2 j ) =

y

j

0,0213

u

(

j

)

+

0,0107

u

(

j

+

1)

+

2,9979

y

0,032

u

(

j

)

+

0,0213

u

(

j

+

1)

+

0,0107

u

1)

0,0426

u

(

j

)

+

0,032

u

(

j

+

1)

+

0,0213

u

)

+

3,9930 y (

j

1)

0,0532

u

(

j

)

+

0,0426

u

(

j

+

1)

+

0,032

u

(

j

+

4)

+

5,9895

y

(

j

)

+

4,9895 y (

j

1)

) 0,0638

=

u j

(

+

4)

+

(

j

)

+

u

0,0107

0,0532

(

+

u

j

u

5)

(

+

j

1)

6,9853

+

+

0,0426

+

y

(

j

)

)

u

= ∆

(

0,0745

(

0,0213

u

j

)

+

0,0638

u

j

+

4)

+

(

j

+

5)

(

u

+

1)

j

0,0107

+

+

0,0532

j

u

(

u

(

j

)

+

1,9979 y (

j

1)

(

j

+

2)

+

3,9958

y

(

j

)

+

 

(

j

+

2)

+

0,0107

u

(

j

+

3)

+

(

j

+

2)

+

0,0213

u

(

j

+

3)

+

u

(

j

+

2)

+

0,032

u

(

j

+

3)

+

5,9853 y (

j

1)

j

+

2)

6,9853

+

0,0426

y

(

j

)

+

u

(

5,9853 y (

j

+

3)

j

+

y

+ 2,9958 y (

j + 3 j ) =

j

ˆ(

y

+ 4,9930 (

j + 4 j ) =

ˆ(

y

+

j + 5 j ) =

u

0,0107

ˆ(

y j + 6 j

+

0,0213

ˆ(

y j + 7 j

+

0,032

6)

+ +

(

1)

Na forma matricial, escreve-se:

ˆ

y

+

(

j

+

k j

)

1,9993

3,9958

2,9979

4,9930

5,9895

6,9853

7,9804

=

0,0107

0,0320

0,0745

0,0638

0,0532

0,0426

0,0213

0,9993

1,9979

2,9958

4,9895

3,9930

5,9853

6,9804

0

0,0107

0,0213

0,0320

0,0426

0,0532

0,0638

×

y

y

(

(

j

j 1

)

0

0

0,0107

0,0213

0,0320

0,0426

0,0532

)

0

0

0

0,0107

0,0213

0,0320

0,0426

Resumidamente:

sistema.

y = G u + f , onde

0

0

0

0

0,0107

0,0213

0,0320

0

0

0

0

0

0,0107

0,0213

0

0

0

0

0

0

0,0107

×

 

(

)

u

j

+ 2

u

u

(

(

(

(

(

(

j

j

+ 1

)

)

)

u

u

u

u

j

j

j

j

+ 3

+ 4

+ 5

+ 6

)

)

)

+

f

é a parcela de resposta livre do

31

Observa-se que a parcela de resposta livre depende somente de respostas atual e passada do sistema. Com a finalidade de obter os diferenciais da ação de controle

u( j + k), k = 0

7

, minimiza-se a função objetivo. A solução é dada:

(

I)

u

=

δ δ

G

G

T

+

λ

Equação 8

1

δ

G

T

(w

f )

Pode-se escrever de forma mais sucinta:

onde

e w = [w(j +1)(w j + 2)

u = K (w f )

Equação 9

K =

(

δ δ

G G

T

+

λ

I

)

1

Equação 10

K

w(j + N)].

δ

G

T

Deve-se notar que, uma vez obtida a matriz G, basta aplica-la ao cálculo dos coeficientes K e, com estes, obter os diferenciais da ação de controle.

A demonstração da solução da função objetivo pode ser encontrada em Ramos

[2].

A seguir encontra-se o programa implementado para realização do controle do nível do tanque.

3.5.4 O programa de controle Será apresentado agora o programa que realiza o algoritmo do GPC, escrito em Texto Estruturado. O programa está explicado por meio dos comentários. Declaração das variáveis do programa:

hp: inteira; número de passos do horizonte de controle.

K: vetor de número reais com 7 elementos; coeficientes para cálculo da ação de controle.

K1, K2, K3, K4, K5, K6, K7: reais; são utilizados para inserir no programa os coeficientes para cálculo da ação de controle.

ENABLE_P: booleana; habilita o controlador preditivo.

32

ENABLE: booleana; habilita um controlador PID que foi implementado com fins de teste na mesma árvore de projeto.

referencia: real; contém o valor de referência do nível.

rf: vetor de números reais; contém a referência do controlador.

Y: inteiro; contém o valor do nível do tanque.

LT_200: inteiro; transmissor de nível do tanque.

W: vetor de reais com 7 elementos; contém a trajetória de referência.

alfa: real; parâmetro para cálculo da trajetória de referência.

Yf: vetor de reais com 7 elementos; contém os valores obtidos no cálculo da resposta livre.

Ys: vetor de reais com 2 elementos; contém a saída atual Ys( j) e a saída

no instante anterior Y ( j 1) do sistema.

dU: real; valor do diferencial da ação de controle.

U_atual: real; valor da ação de controle.

AUX: real; variável auxiliar.

VALVE: real; valor da ação de controle que será enviada à válvula.

LV_200: word; variável de saída do controlador, endereçada à válvula de nível vn2.

i, j, m: inteiros; variáveis auxiliares nos loops.

(*Horizonte de Predição*)

hp:=7;

Abaixo, os coeficientes obtidos por meio da Equação 10 são inseridos no vetor K. Faz-se necessário usar as variáveis K1 a K7 porque elas podem ser acessadas e modificadas na tela de variáveis do programa PC WORX, ao passo que os elementos do vetor não podem.

(*Coeficientes do Cálculo da Ação de Controle*)

K[1] := K1; K[2] := K2; K[3] := K3; K[4] := K4; K[5] := K5; K[6] := K6;

33

K[7] := K7;

(*Controlador*)

IF (ENABLE_P AND NOT(ENABLE)) preditivo e bloqueia o PID*)

THEN (*Habilita o controlador

(*Atualização de um Vetor de Referência: insere a referência no programa do no controlador *) rf[7] := referencia; (*nova referência inserida no último elemento do vetor de referência*)

(* Este loop realiza a atualização gradual do vetor de referência. A

cada ciclo da placa, mais um elemento do vetor recebe a nova referência *) FOR i:=1 TO 6 BY 1 DO

m := i+1;

rf[i] := rf[m]; END_FOR;

(*Atualização do vetor de nível do tanque. Este vetor contém o nível atual e o nível lido no ciclo anterior*)

Y := LT_200; (*VARIÁVEL DO PROCESSO - TRANSMISSOR DE NÍVEL*); Ys[1] := Ys[2]; Ys[2] := INT_TO_REAL(Y);

(*Cálculo da trajetória de referência*)

W[1] := alfa*Ys[2] + (1.0-alfa)*rf[1]; (* Primeiro elemento do vetor da trajetória de referência*) FOR i:=2 TO hp BY 1 DO

m:=i-1;

W[i] := alfa*W[m] + (1.0-alfa)*rf[i]; END_FOR;

(*Cálculo da resposta livre*) Yf[1] := 1.9993*Ys[2] - 0.9993*Ys[1]; Yf[2] := 2.9979*Ys[2] - 1.9979*Ys[1]; Yf[3] := 3.9958*Ys[2] - 2.9958*Ys[1]; Yf[4] := 4.9930*Ys[2] - 3.9930*Ys[1]; Yf[5] := 5.9895*Ys[2] - 4.9895*Ys[1]; Yf[6] := 6.9853*Ys[2] - 5.9853*Ys[1]; Yf[7] := 7.9804*Ys[2] - 6.9804*Ys[1];

(*Cálculo do diferencial da ação de controle*) dU := 0.0; FOR j:=1 TO hp BY 1 DO dU := dU + K[j]*(W[j] - Yf[j]); END_FOR;

(*Sinal de Controle Atual*)

(* Limitação do sinal de comando enviado à válvula *) AUX := U_atual + dU; IF AUX > 32768.0 THEN U_atual := 32768.0; ELSIF AUX < -32767.0 THEN U_atual := -32767.0; ELSE U_atual := U_atual + dU;

34

END_IF;

(* À ação de controle calculada é somado metade do valor da faixa de trabalho da válvula *)

AUX_LV := U_atual + 32767.0;

VALVE := LIMIT_REAL(0.0,AUX_LV,65535.0); (*Este comando garante que a palavra de controle enviada à válvula não ultrapasse o valor máximo de sua faixa de trabalho*) LV_200:= REAL_TO_WORD(VALVE); (*Conversão da palavra de controle para o formato WORD e envio à válvula*)

(*As linhas

abaixo

desabilitado*) ELSE Ys[1] := 0.0; Ys[2] := 0.0; U_atual := 0.0; FOR i:=1 TO hp BY 1 DO W[i] := 0.0;

END_FOR;

END_IF;

reiniciam o controlador

quando

ele

é

3.6 Conclusões Este capítulo apresentou o processo controlado e mostrou como os controladores foram implementados. O próximo capítulo mostra os resultados obtidos com o controlador preditivo e os compara com os obtidos com a aplicação do PI.

35

4

RESULTADOS

Neste capítulo são apresentados os resultados obtidos com o controlador preditivo. Em seguida, esses são comparados aos obtidos com a aplicação do PI.

4.1 Desempenho do Controlador Preditivo O controlador foi testado fazendo-se o nível variar em torno do ponto de operação: 50% do máximo. Eram aplicados degraus para que variasse para 40% e 60%. Permitia-se que o nível se estabilizasse em novo valor e em seguida outro degrau era aplicado. Diferentes ajustes do controlador são obtidos alterando-se os parâmetros α, δ e λ. O primeiro, como mostrado anteriormente, é aplicado ao cálculo da trajetória de referência. Neste trabalho, observou-se que o parâmetro deve assumir valores próximos de 1, de forma a tornar a trajetória de referência mais suave. Valores pequenos tornavam o sistema oscilatório, chegando mesmo a desestabilizá-lo em alguns casos. Os parâmetros δ e λ são aplicados ao cálculo dos coeficientes K. Nas figuras abaixo observamos no traço mais escuro, em vermelho, a resposta do nível para vários ajustes do controlador. Pode-se ver também, no traço mais claro, em laranja, a ação da válvula, que se encontra totalmente aberta quando seu gráfico atinge o mínimo.

36

36 Figura 9 – α =0,99, δ =100, λ =5 A Figura 9 captura a resposta

Figura 9 – α=0,99, δ=100, λ=5

A Figura 9 captura a resposta para um valor de δ pequeno e para um valor de α grande. Foram utilizados α=0,99, δ=100, λ=5. Como se pode observar, há sobressinal na resposta e o nível demora a se estabilizar em um novo patamar. Na Figura 10, os valores utilizados foram: α=0,985, δ=1000, λ=2.

37

37 Figura 10 - α = 0,985, δ = 1000, λ = 2 A Figura 11

Figura 10 - α = 0,985, δ = 1000, λ = 2

A Figura 11 mostra um detalhe da Figura 10. A resposta do sistema é rápida, mas há uma tendência a um pequeno sobressinal. Pode-se ver que o nível oscila em torno do valor de referência, neste caso, 60% do máximo.

38

38 Figura 11: Detalhe; α =0,985, δ =1000, λ =2 Figura 12 - α =0,985, δ

Figura 11: Detalhe; α=0,985, δ=1000, λ=2

38 Figura 11: Detalhe; α =0,985, δ =1000, λ =2 Figura 12 - α =0,985, δ

Figura 12 - α=0,985, δ=4000, λ=1

A Figura 12 mostra a resposta para o ajuste: α=0,985, δ=4000, λ=1. Aqui também a resposta do sistema foi rápida mas não houve sobressinal. No detalhe abaixo (Figura 13) pode-se observar que o sistema se tornou um pouco menos oscilatório.

39

39 Figura 13 - Detalhe: α =0,985, δ =4000, λ =1 Figura 14 - α =0,90,

Figura 13 - Detalhe: α=0,985, δ=4000, λ=1

39 Figura 13 - Detalhe: α =0,985, δ =4000, λ =1 Figura 14 - α =0,90,

Figura 14 - α=0,90, δ=4000, λ=1

40

A Figura 14 mostra a resposta para os parâmetros: α = 0,90, δ = 4000, λ = 1.

Nota-se que com este valor menor de α, a ação da válvula (em verde) se torna muito agressiva e o nível (em vermelho) oscila muito em torno de um patamar.

4.2 Desempenho do Controlador PI

O controlador PI clássico foi implementado para que se pudesse comparar o

desempenho do preditivo. Abaixo se encontram figuras que mostram seu desempenho em testes que

seguem o mesmo padrão aplicado aos testes do controlador preditivo.

Em Barbosa [1], foi encontrada a relação

k

i

k

p

= 0,1

entre os

ganhos do

controlador PI para que o mesmo elimine o erro estacionário do sistema, segundo o método do lugar das raízes.

.
.

Figura 15 - Ki = 1; Kp = 10

Na Figura 15, vê-se a resposta do sistema para Ki = 1 e Kp = 10, que mantém a razão de 0,1. Há grande sobressinal e o sistema demora muito a se estabilizar.

41

Na Figura 16 os ganhos foram ajustados para Ki = 4; Kp = 40. Há sobressinal da mesma magnitude que do ajuste anterior. A resposta se torna um pouco mais rápida. Na Figura 17, Ki e Kp foram ajustados em 10 e 100, respectivamente. O sobressinal é semelhante. O nível, porém, oscila mais em torno da referência.

O sobressinal é semelhante. O nível, porém, oscila mais em torno da referência. Figura 16 -

Figura 16 - Ki = 4; Kp = 40

42

42 Figura 17 - Ki = 10, Kp = 100 Na Figura 18 é mostrada a

Figura 17 - Ki = 10, Kp = 100

Na Figura 18 é mostrada a resposta para Ki = 0,4 e Kp = 40, que dá uma razão

k

i

k p

= 0,01.

Observa-se que houve redução do sobressinal. O sistema, porém, tornou-se

extremamente lento. Pode-se ver no último trecho do gráfico de nível, quando é aplicado um degrau de 40% para 60%, que há um sobressinal considerável. Não é possível enxergar nesta tela o momento em que a saída alcança a referência.

43

43 Figura 18 - Ki = 0,4; Kp = 40 4.3 Comparação de Desempenho dos Controladores

Figura 18 - Ki = 0,4; Kp = 40

4.3 Comparação de Desempenho dos Controladores Como se pôde observar nos gráficos acima, o controlador preditivo possui um desempenho superior ao do PI. A resposta do sistema às solicitações era mais rápida. Os sobressinais são menores, chegando a ser inexistentes dependendo dos parâmetros escolhidos. Além dessas vantagens, há ainda a de o controlador preditivo ser mais fácil de ser sintonizado, já que apresentava um desempenho razoável para vários valores diferentes atribuídos a α, δ e λ.

44

5

CONCLUSÕES

Este trabalhou mostrou ser possível a adoção de uma estratégia de controle diferente do clássico PID em um controlador programável. A estratégia escolhida foi o GPC, ou Controle Preditivo Generalizado (Generalized Predictive Control). Este algoritmo faz parte da família de técnicas de Controle Preditivo Baseado em Modelo (CPBM). Sua implementação mostrou-se simples, apesar de requerer uma carga de cálculo razoável, mas que não chega a ser exagerada. O GPC foi aplicado ao controle do nível de água em um tanque pressurizado. Neste trabalho, apresentou um desempenho superior ao do controlador PI e mostrou-se mais fácil de ser sintonizado. Não foram consideradas aqui, no cálculo da ação de controle, as restrições existentes no sistema real tais como a faixa de trabalho da válvula. Fica aberta a possibilidade de um estudo com a finalidade de implementar um controlador que leve em consideração essas restrições.

45

APÊNDICE A A CRIAÇÃO DO PROJETO Este apêndice descreve sucintamente a criação de um projeto de automação no controlador disponível no LCM.

Introdução Antes de começar e escrever as rotinas de controle é necessário configurar a placa controladora e o barramento de campo. Feito isso, pode-se prosseguir à elaboração das rotinas. Ambas as tarefas são realizadas em um pacote de softwares, o PC WORX 2.02 Release 13, que se divide em dois módulos. O primeiro módulo, chamado SYSTEM WORX, é usado para configurar o hardware, ou seja, a placa controladora e o barramento de campo que será utilizado no projeto. No segundo módulo, chamado PROGRAM WORX, são escritas as rotinas a serem executadas pelo controlador.

Configuração do Hardware A primeira tarefa da criação de um projeto de automação é a configuração da placa controladora e de sua comunicação com o microcomputador. As janelas que permitem realizá-la serão exibidas assim que o usuário requisitar a criação de um novo projeto.

Após a primeira etapa, parte-se para a configuração do barramento de campo. Há duas formas possíveis. Uma delas é a automática, em que a própria placa controladora, ao receber um comando do usuário, se comunica com os módulos e os identifica. A outra é a manual, em que o usuário informa quais módulos estão ligados ao barramento. Neste modo, para que cada módulo seja endereçado corretamente, é preciso que a seqüência em que eles são inseridos e configurados seja a mesma em que estão fisicamente conectados. Depois que a configuração do barramento estiver completa, esta deve ser enviada à placa controladora. Esta etapa é a parametrização. Ao mesmo tempo, a placa é inicializada e começa seu ciclo de execução.

46

Estrutura do Projeto Após a configuração do hardware, o usuário precisa estruturar o projeto antes de começar a escrever as rotinas de controle. O projeto é organizado em uma árvore que contém os itens Libraries, Data Types, Logical POUs e Physical Hardware, conforme a norma IEC 61131-3, como mostrado na Figura 19.

conforme a norma IEC 61131-3, como mostrado na Figura 19. Figura 19 – Árvore de um

Figura 19 – Árvore de um projeto realizado no PROGRAM WORX

Abaixo se encontra uma breve descrição de cada item. Physical Hardware: segundo a norma IEC 61131-3, um sistema de programação de CLP’s deve refletir a estrutura do hardware utilizado no projeto de automação. Para tanto, o usuário declara alguns elementos de configuração, que ficam contidos dentro desse ramo. Esses elementos são:

Configuration: pode ser comparado a um sistema com controladores programáveis, por exemplo, um painel. Uma Configuration consiste de uma ou várias Resources. Resources: pode ser comparada a uma CPU inserida em um painel. Numa Resource, uma ou várias Tasks podem ser executadas. Tasks: são associadas a programas. Servem para determinar a sua temporização. A norma IEC 61131-3 define três tipos de Task:

o

Cíclicas: são ativadas em intervalos de tempo regulares e os programas associados são executados periodicamente.

o

Interrupções ou Eventos: são ativadas quando algum evento predeterminado acontece, por exemplo, uma variável atinge um valor de alarme.

o

Erros: são ativadas se algum erro acontecer durante a execução de um programa.

47

Após o usário ter declarado esses itens de configuração, a árvore estará como a da Figura 20.

de configuração, a árvore estará como a da Figura 20. Figura 20 - Árvore do Projeto

Figura 20 - Árvore do Projeto após declaração dos itens de Configuração

Logical POUs (Program Organization Units) são funções e blocos de função criados pelo usuário. Essas unidades de lógica contêm as lógicas de controle de um processo. Elas são compostas de:

Uma página de descrição, que pode ou não ser preenchida, com fins de documentação.

Uma página de variáveis com a declaração das variáveis usadas.

Uma página de código com a lógica propriamente dita da unidade de lógica. A Figura 21 mostra a estrutura de uma POU na árvore do projeto.

21 mostra a estrutura de uma POU na árvore do projeto. Figura 21 - Estrutura de

Figura 21 - Estrutura de uma Logical POU

Data Types contém os tipos de dados que serão usados no projeto. Nessa página o usuário pode definir e editar novos tipos de dados. Esses novos tipos são criados a partir dos já existentes definidos pela norma IEC 61131-3.

48

Libraries ou bibliotecas são projetos já prontos que foram declarados como

Libraries. Por meio dessas bibliotecas, o usuário pode facilmente reutilizar programas, blocos de função, funções e tipos de dados por ele definidos.

A Figura 22 mostra a árvore de um projeto com os itens de configuração

declarados e uma POU criada.

com os itens de configuração declarados e uma POU criada. Figura 22 - Árvore de um

Figura 22 - Árvore de um Projeto

Como dito anteriormente, cada programa, ou POU, deve estar associado a alguma Task. O usuário deve, após ter declarado os itens de configuração e criado uma nova POU, associá-la a uma Task.

As variáveis que serão usadas em uma POU devem ser declaradas antes de se começar a escrever lógica. Depois de criadas, elas devem ser associadas a seus pontos físicos de entrada e saída, quando for o caso.

O PROGRAM WORX permite realizar a programação em cinco linguagens

diferentes, todas definidas pela norma IEC 61131-3: Lista de Instruções e Texto Estruturado, que são linguagens textuais, e Diagrama de Blocos de Função, Ladder e Sequential Flow Chart (Fluxograma Seqüencial), que são linguagens gráficas.

49

APÊNDICE B O CONTROLADOR PI Este apêndice mostra o programa que implementa o controlador PI. Declaração das variáveis:

LT_200: variável inteira; leitura do transmissor de nível.

Y: variável inteira; leitura do transmissor de nível.

OUT: real; leitura do transmissor de nível convertida para o formato real.

ENABLE: booleana; habilita o controlador.

ERRO1: real; diferença entre a referência e o valor real do nível na iteração anterior.

ERRO2: real: diferença atual entre a referência e o valor real do nível.

REF: real; valor da referência ou set point.

Kp: real; ganho proporcional do controlador;

Ki: real; ganho integral do controlador;

Ui1: real; valor da controlador.

Ui2: real; valor atual da integração do erro.

U: real; valor da ação de controle resultante da soma das parcelas proporcional e integral do controlador.

T: real; tempo de ciclo da placa controladora, em segundos.

U_AUX: real; variável auxiliar. Utilizada para limitar o valor da palavra de dados que é enviada à válvula.

LV_200: word; saída do controlador, endereçada à válvula de nível

a iteração anterior do

integração do erro até

vn2.

IF (ENABLE) THEN (*Habilitação do controlador*) Y := LT_200; (*Leitura do transmissor de nível*); OUT := INT_TO_REAL(Y); (*Converte a leitura do transmissor de nível para o formato numérico REAL*) ERRO1 := ERRO2; (*Armazena o erro do ciclo anterior*)

50

ERRO2 := REF - OUT; (*Erro atual entre a referência e o nível

real*)

Ui1

:= Ui2; (*Integração do erro até o instante anterior*)

Ui2

:= Ui1 + (T/2.0)*(ERRO1+ERRO2); (*Integração atual do erro*)

U

:= Kp*ERRO2 + Ki*Ui2; (*Cálculo da ação de controle*)

U_AUX := LIMIT_REAL(0.0,U,65535.0); (*Limitação da ação de

controle ao maior valor que pode ser enviado à válvula*)

LV_200:= REAL_TO_WORD(U_AUX); (*Conversão da palavra de controle para o formato WORD e envio à válvula*) (*As linhas de comando abaixo reiniciam o controlador quando ele está desabilitado*) ELSE

ERRO1

:= 0.0;

ERRO2

:= 0.0;

Ui1

:= 0.0;

Ui2

:= 0.0;

U

:= 0.0;

END_IF;

51

REFERÊNCIAS BIBLIOGRÁFICAS

1 BARBOSA, Nelson de A. Implementação e Controle de uma Planta Didática Multivariável com Tanques Acoplados. 2004. Dissertação (Mestrado em Automação) – Programa de Pós-Graduação em Engenharia Elétrica, Universidade Federal do Espírito Santo, Vitória, ES.

2 RAMOS, Adilson M. N. Estudo de Técnicas de Controle Preditivo Baseado em Modelo (CPBM). 2003. Projeto de Graduação (Graduação em Engenharia Elétrica) – Departamento de Engenharia Elétrica, Universidade Federal do Espírito Santo, Vitória, ES, 2003.

3 NORMEY RICO, Julio Elias. Controle Preditivo de Processos com Grandes Atrasos de Transporte. Minicurso apresentado no XIII Congresso Brasileiro de Automática, Florianópolis, 2000.

4 CAMACHO, Eduardo F.; BORDONS, Carlos. Model Predictive Control. London: Springer, 1999.

5 PHOENIX CONTACT. PC WORX 2.02 Release 13. First Steps: Introduction to PC WORX. Bloomberg, Germany, 2001. Ajuda do Software

6 PHOENIX CONTACT. IBS PC WORX 2.x. INTERBUS Reference Manual:

System Worx. Bloomberg, Germany, 1999. Arquivo PDF.

7 PHOENIX CONTACT. IBS PC WORX 2.x. INTERBUS Reference Manual:

Program Worx. Bloomberg, Germany, 1999. Arquivo PDF.

8 PHOENIX CONTACT. INTERBUS IB IL AI 2/SF: Data Sheet 5564AC01.

2001. Catálogo de produto. Arquivo PDF.

9 PHOENIX CONTACT. INTERBUS IB IL AO 1/SF: Data Sheet 5562C.

1999. Catálogo de produto. Arquivo PDF.

10 PHOENIX CONTACT. INTERBUS IB IL 24 DI 16: Data Sheet 5553A.1999.