87
UNED DE CUBATÃO APOSTILA DE CURSO TÉCNICO EM AUTOMAÇÃO INDUSTRIAL 4 o MÓDULO MONTAGEM: PROFESSOR MARCELO S. COELHO Trabalho elaborado, a partir do conteúdo da apostila Configuração de sistemas supervisórios INDUSOFT versão 4.4, 2006 do SENAI.

apostilasupervisorioindusoftind371-130911134248-phpapp02

Embed Size (px)

DESCRIPTION

APOSTILA DE AUTOMAÇÃO

Citation preview

Eletrnica digital

UNED DE CUBATO

APOSTILA DE

CURSO TCNICO EM AUTOMAO INDUSTRIAL4o MDULO

MONTAGEM:

PROFESSOR MARCELO S. COELHO

Trabalho elaborado, a partir do contedo da apostila Configurao de sistemas supervisrios INDUSOFT verso 4.4, 2006 do SENAI.

Reviso 1.0 AGOSTO/2007

SUMRIO

5Sistema supervisrio INDUSOFT

18Sistema SCADA

26Atividades de laboratrio para configurao de supervisrio INDUSOFT

Sistema supervisrio INDUSOFT

Os softwares supervisrios para automao industrial so produtos que incorporam funes de:

Controle supervisrio, tais como comando de atuadores de campo; monitorao de dados de processo (temperatura, nvel, etc.), controle contnuo, controle por processamento em lote e controle estatstico;

Alarmes de condies e estado de variveis de processo;

Emisso de relatrios;

Aquisio de dados (SCADA);

Solues para processamento de batelada (Batch).

Dentre as funes mais importantes do software supervisrio para automao industrial, destaca-se a aquisio de dados, a caracterstica de vnculo bidirecional, onde os dados podem tambm ser enviados para o cho de fbrica, alm de serem lidos dos equipamentos de aquisio e controle. Uma caracterstica importante a capacidade de comunicao do software com equipamentos (hardware) proprietrios de vrios fabricantes diferentes, conseguido em funo do uso de pacotes de software de interface denominado driver de comunicao.

importante deixar claro, inicialmente, alguns conceitos importantes relacionado aplicao dos softwares:

Estao (N): Estao (n) qualquer computador que esteja rodando um software supervisrio. Estao (n) local aquela em que se est operando ou configurando e estao (n) remota aquela que acessada atravs de um link de comunicao.

Estao independente (Stand Alone): uma estao que desempenha todas funes de um sistema de superviso no conectada a uma rede de comunicao.

Estao stand alone.

Estao servidora de Base de Dados (Servidor SCADA): uma estao que executa a funo de aquisio de dados.

Estao de Monitorao e Operao: uma estao que permite que o operador monitore o processo, altere parmetros do processo, reconhea alarmes e mais algumas tarefas de operao de processo mas no permite alterar a configurao de telas nem da base de dados.

Estao de Gerncia: uma estao que permite a gerentes, supervisores ou quaisquer outras pessoas terem acesso aos dados de processo em forma de relatrios, grficos e telas, sendo que reconhecimentos de alarme ou alterao de parmetros do processo, entre outras tarefas de operao, no podero ser realizadas nesta estao.

Arquitetura

Um software de superviso e controle de sistemas de automao de processos tem como caracterstica fundamental a capacidade de ser multitarefa, ou seja, de poder executar vrios mdulos aplicativos simultaneamente.

Sua arquitetura simplificada poder ser vista como:

Arquitetura de um sistema supervisrio

Pela figura podemos notar que o centro do sistema um grande banco de dados alimentado pelas informaes oriundas do processo via ECLs (Estao de Controle Local). responsvel por formatar e organizar esses dados para que outros mdulos do sistema as utilizem em suas atividades.

A interface de operao a parte do software supervisrio com a qual so desenvolvidas telas grficas para visualizao e comando do processo o qual o sistema est atuando.

O driver de comunicao um mdulo de software capaz de ler e escrever dados nas ECLs (Estao de Controle Local) de campo. Para cada fabricante de ECL se faz necessrio um driver de comunicao.

O bloco de aquisio de dados tem capacidade de se comunicar com os diversos drivers de comunicao, permitindo o interfaceamento desses drivers com a base de dados, lendo e escrevendo na mesma base.

Os mdulos aplicativos so mdulos que acessam a base de dados do software gerando relatrios, grficos, alarmes, acesso a outros banco de dados, etc..

O modo configurao tem, geralmente, as seguintes caractersticas:

Possibilidade de definio e de gerao de sinticos de fluxogramas de processo atravs de linguagens especficas ou de utilizao da prpria tela para gerao de desenhos e das variveis representadas em tempo real.

Possibilidade de definio do sequenciamento de operaes de processos em batelada.

Base de Dados

Denominamos base de dados (Database) um arquivo de dados que contm todas as variveis atualizadas em tempo real para alimentao de dados do software supervisrio para automao industrial.

Todo o sistema de superviso ser alimentado com dados vindos de um CP ou ECL. Assim, necessrio deixar estes dados disponveis para que outros mdulos (vistos no item anterior) possam utiliz-los. Cada ponto lido do CLP ou da ECL tem seu valor armazenado em uma varivel da aplicao, que da em diante ser chamada TAG. TAGs no so somente pontos lidos de equipamentos de campo mas qualquer varivel da aplicao, inclusive as pr-definidas do Sistema Supervisrio, que so chamadas TAGs internos. O conjunto de TAGs (internos ou da aplicao) fica disponvel na database, onde todos os mdulos vo buscar ou alterar valores dos TAGS. A database funciona como uma conexo entre os mdulos da aplicao, onde todos os mdulos configurados s se comunicam com a base da dados. A execuo do sistema ficar semelhante a um sistema multitarefa. Cada mdulo tem sua vez de ser executado e de se comunicar, seguindo sempre a mesma seqncia de execuo dos mdulos.

Essa base de dados ser criada atravs de um software de configurao do sistema. Geralmente se dar sob a forma de telas a serem preenchidas, informando os dados necessrios para a configurao do sistema que se pretende criar.

Nesse banco de dados encontraremos, principalmente, as variveis de processo que pretendemos supervisionar representadas por mnemnicos que contm informaes adicionais sobre: range, alarmes, etc.

Interface de operao

onde se ir definir as telas do sistema e as variveis que integraro as mesmas. Faremos uma diviso por telas e em cada uma mostraremos os dados geralmente solicitados.

Telas de grupo

Essa fase da configurao obtida depois que todos os tags estejam definidos. O sistema configurador solicitar os tags e os parmetros que possuem.

Normalmente esses instrumentos so previamente criados pelo sistema, cabendo ao usurio definir o tipo. Os tipos mais comuns podem ser:

Indicao digital

Indicao analgica

Totalizao

Controle digital

Controle analgico

Registrador

Telas de sintico

Esta fase poderemos definir como a mais trabalhosa em termos de configurao. Isso porque teremos que criar um ou vrios sinticos do processo em questo.

Como esses sinticos so um retrato particular de cada planta no existem, ento, sinticos pr-configurados mas ferramentas grficas que possibilitem a criao de qualquer desenho.

Tela sintico.

A maioria dos sistemas tem implementado softwares bem semelhantes aos softwares especficos na rea de CAD, porm com recursos grficos limitados embora suficientes para a elaborao dos desenhos.

Outros fabricantes criam softwares de importao de arquivos de desenhos gerados diretamente em softwares de CAD. Isso torna o trabalho de criao do desenho mais suave.

Podemos dividir esta fase de configurao em dois principais mdulos: mdulo de edio de desenhos e mdulo de animao de desenhos.

Mdulo de edio de desenhosO mdulo de edio de desenhos permite que seja elaborado um desenho esttico que poder representar qualquer parte do processo.

Os fabricantes permitem esse trabalho atravs do uso de elementos geomtricos primitivos que, agrupados convenientemente, permitiro a criao do desenho.

Os elementos geomtricos primitivos mais comuns so:

Pontos

Linhas

Arcos

Circunferncias

Animao de desenhos

O mdulo de animao de desenhos consiste em criar alteraes no desenho em funo de valores das variveis da planta que esto integradas no sistema digital.

Isso significa dizer que teremos um menu com os tipos possveis animaes do desenho. Aps inserida a animao o software solicitar qual ser o tag da base de dados que ir comand-la.

Tomemos, por exemplo, o desenho de um tanque TQ-01 e uma malha de controle com tag LIC-01. Um efeito interessante que pode ser realizado com a varivel nvel ser o de pintar a regio interna do tanque em funo do valor da PV do LIC-01. Ou seja, se o valor da PV for 0% o interior do tanque no ser pintado. Para 50% de PV teremos 50% do tanque pintados. Consequentemente para 100% de PV teremos todo o interno do tanque pintado.

Para isso ser realizado teramos as seguintes fases:

Criar o desenho do tanque.

Criar o efeito de mudana de nvel.

Ligar o efeito de animao com a varivel PV do LIC-01.

Como exemplos de animao que poderemos encontrar nos editores de desenhos poderemos citar:

Barra grfica Bargraph: Efeito de uma barra retangular que preenchida internamente em funo de uma varivel analgica associada. Pode-se escolher a cor de fundo e/ou cor da barra proporcional varivel associada, alm das dimenses de altura e largura desta barra. A animao ocorrer no sentido vertical, de baixo para cima. Como exemplo desse efeito temos a criao dos faces-plates dos controladores nas telas de grupo, onde temos os bargraphs de PV, SP e MV proporcionais ao seu valor analgico.

Valor numrico Display: Cria uma janela numrica que sendo associada a uma varivel analgica retorna seu valor. Esse efeito usado na tela de grupo onde temos o bargraph dando idia global do valor da varivel e uma janela numrica com seu valor exato.

Mudana de cor Color: Efeito em que uma regio retangular da tela pode sofrer mudana de sua cor em relao cor de fundo. Esse tipo de animao associada a uma varivel digital. Como exemplo poderamos citar uma animao em que teramos o desenho de uma bomba com sua respectiva tubulao. Se o sistema receber o sinal digital informando que a bomba foi ligada poderemos, ento, mudar a cor no interior da tubulao simulando, assim, o caminho que o fluxo estar fazendo pela planta.

Atuao Command: Efeito de se poder mudar o status de um ponto digital ou analgico atravs de uma janela aberta no sintico. Isso permite a atuao do ponto sem a necessidade de navegar at a tela de instrumentos. Ex. Ligar uma bomba.

Configurao dos mdulos aplicativos

Os mdulos aplicativos do sistema consistem em pacotes de software, tais como scheduler ou clock, recipe (receitas), report (relatrios), matemtico, trend (tendncia) e alarm com o objetivo de otimizar o processo.

Mdulo de Alarme

Neste mdulo possvel definir as mensagens de alarme que o sistema ir emitir, bem como as condies em que as mesmas sero emitidas. O pacote de software responsvel pelo gerenciamento dos alarmes definir, tambm, se as mensagens de alarme sero impressas ou armazenadas em disco. Ainda classificar os tags e suas mensagens em grupos de alarmes.

Exemplo de tela de configurao de alarmes.

Exemplo de tela sumrio de alarmes.

Mdulo Relatrio

possvel definir relatrios de eventos, normalmente inerentes ao sistema. Este mdulo geralmente solicitar parmetros de configurao, do tipo cabealho do relatrio, mneumnico das variveis que comporo o relatrio e sistema de emisso de relatrio.

Exemplo de tela de configurao de relatrios.

Quanto ao sistema de emisso de relatrio poderemos ter a gerao de relatrios instantneos, ou seja, o operador via console solicita o relatrio com as variveis naquele instante. Ainda poder ser definida a periodicidade automtica para a emisso dos mesmos (por exemplo de hora em hora).

Mdulo Histrico

Neste item deve-se definir quais sero as variveis que formaro as telas de histrico. Basta, ento, informar qual o mnemnico da varivel.

Outro parmetro que o sistema ir solicitar ser a base de tempo de salvamento, que poder ser de 1 hora ou de outra quantidade qualquer de tempo como, por exemplo, 1 semana, 1 ms, etc..

Obs: Todos os valores das variveis histricas so armazenados em unidades de disco. Note, ento, que o sistema cria uma regio definida de memria para armazenamento desses valores. Assim sendo, fica o conceito de que ao ser iniciada a aquisio e gravao desses dados em disco existir um dado momento em que esse espao de memria ser preenchido e ento o sistema comear a sobrepor as primeiras informaes gravadas.

Exemplo de tela de configurao de grficos histricos

.

A segunda observao que quanto mais alta for a base de tempo, melhor, pois teremos um maior tempo registrado. A desvantagem que, como a quantidade de memria por varivel histrica finita, um sistema com base de tempo alta ter uma taxa de amostragem tambm alta, o que poder prejudicar a preciso do registro histrico da varivel numa futura anlise.

Para ilustrar melhor o que foi dito imaginemos uma rea de 1000 unidades de memria. Imaginemos tambm 2 bases de tempo: 1 hora e 1 dia.

A base de tempo de 1 hora far aquisies da varivel a cada 3,6s (3600s/1000).

A base de tempo de 1 dia far aquisies de varivel a cada 86,4 s (86400s/1000)

Note que enquanto a primeira base de tempo escolhida l a varivel num determinado intervalo a segunda o faz num tempo 24 vezes maior.

Deve-se, ento, de acordo com a gerncia de processos, definir qual o valor ideal de base de tempo.

Um recurso adicional a esse sistema ser o salvamento dos registros histricos em disquete, ou seja, o sistema poder automaticamente ir descarregando o banco de dados em disquete. Quando o disquete est totalmente carregado o sistema cria um aviso ao operador para a troca por outro vazio.

Um detalhe interessante que os dados armazenados em disco podem ser migrados facilmente para sistemas de anlise de dados (planilhas eletrnicas) sem nenhum inconveniente.

Mdulo Matemtico

Permite que sejam desenvolvidas rotinas lgicas e clculos matemticos necessrios para uma aplicao. Este mdulo pode ser implementado na prpria estao de trabalho. possvel, tambm, existir um determinado computador em um nvel hierrquico superior ao de uma estao de trabalho executando esta tarefa, ou seja, recebendo valores oriundos dos nveis mais baixos (ECL s) e efetuando algoritmos matemticos com os mesmos. Esse resultado poder servir para realimentar os nveis mais baixos. O propsito de se usar um computador especfico para realizar esse tipo de funo deve-se ao fato de no nvel de controle termos processadores dedicados em funes de controle de processo em tempo real. Caso tentemos increment-los com clculos avanados os mesmos poderiam perder essa caracterstica, o que seria desastroso.

Geralmente o modo de se implementar tais clculos efetivado atravs do uso de linguagens de alto nvel (C, Pascal, Fortran, etc) ou pacotes de softwares utilitrios que venham com funes pr definidas, conforme ilustrao a seguir.

Exemplo de tela de configurao de mdulos matemticos.

Configurao do mdulo de comunicao

Esse mdulo pode ser dividido, na maioria dos softwares de configurao, em duas partes:

Configurao dos canais de comunicao

Configurao dos endereos das variveis

Configurao dos canais de comunicao

Em um sistema digital distribudo temos vrios canais de comunicao com os equipamentos distribudos pela planta. O objetivo desse mdulo informar ao sistema qual equipamento estar conectado a um determinado canal e informar (caso necessrio) dados sobre a comunicao do sistema com o equipamento como, por exemplo, velocidade de comunicao(Baud Rate), quantidade de bits de dados, stop bits, paridade, etc.

Note que num canal de comunicao poderemos ter um ou vrios equipamentos conectados, porm todos eles devero que ser o mesmo tipo de equipamento. Isso se deve ao fato de que cada equipamento tem seu prprio protocolo de comunicao; ento, o sistema deve possuir uma biblioteca que contenha os vrios protocolos dos equipamentos (Drives).

Configurao dos endereos das variveis

Este mdulo ir dizer ao subsistema de monitorao e operao de onde viro e/ou para onde iro os valores das variveis do processo que sero monitorados.

Basicamente consiste em criar-se um LINK entre um endereo da ECL e o tag da base de dados. Para esse tag ir se definir o canal, o endereo do equipamento e o valor da memria do equipamento onde se encontra o valor da varivel desejada.

Note que este passo de fundamental importncia para o funcionamento correto do subsistema de monitorao e operao, pois caso se tenha endereado incorretamente o valor de uma varivel as informaes apresentadas no console de operao no sero espelho do que est ocorrendo no processo, trazendo implicaes desastrosas. recomendvel que aps o sistema configurado e instalado se realize um loop-test das variveis tanto de aquisio como de atuao para total confiabilidade do sistema.

Sistema SCADA

A palavra SCADA um acrnimo para Supervisory Control And Data Acquisition. Os primeiros sistemas SCADA, basicamente telemtricos, permitiam informar periodicamente o estado corrente do processo industrial, monitorizando sinais representativos de medidas e estados de dispositivos atravs de um painel de lmpadas e indicadores sem que houvesse qualquer interface aplicacional com o operador.

Com a evoluo tecnolgica, os computadores assumiram um papel de gesto no recolhimento e tratamento de dados, permitindo a sua visualizao e a gerao de comandos de programao para execuo de funes de controle complexas.

Atualmente os sistemas SCADA utilizam tecnologias de computao e comunicao para automatizar a monitorao e controle dos processos industriais, efetuando aquisio de dados em ambientes complexos e dispersos geograficamente. Os sistemas SCADA cobrem um mercado cada vez mais vasto, podendo ser encontrados em diversas reas como em hidreltricas, indstria de celulose, petrolfera, txtil, metalrgica, automobilstica e eletrnica, alm dos setores de saneamento bsico, entre outros.

Estes sistemas revelam-se de crucial importncia na estrutura de gesto das empresas, fato pelo qual deixaram de ser vistos como meras ferramentas operacionais, ou de engenharia, e passaram a ser vistos como uma importante fonte de informao. Num ambiente industrial cada vez mais complexo e competitivo, os fatores relacionados com a disponibilidade e segurana da informao tm grande relevncia, tornando-se necessrio garantir que a informao esteja disponvel e segura quando necessria, independentemente da localizao geogrfica. Torna-se, portanto, necessrio implementar mecanismos de acessibilidade, de segurana e de tolerncia a falhas.

Os sistemas SCADA melhoram a eficincia do processo de monitorao e controle, disponibilizando, em tempo til, o estado atual do sistema atravs de um conjunto de previses, grficos e relatrios de modo a permitir a tomada de decises operacionais apropriadas, quer automaticamente, quer por iniciativa do operador.

Componentes do sistema SCADA

Sensores e atuadores.

Estaes remotas.

Rede de comunicaes.

Estaes centrais de superviso.

Sensores e atuadores

Os sensores e atuadores so dispositivos conectados aos equipamentos controlados e monitorados pelos sistemas SCADA.

Os sensores convertem parmetros fsicos, tais como velocidade, nvel de gua e temperatura, em sinais analgicos e digitais legveis pela estao remota.

Os atuadores so usados para atuar sobre o sistema, ligando e desligando determinados equipamentos.

Estaes remotas

O processo de controle e aquisio de dados inicia-se nas estaes remotas PLCs (Programmable Logic Controllers) e RTUs (Remote Terminal Units) com a leitura dos valores atuais dos dispositivos que lhes esto associados e o respectivo controle. Os PLCs e os RTUs so pequenos computadores atravs dos quais as estaes centrais de monitorao se comunicam com os dispositivos existentes nas instalaes fabris.

Os PLCs apresentam como principal vantagem a facilidade de programao e controle de I/O. Por outro lado, os RTUs possuem boa capacidade de comunicao, incluindo comunicao via rdio, estando especialmente indicados para situaes adversas onde a comunicao difcil.

Atualmente, nota-se uma convergncia no sentido de reunir as melhores caractersticas destes dois equipamentos: a facilidade de programao e controle dos PLCs e as capacidades de comunicao dos RTUs.

Rede de comunicaes

Rede de comunicaes a plataforma atravs da qual a informao de um sistema SCADA transferida. Levando em considerao os requisitos do sistema e as distncias a cobrir, as redes de comunicao podem ser implementadas, entre outros, atravs dos seguintes meios fsicos:

Cabos - Os cabos esto indicados para a cobertura de pequenas distncias. Normalmente so utilizados em fbricas, no sendo adequados para grandes distncias devido ao elevado custo de cablagem, instalao e manuteno;

Linhas Dial-Up - As linhas Dial-Up podem ser usadas em sistemas com atualizaes peridicas que no justifiquem conexo permanente. Quando for necessria a comunicao com uma estao remota efetuada uma ligao para o respectivo nmero;

Linhas Dedicadas - As linhas dedicadas so usadas em sistemas que necessitam de conexo permanente. Esta uma soluo cara, pois necessrio o aluguel permanente de uma linha telefnica ligada a cada estao remota;

Rdio-Modems - Estes dispositivos so usados em locais onde no esto acessveis linhas telefnicas. Por vezes, em situaes onde uma ligao direta via rdio no pode ser estabelecida devido distncia, necessria a instalao de dispositivos repetidores.

Estaes centrais de superviso

As estaes centrais de superviso so as unidades principais dos sistemas SCADA, sendo responsveis por recolher a informao gerada pelas estaes remotas e agir em conformidade com os eventos detectados. Podem estar centralizadas num nico computador ou distribudas por uma rede de computadores de modo a permitir a partilha de informao proveniente do sistema SCADA.

A interao entre os operadores e as estaes de monitorao central efetuada atravs de uma interface Homem-Mquina, onde comum a visualizao de um diagrama representativo da instalao fabril, da representao grfica das estaes remotas, dos valores atuais dos instrumentos fabris e da apresentao dos alarmes detectados.

Estrutura e Configurao

Funcionalidades

A capacidade de superviso do sistema SCADA inclui as seguintes funcionalidades:

Aquisio de dados;

Visualizao de dados;

Processamento de alarmes;

Tolerncia a falhas.

Aquisio de dados:

A aquisio de dados o processo que envolve o recolhimento e transmisso de dados desde as instalaes fabris, eventualmente remotas, at as estaes centrais de monitorao.

O processo de aquisio de dados inicia-se nas instalaes fabris, onde as estaes remotas lem os valores dos dispositivos a elas conectados. Aps a leitura desses valores segue-se a fase de transmisso de dados em que, quer em modo de comunicao por polling, quer em modo de comunicao por interrupo (Report by Exception), os dados so transmitidos atravs da rede de comunicaes at a estao central.

Por fim, o processo de aquisio de dados concludo com o respectivo armazenamento em bases de dados.

Visualizao de dados:

A visualizao de dados consiste na apresentao de informao atravs de interfaces homem-mquina, geralmente acompanhados por animaes, de modo a simular a evoluo do estado dos dispositivos controlados na instalao fabril.

Os sistemas SCADA permitem visualizar, alm dos dados recolhidos, previses e tendncias do processo produtivo com base em valores recolhidos e valores parametrizados pelo operador, alm de grficos e relatrios relativos a dados atuais ou existentes em histrico.

Processamento de alarmes:

O processamento de alarmes assume um papel de elevada importncia na medida em que permite informar anomalias verificadas, sugerir medidas a tomar e, em determinadas situaes, reagir automaticamente mediante parmetros previamente estabelecidos.

O computador, ao analisar os dados recolhidos, verifica se algum dos dispositivos gerou valores excepcionais, indicadores de situaes de alarme.

No tratamento de valores digitais, as situaes de alarme podem ser detectadas atravs de uma varivel que assume o valor 0 ou 1; no tratamento de valores analgicos so definidos valores que limitam as situaes aceitveis, de modo a que quando os valores lidos estiverem situados fora das gamas de valores permitidos seja detectada uma situao de alarme.

Alm das situaes de alarme detectadas com base nos valores lidos pelos dispositivos, os sistemas SCADA podem acionar alarmes com base na ocorrncia de determinadas combinaes de eventos.

Os alarmes so classificados por nveis de prioridade em funo da sua gravidade, sendo reservada a maior prioridade para os alarmes relacionados a questes de segurana.

Em situaes de falha do servidor ou da rede de comunicaes possvel efetuar o armazenamento das mensagens de alarme em buffer o que, aliado capacidade de transmisso de mensagens de alarme para vrios servidores, permite atingir maior grau de tolerncia a falhas.

Atravs da informao proveniente do login, os sistemas SCADA identificam e localizam os operadores, de modo a filtrar e encaminhar os alarmes em funo das suas reas de competncia e responsabilidade.

Os sistemas SCADA guardam em pastas .log informao relativa a todos os alarmes gerados, de modo a permitir que posteriormente se proceda a uma anlise mais detalhada das circunstncias que estiveram na origem da gerao do alarme.

Tolerncia a falhas:

Para atingir nveis aceitveis de tolerncia a falhas usual a existncia de informao redundante na rede e de mquinas backup situadas dentro e fora das instalaes fabris, de modo a permitir que sempre que se verifique uma falha num computador o controle das operaes seja transferido automaticamente para outro computador - uma rplica de backup - sem que se notem interrupes significativas.

Modos de comunicao

Os sistemas SCADA utilizam genericamente dois modos de comunicao: comunicao por polling e comunicao por interrupo.

Tecnologias disponveis

Internet

DDE / NETDDE

OLE

OPC

Protocolos de comunicao de equipamentos (proprietrios/abertos)

Internet

A Internet cada vez mais o meio de comunicao preferido pelas organizaes. Atravs do uso de tecnologias relacionadas a ela e de padres como TCP/IP, HTTP e HTML , atualmente, possvel o acesso e partilha de dados entre a rea de produo e a rea de superviso e controle de vrias instalaes fabris.

De fato, com o uso de um Web browser possvel controlar em tempo real uma mquina localizada em qualquer parte do mundo, bastando introduzir o seu URL no browser, sem que haja necessidade de deslocamento.

Os dados so transportados atravs de protocolos comuns, garantindo a interconectividade e a interoperabilidade entre os diversos dispositivos que compem o sistema.

A interoperabilidade significa que os dispositivos de uma rede partilham informao, no coexistindo isoladamente.

Utilizando as infra-estruturas de rede existentes, baseadas em Ethernet - TCP/IP, possvel desenvolver sistemas de aquisio de dados e automao de sistemas sem necessidade de infra-estruturas adicionais. No necessrio nenhum hardware especial para desenvolver uma aplicao de aquisio de dados baseada na Internet.

O browser se comunica com o servidor Web atravs do protocolo HTTP. Aps o envio do pedido referente operao pretendida, ele recebe a resposta na forma de uma pgina HTML.

Algumas das vantagens da implementao de uma aplicao de recolhimento de dados atravs de um browser so:

O browser disponibiliza um modo de interao simples, com o qual os utilizadores j esto habituados, podendo incluir ajuda on-line, imagens, som e vdeo;

No necessria a instalao de nenhum cliente, dado que geralmente todos os computadores tm browsers instalados, o que simplifica a administrao do sistema;

necessrio, apenas, efetuar manuteno de pginas, applets e scripts do lado do servidor;

A natureza cliente-servidor da Internet faz com que seja possvel que diversos clientes acessem, simultaneamente, dispositivos e visualizem dados em tempo real, independe da sua localizao. Essa aproximao diferente da tradicional e permite controlar vrios dispositivos.

Teoricamente, qualquer dispositivo com capacidade para se comunicar com um computador pode ser colocado na rede. Neste mbito esto includos dispositivos de amostragem analgicos e digitais, PLCs, sensores, cmeras, etc.

Alguns destes dispositivos, especialmente os que se comunicam via porta serial, foraram o mercado ao desenvolvimento de dispositivos de converso de comandos de rede para comandos por eles interpretveis, e vice-versa. Todos os dispositivos no adequados para a rede necessitam de um servidor que traduza os pedidos e efetue a comunicao com o dispositivo atravs do seu protocolo nativo.

DDE / NetDDE

O DDE (Dynamic Data Exchange) um protocolo cliente-servidor que permite a transferncia de dados entre aplicaes atravs do uso de mensagens do Windows. O cliente e o servidor podem ser programados para interpretar os dados como um comando. Para a troca de mensagens entre mquinas remotas existe um mecanismo semelhante ao DDE denominado NETDDE. O DDE totalmente bit blind, ou seja, nem o cliente nem o servidor sabem se esto se comunicando com uma aplicao de 16 ou 32 de bits. Na realidade o servidor desconhece se o cliente se encontra na mesma mquina ou no.

O DDE atravs da rede - NETDDE (Network Dynamic Data Exchange) - usa uma hierarquia de nomes semelhante ao DDE; contudo, neste caso os nomes do servio e o tpico foram alterados, respectivamente, para servidor DDE e share representando, o primeiro, o nome do computador que desempenha as funes de servidor e o segundo os nomes do servio e o tpico da aplicao servidora. O NETDDE usa o protocolo NetBIOS, que corre sobre TCP/IP, permitindo ao NETDDE utilizar a Internet.

OLE:O OLE (Object Linking and Embedding) um mecanismo sncrono que permite a um cliente invocar uma subrotina num servidor.

Circunstncias em que o OLE pode ser considerado mais indicado do que o DDE:

O uso do OLE vantajoso em situaes em que a aplicao cliente assuma o papel principal, delegando parte do seu processamento ao servidor que est espera de pedidos do cliente para manipulao de objetos por ele mesmo gerados.

Nestas circunstncias mais rpido e apropriado, para o cliente, invocar diretamente uma subrotina no servidor.

Circunstncias em que o DDE pode ser considerado mais indicado do que o OLE:

O DDE ideal para permitir que uma aplicao monitore outra aplicao. Devido ao fato de nenhuma das aplicaes estar operando no mesmo contexto no existe interferncia entre elas.

O DDE um mecanismo que, por ser bit-blind, permite, quando necessrio, que um mesmo servidor suporte clientes de 16 e 32 bits. O servidor pode levar algum tempo para recolher a informao para a resposta ao pedido efetuado pelo cliente. Uma vez que o DDE assncrono, o cliente pode continuar a executar o seu processamento.

A performance do servidor no afetada em situaes de disponibilizao de dados para vrios clientes em mquinas distintas, uma vez que atravs do uso do NETDDE as mensagens so colocadas na fila de espera das mquinas clientes.

OPC:

Historicamente, os integradores de sistemas tinham que implementar interfaces proprietrias ou personalizadas para extrair dados de dispositivos provenientes de diferentes produtores de hardware. H alguns anos a Microsoft introduziu as tecnologias OLE, COM e DCOM, permitindo s aplicaes interoperar e se comunicar com mdulos distribudos atravs de uma rede de computadores. Com o objetivo de definir um standard para utilizao das tecnologias OLE e COM em aplicaes de controle de produo, os principais fabricantes de hardware e software constituram uma organizao, a OPC Foundation, da qual resultou o OPC (OLE for Process Control). Atualmente est disponvel uma API (Application Programming Interface) standard que permite a criao de aplicaes que se comuniquem com diferentes dispositivos.

As vantagens do uso do OPC, entre outras, so as seguintes:

Existncia de uma nica API para todos os servidores de OPC, de modo que o cdigo de uma aplicao cliente possa ser reutilizado em qualquer dispositivo;

Oportunidade para desenvolver aplicaes clientes em ambientes de desenvolvimento que utilizem COM e ActiveX, tais como Visual Basic, Visual C++ e Excel;

Identificao dos servidores que possam disponibilizar aos clientes determinados itens OPC. Um item OPC um canal ou varivel num dispositivo - normalmente um ponto de I/O - que um servidor monitoriza ou controla;

Protocolos de comunicao de equipamentos (proprietrios/abertos):

Alm das tecnologias citadas, redes proprietrias ou abertas, desenvolvidas por fabricantes de equipamentos, podem vir a fazer parte de um sistema SCADA e podem, tambm, ser utilizadas para troca de dados entre as estaes remotas e o centro de controle operacional.

Atividades de laboratrio para configurao de supervisrio INDUSOFT

O objetivo deste trabalho prtico ser criar algumas telas para que tenhamos uma aplicao onde seja possvel visualizar e comandar um processo de medio e controle de nvel, temperatura e presso em 3 tanques similares.

Etapa 1. Criar um novo projeto

Para criar um novo projeto usando o InduSoft Web Studio, rode o InduSoft Web Studio clicando no cone , ou usando o boto Iniciar , Programas -> InduSoft Web Studio Tools -> InduSoft Web Studio.

Outra opo usar o comando seguinte: (boto Iniciar + Executar + "C:\Arquivos de Programas\InduSoft Web Studio\Bin\RunStudio.exe)

J no ambiente do InduSoft Web Studio, selecione File e clique em New para abrir a janela new.

Selecione o tab "Project" e digite o nome da aplicao no campo "Application name".

Selecione a plataforma alvo Local Interface para essa aplicao na lista Target Platform;

Pressione o boto OK para abrir a janela seguinte

Na janela "Project Wizard", possvel selecionar algumas janelas que podem ser utilizadas como um ponto de partida para a aplicao.

possvel tambm escolher a resoluo apropriada em pixels.

Selecione: Empty Application (Aplicao Vazia) e Resolution = 640 x 480.

Etapa 2. Criar tags na Base de dados Database

Na Workspace, selecione o tab "Database". Clique na pasta Application Tags para expandi-la. Clique duas vezes em Datasheet View.

O Database ser preenchido e alterado durante o desenvolvimento da aplicao. Porm, para iniciarmos uma aplicao de exemplo, podemos j previamente definir alguns tags que sabemos que sero utilizados. Criaremos trs Tanques cada qual controlado por duas vlvulas.

A primeira vlvula enche o tanque e a segunda o esvazia.

Para sabermos o estado da primeira vlvula, teremos o tag (EstadoEnche) e para a segunda (EstadoEsvazia).

Como cada vlvula s pode estar aberta ou fechada, estes tags devem ser booleanos.

Sendo trs Tanque, precisaremos de trs vlvulas para enche-los e outras trs para esvazi-los. Portanto usaremos Arrays para rapidamente criarmos as vlvulas.

Vamos configurar o "Application Datasheet" como mostrado a seguir:

Vamos criar agora os tags que enviaro os comandos para abrir ou fechar as vlvulas.

Esses comandos, na vida real, seriam enviados aos CLPs atravs do driver, endereando esses tags para serem pontos de I/O.

Salve a configurao do banco de dados usando o cone: Etapa 3. Criar telas no projeto

A figura a seguir mostra uma das telas, no caso a tela de nome Principal.

Primeiramente criaremos o CABEALHO e o RODAP em uma tela (STANDARD) que servir de padro bsico para as demais telas.

Selecione o tab "Graphics" no Workspace e selecione na pasta "Screens.Agora, clique com o boto direito na pasta "Screens" e clique na opo Insert.

Na janela "Screen Attributes" devemos configurar alguns atributos gerais sobre a tela que est sendo criada. Primeiro configure a tela STANDARD como mostrado na figura abaixo:

Pressione o boto OK e uma tela vazia dever aparecer com os atributos configurados para ela.

Desenhar o CABEALHO (parte superior da tela) e os botes de comando

Depois de criar a tela, mudemos a cor de fundo usando o background color. Selecione o cinza claro (light gray) utilizando o cone do toolbar de desenho no canto inferior direito da tela.

Desenhe nove botes no canto superior direito da tela.

Esses botes chamaro as outras telas e ainda permitiro fechar a aplicao. Para desenhar os botes, utilize o cone do Toolbar. Nosso CABEALHO dever parecer com a figura abaixo:

Nota: possvel copiar e colar objetos das telas utilizando-se do recurso Ctrl+C Ctrl+V. Outra forma, a exclusiva do InduSoft, clicar no objeto a ser duplicado ao mesmo tempo que se pressiona a tecla Ctrl.

Quando se clica duas vezes em um objeto desenhado, temos a janela de Object Properties. Nesta janela so configuradas todas as propriedades, tais como comandos, animaes, texto, etc No caso dos botes (pushbuttons), o texto que aparece dentro deste o campo Caption ( nome do boto).

Portanto, mos a obra: nove botes com os Captions mostrados na tela abaixo:

Agora desenharemos alguns retngulos e textos que faro parte da tela no canto superior esquerdo. Esses campos mostraro a data e horas atuais, bem como nome do usurio logado.

Para tanto, aprenderemos mais algumas coisas do Toolbar. Quando mudamos algum dado (setting), como por exemplo, cor e espessura das linhas, cor de preenchimento de objetos, formatao de fontes de texto, etc, essas mudanas passam a ter efeito no prximo objeto desenhado e nos outros que estejam selecionados.

Desenhe agora trs retngulos azuis, com contorno cinza escuro de espessura (Weight) 2.

V ao Toolbar (lado superior direito da tela) e selecione o cone Fill Color , e troque para a cor azul.

Selecione line color e mude a cor da linha para cinza escuro (dark gray) com largura weight = 2.

Desenhemos trs Rectangles conforme figura abaixo:

Agora vamos mudar o estilo das fontes. Clique no cone mostrado ao lado e selecione os parmetros da fonte. Selecione o tamanho 12 e fonte tipo Courier.

- Para inserir caracteres de texto nos retngulos, usaremos o cone mostrado ao lado .Clique no cone e depois clique dentro de um dos retngulos azuis que foram desenhados.

Para mostrarmos o valor de um tag na tela, usamos o caractere # (que recebe vrios nomes, entre eles sustenido, cerquilha, cerquinha, jogo da velha, hash sign, etc). O mesmo nmero de caracteres cerquinha que forem digitados, ser o mesmo nmero de caracteres do tag sero mostrados. Como queremos mostrar a data utilizando o formato MM/DD/AAAA, precisamos de 10 caracteres no retngulo da esquerda, 8 caracteres para o retngulo da direita e 20 (ou mais) caracteres no retngulo inferior.

-Clique duas vezes no caracter cerquinha e configure conforme as propriedades abaixo:

-Clique em Fonts e selecione fonte Courier, tamanho 12.

Quando o Cabealho da nossa tela estiver pronta, deve parecer com a figura abaixo:

Salve a tela como STANDARD.

Para salvar, clique no menu File na barra superior, e no item Save As e digite o nome STANDARD no campo Nome do arquivo, e clique em Salvar.

Aplicar as primeiras propriedades: Criar os links para outras telas no cabealho

Agora que os objetos esto desenhados, podemos comear a aplicar em cada um deles as propriedades de comando e de display com o valor de tags.

Nota: Neste momento passa a ser interessante utilizar-se do recurso "Disable Drag" atravs do atalho "Ctrl+D". Este recurso faz com que os objetos no possam mais ser movimentados na tela pelo mouse. Como estaremos duplo-clicando vrias vezes nos objetos, s vezes estes podem mudar de posio. Com o Ctrl+D eles no se movero. Para mostrar o valor de tags ou mesmo expresses numa tela, aplicaremos nos textos onde houver os caracteres #####. a propriedade "Text I/O", atravs do cone mostrado ao lado .

Clique duas vezes no retngulo com 8 caracteres ##### (para hora), e em seguida no cone "Text I/O", a janela "Objects Properties" aparecer. Note que o check -list superior direito ter alm da opo Text, a propriedade Text I/O. No campo "Tag/Expression" preencha com Time.Como na figura abaixo;

Selecione o outro retngulo com texto ######, com 10 caracteres (para data) apliquemos a propriedade "Text I/O".

Ao abrir a janela "Objects Properties" digite Date no campo "Tag/Expression".Como na figura abaixo:

A partir de agora estaremos inserindo os comandos de abrir tela nos botes do Cabealho da tela. Clique duas vezes no boto escrito "PRINCIPAL"

Insira a propriedade "Command" . A janela Object Properties ser aberta. Configure-a como mostrado abaixo.

A funo Open ( ), abre uma tela, que sra chamada atravs do nome dado a ela dentro das aspas passada como parmetro. No necessrio que a janela tenha sido criada para que programemos um boto para cham-la. Mas para que a funo funcione ai sim a tela j deve ter sido criada. O nome da tela a ser chamada, deve estar entre aspas por tratar-se de uma constante do tipo String. Se colocarmos ao invs disso um tag do tipo string, sendo que este tag possui como valor, o nome de uma tela, a ento podemos colocar o nome do tag sem aspas.

Clique duas vezes no boto "Sair" e repita o procedimento.

O boto Sair ter a funo de fechar os mdulos de RunTime(execuo) da aplicao. Para tal, usamos a funo "Shutdown ( )". Mas, aproveitaremos a ocasio para deixar o operador confirmar se realmente ele deseja sair. Ento iremos criar uma tela chamada Confirmao, com as opes Sim e No para confirmar o fechamento da aplicao.

Criar tela Confirmao

Agora crie a tela Confirmao, para inserir uma nova tela clique com o boto direito na pasta Screens, clique em Insert e configure como na figura abaixo:

Na nova tela desenhe os seguintes objetos (botes e texto) como na figura abaixo:

No boto Sim, clique duas vezes, insira a propried. Command e digite Shutdown ( ).

No boto No, clique duas vezes e insira a propriedade Command e digite, na coluna Expression o comando Close (Confirmacao).

Salve a tela como Confirmacao.

Para salvar, clique no menu File na barra superior, e no item Save As.

Digite o nome Confirmacao no campo Nome do arquivo, e clique em Salvar.

Agora feche a tela Confirmacao.

Criar o RODAP (parte inferior da tela)

Vamos criar agora um RODAP, e editar as suas propriedades.

Selecione o cone "Alarm" (canto direito da tela) no Toolbar e crie no inferior da tela, como se fosse um boto o RODAP.

Clique duas vezes na tela de Alarme recm criada, e edite suas propriedades na tela "Object properties" como mostrado abaixo:

Clique no boto Font... para selecionar fonte tipo: Courier - Tamanho 10 - Cor Branca (White).

O objeto ento dever parecer como este abaixo:

A tela deve ser salva para que os atributos tenham efeito.

Salve a tela como STANDARD.

Para salvar, clique no menu File na barra superior, e no item Save As e digite o nome STANDARD no campo Nome do arquivo, e clique em Salvar.

Criar tela Principal com os itens de processo e sinticos

Nesta tela principal, deveremos:

Mostrar as propriedades de trs Tanques (Temperatura, Presso e Nvel) em formato grfico e numrico.

Mostrar o estado das vlvulas de enchimento e esvaziamento dos Tanques atravs de objetos da biblioteca .

Inserir comandos de abertura e fechamento das vlvulas.

Nota: Partindo do princpio que os trs Tanques sero idnticos, aproveitaremos esta aplicao para j treinar o conceito de Arrays. Portanto criaremos uma tela com tags indexados onde mostraremos os valores das variveis do Tanque um de cada vez.

Para criar os tanques, os canos e as vlvulas, usaremos objetos da biblioteca. Para acessarmos a biblioteca de smbolos, clique com no cone mostrado na figura abaixo:

Para importar um objeto da biblioteca para a tela da aplicao, simplesmente clique no objeto e depois na tela.

claro que h outras formas de se desenhar sem ser utilizando a biblioteca, mas para os propsitos deste tutorial a biblioteca nos atende bem.

Portanto vamos importar objetos como vlvulas (na janela Valves da biblioteca), canos (em Pipes) e o tanque em Tanks) como mostrado abaixo. As setas so totalmente opcionais e se encontram na tela Arrows.

Desenhemos tambm trs retngulos na posio vertical.

Crie agora os tags Temperatura, Nivel e Pressao que mostraro a Temperatura, o Nvel e a Presso dos Tanques.

E mais um tag que ser o ndice dos Tanques chamado Indice e configure conforme mostrado na tabela abaixo.

Os 4 primeiros tag's j haviam sido criados previamente durante o exerccio anterior.

Selecione o texto " ### " abaixo do texto Temperatura, insira a propriedade do cone "Text I/O" e configure como mostrado abaixo:

Este display mostrar o valor da temperatura do tanque associado pelo tag Indice.

Se Indice = 1, ele mostrar a temperatura do tanque 1, se Indice = 2 ele mostrara a temperatura do tanque 2, e assim sucessivamente.

Selecione o texto ### abaixo de Presso e configure como mostrado abaixo.

- Por ltimo, selecione o texto ######### abaixo de Nvel. Configure seu Texto I/O como abaixo:

A fim de mostrar os valores de Temperatura, Presso e Nvel graficamente, usaremos a propriedade Bargraph nos trs retngulos desenhados acima dos textos.

No nosso exemplo, o retngulo vai tendo o seu interior preenchido de acordo com o valor do tag associado ao seu bargraph. Se o tag for zero retngulo vazio, 50% cheio pela metade e 100%, teremos o retngulo cheio.

Selecione o retngulo acima do texto Temperatura e clique no cone mostrado ao lado, Bargraph .

Configure o retngulo como mostrado abaixo:

Clique suas vezes no retngulo sobre o texto Presso e clique no cone Bargraph .

Por ltimo, selecione retngulo sobre o texto Nivel: Insira a propriedade Bargraph e configure como mostrado abaixo.

Agora vamos s vlvulas.

As vlvulas que escolhemos na biblioteca funcionam da seguinte forma: so dois bitmaps: um com a vlvula vermelha e o outro com a mesma vlvula, porm verde, que ficam sobrepostos. Dependendo do valor do tag, a vlvula verde se sobrepe sobre a vermelha ou no.

Isso acontece graas propriedade Position, mostrada no cone ao lado.- Chamaremos a vlvula que se encontra na horizontal de "ValvulaEnche". Clique duas vezes em cima dela e selecione a propriedade Position, e configure como mostrado abaixo:

EstadoEnche[Indice]- Esta propriedade far com que, sempre que o valor do tag EstadoEnche[Indice] for 1, o bitmap verde ser mostrado. Pensando em uma aplicao real, o valor deste tag dever ser LIDO do campo.

Clique duas vezes na "VlvulaEnche", e selecione a propriedade Command, configure o comando como mostrado abaixo:

ComandoEnche[Indice] Numa aplicao real, este tag c estaria enviando comandos para abrir e fechar as vlvulas para do sistema. Portanto este tag seria um tag de ESCRITA para o Driver.

Chamaremos de "ValvulaEsvazia" a vlvula que est na posio vertical.

Esta vlvula, quando aberta, esvaziar o tanque.

Clique duas vezes em cima dela e selecione a propriedade Position e no campo Show on Condition digite EstadoEsvazia[Indice].

EstadoEsvazia[Indice]

Agora vamos inserir o comando para controlar essa vlvula.

Clique duas vezes na ValvulaEsvazia e selecione a propriedade Command.

Configure como mostrado abaixo.

ComandoEsvazia[Indice] Finalmente vamos criar os comandos para o tag Indice.

J havamos desenhado dois botes com setas para cima e para baixo, ao lado do nmero do tanque escolhido.

Clique duas vezes no boto que aponta para cima. Insira a propriedade Command e configure como mostrado abaixo.

J para o boto que aponta para baixo, repita a operao e configure como mostrado abaixo:

Agora vamos mostrar qual o nmero do tanque, clique duas vezes no texto " # " e clique no cone da propriedade Text I/O" , configure como mostrado abaixo.

Salve a tela como Principal.

Para salvar, clique no menu File na barra superior, e no item Save As e digite o nome Principal no campo Nome do arquivo, e clique em Salvar.

Em seguida configure a partida no menu Project, clique na opo Settings.

No tab Runtime Desktop e digite dentro da janela Startup: Principal.

Salve a aplicao e Rode.TAREFA: Configur uma Planilha Matemtica (Math Worksheet) para simular valores de processo

Agora hora de desenvolvermos alguns scripts para simular valores de processo na tela Principal.

Right click na pasta "Math" localizada no tab Tasks. Selecione o comando "Insert" para criar uma nova planlha matemtica.

O campo Execution controla a execuo da planilha. Pode-se digitar a um valor, um tag, uma expresso ou uma funo que, sendo este valor verdadeiro, executa a matemtica.

Portanto o nosso campo Execution ser preenchido com o valor 1. Isto habilita a execuo contnua desta planilha uma vez que 1 ser sempre um valor verdadeiro (TRUE).

No corpo da planilha, estaremos simulando:

Os status das vlvulas, de acordo com o comando enviado.

O nvel, a presso e a temperatura dos trs Tanque .

Para simular o status de cada vlvula, simplesmente vamos transferir o valor do Comando para o Status, uma vez que no estamos numa aplicao real.

Para os valores de temperatura e presso brincaremos com as funes trigonomtricas de seno e cosseno (sine e cosine).

Para simular a propriedade Nvel (Nivel) de cada tanque, usaremos os status das vlvulas de Enchimento e esvaziamento (fill and empty) para incrementar ou decrementar o valor da varivel de Nvel.

- Portanto, com o entendimento acima, vamos configurar a planilha como mostrado abaixo :

Tag NameExpression

EstadoEnche[1]ComandoEnche[1]

EstadoEsvazia[1]ComandoEsvazia [1]

EstadoEnche[2]ComandoEnche[2]

EstadoEsvazia[2]ComandoEsvazia [2]

EstadoEnche[3]ComandoEnche[3]

Estadosvazia[3]ComandoEsvazia [3]

Temperatura[1](Sin((Second/30)*PI())+1)*50

Temperatura[2](Sin((Second/20)*PI())+1)*50

Temperatura[3](Sin((Second/10)*PI())+1)*50

Presso[1](Cos((Second/30)*PI())+1)*50

Presso[2](Cos((Second/20)*PI())+1)*50

Presso[3](Cos((Second/10)*PI())+1)*50

Nvel[1]if ((Not EstadoEsvazia[1] and EstadoEnche[1]) and Nivel[1] < 100, Nivel[1] +1) // Filling up the Tanque

Nvel[1]if ((Not EstadoEnche[1] and EstadoEsvazia[1]) and Nivel[1] > 0, Nivel[1] - 1) // Getting the Tanque empty

Nvel[2]if ((Not EstadoEsvazia[2] and EstadoEnche[2]) and Nivel[2] < 100, Nivel[2] +1) // Filling up the Tanque

Nvel[2]if ((Not EstadoEnche[2] and EstadoEsvazia[2]) and Nivel[2] > 0, Nivel[2] - 1) // Getting the Tanque empty

Nvel[3]if ((Not EstadoEsvazia[3] and EstadoEnche[3]) and Nivel[3] < 100, Nivel[3] +1) // Filling up the Tanque

Nvel[3]if ((Not EstadoEnche[3] and EstadoEsvazia[3]) and Nivel[3] > 0, Nivel[3] - 1) // Getting the Tanque empty

Agora j podemos rodar a aplicao e verificar o comportamento do nosso processo.

IMPORTANTE: o mdulo do InduSoft Studio que controla a execuo das matemticas, bem como de outras tarefas de Runtime como Alarmes, Trends, etc o BackGround Tasks. Se uma matemtica aparenta no funcionar verifique se este mdulo est rodando. Se ele estiver, um cone deve estar no canto direito do Status Bar do Windows NT (onde fica normalmente o relgio)

Criando grupos de Alarmes (Alarms Group)

Para criar um grupo de alarmes, vamos ao tab Tasks, e clique com o boto direito na pasta "Alarm" seguido de um clique no boto Insert.

- Configure a planilha como mostrado abaixo:

Criando esta planilha, voc est informando ao sistema quais tags devem ter a funo de alarmes, que tipo de alarmes, quais os seus limites, as mensagens para tais, prioridades e filtros (dados)

O check box Disk permite escolher salvar o histrico destes alarmes em disco, em formato ASCII na pasta alarm da aplicao.

O manual explica o Header (cabealho) ,da planilha de Alarme da forma abaixo descrita:

ALARM WORKSHEET HEADER

Define algumas caractersticas em comum para todos os alarmes.

Campo Group Name

Nome utilizado para distinguir os grupos de alarme.

Campo Description

Ajuda na descrio do grupo.

Campo Disable

um tag que, se seu valor for maior do que zero, os alarmes sero desabilitados.

Campo Remote Ack

Tag que permite o reconhecimento dos alarmes deste grupo.3

Campo Total Active

Neste campo um tag receber o nmero de alarmes ainda ativos, mesmo que no reconhecidos.

Campo Total Active ou Unack

O tag deste campo receber o nmero de alarmes que ainda no foram reconhecidos. Como estes alarmes podem no estar mais ativo, ou apenas no reconhecido, isto, justifica o nome do campo.

Group Box

Summary Check-box Quando selecionada permite que estes alarmes sejam mostrados em um objeto de alarme.

IAck Check-box Permite o reconhecimento do alarme. Alguns alarmes, usados apenas por alerta, no precisam de reconhecimento. S habilitado se o campo Summary tambm estiver habilitado.

Beep Check-box Faz soar o Bip do computador quando h alarmes no reconhecidos. Disponvel apenas se Ack e Summary estiverem habilitados.

Printer Check-box Envia o alarme para uma impressora. No tem sido mais utilizado pois as impressoras de hoje no permitem a impresso linha a linha, e s pgina a pgina. J pensou se acontecer 5 alarmes simultneos e forem impressas 5 pginas de uma linha?

Disk Check-box Habilita a gravao dos alarmes em disco, permitindo o seu uso em objetos de alarme histrico. Se no for escolhido no ser registrado nenhum alarme desta planilha em disco.

Generate Ack Messages Check-box e Generate Norm Message Check-box Se a opo Disk estiver habilitada, permite decidir que se grave em disco as informaes de quando e se o alarme ocorrido foi reconhecido e/ou normalizado .

Colors Group BoxDefine as cores dos alarmes no objeto de alarme, tanto da fonte quanto do seu background (fundo). S tem efeito se a opo radio estiver em Custom. No caso de Default, a cor do alarme que ser mostrada ser a mesma que configurada no objeto de alarme da tela

Criando a tela de Alarm on-line Abra a tela Standard e desenhe um objeto de "Alarm" utilizando o cone "Alarm " .

Duplo-clique no objeto de Alarm e configure a janela "Object Properties" como mostrado abaixo.

Esteja certo de que a opo "On-line" est selecionada.

Clique no boto Selection que possui alguns itens a serem configurados.

Estudaremos estes detalhes quando falarmos dos alarmes histricos:

Vimos que j existem duas maneiras de se reconhecer os Alarmes.

Trigando o tag que estaria no campo Remote Ack, da planilha de alarmes, ou trigando um tag que estaria no campo Ack Tag do objeto de alarme.

Mas ainda h outra maneira. H trs tags internos que estudaremos agora: Alarm, AckAlr e AckAll.

O tag AckAlr reconhece o alarme que est carregado no tag string alarm.

Este tag alarm. Recebe sempre o ltimo alarme no reconhecido. Trigando AckAlr reconhecemos este alarme. J o tag interno AckAll reconhece todos os alarmes no reconhecidos, independentes do grupo que ele pertence: de alarmes, objeto, etc . Portanto, neste tutorial, usaremos estes tags internos.

Clique duas vezes no boto "Reconhece Um" e configure o tag interno AckAlr como mostrado abaixo:

Clique duas vezes no boto "Reconhece Todos" e configure o tag interno AckAll como mostrado abaixo:.

Salve a tela, com o nome de AlarmOnLine e rode a aplicao.

Criando a tela de Histrico de Alarmes (Historical Alarm screen)

Crie os seguintes tags dentro da pasta Application Tags do Database como mostrado abaixo.

Abra a tela AlarmOnLine, e configure como abaixo.

No se esquea de desenhar um boto no lado superior direito da tela, ao lado do objeto de Alarme.

Esta tela de histrico dos alarmes mostrar todos os alarmes que aconteceram e foram gravados em disco, de acordo com um perodo definido como parmetro.

Clique com o boto direito em algum lugar vazio da tela, e escolha a opo Screen Attributes.

Selecione o check Box e clique sobre On Open.

A lgica configurada abaixo ser executada quando a tela for aberta. Isto serve como parmetro inicial para a funo de alarme.

Duplo-clique no objeto de alarmes e configure a janela "Object Properties" como mostrado abaixo. No se esquea de mudar a opo de On-line para History

Os tags que se encontram nos campos PgUp e PageDown permitiro uma rolagem pelos alarmes mostrados neste perodo.

Pressione o boto Selection e vamos configurar como mostrado abaixo

{AlarmeSel}

Nesta janela, estamos declarando quais tags definiro o perodo que ser mostrado no objeto de alarme. Portanto teremos que criar textos com Text I/O para a entrada de dados destes campos. Repare que no campo Selection o tag est entre chaves porque neste campo que colocamos o filtro dos alarmes, configurado na coluna Selection da planilha de alarmes. Portanto, podemos colocar a A que mostraria s os alarmes com esta seleo ou um tag (como o caso do tag string AlarmSel) que mudaramos o valor pela tela (de A para B, ou C, etc) Outro ponto que chama a ateno o campo View %. Imaginemos que temos 100 alarmes para serem mostrados no perodo definido, mas o objeto s pode mostrar 25 deles de cada vez. Atravs dos tags que esto nos campos PgUp e PgDown da primeira tela de Object Properties, podemos rolar entre os alarmes mostrados. O campo View% ter um tag que dir para onde do conjunto de 100 mensagens de alarme est apontado o incio do objeto. Por exemplo. Ao abrirmos a tela e mostrarmos apenas 25 alarmes de um conjunto de 100, faltam outros 75, escondidos na memria. O tag que estiver no campo View% receber o valor 0. Damos um Para Baixo. Este tag do campo View% passar ao valor 25, e estaremos mostrando as mensagens de alarme do nmero 26 ao 50. Mais um Para Baixo e View% = 50 e mostraremos do valor 51 ao 75, e assim por diante. Portanto daremos um exemplo de como utilizar isso criando como que uma barra de rolagem.

Aps ter criado botes de Para Cima e Para Baixo

No boto Para Cima, insira a propriedade Command e configure como abaixo:

No boto Para Baixo, insira a propriedade Command e configure como abaixo:

Associemos a propriedade Position a um boto como mostrado abaixo sem texto (caption) .

Configure a propriedade Position com o tag Visao.

De acordo com o valor deste tag, o boto movimentar verticalmente aquele nmero de pixels.

Para os textos de Dia Inicial, Dia Final, etc, configure como mostrado abaixo.

Todos os textos ####### devem conter a propriedade Text I/O com o Input Enabled habilitado.

- Para o texto de Seleo o item Tag/Expression deve ser preenchido com o tag AlarmSel j criado anteriormente.

Salve a tela como AlarmHistory e rode.

Os Tag Fields de Alarmes

Alguns dos Tag fields (TagName->Field) so diretamente relacionados a alarmes. Os limites dos alarmes, por exemplo, podem ser mudados dinamicamente escrevendo um novo valor no tag field. Veja abaixo os tag fields relacionados aos alarmes (* significa que podem ser alterados dinamicamente)

*HiHiLimit *HiLimit

*LoLimit

*LoLoLimit

*DevLimit*RateLimit*DevSetpointExemplo: TMP->AlrDisable=1

HiHi Se maior que zero, h alarme tipo HiHi

Hi Se maior que zero, h alarme tipo Hi

Lo Se maior que zero, h alarme tipo Low

LoLo Se maior que zero, h alarme tipo LowLow

Rate Se maior que zero, h alarme tipo Rate

Dev Se maior que zero, h alarme tipo Deviation

Criando a tela Trend

A tarefa Trend guarda um caminho traado pelas variveis da aplicao. Voc pode guard-las em disco ou ainda mostr-las em forma de grficos. Vamos criar objetos para mostrar grficos de variaes na tela tanto On-Line (que atualizado a cada x segundos com os novos valores das variveis como se fosse um registro grfico), quanto Histrico (que inclui recuperar dados passando-se como parmetros uma data e hora inicial e uma durao para o grfico).

Trend On line

Nosso Trend On Line mostrar algumas variveis e ser atualizado a cada segundo.

Abra a tela Standard.scr.

Insira um objeto Trend atravs do cone e configure-o com mostrado a seguir:

Clique duas vezes no objeto e configure a tela Object Properties como abaixo:

Clique no boto Horizontal Scale e edite como mostrado abaixo:

Clique em OK Agora clique no boto Vertical Scale e configure como mostrado a seguir:

Clique em OK

Agora clique no boto Pens e edite como mostrado abaixo:

Salve a tela, como TrendOnLine rode a aplicao e aps alguns segundos teremos um grfico parecido com o mostrado abaixo:

Criando um grfico de tendncias histrico (Trend History)

Nesta parte do tutorial mostraremos vrios recursos ao mesmo tempo, incluindo tags indiretos e outras operaes usadas nos controles do grfico.

Criando um Grupo de Trend

A principio criaremos os tags que controlaro o objeto de Trend Histrico.

Crie os tags abaixo.

Agora temos que dizer para o sistema quais os tags que queremos gravando seus valores em disco, e de quanto em quanto tempo.

Clique com o boto direito na pasta Trend (tab "Tasks") e clique em Insert.

Configure a planilha como mostrada a seguir.

Assim voc est preparando o sistema para salvar os valores dos tags de temperatura dos Tanques, toda vez que o tag Gravar mudar de valor, e guardando isso em disco por at 700 dias.

O check box Save on Trigger define a taxa de gravao.

IMPORTANTE: O mdulo do InduSoft Web Studio que controla a execuo das funes matemticas, bem como de outras tarefas de Runtime, como Alarmes, Trends, etc o BackGround Tasks. Se uma funo matemtica aparenta no funcionar verifique se este mdulo est rodando. Se ele estiver, um cone deve estar no canto direito inferior da tela (Status Bar) do Windows NT (onde fica normalmente o relgio).

Configurando uma planilha Scheduler para o uso dos eventos Clock, Calendar e Change

Apenas como EXEMPLO observe a planilha scheduler abaixo:

Notas:

O evento Clock utilizado para disparar eventos baseados em temporizadores. Na coluna Time, configuramos a base de tempo (mnimo de 100ms). Isso significa que, a cada HH: MM: SS.100ms o evento ser executado. Na coluna Tag, devemos configurar o tag que receber o valor da expresso da coluna Expression. Finalmente, a coluna Disable pode conter um tag, funo ou expresso que, se verdadeira, impedir a execuo do comando. Desta maneira possvel controlar a base de tempo da execuo bem como se deve executar se ou no. As colunas Trigger e Date no so utilizadas para este tipo de evento

O tipo Calendar dispara eventos em uma data e hora definida, ou sempre no mesmo horrio todos os dias. A coluna Trigger no utilizada. J as colunas Tag, Expression e Disable so utilizadas da mesma forma que mostrado acima par ao evento Clock.

J o tipo Change dispara uma ao sempre que o tag colocado na coluna Trigger tem o seu valor alterado. As colunas Time e Date no so utilizadas e as demais tm o mesmo comportamento descrito para os tipos anteriores.

Para criar uma planilha de Scheduler, continuemos no Tab Tasks e clique com o boto direito na pasta Scheduler e clique na opo Insert.

Esta planilha servir para definir um timer e, toda vez que esse tag Gravar mudar de valor os valores atuais dos tags Temperatura[1], Temperatura[2] e Temperatura[3] sero salvos em disco.

Configure a planilha scheduler como mostrado abaixo

Criando uma tela Trend History

Nesta tela de histrico estaremos criando alguns campos para entrada de alguns valores como data inicial do grfico, hora inicial, durao, etc

O grfico estar apresentando um cursor vertical que, sempre em interseco com as curvas, indicar o valor daquela curva naquele momento. Alm disso, mostraremos as penas com as opes de escond-las ou no, utilizando-se de tags indiretos para tal.

Crie tambm um tag chamado Vazio, Array Size 0 e do tipo Inteiro.

Abra a tela Standard e importe da biblioteca, um objeto Trend (na janela Trend da biblioteca), ajuste o objeto na tela conforme figura abaixo.

Salve a tela como TrendHistory.

Clique com o boto direito em qualquer lugar vazio da tela e escolha a opo Screen Atributes,

Selecione o check-box On Open e clique nele.

Configure como mostrado a seguir:

O prximo passo desenhar os outros objetos na tela.

MUITA ATENO AO CONFIGURAR OS COMANDOS DESTA TELA.

Configure-a como mostrado a seguir:

COMANDOS E PROPRIEDADES

A. Criar trs retngulos e inserir a propriedade CommandA letra X equivalente ao nmero 1, 2 ou 3 referente ao tanque.

Se for Temperatura[1], substitua o X por 1 e assim por diante.

Propriedade Command

Campo Tag = Pena[X]

Campo Expression More>> = if(Pena[X]="Temperatura[X]","Vazio","Temperatura[X]").B. Trs Objetos de Texto com a propriedade Text I/O

Considerar X igual ao item anterior.

Propriedade Text I/O

CampoTag/Expression= CursorPenX

Check-box Input Enable = Desabilitado

C. Objeto de Texto com a propriedade Text I/O

Propriedade Text I/O

CampoTag/Expression= DataIni

Check-box Input Enable = Habilitado

D. Objeto de Texto com a propriedade Text I/O

Propriedade Text I/O

CampoTag/Expression= TempoIni

Check-box Input Enable = Habilitado

E. Objeto de Texto com a propriedade Text I/O

Propriedade Text I/O

CampoTag/Expression= Duracao

Check-box Input Enable = Habilitado

Salve a tela

Rode o Runtime, aguarde alguns instantes, preencha os campos:

DataInicial = Com a data atual do sistema

HoraInicial = Com a hora atual do sistema

Durao = Valor de 0.01 EMBED PBrush

PV=0%

PV=50%%

PV=100%

_1118817480.doc

INTERFACE DE

OPERAO

BASE DE

DADOS

AQUISIO DE

DADOS

DRIVERS DE

COMUNICAO

MDULOS APLICATIVOS

ECLS

CAMPO

MDULO

MATEMTICO

MDULO

HISTRICO

MDULO

ALARM

MDULO

SCHEDULER

MDULO

REPORT

MDULO

RECIPE