Vous êtes sur la page 1sur 48

Captulo

SCADA
preciso contar novidades. Sempre. Seno ficamos repetitivos e ningum nos convida nem mesmo para um velrio mais divertido. Desses com mulher e amante (Celius Aulicus - JB - 10/01/92).

Scada

Definies:
Scada = Supervisory Control and Data Acquisition So os sistemas de superviso de processos industriais que coletam dados do processo atravs de remotas industriais, principalmente Controladores Lgico Programveis, formatam estes dados, e os apresenta ao operador em uma multiplicidade de formas. O objetivo principal dos sistemas SCADA propiciar uma interface de alto nvel do operador com o processo informando-o "em tempo real" de todos os eventos de importncia da planta. Hoje os sistemas de superviso oferecem trs funes bsicas: a) Funes de superviso: Inclui todos as funes de monitoramento do processo tais como: sinticos animados, grficos de tendncia de variveis analgicas e digitais, relatrios em vdeo e impressos, etc.

b) Funes de operao: Atualmente os sistemas SCADA substituram com vantagens as funes da mesa de controle. As funes de operao incluem: ligar e desligar equipamentos e seqncia de equipamentos, operao de malhas PID, mudana de modo de operao de equipamentos, etc. c) Funes de controle: Controle DDC ("Digital Direct Control") Alguns sistemas de superviso possuem uma linguagem que permite definir diretamente aes de controle, sem depender de um nvel intermedirio de controle representado por remotas inteligentes. Todas as operaes de entrada e sada so executadas diretamente atravs de cartes de I/O ligados diretamente ao barramento do micro, ou por remotas mais simples. Os dados so amostrados, um algoritmo de controle como um controlador PID por exemplo, executado, e a sada aplicada ao processo (ao direta sobre uma varivel manipulada). Isto entretanto s possvel quando a velocidade do processo assim o permite. Em alguns casos requisitos de confiabilidade tornam desaconselhvel este tipo de soluo. Controle Supervisrio: Nesta classe de sistemas, os algoritmos de controle so executados pela unidade terminal remota (UTR), mas os set-points para as malhas de controle so calculados dinamicamente pelo sistema de superviso de acordo com o comportamento global do processo. Esta arquitetura possui maior confiabilidade que os sistemas DDC e traz a vantagem de atuar sobre um grande nmero de malhas de controle simultaneamente enquanto o operador geralmente s consegue atuar malha a malha com um sistema convencional. Geralmente utilizada uma interface tipo sistema especialista para definio SCADA 2

das regras de controle a nvel de superviso. Este tipo de estratgia muito utilizado para controle avanado na rea mineral onde comum o modelamento matemtico da planta.

Planta

Controladores Distribudos

Sistema Especialista Modelo

Estimador Supervisrio Figura 1: Controle supervisrio

Os objetos de um supervisrio:
Cada sistema SCADA ir gerenciar um certo nmero de objetos tambm denominados entidades que descrevem as variveis de processo controladas e os elementos habituais de uma mesa de controle. Embora este nmero varie de um sistema para outro, existe um consenso em relao s suas caractersticas bsicas. A atividade de configurao de um supervisrio compreende geralmente duas etapas: a) Definir cada varivel de processo na base de dados b) Definir sinticos, grficos e relatrios. Em todo o sistema existem basicamente duas variveis simples ou primitivas e alguma variveis compostas formadas a partir das primeiras. Variveis simples:
Varivel analgica:

Descreve uma varivel analgica de entrada. O CLP j converte esta leitura para um valor digital quantizado em 12 bits (0 ..4095). SCADA 3

Principais atributos: Tag: conjunto de at 12 caracteres descrevendo o nome da varivel Texto: Descrio sucinta da varivel Unidade de Engenharia: unidade de medida, por exemplo: ton./h, C, metros, etc. Valor: ltimo valor lido da varivel Lim inferior: valor em UEng ser atribudo ao valor 0% da varivel. Lim superior: valor em UEng a ser atribudo ao valor 100% da varivel Limite HH: valor em UEng para alarme Muito Alto Limite H: valor em UEng para alarme Alto Limite L: valor em UEng para alarme Baixo Limite LL: valor em UEng para alarme Muito Baixo Histerese: valor percentual de histerese para gerao de alarmes. Serve para evitar mltiplos alarmes quando o valor da varivel cruza uma das faixas definidas pelos valores limites. Filtro: Somente quando o valor da varivel variar mais que o limite especificado (filtro) que o valor em tela ser atualizado. Endereo: Corresponde ao endereo da varivel no CLP. Os valores limites definem 5 faixas de operao para a varivel. Quando a varivel cruza uma destas fronteiras um alarme dado para o operador. Em geral os valores da varivel na tela dependem das cores atribudas a cada faixa. Estas cores em geral so as mesmas para todas as variveis.

100 %

Lim Sup HH

Muito Alto Alto

Normal

L
Baixo

LL
Muito Baixo 0%

Lim Inf

Figura 2: Faixas de uma varivel analgica

SCADA

Figura 3: Definio de parmetros de variveis analgicas


Varivel Discreta:

Tambm chamada de varivel digital. Corresponde a 1 bit de informao que pode assumir os valores 0 ou 1. Principais atributos: Tag: nome da varivel Texto: Descrio sucinta da varivel Descrio do estado: texto a ser atribudo aos estados 0 e 1 da varivel. Pode corresponder a 2 strings ou a um ndice para uma tabela que contm os textos a serem associados a cada tipo de varivel, por exemplo: Aberto/Fechado para vlvulas, Ligado/Desligado para motores etc, Endereo: endereo da varivel na memria do CLP na forma: CP:PAL:BIT

SCADA

Tipo: Diz se a varivel desempenha alguma funo importante como por exemplo: bit de Funcionando, Pronto para Partir ou Defeito de algum equipamento. Valor: valor corrente do ponto Alarme: Determina a classificao do alarme associado ao ponto: Crtico, Urgente, Alarme, Evento, Sem alarme. O sistema tambm define que tipo de ao ser realizada para cada classe de alarme. O valor normal para uma varivel discreta sempre convencionado para todas as variveis. em conjunto para maior facilidade de interpretao por parte do operador e pessoal da manuteno. Em alguns sistemas possvel definir agregados de variveis discretas (bit strings), definir cores e textos para cada estado (2n), etc. Variveis compostas: Enquanto alguns sistemas possuem apenas um pequeno nmero de primitivas, outros possuem tipos mais complexos formados pelo agregado de vrias primitivas fundamentais. De uma forma ou de outra cada sistema sempre possui uma forma de representar todas as entidades que correspondem s entidades controladas no processo ou aos instrumentos da mesa de comando convencional:
Totalizador:

Totaliza uma varivel analgica diretamente ou reproduz um valor totalizado pelo CLP. O input da totalizao tanto pode ser um valor analgico (fluxo ou vazo) ou pulsos associados a uma varivel discreta (totalizador de pulsos). Neste ltimo caso, a cada pulso, um incremento pr determinado aplicado ao valor totalizado. O operador pode a qualquer tempo zerar o valor totalizado. Assim conveniente definir trs atributos bsicos: Valor totalizado sem reset: no pode ser zerado pelo operador. Valor totalizado com reset: pode ser zerado pelo operador ao final de um turno, dia, ms, etc Data de reset: armazena a data e hora da ltima ao de reset.
Controlador PID:

Descrevem um controlador PID independente de sua encarnao fsica. Um sistema supervisrio moderno capaz de comandar dezenas de malhas de controle que na verdade so implementadas no nvel inferior de controle representado pelos CLP, Single loops e Multi loops. Os parmetros de configurao definidos so enviados para a memria do controlador. O operador pode ento realizar a sintonia da malha durante o start-up do sistema, guiado por uma tela de tendncia que plota os valores de varivel medida, set-point e varivel manipulada em funo do tempo (tuning) ou usando uma ferramenta qualquer de sintonia. SCADA 6

A partir da as nicas operaes possveis so mudar o modo de operao da malha ou o seu set-point. Atributos tpicos: Tag: identificao da malha de controle Texto: descrio da malha Varivel de entrada: identificao da varivel de entrada (medida) da malha. Constantes: Kc, Ti, Td para sintonia da malha Modo: modo de operao da malha PID: q Modo Manual: O operador age diretamente sobre a varivel de sada do bloco PID (varivel manipulada) q Modo Automtico: A ao se d sobre o set-point da malha. o Modo Automtico Local: O prprio operador define o valor do setpoint. o Modo Automtico Remoto: O set-point definido externamente: Pela varivel de sada de outra malha em cascata (malha mestre) Por um valor decorrente de algoritmo de otimizao executado pelo supervisrio ou CLP.

PID n

PID Mestre operador Varivel de Sada REM + SP Varivel operador Varivel de Entrada FT Manipulada Erro PID MAN AUT

Algortmo de Otimizao

Figura 4: Digrama de malha PID tpica Identificao da Malha Mestre (quando aplicar) Endereo: Endereo base do bloco de parmetros PID na memria do CLP Identificao do operador que definiu ou sintonizou a malha Banda morta Limite mximo e mnimo da varivel de sada Polarizao (bias) Etc.

SCADA

Figura 5: Janela de malha PID.


Equipamento:

Corresponde a um equipamento de processo qualquer: motor, classificador espiral, transportador de correia, reator, etc. Seus principais atributos so: Tag: Identificao do equipamento Texto: Descrio do equipamento Bits de status: Cada equipamento possui uma srie de bits tpicos de entrada para o supervisrio, que em suma so funo da filosofia de programao de funcionamento destes equipamentos a nvel do CLP, por exemplo: FUN - bit que avisa ao supervisrio que o equipamento est funcionando PPP - bit que sinaliza que o equipamento est pronto para partir (pronto para operar) DEF - Bit que diz que o equipamento est com defeito (or lgico de todos os bits de defeito do equipamento) Alm destes bits hoje normal enviar para o supervisrio todos os bits de defeito que discriminam qual o problema ocorrido. Estes bits so utilizados para alarme, diagnstico, e para guias de operao no caso dos sistemas inteligentes. MODO: um, dois ou trs bits que discriminam o modo de operao do equipamento: LOCAL/REMOTO: diz se o comando est sendo dado pela central de controle ou pelo painel de comando local do equipamento. OPERAO/MANUTENO: diz se o equipamento est sendo comandado pela seqncia a qual pertence ou isoladamente para manuteno, ETC SCADA 8

Bits de comando: So bits de sada do supervisrio para o equipamento permitindo realizar aes de comando: LIGA: comando de liga para o equipamento. DESLIGA: comando de desliga MODO: definio de um novo modo para o equipamento. Hormetro: Fornece o total de horas de operao do equipamento Etc

Figura 6: Janela de equipamento com diagnsticos exibidos


Seqncia ou Grupo:

um conjunto de equipamentos intertravados que pode ser tratado do ponto de vista lgico como uma nica entidade. Cada seqncia composta tipicamente por 8 ou mais equipamentos. Por exemplo: o conjunto de motores e outros subsistemas que compem um moinho de bolas pode ser tratado de forma unificada pelo sistema, j que todos os equipamentos que o compem partem e operam em conjunto de forma intertravada. Um equipamento pode pertencer a diversas seqncias diferentes. Por exemplo, um transportador de correia do ptio de um porto pode estar conectado a diversas rotas de transferncia de minrio de acordo com o tipo de minrio sendo carregado, pier de embarque, etc. Atributos tpicos: Tag: Identificao da seqncia Texto: Descrio da seqncia Equipamentos: Relao dos equipamentos que compem a seqncia. Bits de status: semelhantes aos bits de status de um equipamento: Funcionando, Pronto para Partir, Defeito Modos de Operao: Basicamente a seqncia pode operar em Remoto, onde todos os equipamento esto intertravados e so operados pelo supervisrio, ou em Local onde cada equipamento operado independentemente.. A partida se inicia pelo equipamento cabea da seqncia, Bits de comando:

SCADA

Servem para ligar desligar ou mudar o modo de operao de todos os equipamentos de uma seqncia.
Clculo:

Nem todas as variveis de interesse podem ser amostradas diretamente do processo. s vezes estamos interessados no comportamento de uma varivel que no medida, mas que pode ser inferida a partir de diversas outras variveis. Por exemplo calcular a potncia ativa a partir dos valores de tenso, corrente e fator de potncia. Clculos como estes em geral so definidos a partir de uma linguagem procedimental que deve conter no mnimo: Funes de acesso a valores de variveis do processo. Funes aritmticas fundamentais: soma, subtrao, multiplicao, diviso, mod. Funes booleanas: and, or, xor e not Funes transcendentais: trigonomtricas, exponenciais, logartmicas, radiciao, etc Instrues condicionais: if ...then... else... Lgica de parnteses Funes de manipulao de texto O tipo retornado de um clculo geralmente um valor real, um valor booleano ou um string. A chamada de um clculo que envolve um outro clculo deve referenciar sempre ao ltimo valor calculado para se evitar chamadas recursivas infinitas. A varivel calculada, deve se comportar como um ponto qualquer amostrado diretamente do processo e permitir: Gerar valores instantneos para exibio em sinticos segundo diversas formas. Gerar valores para base de dados histrica. Processadores de expresses tambm so teis para diversas finalidades dentro de um sistemas de superviso como por exemplo para criar campos virtuais em planilhas e geradores de relatrios. Outras entidades podem ser definidas dependendo do tipo de processo como Chaves de Seleo, Chaves de Habilitao, Tanques, Constantes Paramtricas, Rotas, etc.

Principais funes de um supervisrio:


Sinticos:

Fornecem uma representao grfica geral da planta em substituio aos painis sinticos tradicionais. Cada sintico representa uma rea do processo em um certo nvel de detalhe. Para se obter uma viso mais detalhada de uma SCADA 10

determinada rea pode-se recorrer a um novo sintico, a um sintico de hierarquia inferior (sub-sintico), ou a uma viso de uma outra camada do mesmo sintico (sistema "multi layer"). Para alguns tipos de processo, recomenda-se o uso de um sintico tipo plano infinito que traz a representao global de uma sistema distribudo geograficamente, tal como um oleoduto, o sistema de controle de trfego de uma cidade, um sistema de controle de subestaes de trolebus, etc. Esta tcnica denominada full-graphics e requer um poder computacional muito maior por parte das estaes de trabalho, para efetuar operaes de panning, zoom-in e zoom-out em tempo real. As telas possuem uma parte fixa denominada de mscara ou fundo e diversos campos dinmico atualizados dinamicamente. Os primeiros sistemas supervisrios possuam interface com o usurio semi grfica. Todos os espaos vagos da tabela do gerador de caracteres eram preenchidos com smbolos especiais que permitiam representar os equipamentos de processo. Tanto as EPROMs da console do computador quanto dos terminais precisavam ser substitudas. Um conjunto de caracteres tpico mostrado no apndice 1. O sinptico era formado pela justaposio dos caracteres grficos, como num quebra-cabeas. Os smbolos utilizados para um determinado tipo de processo: petroqumico, por exemplo, no serviam para representar um processo mineral ou de outra natureza. No sistema grfico ao contrrio, o desenho formado livremente pela combinao de entidades geomtricas fundamentais como retas, retngulos, elipses e crculos, texto bitmapeado e vetorados ("stroke-fonts"), arcos, splines, curvas de bzier, etc. Aps definidos, os smbolos so armazenados numa biblioteca. Se a representao armazenada corresponde a descrio das entidades geomtricas temos um sinptico orientado para geometria. Se o smbolo armazenado corresponde a uma configurao fixa de bits (mapa de bits), temos um editor bitmapeado. O construtor de sinpticos a ferramenta que permite ao usurio criar novos sinpticos. De preferncia deve ser possvel se usar o construtor com o sistema on-line. Alguns construtores so editores grficos que definem duas estruturas de dados bsicas: uma para a mscara e outra para os campos dinmicos. Alguns construtores entretanto necessitam compilar a descrio de campos para obter um cdigo executvel para as animaes. Sinpticos com estrutura de dados geomtrica (modelados) so mais flexveis para modificaes futuras e parecem ser uma tendncia para sistemas SCADA atuais. Sinpticos bitmapeados so mais rpidos de se exibir e permitem definir um maior nvel de detalhe para cada smbolo.

SCADA

11

Atualmente os editores orientados para objetos so ainda mais flexveis. Cada equipamento corresponde a um objeto. Os objetos podem ser transformados por translao, rotao e mudana de escala, podem ter qualquer uma de sua propriedades (atributos) alterada e ter aes complexas a ele associadas (click actions). O sistema se torna totalmente dirigido a eventos: eventos de processo e eventos de operao.

Figura 7: Sinptico projetado com canho.

Os elementos dinmicos:
Exibem os status de variveis do processo dinamicamente. Representao de varivel analgica: O valor de uma varivel analgica pode ter vrias formas de representao: a) Texto:

SCADA

12

Exibe valor de engenharia da varivel analgica. A cor do texto pode servir para codificar o status da varivel: Muito Baixo, Baixo, Normal, Alto, Muito Alto. b) Barras horizontais e verticais: Fornecem uma representao percentual do valor da varivel. Podem ser utilizados para mostrar o enchimento de um silo, tanque, reator, etc. c) Deslocamento vertical, horizontal: Realiza operao de translao de um objeto na tela em funo do valor de uma varivel de processo. Os valores de 0 a 100% so associados s posies dos extremos do percurso e o software realiza interpolaes para valores intermedirios. d) Rotao: Efetua a rotao de um objeto: forno rotativo de cimento, ps de um ventilador, etc associando 0 ao valor 0% da varivel e 360 ao valor de 100%. e) Tendncia: Exibe o grfico dos ltimos valores da varivel em funo do tempo. f) Mostradores Circulares: So os Dials e Gauges que simulam os mostradores circulares convencionais.

Representao de uma varivel de estado: a) Texto Exibe o status da varivel: ABERTO/FECHADO LOCAL/REMOTO LIGADO/DESLIGADO Para cada estado possvel definir a cor de apresentao do texto. b) Associao a cor (ou outro atributo) de um objeto: A cor do objeto muda de acordo com o status da varivel associada. Na maior parte dos sistemas desejvel que a cor de um objeto seja funo no apenas do estado de uma varivel isolada, mas de um conjunto de variveis: Por exemplo: o estado de funcionamento de um equipamento pode estar codificado em dois bits: LOCAL / REMOTO / OPERAO / MANUTENO. c) Associao a um par de objetos complementares

SCADA

13

Os dois objetos ocupam fisicamente a mesma posio no sintico. Quando a varivel est em 0 o objeto chave aberta, por exemplo, exibido, quando est em 1 a chave mostrada na posio fechada. Os objetos podem ser modelados ou bitmapeados. Para outras entidades o desenvolvimento de formas de representao semelhante. Indique as formas de representao que voc julgaria importantes para as seguintes entidades compostas: a) Malha PID

b) Totalizador

c) Equipamento

d) Seqncia

e) Tanque

Objetos ativos: Como o mouse hoje se tornou o principal dispositivo de seleo de opes de entrada para sistemas SCADA, a ao de se clicar um objeto hoje a atitude default para se deflagrar qualquer tipo de ao referente ao objeto (equipamento, faceplate de controlador PID, etc). Assim devemos clicar um objeto para: a) Alterar qualquer atributo do objeto, por exemplo: ligar/desligar, alterar. modo de operao, forar valor, inserir mensagem ao operador, etc. b) Solicitar ao sistema mais informaes sobre o objeto, por exemplo: relatrio de ponto, help-on-line, diagnstico, guia operacional, etc. c) Exibir ou reconhecer alarmes do objeto d) etc. Um dos objetos mais teis em um sinptico so os hot-links que correspondem a textos ou figuras que quando clicadas chamam uma nova tela de sinptico permitindo a criao de acessos diretos, rpidos e complexos no estilo hipertexto.

SCADA

14

Figura 8: Sinpticos tpicos

SCADA

15

Operao
Para operar um equipamento devemos selecionar com o mouse um equipamento no sinptico e solicitar a abertura da janela de operao. Esta janela nos permite realizar as operaes bsicas com um equipamento: ligar, desligar, solicitar um diagnstico, rearmar defeitos, etc.

Figura 9: Janela de operao de equipamento


Hardcopy:

Realiza o hardcopy do sinptico corrente.


Gerenciador de alarmes

Este mdulo est presente em todos os sistemas SCADA. Ele recebe os eventos do processo e os registra identificando: n data e hora do evento n varivel alarmada n valor no momento do alarme n descrio do evento n data e hora de normalizao do evento n status do evento: alarmado, normalizado, reconhecido pelo operador Os eventos so armazenados em um buffer circular em disco ou memria que armazena os ltimos N eventos correspondendo geralmente a um turno de operao. Aps este prazo, o arquivo pode ser salvo em disco para anlise histrica, transferido para outro computador de maior capacidade de armazenamento ou simplesmente descartado. A interface com operador se d geralmente de duas formas: Uma janela de alarmes exibe os x alarmes mais recentes (x geralmente varia de 2 a 4) O operador pode solicitar a exibio de uma pgina de alarmes contendo cerca de 20 alarmes mais recentes e depois paginar para frente e para trs at encontrar o evento de interesse.

SCADA

16

Quando um alarme ocorre o operador avisado atravs de uma buzina, msica ou por um speech maker. O operador deve declarar que est ciente do problema, reconhecendo o alarme mais recente ou todos os alarmes simultaneamente. O alarme mais recente ento substitudo na tela por outro alarme que ainda no tenha tido a oportunidade de se manifestar. O status de um alarme pode ser convencionado como a seguir: Cor da mensagem Vermelho piscante Vermelho Amarelo Verde
Exemplo de linhas de alarme:

Significado Alarme no reconhecido Alarme j reconhecido Normalizado e no reconhecido Normalizado e reconhecido

12/02 14:00 12/02 14:05

14:03 xx:xx

12-TC-34 12-BP-05 50C

Correia transportadora Desalinhada Temperatura do motor da bomba Muito Alta

Geralmente possvel imprimir o relatrio de alarmes classificado por um campo como por exemplo, data e hora (alarmes mais recentes ou que ocorreram em uma determinado intervalo), nome de varivel, etc. O campo de data e hora de normalizao traz dificuldades para o projetista, j que uma varivel pode ter seu estado normalizado diversas horas aps ter entrado em alarme, o que forar a busca do evento em arquivos j fechados.
Registrador de tendncia

Plota um grfico de tendncia de uma dada varivel, geralmente analgica, em funo do tempo. Um grfico de tendncia pode ter de 1 a 8 penas. O usurio dever definir duas coisas: n Quais variveis devem ser amostradas pelo sistema sincronamente com um relgio e com qual freqncia. n Para cada grfico, quais das variveis registradas devem ser exibidas simultaneamente em uma mesma tela Os perodos de amostragem que variam tipicamente de 100 ms a 1 hora devem ser escolhidos de acordo com a velocidade real do processo. normal escolher um perodo para cada tipo de varivel (temperatura, nvel, presso, etc). Os dados so geralmente armazenados em um buffer circular de tamanho B bytes. O perodo total de armazenagem de dados ir depender do perodo de amostragem e de B.

SCADA

17

Exemplo:

B = 64 kbytes = 64 * 1024 bytes = 65536 Tamanho do Registro: dado: double <----> 8 bytes / registro Nmero total de registros = 65536/8 = 8192 registros Perodo de amostragem = 2 segundos Tempo total armazenado = 8192 * 2 = 16 384 s = 273 min = 4,5 h T = P * B/R (s)

Figura 10: Configurao do grfico de tendncia

Figura 11: Grfico de tendncia

SCADA

18

As operaes possveis neste tipo de grfico so: a) Movimentao de cursor: Um cursor grfico vertical (dial) passeado pela figura fornecendo a leitura dos pontos onde o cursor intercepta as curvas. Serve para examinar os valores crticos da varivel e o momento em que um evento ocorre. b) Paginao: Realiza paginao horizontal do grfico para visualizao dos pontos passados. c) Zoom horizontal e vertical Realiza ampliao da parte do grfico selecionada por uma janela de edio. A reduo de escala pode ser feita para se retornar a escala original, ou para uma atingir uma escala reduzida, gerada pela compresso dos dados armazenados.
Tendncia histrica:

Quando se deseja armazenar valores de variveis em disco por longos perodos de tempo (at 1 ano). se recorre ao registro histrico. O registro histrico possui um perodo de amostragem tipicamente maior que o da tendncia instantnea (alguns minutos). Os valores amostrados podem ser: n Os valores instantneos da varivel no instante da amostragem histrica. n Valores resultantes da compactao de amostras de tendncia instantnea coletados a perodos inferiores. Nos sistemas mais recentes, pode-se visualizar os grficos de tendncia instantnea e histrica de forma concatenada em um nico sistema de coordenadas. Hoje prefere-se realizar todas as funes histricas de um sistema SCADA em um software externo denominado PIMS (Process/Plant Information Management System). Os PIMS possuem melhores algoritmos de compresso de dados e armazenam tipicamente 5 anos de operao em um winchester de dimenses normais (20 Gbytes). Os sistemas PIMS possuem uma riqussima variedade de funes para manipulao dos registros histricos: a) Rpida importao de variveis de processo atravs do tag browser. Voc escolhe uma varivel do dicionrio de dados e arrasta o tag para o sinptico. O nmero de penas simultneas ilimitado. b) Um grfico de tendncia configurado desta maneira pode ser salvo e constituir uma vista personalizada do processo de um operador em particular. Para salvar a vista deve-se apenas clicar em Favorites. c) Alm das funes de panning e zoom, podemos inserir mltiplos cursores no grfico para visualizao dos valores das variveis. d) Pode-se incluir o sinptico em uma mensagem e envi-la por e-mail a algum especialista que esteja em casa e queira analisar os dados. e) Podemos suspender a impresso de qualquer das penas por tempo indeterminado. f) Etc. SCADA 19

Gerador de relatrios

At agora os nicos dados armazenados em disco foram os relativos aos registros de tendncia instantnea e histrica. Evidentemente uma das principais funes dos sistemas SCADA reside na sua capacidade de armazenar dados e produzir relatrios de produo ao final de um turno, dia ou ms. Os relatrios de produo incluindo os relatrios de balano de massa ou energia, demonstram quanto uma determinada planta produziu, quanto consumiu de insumos, de energia, etc e constituem o principal relatrio de interesse gerencial. Outro alvo de interesse, desta vez por parte do pessoal da manuteno so os relatrios de monitoramento de equipamentos que dizem quando cada equipamento parou, por que parou e por quanto tempo ficou parado. O usurio deve definir as variveis que faro parte do relatrio e o seu perodo (ou instante) de amostragem. A armazenagem de um dado pode estar vinculada a um evento e no apenas a um horrio. Isto muito comum em sistemas de batelada. Depois dever der definido o formato do relatrio e o instante de sua impresso (final do turno, dia, etc). Um gerador de relatrios pode ter a forma de um editor WYSIWYG, (What you see is what you get), de uma planilha, pode ser definido por uma linguagem especial textual ou orientada para blocos de funes.
Construtor de estratgias de controle

Alguns sistemas supervisrio possuem uma linguagem procedimental ou grfica (blocos lgicos) para descrever procedimentos de controle a serem realizados a nvel de superviso. : Basicamente as funes de um construtor de estratgias podem ser agrupadas nas seguintes bibliotecas: a) Biblioteca de entrada e sada Realiza leitura e escrita de variveis na RTU, solicita dados ao operador. b) Biblioteca de funes matemticas: Funes: funes convencionais + Max, Min, Mdia, Alarm, etc. c) Biblioteca de funes lgicas: Funes: And, Or, Xor, Not, Pulso, etc. d) Biblioteca de funes de controle Funes: PID, PI, etc. e) Biblioteca de funes de tratamento de sinais Funes: Lead_Lag, Atraso, Interpolao linear em tabela, Filtro, Funo Log aps ganho e offset, Funo Exp aps ganho e offset, Aplicao de rudo, Totalizao (integrao), Derivao. O construtor de estratgias tem sido totalmente substitudo pelo mdulo SoftLogic que programa as funes tpicas de um CLP utilizando as linguagens do padro IEC 61131-3. SCADA 20

Log de eventos

Registra no arquivo de dirio de bordo todos os eventos relevantes de operao, com data, hora, descrio do evento e operador logado na hora do evento. Os eventos de interesse geralmente so: n Eventos de configurao da base de dados n Eventos de operao crticos tais como: ao sobre malhas de controle, partida e parada da planta ou de equipamentos crticos, etc Este registro est vinculado a existncia de um sistema de senhas para identificar cada operador que assuma a operao. O operador que deixa a operao dever realizar o logoff da estao enquanto o novo realiza o login, identificando-se.
Linguagem para definio de aplicaes do usurio

Permite ao usurio criar seus prprios programas associados a ocorrncia de algum tipo de evento. Os eventos podem ter diversas naturezas. Alguns supervisrios contemplam apenas parte destes eventos. Hoje a compreenso da natureza dos eventos possveis de ocorrer tem trazido alto grau de generalidade s ferramentas. O quadro abaixo foi baseado na estrutura da linguagem Script do InTouch da Wonderware. Quando lanar o programa ? Evento Script

de Processo

Mudana de dado Condio

de Operao

Aciona Tecla Aciona Mouse

de Sistema

Aplicao Janela Tempo

Figura 12: Eventos no InTouch Os eventos possveis so: SCADA 21

Variao de um dado de processo, atendimento de uma condio de processo, acionamento de uma tecla especial, click do mouse sobre um objeto ativo (pushbutton), lanamento de uma aplicao, abertura de uma janela, Seja por exemplo o evento gerado pelo acionamento de uma tecla especial do teclado. O programa (Key Script) pode ser programado para ser ativado: Ao se apertar a tecla Enquanto a tecla permanecer apertada a cada x ms (gera eventos de tempo). Ao se aliviar a tecla O evento associado a uma condio (equao booleana envolvendo valores de variveis de processo) causa a execuo de um Condition Script: Quando a expresso se tornar verdadeira A cada x ms enquanto a expresso for verdadeira Quando a expresso se tornar falsa A cada x ms enquanto a expresso for falsa E assim por diante. Hoje praticamente todos os sistemas SCADA abandonaram linguagens prprias e padronizaram o Visual Basic ou o VBA da Microsoft como sua linguagem de gerao de aplicaes. O que deve fazer o programa ? As principais funes disponveis devem incluir: a) Todas os operadores e funes matemticas e lgicas inclusive: mod, div, shr, shl b) Funes de manipulao de strings c) Comando condicional: If condio then then_statement else else_statement Endif d) Acesso a todas as variveis de processo: Campos de valores Campos de definio Por exemplo: tag.campo_hh: valor do nvel de alarme muito alto e) Criao de variveis temporrias = dinmicas = virtuais f) Reconhecimento de alarme de uma varivel ou classe de variveis g) Dilogo com o usurio: Exibio de janela de mensagens e colocao de pergunta ao usurio. h) Envio de comando a remota: Definio de uma varivel de controle: set-point, varivel controlada, etc i) Carga de programa ou receita na memria do CLP j) Ativao de nova aplicao k) Alterao do aspecto da I.H.M: SCADA 22

l) m) n) o) p)

Alterao de visibilidade de janelas, do ponto de abertura ou outro atributo da prxima janela, etc Impresso de telas e relatrios Manipulao de campos de bits Acesso a variveis do sistema: data, hora, operador corrente, etc Incluso de comentrios no programa Etc

Exemplo: A linguagem Control Sequence Language (CSL) do sistema RealFlex da BJ Software. Operadores: Lgicos Relacionais Aritmticos Algbricos Sistema AND; OR; = <> > < >= <= + - * / % Abs Fabs Sqrt, Log, Sin, Cos, Tan, Rsin, Rcos, Rtan Hour, Minute, Month, Month_Day, Time, Year_day

Week_day,

Funes: CSL tag_12 Continue When (expresso) Display formato Dsave entidade Define procedimento CSL Interrompe execuo at expresso se tornar verdadeira Exibe formato para operador Salva toda a base de dados correspondente a entidade em disco: dsave analog Fora o valor da varivel a sem passar pelo processamento de dados e alarmes do RealFlex. Atualiza o valor da varivel em RAM e disco. O mesmo que Dstuff porm sem atualizar o disco Final de um procedimento CSL Encerra processamento do CSL corrente e o desabilita comando if / then / else at 3 nveis de aninhamento

Dstuff a = b

Stuff a = b EndCSL Exit IF (expresso) < comandos_ento> ELSE <comandos_seno> ENDIF Goto step n

V para o passo n

SCADA

23

Goto [ponto_id] n1, n2,..n9

Print_Screen tela [delay] Remove_Display Report nome_do_relatrio

Recipe nome_da_receita Return Send a = b

Set a = b

Shell comando_qnx Step n Wait n_seg

Se valor do ponto = nx ento v para step nx seno v para step n1 Exibe o sintico pedido e realiza Hardcopy aps delay segundos Fecha janela com ltimo sintico exibido Imprime relatrio do sistema ou definido pelo usurio Ex: Report comm Carrega receita solicitada Termina tarefa CSL sem alterar o seu estado de habilitao Usado para enviar comandos s unidades de controle. este comando est sujeito a testes de validade: A PCU deve estar ativa O valor da varivel deve estar dentro da faixa de validade Atribui o valor da expresso b ao ponto a, atravs do processamento normal do RealFlex (checagem de alarmes / eventos, processamento histrico, etc). usado para atribuir dados a um pseudo-ponto Submete um comando ao QNX Introduz label numrico Espera n segundos antes de executar prxima instruo

O endereamento do ponto neste sistema segue o formato: [Entidade, PCU, Tag]campo Exemplos: [an, pcu_20, analgica_14]UN_ACK : acessa o campo de existncia de alarmes no reconhecidos da varivel analgica 14 da remota pcu_20 stuff [st, system, pump_on ] = on Muda status da bomba para ligado na base de dados CSL toca_buzina Step 1 (alarme reconhecido ou equipamento on line) if (([st, bs25, bs25-status]UN_ACK = CSL_OFF) or ([st, bs25, bs25-status] = ONLINE)) Goto 3 endif (alarme no reconhecido e estado = LOCAL) if (([st, bs25, bs25-status]UN_ACK = CSL_ON) and SCADA 24

([st, bs25, bs25-status] = LOCAL) Send [st, horn, bs25_horn] = ON (ligue buzina) endif Step 2 *Wait 4 (espere 4 segundos) if [st, bs25, bs25-status]UN_ACK = CSL_ON (espera reconhecer alarme) Goto 2 else Send [st, horn, bs25_horn] = OFF (desliga buzina) Goto 1 endif Step 3 Wait 4 Goto 1 ENDCSL Escreva uma verso estruturada para o programa acima.

SCADA

25

Arquitetura:
Os principais componentes da arquitetura de um sistema supervisrio so: Hardware: a) Microcomputador industrial ou workstation b) Dispositivo de entrada de dados: Teclado de engenharia Teclado Funcional Mouse ou "Track-ball" "Touch Screen" c) Dispositivo de comunicao com o operador: Monitor Terminal de vdeo d) Dispositivo de comunicao com o processo: Sada serial convencional: RS 232-C Carto multiserial inteligente Carto de comunicao direto com a rede de CLPs e) Dispositivos de comunicao com outros sistemas: Cartes de redes Distribuidores de conexo ("hubs") f) Outros perifricos: Impressoras Sinpticos tradicionais Mesas de controle de "back-up" (em desuso) Software: a) Pacote supervisrio bsico Contm as funes bsicas descritas no item anterior b) Pacote batch Contm as funes de gerenciamento de processo de batelada c) Pacote SPC/SPQ Contm as funes estatsticas para Statistical Process Control, basicamente plotagem automtica das cartas de controle e gerao de alarmes quando um determinado processo foge de seu comportamento normal. d) Gerador de relatrios (a exportao de dados para planilha Excel a melhor opo). e) Linguagem de quarta gerao para definio de programas pelo prprio usurio f) Sistema especialista de tempo real O elemento chave na arquitetura descrita sem dvida a interface entre o supervisrio e o CLP. O uso de cartes inteligentes foi um elemento imprescindvel para aliviar a CPU principal da tarefa de converso de protocolos, clculo de CRC, e comunicao propriamente dita. O uso de cartes inteligentes que "falam" o mesmo protocolo do CLP traziam diversas vantagens: Evita o gargalo de comunicao representado pelo carto RS-232 C

SCADA

26

Permite o uso de diversos protocolos concorrentes para conexo com diferentes tipos de equipamentos, diminuindo portanto a dependncia do cliente em relao a um determinado fornecedor. Diminui a degradao do sistema com o aumento do nmero de variveis de processo. Hoje a comunicao entre SCADA e CLPs feita necessariamente via rede de comunicao de dados.

Figura 13: Arquitetura de um sistema SCADA

SCADA

27

Requisitos da interface Homem Mquina:


O projeto da interface Homem Mquina de um sistema SCADA baseado numa srie de critrios ergonmicos tendo por base o relato de problemas de operao de diversos projetos anteriores [Shaw 87]. O principal objetivo da interface homem mquina ajudar o operador a criar e manter uma imagem mental fiel e operacional do processo e seus componentes. As principais dificuldades do operador moderno so: Deve basear suas aes em uma abstrao da planta real. Deve transformar a interpretao dos dados em aes corretas. No pode mais se especializar numa rea especfica do processo. Deve conhecer todas as reas sob seu controle. Seus erros e omisses tm conseqncias muita maiores o que implica em maior presso psicolgica. O operador est submetido a uma postura de trabalho mais montona o que conduz a fadiga. Ao projetar uma I.H.M o projetista deve ter em mente: a) Diminuir a chance de erro do operador principalmente nos momentos de maior demanda operacional que coincide com o aumento do stress: Representar as entidades de processo de forma nica e consistente permitindo uma operao independente da encarnao fsica, sem surpresas para o operador.: PID sp pv mv

Single Loop Fabricante A

Single Loop Fabricante B

Algortmo CLP X

Algortmo CLP Y

Figura 14: Conceito de objeto virtual Embora os parmetros exigidos para as 4 malhas mostradas possam ser diferentes, assim como os procedimentos de operao e sintonia das malhas, o operador enxergar apenas um tipo de PID (instrumento virtual). O processo se torna mais abstrato aos olhos do operador. b) Evitar as situaes de monotonia que levam desconcentrao do operador. Sinpticos pouco representativos do processo e sem atraes de animao ou com muitos dados tabulares levem ao desinteresse. c) Evitar situaes que acarretam cansao. SCADA 28

sabido que muito elementos piscantes na tela trazem cansao. A buzina de alarmes tambm deve ter uma tonalidade agradvel e um nvel no muito alto. d) Manter o operador sempre atento ao que realmente interessa. Evitar excesso de informaes na tela. Sinpticos muito cheios trazem excesso de informaes que o operador no capaz de processar. Os alarmes e informaes devem obedecer ao critrio da exceo. Avalanches de alarmes devem ser evitadas. Pontos com alarmes crnicos devem ser desabilitados. Alarmes durante transitrios de partida e parada de equipamentos tambm. Para operaes crticas como centros de operao de sistemas eltricos e centrais nucleares recomendado o uso de sistemas especialistas para filtragem inteligente de alarmes [Kirshen 1992]. e) Evitar consulta a referncias externas ao sistema Se o operador tiver dvidas quanto a operao de elementos do sistema dever consultar o prprio sistema (Help on-line). Se tiver dvidas com relao a operao do processo dever consultar um guia operacional on-line geralmente baseado em um sistemas especialista. Manuais so difceis de se consultar numa emergncia, e nunca esto disponveis quando precisamos deles. Conceitos ergonmicos para a construo de sinpticos: [Pettersson, 1989] Os olhos tendem a se mover de: Uma imagem grande para uma menor Uma cor saturada para uma no saturada Uma cor brilhante para um cor pastel Uma imagem colorida para outra monocromtica Formas simtricas para formas assimtricas Algo que se move e pisca para uma imagem esttica. Logo ao construir um sinptico devemos obedecer os seguintes critrios:

o Dar preferncia a vdeos de 20" o A construo do sinptico deve ser bem balanceada: o nmero de elementos
de informao por tela deve ser coerente com a capacidade humana de interpret-los. Evite sinpticos congestionados ou vazios demais. o O sistema grfico deve propiciar: n Resoluo suficiente para tornar a imagem legvel (mnimo: 800 x 600 pixels) n Diversas cores simultneas (16 .. 32 K cores) n Possibilidade de aplicao de texturas (patterns) sobre o desenho. n Caracteres com diversas formas e tamanho n Representao grfica dinmica (animaes). o Evite objetos grandes piscantes o Deve haver redundncia na forma de representar uma informao: valor, barras, enchimentos, etc. A representao mais natural a mais indicada. Por exemplo, enchimento para tanques e silos, rotao para um forno de cimento ou britador de martelos, etc.

SCADA

29

o Equipamentos devem ser desenhados de acordo com sua forma e tamanhos


exatos. A representao fotogrfica com excesso de detalhes, sombra, etc. desaconselhvel. Isto um caminho

o A seqncia para ligar ou desligar equipamentos ou realizar aes de controle


similares deve ser simples e intuitiva. Simplesmente selecione o objeto com o mouse e selecione a opo LIGA no menu. I.H.Ms de alguns terminais bancrios que andam por a so um bom contra exemplo. o Mensagens devem ser claras, explcitas e auto suficientes. Contra exemplo: Erro 46A: Execute o procedimento de emergncia 78

GUIs - Graphical User Interfaces


O duelo entre interfaces grficas padronizadas X interfaces grficas proprietrias teve um nico vencedor: as GUIs. Hoje o nico problema reside na escolha do padro: Critrios: Deve rodar no S.O. e processador escolhidos Deve sobreviver a mdio prazo Deve ter velocidade suficiente para aplicaes de tempo real Deve permitir a transparncia de aplicaes via rede Deve ser independente de dispositivos grficos de entrada/sada Principais GUIs: Fornecedor Microsoft OSF AT&T/SUN GUI Windows Motif Open Look SO WNT/Windows 2000 UNIX/QNX4 UNIX/QNX2,4

OSF = Open Software Foundation = IBM + Digital + HP O que uma GUI ? API Windowing System Imaging Model SO SCADA 30

API = Application Program Interface Conjunto de chamadas de funo Usurio especifica que janelas, Menus, cones, etc iro aparecer na tela com a ajuda de um toolkit. Windowing System = Gerenciador de janelas Conjunto de comandos para construir janelas, Menus, Dialog boxes, etc. Controle de criao, ajuste de tamanho, movimento e operao das janelas. A aplicao no tem de se preocupar se uma janela est sobre outra e de outros detalhes. Imaging Model: Determina como linhas, textos, curvas, etc. vo aparecer na tela. O padro de interface do Windows sem dvida o padro mais utilizado hoje, e o padro vencedor.

Tecnologias Web
A grande revoluo nos sistemas SCADA se deu com a introduo de dois padres: o OPC para comunicao do SCADA com os CLPs e demais dispositivos de controle, e os padres da Web para disseminar informaes a baixo custo para todas as reas da empresa. J em 1998 todos os supervisrios praticamente, ofereciam estaes clientes leves que podiam exibir quaisquer dados da planta em um PC convencional dotado de um browser. Numa primeira fase tnhamos apenas a feature de Internet publishing, isto , as informaes eram disponibilizadas para leitura, mas o usurio no podia interagir com a planta, por exemplo dando comandos para a planta. Uma vez vencidas as barreiras iniciais de segurana, hoje no existem mais limitaes e uma planta pode ser tanto telesupervisionada como telecomandada. Isto fez com que uma estao cliente Web pudesse ser fornecida a um custo extraordinariamente baixo. Dentro deste novo contexto hoje comum que informaes de alarmes possam ser direcionadas para um e-mail, para um pager ou para um telefone celular, criandose ainda mais flexibilidade para as atividades bsicas.

SCADA

31

Requisitos para escolha de um sistema supervisrio para uma determinada aplicao (Parmetros de "benchmark"):

Para escolher entre sistemas supervisrios necessrio considerar-se a aplicao alvo, a plataforma desejada e as caractersticas de interligao a outros sistemas. Para pequenas aplicaes (at 2000 pontos), a plataforma e o sistema operacional influem menos na escolha, mas para grandes aplicaes tornam-se os elementos decisivos. Benchmarks de fabricantes acentuam os pontos fortes do seu produto enquanto minimizam a importncia dos demais pontos. Principais caractersticas a verificar Sistema Operacional Para grandes aplicaes um SO multitarefas preemptivo indispensvel Plataforma Verificar se multiplataforma, seno se a plataforma (PC ou Workstation) adequada Caractersticas gerais Sinticos, tendncia, alarmes, diagnstico, etc I.H.M. Verificar qual a GUI utilizada, ou se o. sistema proprietrio. Redes Verificar qual a rede oferecida Redes duais Algumas aplicaes requerem uso de redes redundantes Sistemas especialistas Se desejvel funes inteligentes tais como: operator guidance, alarmes inteligentes, operao automtica, controle supervisrio, deve ser estudada a existncia de um mdulo SE no prprio sistema ou acoplado Gerador de relatrios O usurio deve ter a liberdade de definir seus prprios relatrios Gerador de estratgia Se controle DDC for desejado, ou se pretende-se de controle definir a estratgia de controle no prprio supervisrio. Interface com bancos O SCADA deve propiciar interfaces com outros de dados relacionais, softwares gerenciais planilhas, etc Interface com CPD Se possvel interligao com Mainframes e como feita Interligao a outras Se protocolo TCP/IP est disponvel redes Interface com CLPs, Se possvel uso de carto inteligente, que carto e Multi loops, etc caractersticas de velocidade Abertura para novos Se possvel definir novas aplicaes e aplicativos personalizaes em C ou outra linguagem. Documentao Se o fornecedor propicia documentao adequada, treinamento e suporte

SCADA

32

Figura 15: Marketshare de sistemas SCADA no Brasil em 1999 segundo www.automao.net

Figura 16: Resultado de benchmarking de teste realizado pela Petrobrs em 2000 Para este teste foram observados os seguintes critrios: I Caractersticas fundamentais, em atendimento a alguns preceitos que nortearam a padronizao atual, ou seja: Ser aberto e configurvel; Possuir interface de operao; Possuir drivers de comunicao com os PLCs de uso do E&P; Possuir toolkit para desenvolvimento de drivers e outras aplicaes. II Caractersticas essenciais: 33

SCADA

Deter significativas parcelas do mercado; Ter efetiva representao com suporte no Brasil; Ter uma capacidade grfica e funcional compatvel com a padronizao de IHM da E&P; Ter sido desenvolvido para ambiente Windows NT, ou seja, utilizar a sua capacidade de processamento de 32 bits; Utilizar a rede TCP/IP, como suporte para comunicao entre estaes de operao e superviso. III Caractersticas desejveis para os mesmos: Utilizar os recursos de janela prprios do Windows NT, tais como, pop-up menus, drag &drop e mais de uma janela de processo simultaneamente; Ser multiplataformas, ou seja, rodar em diferentes CPUs e/ou sistemas operacionais; J ter sido utilizado, mesmo que em aplicaes de pequeno porte e sob outros sistemas operacionais, pela E&P; Possuir infra-estrutura de conectividade, DDE, NetDDE , OLE e OPC ; Possuir driver de comunicao para o software de integrao da E&P, o PI -Plant Information, da Oil Systems. Um relatrio completo dos testes dado no documento: Relatrio RL-3000.00 5520-850-PGT-003: Avaliao de Arquiteturas de Superviso para Instalaes Operacionais daE&P da Petrobrs.

SCADA

34

Elementos SCADA:

de

construo

de

sistemas

Como seria impossvel num primeiro curso estudar todos os elementos de projeto de um sistema supervisrio, vamos apenas atentar para alguns pontos de interesse que serviro de base a execuo dos trabalhos prticos: Dicionrio de Tags: As variveis do sistema ficam armazenadas em dois depsitos de dados principais (por entidade): Tabela em memria: Contm as variveis de acesso mais contnuo. No se pode perder tempo buscando em disco, as informaes de alta freqncia de acesso. Arquivo em disco: Contm as informaes que s so acessadas por exceo. Dois tipos de aes devem ser executadas em alta velocidade: a) Dado a identificao do ponto, achar o registro correspondente (ndice na tabela e arquivo). b) Dado o Tag da varivel achar o registro correspondente. A estratgia a) ocorre quando o evento vem do processo. Por exemplo, o ponto 01.145.07 entrou em alarme. A partir da identificao da varivel: CP/PAL/BIT somos capazes de achar o seu ndice, ou atravs de uma simples frmula (distribuio linear) ou consulta a uma look-up table tendo cp como ndice de acesso. A segunda situao ocorre quando o operador solicita dados ou muda um parmetro de uma varivel baseado no seu tag. A partir do tag devemos achar o ndice da varivel. Esta tarefa pode parecer simples. Bastaria montar uma tabela contendo os campos: tag, tipo da varivel e ndice, ordenada pelo campo de tag e realizar um algoritmo de procura binria. Dado que um sistema de mdias propores, possui cerca de 10000 pontos, este algoritmo que possui tempo mdio de acesso da ordem nlogn seria lento demais. Qual o nmero mdio de acesso para se achar um tag na situao acima ? Geralmente tags so organizados em uma tabela hash. A partir dos caracteres do tag (8..12) gerada uma chave por um algoritmo de mximo espalhamento (funo hash). O nmero gerado o ndice da varivel. Como dois tags diferentes podem ter a mesma assinatura, pode haver coliso se for determinado o mesmo local de armazenamento para as duas variveis. Neste caso existem vrios algoritmos possveis. O mais simples, denominado open hash, procura a clula vazia mais prxima da clula calculada. Exemplo de funo hash: SCADA 35

int hash (char *tag, int maxtable) { int aux; char *p; p = tag; aux = 0; while (*p ne '\0') { aux = (aux << 1) xorb *p; ++p } return (aux % maxtable) } maxtable deve ser um nmero primo. Tabela Hash 0 TAG Funo Hash tag tipo ndice

tent 1

livre

tent 1 tent 2

prx. livre

n_primo -1

Figura 17: Armazenamento de tags em tabelas Hash Implemente a funo acima e calcule para uma tabela de tamanho 112 as chaves produzidas para os tags: 12-TC-54 18-BP-23a 01-PIC-29c 01-TC-55 Arquitetura de software: A ttulo de exemplo ser mostrado o esquema de definio de uma varivel analgica em um sistema SCADA convencional. Entidade: Varivel analgica Estrutura de Dados

SCADA

36

tab_tag TAG PAL CP tclp 0 tval_bruto calc_ind ndice 2 tag u_eng histerese lim_sup lim_HH lim_H lim_L lim_LL lim_inf filtro *** texto mens_MA mens_A mens_N mens_B mens_MB tag estado forado *** tval_eng tab_ana arq_ana def search delete tag tipo ident

01.002

ini_clp_1

Figura 18: Armazenamento de tags em tabelas Hash

SCADA

37

Descrio das funes de interface do drive entre um Controlador Lgico Programvel (CLP) e o Computador de Superviso
A interface de comunicao entre um sistema de operao/superviso e um CLP uma conveno que estabelece como os dados sero agrupados na memria do CLP para facilidade de acesso pelo computador principal (maior rapidez de leitura/escrita). Dependendo da aplicao (novo projeto x reforma) pode inclusive no haver nenhuma conveno, sendo os dados colocados na memria do CLP de forma esparsa e no organizada. De uma forma geral interessante agrupar variveis de natureza semelhante em uma mesma rea, por exemplo: rea de variveis analgicas, rea de parmetros de malhas PID, etc. Estas reas cumprem tambm uma funo de agrupamento lgico como por exemplo: rea de liga de equipamentos, etc. As reas de um determinado tipo de varivel pode ser subdividida em novos tipos lgicos: rea de comandos: comandos de liga de equipamentos comandos de liga de sequncias comandos de desliga de equipamentos comandos de desliga de sequncias comandos de definio de modos de equipamentos (local/remoto, automtico/manual, etc) parmetros de variveis analgicas parmetros de malhas de controle valores de constantes de operao configurao de malhas PID (Manual/Remoto/Automtico) set-points de malhas PID rea de status: estado de equipamentos n funcionando; pronto para partir; defeito: (FUN/PPP/DEF) n local/remoto; automtico/manual; n bits de defeito particulares que so dependentes do estado do equipamento: desalinhamento de correia, sobrecarga no motor, etc. estado de seqncias estado de modo de operao de equipamentos valores de variveis analgicas valores de totalizadores valores de sada de malhas de controle SCADA 38

obs: O bit geral de defeito corresponde funo OR de todos os demais bits de defeito de um determinado equipamento. rea de palavra chave Corresponde a uma nica palavra para cada CLP com a funo de watchdog timer Esta palavra escrita periodicamente pelo computador e lida e resetada pelo CLP a perodos fixos de tempo, digamos a cada 500ms. Se durante algum ciclo, a varivel no estiver setada, o CLP sabe que o supervisrio saiu do ar e pode tomar uma ao de emergncia como por exemplo ativar um computador de stand-by ou soar um alarme. A interface fsica: A interface fsica enxerga a memria do CLP como uma tabela organizada em palavras ou bits. O drive de um determinado CLP deve ser capaz de ler e escrever na sua memria, executando o protocolo particular daquele equipamento. Esta tarefa funciona como servidora de diversos clientes. Um destes clientes pode fazer o papel de interface lgica com o CLP. Se a interface lgica receber uma ordem do tipo: Ligar o equipamento 12-BP-03 (bomba de polpa), ir traduzir este comando como uma mensagem (send) para o drive fsico do tipo: Escrever 1 no bit 5 da palavra 3 do CLP 2. Os comandos da interface fsica so basicamente: a) Ler uma palavra: Read_word(clp_num, index); A varivel analgica geralmente ocupa os 12 primeiros bits de um inteiro (valor bruto)

b) Ler um bloco de palavras: Read_word_bloc(clp_num, index, num_words); L num_words palavras da memria do CLP e as entrega tarefa cliente. c) Escrever uma palavra: Write_word(clp_num, index)

d) Escrever um bloco de palavras: Write_word_bloc(clp_num, index, num_words) e) Ler uma varivel discreta: Read_dig(clp_num, pal, bit); Ler um string de variveis discretas: Read_dig_bloc(clp_num, pal, bit, num_bits); 39

f)

SCADA

L num_bits bits da memria do CLP partir do bit inicial indicado g) Escrever uma varivel digital: Write_dig(clp_num, pal, bit) h) Escrever um bloco de variveis digitais: Write_dig_bloc(clp_num, pal, bit, num_bits) A numerao dos bits na palavra depende do CLP em questo. Na maior parte dos casos a numerao comea em 0, onde o bit 0 corresponde ao bit menos significativo (LSB) da palavra. Na maior parte dos casos uma simples porta serial do micro (RS232-C) utilizada para conectar o computador com o CLP ou com um "gateway" que d acesso rede de CLPs. Nos sistemas mais modernos, este protocolo colocado embedded em uma placa de comunicao inteligente, que se interliga diretamente a rede (geralmente proprietria) do CLP. Neste ltimo caso no ocorre o estrangulamento da comunicao causado pelo gargalo de 9600 bauds da linha serial. Exemplo de organizao da rea de interface: rea Liga Desliga Modo Tamanho Descrio (palavras) 64/16 Comandos de liga de equipamentos Comandos de liga de seqncias 64/16 Comandos de desliga de equipamentos Comandos de desliga de seqncias 2 * 64/16 Comandos de definio de modos de equipamentos (2 bits por equipamento). Os nomes dos modos so configurados pelo usurio por classe de equipamentos. 6 * 64/16 Bits de status de equipamentos |Modo1|Modo2|FUN|FUN_R|PPP|DEF| Bits de status de seqncias 64 Alarmes complementares Discriminam os alarmes de equipamentos e seqncias 128 Contm os valores correntes da variveis analgicas: valor bruto de 0 a 4095. 128 * 6 Contm os parmetros de configurao das variveis analgicas: |Limite_Superior| Limite_HH| Limite_H| Limite_L| Limite_LL| Limite_Inferior| 16/8 Define o modo de operao de cada malha PID (2 bits por malha): MANUAL|REMOTO|AUTOMTICO|

Status

Alarmes

Analgicas

Parmetros de Analgicas Modo PID

SCADA

40

SP SP remoto PV PID MV PID

16 16 16 16

Parmetros PID

16 * 10

Constantes Paramtrica s Totalizador es ndice Totalizador Data Reset Palavra Chave Reserva

12

Contm os valore de set-points de cada malha em percentual Contm valores dos set-points remotos para cada malha de controle Contm o ndice para a varivel de entrada de cada malha Contm os valores das variveis de sada de cada malha em percentual [0 a 99.9 %] Pode ser lida ou escrita pelo supervisrio dependendo do estado da malha. Contm os parmetros de configurao das malhas PID: |Status_Modo|KP|Ti|Td|Banda_Morta|Bias|Limite_I nf_Sada|Limite_Sup_Sada|etc| Constantes definidas pelo operador

8*4

8 8*2 1 N

Contm os valores totalizados: Valor totalizado com Reset Valor totalizado sem Reset ndice para as variveis analgicas totalizadas Contm a data e hora do ltimo reset para cada totalizador Palavra chave rea reservada para expanso: Novas entidades, Receitas, etc

SCADA

41

EXERCCIOS
1) Atravs de um sistema supervisrio convencional tambm possvel agir diretamente sobre uma varivel manipulada, colocando-se uma malha em manual. Desenhe o esquema de ao sobre malhas de controle para os seguintes modos de operao: Automtico: Manual: 2) Examine a tabela de caracteres semi grficos dada no Apndice 1 e responda: a) Como era desenhado o grfico de barras com atualizao dinmica ? b) Como era desenhada uma vlvula de controle na posio vertical ? E horizontal ? c) Como era desenhada uma vlvula de comando manual ? d) Como era representado um moinho de bolas ? 3) Em um editor de sinpticos orientado para objetos, possvel se definir clickactions de diversas naturezas com o uso de uma linguagem procedimental. Podemos por exemplo: a) Reconhecer um alarme b) Ativar um programa escrito em C c) Exibir um tpico de hipertexto d) Exibir um novo sintico e) Exibir os alarmes referentes a uma classe. f) Executar um procedimento escrito em linguagem de 4a gerao g) Mudar o atributo de uma varivel Aponte as vantagens e limitaes desta estratgia. 4) Um sistema SCADA possui uma linguagem de blocos funcionais. Uma expresso de gatilho deve ser definida para deflagrar a ao do bloco. Somente quando esta expresso adquire valor verdade TRUE, a funo do bloco ativada, transformando entradas em sadas. Descreva que caractersticas deve possuir esta linguagem para ser capaz de representar as funes de controle tpicas de sistemas SCADA. Suponha que um bloco execute uma ao de emergncia a ser deflagrador quando uma certa condio de variveis de processo ocorrer (expresso booleana). Escreva um programa em linguagem C para: a) Interfacear com o usurio e receber a definio da expresso de gatilho b) Compilar a expresso de habilitao definida. c) Aplicar a ao de controle. Faa um programa que demonstre o funcionamento do seu programa na tela. Descreva as caractersticas que a linguagem de blocos deve possuir para ser til em processos de batelada para: a) Deflagrar aes de controle na ocorrncia de eventos. b) Temporizar aes. c) Enviar receitas ao CLP SCADA 42

d) Amostrar o valor de variveis de processo em disco ou tabela em memria. e) Gerar um relatrio ao final da batelada. 5) Projete um sinptico para o problema do reator estudado no captulo de programao de CLPs. Desenhe uma mscara e indique os campos de atualizao dinmica. Leve em considerao todas as observaes discutidas no captulo sobre ergonomia. Se voc tiver acesso a um sistema SCADA, construa o seu sinptico e tire um hardcopy da tela. 6) Faa um programa que desenhe uma barra vertical proporcional ao valor de uma varivel analgica e a atualize, caso o valor da varivel varie cerca de 5%. a) Utilize um conjunto de caracteres semigrficos como definido no apndice A b) Utilize as funes grficas de um pacote grfico qualquer. 7) Um determinado sistema supervisrio muito usado na rea petroqumica definiu um objeto composto denominado tanque. Liste os atributos que no seu entender tal objeto deva possuir. 8) Uma varivel clculo foi criada para servir de base a animao grfica que simula a rotao de um forno de cimento. O forno deve girar na tela somente quando o bit de funcionando do motor do forno estiver setado e a velocidade de giro deve ser proporcional a velocidade do forno em rpm. a) Se voc deseja apenas dar a idia de movimento sem correlao com a velocidade real, qual a funo mais simples a ser utilizada ? b) Defina este clculo supondo uma linguagem como apresentada no objeto clculo. c) Suponha que voc no disponha da medida de velocidade e que quer realizar a animao baseado num valor nominal de 2 rpm. Que funo temporal o seu processador de clculo deve possuir para que a velocidade da atualizao dinmica seja coerente com o comportamento real do forno ? 9) Gerenciador de janela de alarmes: Construa uma tarefa para gerenciamento de alarmes. Ela deve gerenciar 4 linhas na tela dinamicamente. Esta tarefa funciona como servidora, e recebe mensagens de outras tarefas clientes descrevendo eventos de alarme. As mensagens so enfileiradas e apenas as 4 mensagens mais recentes aparecem no vdeo. Quando o operador reconhece o alarme mais recente ele retirado da tela e as demais mensagens so promovidas. O operador pode tambm reconhecer todos os alarmes simultaneamente. Construa uma tarefa de inicializao para criar o gerenciador de alarmes e 2 clientes. Ao acionar a tecla <A> do seu teclado, o cliente A gera um evento. A tecla <B> funciona de modo anlogo para o cliente B. A tecla <r> reconhece um alarme e a tecla <R> reconhece todos. 10) Discuta as vantagens e desvantagens de se implementar uma linguagem de comandos para usurio compilada ao invs de interpretada. SCADA 43

11) Construa um programa CSL para: a) Exibir uma tela de sintico to logo qualquer uma de trs variveis de processo crticas entre em alarme. b) Imprimir um relatrio automaticamente ao final de um dia c) Totalizar a vazo de duas bombas em funcionamento exclusivo pelo motor que estiver ligado. 12) Considerando os critrios estabelecidos para uma linguagem de alto nvel para uso pelo usurio, quais as funes no contempladas pela linguagem CSL ? 13) Num sistema dirigido por eventos, o supervisrio deve checar o valor de variveis analgicas contra os limites de configurao para deteco de alarmes. Como esta tarefa poderia ser transferida para o sistema de CLPs ? 14) Animao de um sintico: Construa um sintico contendo no mnimo os seguintes objetos: a) Um tanque. b) Uma vlvula tipo borboleta. c) Uma bomba. Anime o sintico usando uma tarefa para gerar valores segundo uma funo qualquer. Outra tarefa deve atualizar os valores das variveis no vdeo segundo as seguintes convenes e formas de representao: a) Nvel do tanque: varivel analgica. n valor numrico. n barra vertical indicando o seu grau de enchimento. n grfico de tendncia. b) Estado de funcionamento da bomba: varivel discreta: a cor da bomba deve indicar o seu estado: n vermelho = defeito n amarelo = pronto para operar n verde = funcionando Dois botes com rtulos LIGA e DESLIGA devem permitir ao operador comandar o seu funcionamento . c) Estado da vlvula: varivel discreta. n A vlvula possui dois estados: aberto e fechado. n O cone ou objeto que a representa deve ser modificado de acordo com o seu estado instantneo. Uma tarefa de inicializao responsvel pela carga inicial da imagem do sintico e pela criao das demais tarefas (simulao da planta, atualizao da tela, interface com o usurio, etc). 15) Simulao de um processo contnuo SCADA 44

Controle DDC + sintico animado


14:22 Nvel do tanque Baixo 14:34 Nvel do tanque Normal 14:55 Nvel do tanque Alto SP 8.5 m LIC 5 8.3 m PV, SP 120 l/min MV 100

LLH 2
LAH

LSH 2

10 m 9m LT 2 HCV 1 0 t (min) .

LLL 2
LAL

LSL 2 m 2 0m
2

48 l/min FT 3 80 % FI 5

Um tanque cilndrico de 5 metros de altura de 1,596 m de dimetro, pode ser enchido atravs de uma tubulao ligada a uma vlvula de controle, cuja vazo mxima de 120 l/min. Uma vlvula Manual permite esvaziar o tanque a uma razo de 60 l/min. Projete um controlador PID discreto, que controle o nvel da caixa atravs da manipulao da vazo de entrada. Use um perodo de amostragem de 100 ms para o algoritmo apresentado no paper "DDC Control Algorithms and their implementation" extrado do livro "Real Time Computer Control" de Stuart Bennet: s0 = 0 sn = sn-1 + en mn = Kp * en + Ki * sn + Kd * (en - en-1) + MV onde: Kp = Kc Ki = Kc * Ts/Ti Kd = Kc * Td/Ts Desenhe um sinptico com as seguintes animaes: a) O nvel da caixa atualizado dinamicamente sendo tambm exibido o seu valor em metros. SCADA 45

(Eq 4.7)

b) Indicao da vazo de sada. Botes de controle de incremento e decremento permitem simular a abertura e o fechamento da vlvula de sada em passos de 10% ( evidente que uma vlvula manual s pode ser operada diretamente do campo). c) O valor do set-point de nvel pode ser variado pelo operador. d) O valor da vazo de alimentao indicado em unidade de engenharia e percentual. e) Um grfico de tendncia oferece uma plotagem do set-point, varivel de entrada (nvel), e varivel manipulada com atualizao dinmica a cada 0.5s. f) Clicando com o mouse sobre o controlador PID abre-se uma janela para ajuste dos parmetros Kc (ganho proporcional) ou PB (banda proporcional = 100/Kc), Ti (reset time em min) e Td (derivative time em min) para sintonia do controlador. g) Indique a condio de nvel de tanque alto e baixo atravs de uma sinalizao no prprio sintico ou exibindo uma mensagem numa linha de alarmes. Sintonize o controlador PID. Veja como o seu controlador reage a um degrau aplicado ao set-point. Analise o seu comportamento quando voc aplica um degrau na carga deixando o set-point constante, por exemplo diminuindo a vazo de sada para 20 l/h. Implementao: n Uma tarefa de inicializao dever criar todas as demais no incio do programa. n Uma tarefa deve gerenciar todas as interaes com o usurio (I.H.M.). n O controlador PID e a caixa devem ser modelados cada qual por uma tarefa independente. n Concentre todas as atualizaes do vdeo em uma nica tarefa. n Quem optar pela linha de alarmes, dever construir uma tarefa gerenciadora de alarmes que exiba as 4 mensagens de alarmes mais recentes numa linha no topo da tela. 16) Especifique um relatrio de paralisaes de equipamentos. 17) Discuta as vantagens de se utilizar um browser como alternativa de visualizao e operao em sistemas SCADA. 18) Qual a vantagem de se poder limitar os relatrios a serem desenvolvidos em um sistema SCADA e de transferir parte destas funes para o nvel do MES ?

SCADA

46

BIBLIOGRAFIA
Sites sobre SCADA: http://www.abpubs.demon.co.uk/scadasites.htm KAAYE Steve, "Designing and Integrating Workstations Into Plant Operations", I&C May, 1990 KIRSHEN, D. S., and B.F. Wollenberg, "Inteligent Alarm Processing in Power Systems", Proceedings of the IEEE, vol 80, n5, 1992. KUTOVA, Marcos Andr, OpenLook Overview da Especificao Funcional, Monografia de final de curso: Sistemas de Automao II., EEUFMG PAULA FILHO , Wilson de, e Ana Paola Amaral Duarte - Um editor orientado para geometria, Anais do x Congresso da SUCESU PETTERSON Bo C, "Ergonomics: A Key to Reliable Process Operation", Control Engineering, August 1989:14 - 15. SEIXAS FILHO, Constantino, "Um sistema grfico multitarefas para representao dinmica de processos industriais", Anais do 8 Congresso Nacional de Automtica (SBA), Setembro, 1990. SHAW, John . "Reducing Operator Error in Distributed Control Systems", Proc. of the ISA International Conference and Exhibit, Anaheim, Oct 1987 SUN Microsystems, Inc., OPEN LOOK Graphical User Interface, Application Style Guidelines, Addison-Wesley Publishing Company, Inc.,1990 USDATA, FactoryLink Technical Notes, version for Multitasked DOS, 1990 WONDERWARE Software Development Corp., "InTouch" Man-Machine Interface - Application Generator, User Guide and Reference Manual, Rev D, May 1993.

SCADA

47

APNDICE I CONJUNTO DE CARACTERES SEMI GRFICOS

SCADA

48